@codions/portta 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +41 -88
  2. package/dist/assets/agents/hook.sh.tmpl +21 -0
  3. package/dist/assets/agents/instruction.md +8 -0
  4. package/dist/assets/agents/portta-context.ts.tmpl +24 -0
  5. package/dist/assets/skills/portta-adopt-compose/SKILL.md +220 -0
  6. package/dist/assets/skills/portta-dockerize/SKILL.md +118 -0
  7. package/dist/assets/skills/portta-host-context/SKILL.md +142 -0
  8. package/dist/cli.js +1542 -1017
  9. package/dist/documentation.json.gz +0 -0
  10. package/dist/runtime/.env.example +6 -42
  11. package/dist/runtime/VERSION +1 -1
  12. package/dist/runtime/docker/compose/features/web-dev.yaml +0 -2
  13. package/dist/runtime/docker/compose/features/web.yaml +0 -8
  14. package/dist/runtime/templates/README.md +3 -3
  15. package/dist/runtime/templates/overlays/06-monorepo.yaml +0 -7
  16. package/dist/runtime/templates/overlays/07-worktree.env +0 -1
  17. package/dist/runtime/templates/project/PORTTA.md +8 -7
  18. package/package.json +4 -15
  19. package/dist/acp-providers-M3DUUBYJ.js +0 -3
  20. package/dist/arktype-aI7TBD0R-SOJGD3SZ.js +0 -3
  21. package/dist/assets/skills/portta-workflows/SKILL.md +0 -285
  22. package/dist/assets/workflows/bake-off.workflow.js +0 -172
  23. package/dist/assets/workflows/code-review.workflow.js +0 -179
  24. package/dist/assets/workflows/deep-research.workflow.js +0 -223
  25. package/dist/assets/workflows/multi-provider-review.workflow.js +0 -169
  26. package/dist/assets/workflows/provider-debate.workflow.js +0 -141
  27. package/dist/assets/workflows/second-opinion.workflow.js +0 -176
  28. package/dist/chunk-3EZNE4MC.js +0 -6
  29. package/dist/chunk-4TGTGGMK.js +0 -4
  30. package/dist/chunk-4YGEG6YX.js +0 -1878
  31. package/dist/chunk-5SBYE3YH.js +0 -26
  32. package/dist/chunk-6J5HN4ZN.js +0 -3
  33. package/dist/chunk-6TV2V7RR.js +0 -3
  34. package/dist/chunk-CFWGQ7VJ.js +0 -19
  35. package/dist/chunk-EFZZFIRZ.js +0 -3
  36. package/dist/chunk-EH7H7D7J.js +0 -15
  37. package/dist/chunk-EYT7VTYA.js +0 -4
  38. package/dist/chunk-FRQCKCCK.js +0 -332
  39. package/dist/chunk-GI2EUNAK.js +0 -16
  40. package/dist/chunk-HB5T7XDN.js +0 -5
  41. package/dist/chunk-IILMQFWO.js +0 -14
  42. package/dist/chunk-LAYNTFDR.js +0 -70
  43. package/dist/chunk-MH5YJA5O.js +0 -2
  44. package/dist/chunk-O6U47HHQ.js +0 -341
  45. package/dist/chunk-OPVZAG2C.js +0 -10
  46. package/dist/chunk-PTKKSRMI.js +0 -223
  47. package/dist/chunk-Q3VNQ3LU.js +0 -3
  48. package/dist/chunk-QBKADN76.js +0 -4
  49. package/dist/chunk-QS5PHDYT.js +0 -240
  50. package/dist/chunk-SBVO6RXF.js +0 -87
  51. package/dist/chunk-T3TSZO4I.js +0 -7
  52. package/dist/chunk-TA2XHP5D.js +0 -4
  53. package/dist/chunk-UUSUJUAD.js +0 -7
  54. package/dist/chunk-UX7P3YHF.js +0 -3
  55. package/dist/chunk-VDSWNWUY.js +0 -168
  56. package/dist/chunk-WNZR7VOO.js +0 -145
  57. package/dist/chunk-YYSFNLBX.js +0 -5
  58. package/dist/cli-O2MMC25H.js +0 -98
  59. package/dist/completions-F4476JAU.js +0 -12
  60. package/dist/config-E5XLLPKE.js +0 -3
  61. package/dist/core-FSKGFGJO.js +0 -18
  62. package/dist/default-u_dwuiYb-OWTONHM6.js +0 -3
  63. package/dist/dispatch-ZCNGHCNP.js +0 -8
  64. package/dist/doctor-7F6ZXPZE.js +0 -5
  65. package/dist/effect-QlVUlMFu-4UNP2EGS.js +0 -3
  66. package/dist/esm-575VQW4T.js +0 -4
  67. package/dist/host.js +0 -8
  68. package/dist/init-HGEXUJP3.js +0 -245
  69. package/dist/linear-commands-XGHGICI7.js +0 -5
  70. package/dist/oneshot-DL57ZA55.js +0 -36
  71. package/dist/opencode-YDUTVKTG.js +0 -3
  72. package/dist/pi-L73UX3S5.js +0 -3
  73. package/dist/project-commands-2N44CRGM.js +0 -7
  74. package/dist/project-env-NWBVITHM.js +0 -4
  75. package/dist/run-commands-TCBNFJOT.js +0 -13
  76. package/dist/runtime/docker/compose/features/panel-host.yaml +0 -42
  77. package/dist/shell-ZWXPCUMD.js +0 -3
  78. package/dist/subprocess-jsonl-FQKDRENI.js +0 -3
  79. package/dist/supervisor.js +0 -179
  80. package/dist/sury-CWZTCd75-XQOYZHNU.js +0 -3
  81. package/dist/typebox-Dei93FPO-RCGWIHUQ.js +0 -3
  82. package/dist/valibot--1zFm7rT-DKLMYF44.js +0 -3
  83. package/dist/valibot-D_HTw1Gn-QTR63R64.js +0 -4
  84. package/dist/worktree-commands-F7REOKFJ.js +0 -50
  85. package/dist/zod-Bwrt9trS-6RSVELLV.js +0 -3
  86. package/dist/zod-DSgpEGAE-5JBFOUHY.js +0 -3
@@ -1,87 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{c as $i}from"./chunk-EH7H7D7J.js";import{$b as Vn,$c as lc,$e as ci,A as yt,Aa as Et,Ab as Zn,Ac as Pr,Ad as Vr,Ae as Jc,Ba as Dt,Bb as kn,Bc as Je,Bd as M,Be as Ze,C as xt,Cb as vn,Cc as Ir,Cd as F,Db as bn,Dc as zr,Dd as z,E as gt,Ec as Nr,Ed as K,Fb as $n,Fc as Tr,Fd as G,G as _t,Gb as wn,Gc as Er,Gd as R,H as St,Hb as On,Hc as Dr,Hd as X,He as Uc,I as Zt,Ia as At,Ib as Pn,Ic as Ar,Id as ae,Ie as Xr,Ja as Rt,Jb as In,Jc as Rr,Jd as ue,Je as Lc,K as kt,Ka as Ct,Kb as zn,Kc as Cr,Kd as pe,
4
- Ke as Mc,La as jt,Lb as Nn,Lc as ic,Ld as de,Le as Fc,M as vt,Ma as Jt,Mb as Tn,Mc as jr,Md as le,Me as Bc,Na as Ut,Nb as En,Nc as Jr,Nd as me,Ne as qc,O as bt,Oa as Lt,Ob as Dn,Oc as Ur,Od as Kr,Oe as Wc,Pa as Mt,Pb as An,Pc as Lr,Pd as Gr,Pe as Vc,Q as $t,Qa as Ft,Qb as Rn,Qc as Mr,Qd as fe,Qe as Kc,Ra as Bt,Rb as Cn,Rc as sc,Rd as he,Re as Gc,S as wt,Sa as qt,Sb as jn,Sc as Fr,Sd as ye,Se as Xc,Ta as Wt,Tb as Jn,Tc as ac,Td as xe,Te as Yc,U as Ot,Ua as Vt,Ub as Un,Uc as Ue,Ud as ge,Ue as Qc,Vb as Ln,
5
- Vc as Le,Vd as _e,Ve as Hc,W as Pt,Wa as Kt,Wb as Mn,Wc as Me,Wd as Se,We as ei,Xa as Gt,Xb as Fn,Xc as Fe,Xd as Tc,Xe as ri,Y as E,Ya as Xt,Yb as Bn,Yc as uc,Ye as oi,Z as It,Zb as qn,Zc as pc,Ze as ti,_a as Yt,_b as Wn,_c as dc,_e as ni,a as it,ab as Qt,ac as Kn,ad as mc,af as ii,b as gr,bc as Ce,bd as fc,bf as si,c as _r,cb as Ht,cc as Gn,cd as hc,cf as ai,d as st,db as en,dd as yc,df as ui,e as at,ed as xc,ef as pi,f as S,fb as rn,fc as je,fd as gc,ff as di,gd as _c,gf as Yr,hb as on,hc as Xn,
6
- hd as Sc,he as Ec,hf as li,ib as tn,ic as Yn,id as Zc,if as mi,j as l,jb as nn,jc as Qn,jd as kc,jf as fi,k as ut,kb as cn,kc as Hn,kd as vc,kf as hi,l as u,lb as sn,ld as bc,lf as yi,m as pt,mb as an,mc as ec,md as $c,mf as xi,nb as un,nc as I,nd as wc,nf as gi,o as dt,ob as pn,od as Oc,of as _i,p as Sr,pb as dn,pc as rc,pd as Pc,pf as Si,q as T,qb as ln,qc as oc,qd as Ic,qf as Zi,r as lt,rb as mn,rc as tc,rd as zc,rf as ki,sb as fn,sd as Nc,sf as Qr,t as Ae,tb as hn,tc as nc,td as D,tf as vi,u as Re,
7
- ub as yn,uc as cc,ud as w,ue as Dc,uf as bi,v as mt,va as Zr,vb as xn,vc as vr,vd as A,ve as Ac,wa as zt,wb as gn,wc as br,wd as O,we as Rc,x as ft,xa as kr,xc as $r,xd as Br,xf as C,y as ht,ya as Nt,yb as _n,yc as wr,yd as qr,ye as Cc,za as Tt,zb as Sn,zc as Or,zd as Wr,ze as jc}from"./chunk-O6U47HHQ.js";import{a as c,d as se}from"./chunk-6J5HN4ZN.js";import{spawn as ta}from"node:child_process";function wi(e){let r=null,t=!1;return{stream:new ReadableStream({start(n){r=n,e.on("data",o=>{t||n.enqueue(o instanceof Uint8Array?o:new TextEncoder().encode(String(o)))}),e.on("end",()=>{t||(t=!0,n.close())}),e.on("error",o=>{t||(t=!0,n.error(o))})},cancel(){}}),close(){t||!r||(t=!0,r.close())}}}c(wi,"webStream");function Oi(e,r){return new Promise((t,n)=>{e.write(r,o=>{o?n(o):t()})})}c(Oi,"writeToStdin");var Pi=class{static{c(this,"NodeProcessRunner")}start(r){let t=$i(r.command)??r.command,n=ta(
8
- t,r.args,{cwd:r.cwd,env:r.env===void 0?void 0:{...process.env,...r.env},stdio:["pipe","pipe","pipe"],detached:process.platform!=="win32"}),o=wi(n.stdout),s=wi(n.stderr),a=!1,i,h,d,f=!1,y=c(()=>{},"resolveExit"),g=new Promise(Z=>{y=Z}),_=c((Z,ie,oa=!1)=>{f||(f=!0,i&&clearTimeout(i),h&&clearTimeout(h),d&&clearInterval(d),r.signal?.removeEventListener("abort",N),oa&&(o.close(),s.close()),y({code:Z,signal:ie,timedOut:a}))},"finish"),k=c(Z=>{if(process.platform!=="win32"&&n.pid!==void 0)try{return process.
9
- kill(-n.pid,Z),!0}catch{return n.kill(Z)}return n.kill(Z)},"killTree"),$=c(Z=>{if(f)return;k(Z);let ie=r.graceMs??5e3;h=setTimeout(()=>{f||k("SIGKILL")},ie)},"terminate"),N=c(()=>$(r.killSignal??"SIGTERM"),"abort");return n.once("error",()=>{_(n.exitCode,n.signalCode,!0)}),d=setInterval(()=>{(n.exitCode!==null||n.signalCode!==null)&&_(n.exitCode,n.signalCode)},10),r.keepStdinOpen?r.stdin!==void 0&&Oi(n.stdin,r.stdin):r.stdin!==void 0?n.stdin.end(r.stdin):n.stdin.end(),r.timeoutMs!==void 0&&(i=setTimeout(
10
- ()=>{a=!0,N()},r.timeoutMs)),r.signal?.aborted?N():r.signal?.addEventListener("abort",N,{once:!0}),{pid:n.pid,stdout:o.stream,stderr:s.stream,exited:g,writeStdin:c(Z=>Oi(n.stdin,Z),"writeStdin"),closeStdin:c(()=>{n.stdin.end()},"closeStdin"),kill:c((Z="SIGTERM")=>k(Z),"kill")}}};async function Na(e,r){let t=e.start(r),[n,o,s]=await Promise.all([new Response(t.stdout).text(),new Response(t.stderr).text(),t.exited]);return{stdout:n,stderr:o,exit:s}}c(Na,"runCaptured");import{createRequire as na}from"node:module";function Aa(e){let r=na(import.meta.url)("better-sqlite3");return new r(e)}c(Aa,"openDatabase");var Ii=new WeakSet([Object.prototype,Error.prototype]);function Be(e,r,t){Object.defineProperty(e,r,{configurable:!0,enumerable:!1,get(){let n=t(this);return Object.defineProperty(this,r,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,r,{value:n,configurable:!0,writable:!0})}})}c(Be,"_lazyMethod");var zi=c((e,r)=>{lt.init(e,r),e.name="ZodError";let t=Object.getPrototypeOf(e);Ii.has(t)||(Ii.add(t),Be(t,"format",n=>o=>Re(n,o)),Be(t,"flatten",n=>o=>Ae(n,o)),Be(t,"addIssu\
11
- e",n=>o=>{n.issues.push(o),n.message=JSON.stringify(n.issues,gr,2)}),Be(t,"addIssues",n=>o=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,gr,2)}),Object.defineProperty(t,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},"initializer"),ca=u("ZodError",zi),v=u("ZodError",zi,void 0,{Parent:Error});var ce={};se(ce,{ZodAny:()=>So,ZodArray:()=>bo,ZodBase64:()=>ar,ZodBase64URL:()=>ur,ZodBigInt:()=>te,ZodBigIntFormat:()=>lr,ZodBoolean:()=>oe,ZodCIDRv4:()=>ir,ZodCIDRv6:()=>sr,ZodCUID:()=>He,ZodCUID2:()=>er,ZodCatch:()=>qo,ZodCodec:()=>Ne,ZodCreditCard:()=>mo,ZodCustom:()=>Te,ZodCustomStringFormat:()=>ee,ZodDate:()=>$e,ZodDefault:()=>Jo,ZodDiscriminatedUnion:()=>wo,ZodE164:()=>pr,ZodEmail:()=>Ge,ZodEmoji:()=>Ye,ZodEnum:()=>Q,ZodExactOptional:()=>yr,ZodFile:()=>Ao,ZodFunction:()=>rt,ZodGUID:()=>Xe,
12
- ZodIPv4:()=>nr,ZodIPv6:()=>cr,ZodISODate:()=>J,ZodISODateTime:()=>j,ZodISODuration:()=>L,ZodISOTime:()=>U,ZodIntersection:()=>Oo,ZodJWT:()=>dr,ZodKSUID:()=>tr,ZodLazy:()=>Qo,ZodLiteral:()=>Do,ZodMAC:()=>lo,ZodMap:()=>To,ZodNaN:()=>Vo,ZodNanoID:()=>Qe,ZodNever:()=>ko,ZodNonOptional:()=>xr,ZodNull:()=>go,ZodNullable:()=>jo,ZodNumber:()=>re,ZodNumberFormat:()=>V,ZodObject:()=>Oe,ZodOptional:()=>Ie,ZodPipe:()=>ze,ZodPrefault:()=>Lo,ZodPreprocess:()=>Ko,ZodPromise:()=>et,ZodReadonly:()=>Go,ZodRecord:()=>Y,
13
- ZodSet:()=>Eo,ZodString:()=>H,ZodStringFormat:()=>x,ZodSuccess:()=>Bo,ZodSymbol:()=>yo,ZodTemplateLiteral:()=>Yo,ZodTransform:()=>Ro,ZodTuple:()=>Io,ZodType:()=>m,ZodULID:()=>rr,ZodURL:()=>be,ZodUUID:()=>P,ZodUndefined:()=>xo,ZodUnion:()=>Pe,ZodUnknown:()=>Zo,ZodVoid:()=>vo,ZodXID:()=>or,ZodXor:()=>$o,_ZodString:()=>Ke,_default:()=>Uo,_function:()=>js,any:()=>hs,array:()=>we,base64:()=>Yi,base64url:()=>Qi,bigint:()=>ps,boolean:()=>ho,catch:()=>Wo,check:()=>Js,cidrv4:()=>Gi,cidrv6:()=>Xi,codec:()=>Ds,
14
- creditCard:()=>es,cuid:()=>Li,cuid2:()=>Mi,custom:()=>Us,date:()=>xs,describe:()=>Ls,discriminatedUnion:()=>vs,e164:()=>Hi,email:()=>Ni,emoji:()=>Ji,enum:()=>fr,exactOptional:()=>Co,file:()=>zs,float32:()=>is,float64:()=>ss,function:()=>js,guid:()=>Ti,hash:()=>cs,hex:()=>ns,hostname:()=>ts,httpUrl:()=>ji,instanceof:()=>Fs,int:()=>We,int32:()=>as,int64:()=>ds,intersection:()=>Po,invertCodec:()=>As,ipv4:()=>Wi,ipv6:()=>Ki,json:()=>qs,jwt:()=>rs,keyof:()=>gs,ksuid:()=>qi,lazy:()=>Ho,literal:()=>Is,
15
- looseObject:()=>Zs,looseRecord:()=>$s,mac:()=>Vi,map:()=>ws,meta:()=>Ms,nan:()=>Es,nanoid:()=>Ui,nativeEnum:()=>Ps,never:()=>mr,nonoptional:()=>Fo,null:()=>_o,nullable:()=>ve,nullish:()=>Ns,number:()=>fo,object:()=>_s,optional:()=>q,partialRecord:()=>bs,pipe:()=>Ve,prefault:()=>Mo,preprocess:()=>Ws,promise:()=>Cs,readonly:()=>Xo,record:()=>No,refine:()=>ot,set:()=>Os,strictObject:()=>Ss,string:()=>ke,stringFormat:()=>os,stringbool:()=>Bs,success:()=>Ts,superRefine:()=>tt,symbol:()=>ms,templateLiteral:()=>Rs,
16
- transform:()=>hr,tuple:()=>zo,uint32:()=>us,uint64:()=>ls,ulid:()=>Fi,undefined:()=>fs,union:()=>ne,unknown:()=>B,url:()=>Ci,uuid:()=>Ei,uuidv4:()=>Di,uuidv6:()=>Ai,uuidv7:()=>Ri,void:()=>ys,xid:()=>Bi,xor:()=>ks});var qe={};se(qe,{endsWith:()=>me,gt:()=>A,gte:()=>O,includes:()=>de,length:()=>X,lowercase:()=>ue,lt:()=>D,lte:()=>w,maxLength:()=>G,maxSize:()=>F,mime:()=>fe,minLength:()=>R,minSize:()=>z,multipleOf:()=>M,negative:()=>qr,nonnegative:()=>Vr,nonpositive:()=>Wr,normalize:()=>ye,overwrite:()=>he,positive:()=>Br,properties:()=>Gr,property:()=>Kr,regex:()=>ae,size:()=>K,slugify:()=>Se,startsWith:()=>le,toLowerCase:()=>ge,toUpperCase:()=>_e,trim:()=>xe,uppercase:()=>pe});var Hr=ht(v),eo=yt(v),ro=xt(v),oo=gt(v),to=Zt(v),no=kt(v),co=vt(v),io=bt(v),so=$t(v),ao=wt(v),uo=Ot(v),po=Pt(v);function sa(){Sr.localeError||T(Xn())}c(sa,"_ensureDefaultLocale");function W(){Sr.memoizer||T({memoizer:je()})}c(W,"_ensureDefaultMemoizer");var m=u("ZodType",(e,r)=>(sa(),Zr.init(e,r),e.def=r,e.type=r.type,e),{check(...e){let r=this.def;return this.clone(l.mergeDefs(r,{checks:[...r.checks??[],...e.map(t=>typeof t=="function"?{_zod:{check:t,def:{check:"custom"},onattach:[]}}:t)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,r){return S(this,e,r)},brand(){return this},register(e,r){
17
- return e.add(this,r),this},refine(e,r){return this.check(ot(e,r))},superRefine(e,r){return this.check(tt(e,r))},overwrite(e){return this.check(he(e))},optional(){return q(this)},exactOptional(){return Co(this)},nullable(){return ve(this)},nullish(){return q(ve(this))},nonoptional(e){return Fo(this,e)},array(){return we(this)},or(e){return ne([this,e])},and(e){return Po(this,e)},transform(e){return Ve(this,hr(e))},default(e){return Uo(this,e)},prefault(e){return Mo(this,e)},catch(e){return Wo(this,
18
- e)},pipe(e){return Ve(this,e)},readonly(){return Xo(this)},describe(e){let r=this.clone();return I.add(r,{description:e}),r},meta(...e){if(e.length===0)return I.get(this);let r=this.clone();return I.add(r,e[0]),r},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...r){return r.length===0?e(this):e(this,...r)},get"~standard"(){return l.hide(this,"~standard",{...zt(this),jsonSchema:{input:Xr(this,"input"),output:Xr(this,"output")}})},set"\
19
- ~standard"(e){l.own(this,"~standard",e)},parse:c(function e(r,t){return Hr(this,r,t,{callee:e})},"_parse"),parseAsync:c(async function e(r,t){return await eo(this,r,t,{callee:e})},"_parseAsync"),safeParse(e,r){return ro(this,e,r)},async safeParseAsync(e,r){return oo(this,e,r)},get spa(){return this?.safeParseAsync},set spa(e){l.own(this,"spa",e)},encode:c(function e(r,t){return to(this,r,t,{callee:e})},"_encode"),decode:c(function e(r,t){return no(this,r,t,{callee:e})},"_decode"),encodeAsync:c(async function e(r,t){
20
- return await co(this,r,t,{callee:e})},"_encodeAsync"),decodeAsync:c(async function e(r,t){return await io(this,r,t,{callee:e})},"_decodeAsync"),safeEncode(e,r){return so(this,e,r)},safeDecode(e,r){return ao(this,e,r)},async safeEncodeAsync(e,r){return uo(this,e,r)},async safeDecodeAsync(e,r){return po(this,e,r)},toJSONSchema(e){return Uc(this,{})(e)},get description(){return I.get(this)?.description},get _def(){return this._zod.def}}),Ke=u("_ZodString",(e,r)=>{kr.init(e,r),m.init(e,r),e._zod.processJSONSchema=
21
- (n,o,s)=>Lc(e,n,o,s);let t=e._zod.bag;e.format=t.format??null,e.minLength=t.minimum??null,e.maxLength=t.maximum??null},{regex(...e){return this.check(ae(...e))},includes(...e){return this.check(de(...e))},startsWith(...e){return this.check(le(...e))},endsWith(...e){return this.check(me(...e))},min(...e){return this.check(R(...e))},max(...e){return this.check(G(...e))},length(...e){return this.check(X(...e))},nonempty(...e){return this.check(R(1,...e))},lowercase(e){return this.check(ue(e))},uppercase(e){
22
- return this.check(pe(e))},trim(){return this.check(xe())},normalize(...e){return this.check(ye(...e))},toLowerCase(){return this.check(ge())},toUpperCase(){return this.check(_e())},slugify(){return this.check(Se())}}),H=u("ZodString",(e,r)=>{kr.init(e,r),Ke.init(e,r)},{email(e){return this.check(vr(Ge,e))},url(e){return this.check(Je(be,e))},jwt(e){return this.check(Fr(dr,e))},emoji(e){return this.check(Ir(Ye,e))},guid(e){return this.check(br(Xe,e))},uuid(e){return this.check($r(P,e))},uuidv4(e){
23
- return this.check(wr(P,e))},uuidv6(e){return this.check(Or(P,e))},uuidv7(e){return this.check(Pr(P,e))},nanoid(e){return this.check(zr(Qe,e))},cuid(e){return this.check(Nr(He,e))},cuid2(e){return this.check(Tr(er,e))},ulid(e){return this.check(Er(rr,e))},base64(e){return this.check(Ur(ar,e))},base64url(e){return this.check(Lr(ur,e))},xid(e){return this.check(Dr(or,e))},ksuid(e){return this.check(Ar(tr,e))},ipv4(e){return this.check(Rr(nr,e))},ipv6(e){return this.check(Cr(cr,e))},cidrv4(e){return this.
24
- check(jr(ir,e))},cidrv6(e){return this.check(Jr(sr,e))},e164(e){return this.check(Mr(pr,e))},datetime(e){return this.check(Ue(j,e))},date(e){return this.check(Le(J,e))},time(e){return this.check(Me(U,e))},duration(e){return this.check(Fe(L,e))}});function ke(e){return nc(H,e)}c(ke,"string");var x=u("ZodStringFormat",(e,r)=>{Nt.init(e,r),Ke.init(e,r)}),j=u("ZodISODateTime",(e,r)=>{Ft.init(e,r),x.init(e,r)}),J=u("ZodISODate",(e,r)=>{Bt.init(e,r),x.init(e,r)}),U=u("ZodISOTime",(e,r)=>{qt.init(e,r),
25
- x.init(e,r)}),L=u("ZodISODuration",(e,r)=>{Wt.init(e,r),x.init(e,r)}),Ge=u("ZodEmail",(e,r)=>{Dt.init(e,r),x.init(e,r)});function Ni(e){return vr(Ge,e)}c(Ni,"email");var Xe=u("ZodGUID",(e,r)=>{Tt.init(e,r),x.init(e,r)});function Ti(e){return br(Xe,e)}c(Ti,"guid");var P=u("ZodUUID",(e,r)=>{Et.init(e,r),x.init(e,r)});function Ei(e){return $r(P,e)}c(Ei,"uuid");function Di(e){return wr(P,e)}c(Di,"uuidv4");function Ai(e){return Or(P,e)}c(Ai,"uuidv6");function Ri(e){return Pr(P,e)}c(Ri,"uuidv7");var be=u(
26
- "ZodURL",(e,r)=>{At.init(e,r),x.init(e,r)});function Ci(e){return Je(be,e)}c(Ci,"url");function ji(e){return Je(be,{protocol:E.httpProtocol,hostname:E.domain,...l.normalizeParams(e)})}c(ji,"httpUrl");var Ye=u("ZodEmoji",(e,r)=>{Rt.init(e,r),x.init(e,r)});function Ji(e){return Ir(Ye,e)}c(Ji,"emoji");var Qe=u("ZodNanoID",(e,r)=>{Ct.init(e,r),x.init(e,r)});function Ui(e){return zr(Qe,e)}c(Ui,"nanoid");var He=u("ZodCUID",(e,r)=>{jt.init(e,r),x.init(e,r)});function Li(e){return Nr(He,e)}c(Li,"cuid");
27
- var er=u("ZodCUID2",(e,r)=>{Jt.init(e,r),x.init(e,r)});function Mi(e){return Tr(er,e)}c(Mi,"cuid2");var rr=u("ZodULID",(e,r)=>{Ut.init(e,r),x.init(e,r)});function Fi(e){return Er(rr,e)}c(Fi,"ulid");var or=u("ZodXID",(e,r)=>{Lt.init(e,r),x.init(e,r)});function Bi(e){return Dr(or,e)}c(Bi,"xid");var tr=u("ZodKSUID",(e,r)=>{Mt.init(e,r),x.init(e,r)});function qi(e){return Ar(tr,e)}c(qi,"ksuid");var nr=u("ZodIPv4",(e,r)=>{Vt.init(e,r),x.init(e,r)});function Wi(e){return Rr(nr,e)}c(Wi,"ipv4");var lo=u(
28
- "ZodMAC",(e,r)=>{Gt.init(e,r),x.init(e,r)});function Vi(e){return ic(lo,e)}c(Vi,"mac");var cr=u("ZodIPv6",(e,r)=>{Kt.init(e,r),x.init(e,r)});function Ki(e){return Cr(cr,e)}c(Ki,"ipv6");var ir=u("ZodCIDRv4",(e,r)=>{Xt.init(e,r),x.init(e,r)});function Gi(e){return jr(ir,e)}c(Gi,"cidrv4");var sr=u("ZodCIDRv6",(e,r)=>{Yt.init(e,r),x.init(e,r)});function Xi(e){return Jr(sr,e)}c(Xi,"cidrv6");var ar=u("ZodBase64",(e,r)=>{Qt.init(e,r),x.init(e,r)});function Yi(e){return Ur(ar,e)}c(Yi,"base64");var ur=u(
29
- "ZodBase64URL",(e,r)=>{Ht.init(e,r),x.init(e,r)});function Qi(e){return Lr(ur,e)}c(Qi,"base64url");var pr=u("ZodE164",(e,r)=>{en.init(e,r),x.init(e,r)});function Hi(e){return Mr(pr,e)}c(Hi,"e164");var mo=u("ZodCreditCard",(e,r)=>{rn.init(e,r),x.init(e,r)});function es(e){return sc(mo,e)}c(es,"creditCard");var dr=u("ZodJWT",(e,r)=>{on.init(e,r),x.init(e,r)});function rs(e){return Fr(dr,e)}c(rs,"jwt");var ee=u("ZodCustomStringFormat",(e,r)=>{tn.init(e,r),x.init(e,r)});function os(e,r,t={}){return Ze(
30
- ee,e,r,t)}c(os,"stringFormat");function ts(e){return Ze(ee,"hostname",E.hostname,e)}c(ts,"hostname");function ns(e){return Ze(ee,"hex",E.hex,e)}c(ns,"hex");function cs(e,r){let t=r?.enc??"hex",n=`${e}_${t}`,o=E[n];if(!o)throw new Error(`Unrecognized hash format: ${n}`);return Ze(ee,n,o,r)}c(cs,"hash");var re=u("ZodNumber",(e,r)=>{nn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(n,o,s)=>Mc(e,n,o,s);let t=e._zod.bag;e.minValue=Math.max(t.minimum??Number.NEGATIVE_INFINITY,t.exclusiveMinimum??Number.
31
- NEGATIVE_INFINITY)??null,e.maxValue=Math.min(t.maximum??Number.POSITIVE_INFINITY,t.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(t.format??"").includes("int")||Number.isSafeInteger(t.multipleOf??.5),e.isFinite=!0,e.format=t.format??null},{gt(e,r){return this.check(A(e,r))},gte(e,r){return this.check(O(e,r))},min(e,r){return this.check(O(e,r))},lt(e,r){return this.check(D(e,r))},lte(e,r){return this.check(w(e,r))},max(e,r){return this.check(w(e,r))},int(e){return this.check(We(e))},safe(e){
32
- return this.check(We(e))},positive(e){return this.check(A(0,e))},nonnegative(e){return this.check(O(0,e))},negative(e){return this.check(D(0,e))},nonpositive(e){return this.check(w(0,e))},multipleOf(e,r){return this.check(M(e,r))},step(e,r){return this.check(M(e,r))},finite(){return this}});function fo(e){return uc(re,e)}c(fo,"number");var V=u("ZodNumberFormat",(e,r)=>{cn.init(e,r),re.init(e,r)});function We(e){return dc(V,e)}c(We,"int");function is(e){return lc(V,e)}c(is,"float32");function ss(e){
33
- return mc(V,e)}c(ss,"float64");function as(e){return fc(V,e)}c(as,"int32");function us(e){return hc(V,e)}c(us,"uint32");var oe=u("ZodBoolean",(e,r)=>{sn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Fc(e,t,n,o)});function ho(e){return yc(oe,e)}c(ho,"boolean");var te=u("ZodBigInt",(e,r)=>{an.init(e,r),m.init(e,r),e._zod.processJSONSchema=(n,o,s)=>Bc(e,n,o,s);let t=e._zod.bag;e.minValue=t.minimum??null,e.maxValue=t.maximum??null,e.format=t.format??null},{gte(e,r){return this.check(O(e,r))},
34
- min(e,r){return this.check(O(e,r))},gt(e,r){return this.check(A(e,r))},lt(e,r){return this.check(D(e,r))},lte(e,r){return this.check(w(e,r))},max(e,r){return this.check(w(e,r))},positive(e){return this.check(A(BigInt(0),e))},negative(e){return this.check(D(BigInt(0),e))},nonpositive(e){return this.check(w(BigInt(0),e))},nonnegative(e){return this.check(O(BigInt(0),e))},multipleOf(e,r){return this.check(M(e,r))}});function ps(e){return gc(te,e)}c(ps,"bigint");var lr=u("ZodBigIntFormat",(e,r)=>{un.
35
- init(e,r),te.init(e,r)});function ds(e){return Sc(lr,e)}c(ds,"int64");function ls(e){return Zc(lr,e)}c(ls,"uint64");var yo=u("ZodSymbol",(e,r)=>{pn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>qc(e,t,n,o)});function ms(e){return kc(yo,e)}c(ms,"symbol");var xo=u("ZodUndefined",(e,r)=>{dn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Vc(e,t,n,o)});function fs(e){return vc(xo,e)}c(fs,"_undefined");var go=u("ZodNull",(e,r)=>{ln.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Wc(e,t,n,o)});function _o(e){return bc(go,e)}c(_o,"_null");var So=u("ZodAny",(e,r)=>{mn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Xc(e,t,n,o)});function hs(){return $c(So)}c(hs,"any");var Zo=u("ZodUnknown",(e,r)=>{fn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Yc(e,t,n,o)});function B(){return wc(Zo)}c(B,"unknown");var ko=u("ZodNever",(e,r)=>{hn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Gc(e,t,n,o)});function mr(e){return Oc(ko,e)}c(mr,"never");var vo=u("ZodVoid",(e,r)=>{yn.init(e,r),m.init(e,r),e._zod.processJSONSchema=
36
- (t,n,o)=>Kc(e,t,n,o)});function ys(e){return Pc(vo,e)}c(ys,"_void");var $e=u("ZodDate",(e,r)=>{xn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(n,o,s)=>Qc(e,n,o,s),e.min=(n,o)=>e.check(O(n,o)),e.max=(n,o)=>e.check(w(n,o));let t=e._zod.bag;e.minDate=t.minimum?new Date(t.minimum):null,e.maxDate=t.maximum?new Date(t.maximum):null});function xs(e){return Ic($e,e)}c(xs,"date");var bo=u("ZodArray",(e,r)=>{W(),gn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>pi(e,t,n,o),e.element=r.element},{min(e,r){return this.check(R(e,r))},nonempty(e){return this.check(
37
- R(1,e))},max(e,r){return this.check(G(e,r))},length(e,r){return this.check(X(e,r))},unwrap(){return this.element}});function we(e,r){return Tc(bo,e,r)}c(we,"array");function gs(e){let r=e._zod.def.shape;return fr(Object.keys(r))}c(gs,"keyof");var Oe=u("ZodObject",(e,r)=>{W(),_n.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>di(e,t,n,o),l.installLazyProp(e,"shape",t=>t._zod.def.shape,!1)},{keyof(){return fr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,
38
- catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:B()})},loose(){return this.clone({...this._zod.def,catchall:B()})},strict(){return this.clone({...this._zod.def,catchall:mr()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return l.extend(this,e)},safeExtend(e){return l.safeExtend(this,e)},merge(e){return l.merge(this,e)},pick(e){return l.pick(this,e)},omit(e){return l.omit(this,e)},partial(...e){return l.partial(Ie,this,e[0])},exactPartial(...e){
39
- return l.partial(yr,this,e[0],"exactPartial")},required(...e){return l.required(xr,this,e[0])}});function _s(e,r){let t={type:"object",shape:e??{},...l.normalizeParams(r)};return new Oe(t)}c(_s,"object");function Ss(e,r){return new Oe({type:"object",shape:e,catchall:mr(),...l.normalizeParams(r)})}c(Ss,"strictObject");function Zs(e,r){return new Oe({type:"object",shape:e,catchall:B(),...l.normalizeParams(r)})}c(Zs,"looseObject");var Pe=u("ZodUnion",(e,r)=>{Sn.init(e,r),m.init(e,r),e._zod.processJSONSchema=
40
- (t,n,o)=>Yr(e,t,n,o),e.options=r.options});function ne(e,r){return new Pe({type:"union",options:e,...l.normalizeParams(r)})}c(ne,"union");var $o=u("ZodXor",(e,r)=>{Pe.init(e,r),Zn.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Yr(e,t,n,o),e.options=r.options});function ks(e,r){return new $o({type:"union",options:e,inclusive:!1,...l.normalizeParams(r)})}c(ks,"xor");var wo=u("ZodDiscriminatedUnion",(e,r)=>{Pe.init(e,r),vn.init(e,r)});function vs(e,r,t){return new wo({type:"union",options:r,discriminator:e,
41
- ...l.normalizeParams(t)})}c(vs,"discriminatedUnion");var Oo=u("ZodIntersection",(e,r)=>{bn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>li(e,t,n,o)});function Po(e,r){return new Oo({type:"intersection",left:e,right:r})}c(Po,"intersection");var Io=u("ZodTuple",(e,r)=>{W(),$n.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>mi(e,t,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw new Error(".partial() cannot be us\
42
- ed on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(r=>new Ie({type:"optional",innerType:r}))})}});function zo(e,r,t){let n=r instanceof Zr,o=n?t:r,s=n?r:null;return new Io({type:"tuple",items:e,rest:s,...l.normalizeParams(o)})}c(zo,"tuple");var Y=u("ZodRecord",(e,r)=>{W(),wn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>fi(e,t,n,o),e.keyType=r.keyType,e.valueType=r.valueType});function No(e,r,t){return!r||!r._zod?new Y({type:"record",keyType:ke(),valueType:e,
43
- ...l.normalizeParams(r)}):new Y({type:"record",keyType:e,valueType:r,...l.normalizeParams(t)})}c(No,"record");function bs(e,r,t){return new Y({type:"record",keyType:e,valueType:r,...l.normalizeParams(t),partial:!0})}c(bs,"partialRecord");function $s(e,r,t){return new Y({type:"record",keyType:e,valueType:r,mode:"loose",...l.normalizeParams(t)})}c($s,"looseRecord");var To=u("ZodMap",(e,r)=>{W(),On.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ai(e,t,n,o),e.keyType=r.keyType,e.valueType=r.
44
- valueType,e.min=(...t)=>e.check(z(...t)),e.nonempty=t=>e.check(z(1,t)),e.max=(...t)=>e.check(F(...t)),e.size=(...t)=>e.check(K(...t))});function ws(e,r,t){return new To({type:"map",keyType:e,valueType:r,...l.normalizeParams(t)})}c(ws,"map");var Eo=u("ZodSet",(e,r)=>{W(),Pn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ui(e,t,n,o),e.min=(...t)=>e.check(z(...t)),e.nonempty=t=>e.check(z(1,t)),e.max=(...t)=>e.check(F(...t)),e.size=(...t)=>e.check(K(...t))});function Os(e,r){return new Eo({
45
- type:"set",valueType:e,...l.normalizeParams(r)})}c(Os,"set");var Q=u("ZodEnum",(e,r)=>{In.init(e,r),m.init(e,r),e._zod.processJSONSchema=(n,o,s)=>Hc(e,n,o,s),e.enum=r.entries,e.options=Object.values(r.entries);let t=new Set(Object.keys(r.entries));e.extract=(n,o)=>{let s={};for(let a of n)if(t.has(a))s[a]=r.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Q({...r,checks:[],...l.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...r.entries};for(let a of n)if(t.has(
46
- a))delete s[a];else throw new Error(`Key ${a} not found in enum`);return new Q({...r,checks:[],...l.normalizeParams(o),entries:s})}});function fr(e,r){let t=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Q({type:"enum",entries:t,...l.normalizeParams(r)})}c(fr,"_enum");function Ps(e,r){return new Q({type:"enum",entries:e,...l.normalizeParams(r)})}c(Ps,"nativeEnum");var Do=u("ZodLiteral",(e,r)=>{zn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ei(e,t,n,o),e.values=new Set(r.values),Object.defineProperty(e,"value",{get(){if(r.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return r.values[0]}})});function Is(e,r){return new Do({type:"literal",values:Array.isArray(e)?e:[e],...l.normalizeParams(
47
- r)})}c(Is,"literal");var Ao=u("ZodFile",(e,r)=>{Nn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ti(e,t,n,o),e.min=(t,n)=>e.check(z(t,n)),e.max=(t,n)=>e.check(F(t,n)),e.mime=(t,n)=>e.check(fe(Array.isArray(t)?t:[t],n))});function zs(e){return Ec(Ao,e)}c(zs,"file");var Ro=u("ZodTransform",(e,r)=>{W(),Tn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>si(e,t,n,o),e._zod.parse=(t,n)=>{if(n.direction==="backward")throw new dt(e.constructor.name);t.addIssue=s=>{if(typeof s=="string")
48
- t.issues.push(l.issue(s,t.value,r));else{let a=s;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),"input"in a||(a.input=t.value),a.inst??(a.inst=e),t.issues.push(l.issue(a))}};let o=r.transform(t.value,t);return o instanceof Promise?o.then(s=>(t.value=s,t)):(t.value=o,t)}});function hr(e){return new Ro({type:"transform",transform:e})}c(hr,"transform");var Ie=u("ZodOptional",(e,r)=>{En.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Qr(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function q(e){
49
- return new Ie({type:"optional",innerType:e})}c(q,"optional");var yr=u("ZodExactOptional",(e,r)=>{Dn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Qr(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function Co(e){return new yr({type:"optional",innerType:e})}c(Co,"exactOptional");var jo=u("ZodNullable",(e,r)=>{An.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>hi(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function ve(e){return new jo({type:"nullable",innerType:e})}c(ve,"nullable");
50
- function Ns(e){return q(ve(e))}c(Ns,"nullish");var Jo=u("ZodDefault",(e,r)=>{Rn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>xi(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Uo(e,r){return new Jo({type:"default",innerType:e,get defaultValue(){return typeof r=="function"?r():l.shallowClone(r)}})}c(Uo,"_default");var Lo=u("ZodPrefault",(e,r)=>{Cn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>gi(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function Mo(e,r){
51
- return new Lo({type:"prefault",innerType:e,get defaultValue(){return typeof r=="function"?r():l.shallowClone(r)}})}c(Mo,"prefault");var xr=u("ZodNonOptional",(e,r)=>{jn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>yi(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function Fo(e,r){return new xr({type:"nonoptional",innerType:e,...l.normalizeParams(r)})}c(Fo,"nonoptional");var Bo=u("ZodSuccess",(e,r)=>{Jn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ni(e,t,n,o),e.unwrap=()=>e._zod.
52
- def.innerType});function Ts(e){return new Bo({type:"success",innerType:e})}c(Ts,"success");var qo=u("ZodCatch",(e,r)=>{Un.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>_i(e,t,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Wo(e,r){return new qo({type:"catch",innerType:e,catchValue:typeof r=="function"?r:l.constantCatch(r)})}c(Wo,"_catch");var Vo=u("ZodNaN",(e,r)=>{Ln.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ri(e,t,n,o)});function Es(e){return Nc(Vo,e)}c(Es,"nan");var ze=u("ZodPipe",(e,r)=>{Mn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Si(e,t,n,o),e.in=r.in,e.out=r.out});function Ve(e,r){return new ze({type:"pipe",in:e,out:r})}c(Ve,"pipe");var Ne=u("ZodCodec",(e,r)=>{ze.init(e,r),Fn.init(e,r)});function Ds(e,r,t){return new Ne({type:"pipe",in:e,out:r,transform:t.decode,reverseTransform:t.encode})}c(Ds,"\
53
- codec");function As(e){let r=e._zod.def;return new Ne({type:"pipe",in:r.out,out:r.in,transform:r.reverseTransform,reverseTransform:r.transform})}c(As,"invertCodec");var Ko=u("ZodPreprocess",(e,r)=>{ze.init(e,r),Bn.init(e,r)}),Go=u("ZodReadonly",(e,r)=>{qn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>Zi(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function Xo(e){return new Go({type:"readonly",innerType:e})}c(Xo,"readonly");var Yo=u("ZodTemplateLiteral",(e,r)=>{Wn.init(e,r),m.init(e,r),
54
- e._zod.processJSONSchema=(t,n,o)=>oi(e,t,n,o)});function Rs(e,r){return new Yo({type:"template_literal",parts:e,...l.normalizeParams(r)})}c(Rs,"templateLiteral");var Qo=u("ZodLazy",(e,r)=>{Ce.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>vi(e,t,n,o),e.unwrap=()=>e._zod.def.getter()});function Ho(e){return new Qo({type:"lazy",getter:e})}c(Ho,"lazy");var et=u("ZodPromise",(e,r)=>{Kn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ki(e,t,n,o),e.unwrap=()=>e._zod.def.innerType});function Cs(e){
55
- return new et({type:"promise",innerType:e})}c(Cs,"promise");var rt=u("ZodFunction",(e,r)=>{Vn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ii(e,t,n,o)});function js(e){return new rt({type:"function",input:Array.isArray(e?.input)?zo(e?.input):e?.input??we(B()),output:e?.output??B()})}c(js,"_function");var Te=u("ZodCustom",(e,r)=>{Gn.init(e,r),m.init(e,r),e._zod.processJSONSchema=(t,n,o)=>ci(e,t,n,o)});function Js(e){let r=new It({check:"custom"});return r._zod.check=e,r}c(Js,"check");function Us(e,r){return Dc(Te,e??(()=>!0),r)}c(Us,"custom");function ot(e,r={}){return Ac(Te,e,r)}c(ot,"refine");function tt(e,r){return Rc(e,r)}c(tt,"superRefine");var Ls=Cc,Ms=jc;function Fs(e,r={}){let t=new Te({type:"custom",check:"custom",fn:c(n=>n instanceof e,"fn"),abort:!0,...l.normalizeParams(r)});return t.
56
- _zod.bag.Class=e,t._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:t,path:[...t._zod.def.path??[]]})},t}c(Fs,"_instanceof");var Bs=c((...e)=>Jc({Codec:Ne,Boolean:oe,String:H},...e),"stringbool");function qs(e){let r=Ho(()=>ne([ke(e),fo(),ho(),_o(),we(r),No(ke(),r)]));return r}c(qs,"json");function Ws(e,r){return new Ko({type:"pipe",in:hr(e),out:r})}c(Ws,"preprocess");var Ee={};se(Ee,{ZodISODate:()=>J,ZodISODateTime:()=>j,ZodISODuration:()=>L,ZodISOTime:()=>U,date:()=>ua,datetime:()=>aa,duration:()=>da,time:()=>pa});function aa(e){return Ue(j,e)}c(aa,"datetime");function ua(e){return Le(J,e)}c(ua,"date");function pa(e){return Me(U,e)}c(pa,"time");function da(e){return Fe(L,e)}c(da,"duration");var nt={};se(nt,{bigint:()=>ha,boolean:()=>fa,date:()=>ya,number:()=>ma,string:()=>la});function la(e){return cc(H,e)}c(la,"string");function ma(e){return pc(re,e)}c(ma,"number");function fa(e){return xc(oe,e)}c(fa,"boolean");function ha(e){return _c(te,e)}c(ha,"bigint");function ya(e){return zc($e,e)}c(ya,"date");var Pa={};se(Pa,{$brand:()=>pt,$input:()=>Hn,$output:()=>Qn,NEVER:()=>ut,TimePrecision:()=>ac,ZodAny:()=>So,ZodArray:()=>bo,ZodBase64:()=>ar,ZodBase64URL:()=>ur,ZodBigInt:()=>te,ZodBigIntFormat:()=>lr,ZodBoolean:()=>oe,ZodCIDRv4:()=>ir,ZodCIDRv6:()=>sr,ZodCUID:()=>He,ZodCUID2:()=>er,ZodCatch:()=>qo,ZodCodec:()=>Ne,ZodCompileAsyncError:()=>rc,ZodCompileUnsupportedError:()=>oc,ZodCreditCard:()=>mo,ZodCustom:()=>Te,ZodCustomStringFormat:()=>ee,ZodDate:()=>$e,ZodDefault:()=>Jo,ZodDiscriminatedUnion:()=>wo,
57
- ZodE164:()=>pr,ZodEmail:()=>Ge,ZodEmoji:()=>Ye,ZodEnum:()=>Q,ZodError:()=>ca,ZodExactOptional:()=>yr,ZodFile:()=>Ao,ZodFirstPartyTypeKind:()=>ct,ZodFunction:()=>rt,ZodGUID:()=>Xe,ZodIPv4:()=>nr,ZodIPv6:()=>cr,ZodISODate:()=>J,ZodISODateTime:()=>j,ZodISODuration:()=>L,ZodISOTime:()=>U,ZodIntersection:()=>Oo,ZodIssueCode:()=>xa,ZodJWT:()=>dr,ZodKSUID:()=>tr,ZodLazy:()=>Qo,ZodLiteral:()=>Do,ZodMAC:()=>lo,ZodMap:()=>To,ZodNaN:()=>Vo,ZodNanoID:()=>Qe,ZodNever:()=>ko,ZodNonOptional:()=>xr,ZodNull:()=>go,
58
- ZodNullable:()=>jo,ZodNumber:()=>re,ZodNumberFormat:()=>V,ZodObject:()=>Oe,ZodOptional:()=>Ie,ZodPipe:()=>ze,ZodPrefault:()=>Lo,ZodPreprocess:()=>Ko,ZodPromise:()=>et,ZodReadonly:()=>Go,ZodRealError:()=>v,ZodRecord:()=>Y,ZodSet:()=>Eo,ZodString:()=>H,ZodStringFormat:()=>x,ZodSuccess:()=>Bo,ZodSymbol:()=>yo,ZodTemplateLiteral:()=>Yo,ZodTransform:()=>Ro,ZodTuple:()=>Io,ZodType:()=>m,ZodULID:()=>rr,ZodURL:()=>be,ZodUUID:()=>P,ZodUndefined:()=>xo,ZodUnion:()=>Pe,ZodUnknown:()=>Zo,ZodVoid:()=>vo,ZodXID:()=>or,
59
- ZodXor:()=>$o,_ZodString:()=>Ke,_default:()=>Uo,_function:()=>js,any:()=>hs,array:()=>we,base64:()=>Yi,base64url:()=>Qi,bigint:()=>ps,boolean:()=>ho,catch:()=>Wo,check:()=>Js,cidrv4:()=>Gi,cidrv6:()=>Xi,clone:()=>S,codec:()=>Ds,coerce:()=>nt,compile:()=>tc,config:()=>T,core:()=>C,creditCard:()=>es,cuid:()=>Li,cuid2:()=>Mi,custom:()=>Us,date:()=>xs,decode:()=>no,decodeAsync:()=>io,deepPartial:()=>Qs,describe:()=>Ls,discriminatedUnion:()=>vs,e164:()=>Hi,email:()=>Ni,emoji:()=>Ji,encode:()=>to,encodeAsync:()=>co,
60
- endsWith:()=>me,enum:()=>fr,exactOptional:()=>Co,file:()=>zs,flattenError:()=>Ae,float32:()=>is,float64:()=>ss,formatError:()=>Re,fromJSONSchema:()=>Xs,function:()=>js,getDiscriminatedOption:()=>kn,getErrorMap:()=>_a,globalRegistry:()=>I,gt:()=>A,gte:()=>O,guid:()=>Ti,hash:()=>cs,hex:()=>ns,hostname:()=>ts,httpUrl:()=>ji,includes:()=>de,input:()=>ea,instanceof:()=>Fs,int:()=>We,int32:()=>as,int64:()=>ds,intersection:()=>Po,invertCodec:()=>As,ipv4:()=>Wi,ipv6:()=>Ki,iso:()=>Ee,json:()=>qs,jwt:()=>rs,
61
- keyof:()=>gs,ksuid:()=>qi,lazy:()=>Ho,length:()=>X,literal:()=>Is,locales:()=>Yn,looseObject:()=>Zs,looseRecord:()=>$s,lowercase:()=>ue,lt:()=>D,lte:()=>w,mac:()=>Vi,map:()=>ws,maxLength:()=>G,maxSize:()=>F,memoizer:()=>je,meta:()=>Ms,mime:()=>fe,minLength:()=>R,minSize:()=>z,multipleOf:()=>M,nan:()=>Es,nanoid:()=>Ui,nativeEnum:()=>Ps,negative:()=>qr,never:()=>mr,nonnegative:()=>Vr,nonoptional:()=>Fo,nonpositive:()=>Wr,normalize:()=>ye,null:()=>_o,nullable:()=>ve,nullish:()=>Ns,number:()=>fo,object:()=>_s,
62
- optional:()=>q,output:()=>ra,overwrite:()=>he,parse:()=>Hr,parseAsync:()=>eo,partialRecord:()=>bs,pipe:()=>Ve,positive:()=>Br,prefault:()=>Mo,preprocess:()=>Ws,prettifyError:()=>ft,promise:()=>Cs,properties:()=>Gr,property:()=>Kr,readonly:()=>Xo,record:()=>No,refine:()=>ot,regex:()=>ae,regexes:()=>E,registry:()=>ec,safeDecode:()=>ao,safeDecodeAsync:()=>po,safeEncode:()=>so,safeEncodeAsync:()=>uo,safeParse:()=>ro,safeParseAsync:()=>oo,set:()=>Os,setErrorMap:()=>ga,size:()=>K,slugify:()=>Se,startsWith:()=>le,
63
- strictObject:()=>Ss,string:()=>ke,stringFormat:()=>os,stringbool:()=>Bs,success:()=>Ts,superRefine:()=>tt,symbol:()=>ms,templateLiteral:()=>Rs,toJSONSchema:()=>bi,toLowerCase:()=>ge,toUpperCase:()=>_e,toZod:()=>it,transform:()=>hr,treeifyError:()=>mt,trim:()=>xe,tuple:()=>zo,uint32:()=>us,uint64:()=>ls,ulid:()=>Fi,undefined:()=>fs,union:()=>ne,unknown:()=>B,uppercase:()=>pe,url:()=>Ci,util:()=>l,uuid:()=>Ei,uuidv4:()=>Di,uuidv6:()=>Ai,uuidv7:()=>Ri,validate:()=>_t,validateAsync:()=>St,void:()=>ys,
64
- xid:()=>Bi,xor:()=>ks});var xa={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function ga(e){T({customError:e})}c(ga,"setErrorMap");function _a(){return T().customError}c(_a,"getErrorMap");var ct;ct||(ct={});var p={...ce,...qe,iso:Ee},Sa=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum",
65
- "exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function Za(e,r){let t=e.$schema;return t==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":t==="http://json-schema.org/draft-07/schema#"?"draft-7":t==="http://json-schema.org/draft-04/schema#"?"draft-4":r??"draft-2020-12"}c(Za,"det\
66
- ectVersion");function Vs(e,r){return e.map((t,n)=>n<r?t:t.optional())}c(Vs,"applyMinItems");function ka(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}c(ka,"decodeJSONPointerSegment");function va(e,r){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let t=e.slice(1).split("/").filter(Boolean);if(t.length===0)return r.rootSchema;let n=r.version==="draft-2020-12"?"$defs":"definitions";if(t[0]===n){let o=t[1]===void 0?void 0:ka(t[1]);if(!o||
67
- !r.defs[o])throw new Error(`Reference not found: ${e}`);return r.defs[o]}throw new Error(`Reference not found: ${e}`)}c(va,"resolveRef");function ba(e,r){return p.transform(n=>n).check(n=>{let o=n.value;if(!(typeof o!="object"||o===null||Array.isArray(o)))for(let s of Object.getOwnPropertyNames(o)){let a=r.safeParse(s);a.success||n.issues.push({code:"invalid_key",origin:"record",issues:a.error.issues,input:s,path:[s],continue:!0})}}).pipe(e)}c(ba,"checkPropertyNames");function Ks(e,r){if(e!==!1)
68
- return e===void 0||e===!0?p.any():b(e,r)}c(Ks,"getTupleRest");var $a=/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;function Gs(e,r){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return p.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties i\
69
- s not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let o=e.$ref;if(r.refs.has(o))return r.refs.get(o);if(r.processing.has(o))return p.lazy(()=>{if(!r.refs.has(o))throw new Error(`Circular reference not resolved: ${o}`);return r.refs.get(o)});r.processing.add(o);
70
- let s=va(o,r),a=b(s,r);return r.refs.set(o,a),r.processing.delete(o),a}if(e.enum!==void 0){let o=e.enum;if(r.version==="openapi-3.0"&&e.nullable===!0&&o.length===1&&o[0]===null)return p.null();if(o.length===0)return p.never();if(o.length===1)return p.literal(o[0]);if(o.every(a=>typeof a=="string"))return p.enum(o);let s=o.map(a=>p.literal(a));return s.length<2?s[0]:p.union([s[0],s[1],...s.slice(2)])}if(e.const!==void 0)return p.literal(e.const);let t=e.type;if(Array.isArray(t)){let o=t.map(s=>{let a={
71
- ...e,type:s};return Gs(a,r)});return o.length===0?p.never():o.length===1?o[0]:p.union(o)}if(!t)return p.any();let n;switch(t){case"string":{let o=p.string();if(e.format){let s=e.format;s==="email"?o=o.check(p.email()):s==="uri"||s==="uri-reference"?o=o.check(p.url()):s==="uuid"||s==="guid"?o=o.check(p.uuid()):s==="date-time"?o=o.check(p.iso.datetime({offset:!0})):s==="date"?o=o.check(p.iso.date()):s==="time"?o=o.check(p.regex($a)):s==="duration"?o=o.check(p.iso.duration()):s==="hostname"?o=o.check(
72
- p.hostname()):s==="ipv4"?o=o.check(p.ipv4()):s==="ipv6"?o=o.check(p.ipv6()):s==="mac"?o=o.check(p.mac()):s==="cidr"?o=o.check(p.cidrv4()):s==="cidr-v6"?o=o.check(p.cidrv6()):s==="base64"?o=o.check(p.base64()):s==="base64url"?o=o.check(p.base64url()):s==="e164"?o=o.check(p.e164()):s==="credit_card"?o=o.check(p.creditCard()):s==="jwt"?o=o.check(p.jwt()):s==="emoji"?o=o.check(p.emoji()):s==="nanoid"?o=o.check(p.nanoid()):s==="cuid"?o=o.check(p.cuid()):s==="cuid2"?o=o.check(p.cuid2()):s==="ulid"?o=o.
73
- check(p.ulid()):s==="xid"?o=o.check(p.xid()):s==="ksuid"&&(o=o.check(p.ksuid()))}typeof e.minLength=="number"&&(o=o.min(e.minLength)),typeof e.maxLength=="number"&&(o=o.max(e.maxLength)),e.pattern&&(o=o.regex(new RegExp(e.pattern))),n=o;break}case"number":case"integer":{let o=t==="integer"?p.number().int():p.number();typeof e.minimum=="number"&&e.exclusiveMinimum!==!0&&(o=o.min(e.minimum)),typeof e.maximum=="number"&&e.exclusiveMaximum!==!0&&(o=o.max(e.maximum)),typeof e.exclusiveMinimum=="numbe\
74
- r"?o=o.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(o=o.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?o=o.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(o=o.lt(e.maximum)),typeof e.multipleOf=="number"&&(o=o.multipleOf(e.multipleOf)),n=o;break}case"boolean":{n=p.boolean();break}case"null":{n=p.null();break}case"object":{let o={},s=e.properties||{},a=new Set(e.required||[]),i=typeof e.additionalProperties=="object"?b(e.additionalProperties,
75
- r):void 0;for(let[h,d]of Object.entries(s)){let f=b(d,r);_r(o,h,a.has(h)?f:f.optional())}if(e.patternProperties){let h=e.patternProperties,d=Object.keys(h),f=[];for(let g of d){let _=b(h[g],r),k=p.string().regex(new RegExp(g));f.push(p.looseRecord(k,_))}let y=[];if(Object.keys(o).length>0&&y.push(p.object(o).passthrough()),y.push(...f),y.length===0)n=p.object({}).passthrough();else if(y.length===1)n=y[0];else{let g=p.intersection(y[0],y[1]);for(let _=2;_<y.length;_++)g=p.intersection(g,y[_]);n=g}
76
- if(e.additionalProperties===!1){let g=Object.keys(o),_=d.map($=>new RegExp($)),k=n;n=n.check($=>{if(!at($.value))return;let N=[];for(let Z of Object.keys($.value))g.includes(Z)||_.some(ie=>ie.test(Z))||N.push(Z);N.length&&$.issues.push({code:"unrecognized_keys",keys:N,input:$.value,inst:k})})}}else{let h=p.object(o);e.additionalProperties===!1?n=h.strict():i?n=h.catchall(i):n=h.passthrough()}if(e.propertyNames!==void 0&&e.propertyNames!==!0){let h=typeof e.propertyNames=="object"&&e.propertyNames.
77
- type===void 0?{type:"string",...e.propertyNames}:e.propertyNames;n=ba(n,b(h,r))}break}case"array":{let o=e.prefixItems,s=e.items;if(o&&Array.isArray(o)){let a=typeof e.minItems=="number"?e.minItems:0,i=o.map(y=>b(y,r)),h=Vs(i,a),d=Array.isArray(s)?void 0:Ks(s,r),f=p.tuple(h);n=d?f.rest(d):f,typeof e.minItems=="number"&&(n=n.check(p.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(p.maxLength(e.maxItems)))}else if(Array.isArray(s)){let a=typeof e.minItems=="number"?e.minItems:0,i=s.
78
- map(y=>b(y,r)),h=Vs(i,a),d=Ks(e.additionalItems,r),f=p.tuple(h);n=d?f.rest(d):f,typeof e.minItems=="number"&&(n=n.check(p.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(p.maxLength(e.maxItems)))}else if(s!==void 0){let a=b(s,r),i=p.array(a);typeof e.minItems=="number"&&(i=i.min(e.minItems)),typeof e.maxItems=="number"&&(i=i.max(e.maxItems)),n=i}else n=p.array(p.any());break}default:throw new Error(`Unsupported type: ${t}`)}return n}c(Gs,"convertBaseSchema");function b(e,r){if(typeof e==
79
- "boolean")return e?p.any():p.never();let t=Gs(e,r),n=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let i=e.anyOf.map(d=>b(d,r)),h=p.union(i);t=n?p.intersection(t,h):h}if(e.oneOf&&Array.isArray(e.oneOf)){let i=e.oneOf.map(d=>b(d,r)),h=p.xor(i);t=n?p.intersection(t,h):h}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)t=n?t:p.any();else{let i=n?t:b(e.allOf[0],r),h=n?0:1;for(let d=h;d<e.allOf.length;d++)i=p.intersection(i,b(e.allOf[d],r));t=i}e.nullable===!0&&
80
- r.version==="openapi-3.0"&&(t=p.nullable(t)),e.readOnly===!0&&(t=p.readonly(t)),e.default!==void 0&&(t=t.default(e.default));let o={},s=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let i of s)i in e&&(o[i]=e[i]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let i of a)i in e&&(o[i]=e[i]);e.propertyNames!==void 0&&e.type==="object"&&e.$ref===void 0&&(o.propertyNames=e.propertyNames);for(let i of Object.keys(e))Sa.has(i)||_r(o,i,e[i]);return Object.
81
- keys(o).length>0&&r.registry.add(t,o),e.description&&(t=t.describe(e.description)),t}c(b,"convertSchema");function Xs(e,r){if(typeof e=="boolean")return e?p.any():p.never();let t;try{t=JSON.parse(JSON.stringify(e))}catch{throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let n=Za(t,r?.defaultTarget),o=t.$defs||t.definitions||{},s={version:n,defs:o,refs:new Map,processing:new Set,rootSchema:t,registry:r?.registry??I};return b(t,s)}c(Xs,
82
- "fromJSONSchema");var Ys=Symbol("z.visit/resolving");function De(e,r){let t=typeof r=="function"?r:(a,i)=>{let h=r[a._zod.def.type];return h?h(a,i):a},n=new Map;function o(a){let i=n.get(a);if(i===Ys)return new Ce({type:"lazy",getter:c(()=>n.get(a),"getter")});if(i!==void 0)return i;n.set(a,Ys);let h=s(a),d=t(h,h!==a);return n.set(a,d),d}c(o,"run");function s(a){let i=a._zod.def,h=i.type;switch(h){case"object":{let d=i.shape,f=Object.keys(d),y=!1,g={};for(let k of f){let $=o(d[k]);$!==d[k]&&(y=!0),g[k]=$}let _=i.
83
- catchall;return i.catchall&&(_=o(i.catchall),_!==i.catchall&&(y=!0)),y?S(a,{...i,shape:g,catchall:_}):a}case"array":{let d=o(i.element);return d===i.element?a:S(a,{...i,element:d})}case"tuple":{let d=i.items,f=!1,y=[];for(let _ of d){let k=o(_);k!==_&&(f=!0),y.push(k)}let g=i.rest;return i.rest&&(g=o(i.rest),g!==i.rest&&(f=!0)),f?S(a,{...i,items:y,rest:g}):a}case"record":case"map":{let d=o(i.keyType),f=o(i.valueType);return d===i.keyType&&f===i.valueType?a:S(a,{...i,keyType:d,valueType:f})}case"\
84
- set":{let d=o(i.valueType);return d===i.valueType?a:S(a,{...i,valueType:d})}case"union":{let d=i.options,f=!1,y=[];for(let g of d){let _=o(g);_!==g&&(f=!0),y.push(_)}return f?S(a,{...i,options:y}):a}case"intersection":{let d=o(i.left),f=o(i.right);return d===i.left&&f===i.right?a:S(a,{...i,left:d,right:f})}case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":{let d=o(i.innerType);return d===i.innerType?a:S(a,{...i,innerType:d})}case"\
85
- pipe":{let d=o(i.in),f=o(i.out);return d===i.in&&f===i.out?a:S(a,{...i,in:d,out:f})}case"function":{let d=o(i.input),f=o(i.output);return d===i.input&&f===i.output?a:S(a,{...i,input:d,output:f})}case"lazy":{let d=i.getter,{_cachedInner:f,...y}=i;return S(a,{...y,getter:c(()=>o(d()),"getter")})}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"\
86
- literal":case"file":case"transform":case"custom":return a;default:return a}}return c(s,"mapInner"),o(e)}c(De,"visit");function Qs(e){return De(e,{object:c(r=>r.partial(),"object"),union:c(r=>{let t=r._zod.def;return t.discriminator===void 0?r:ne(t.options)},"union")})}c(Qs,"deepPartial");function wa(e,r){if(!r?.length)return e;let t=e._zod.def;return S(e,st(t,{checks:[...t.checks??[],...r]}),{parent:!0})}c(wa,"withChecks");function Hs(e){return wa(e.out,e.checks)}c(Hs,"outSide");function Oa(e){return e.in._zod.traits.has("$ZodTransform")?Hs(e):e.in}c(Oa,"inSide");function ea(e){return De(e,{pipe:c(r=>Oa(r._zod.def),"pipe"),default:c((r,t)=>t?q(r._zod.def.innerType):r,"default"),catch:c((r,t)=>t?r._zod.def.innerType:r,"catch")})}c(ea,"input");function ra(e){return De(e,{pipe:c(r=>Hs(
87
- r._zod.def),"pipe"),prefault:c((r,t)=>t?r._zod.def.innerType:r,"prefault")})}c(ra,"output");export{ca as a,ke as b,Ni as c,Ei as d,Ci as e,fo as f,We as g,ho as h,_o as i,B as j,we as k,Oe as l,_s as m,Ss as n,Zs as o,ne as p,vs as q,Po as r,zo as s,No as t,fr as u,Is as v,Ie as w,q as x,Ho as y,Us as z,Ws as A,Ee as B,nt as C,Pa as D,Pi as E,Na as F,Aa as G};
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as e}from"./chunk-6J5HN4ZN.js";var n="Taskflow",t="taskflow",O="portta flow";var s=".portta",P="state/host",T=".portta",r={projectConfig:`${t}.yaml`,projectLocalConfig:`${t}.local.yaml`,projectConfigExample:`${t}.example.yaml`,env:".env",controlToken:"token",projectsRegistry:"projects.json",database:`${t}.db`,runs:"runs",workflows:"workflows",worktrees:"worktrees",gitRuntime:"portta",worktreeMeta:"meta.json",runtimeEnv:"runtime.env",controlEnv:"control.env",pullRequests:"prs.json",archiveState:"archive.json",openSessionsState:"open-sessions.json"},R=`${T}/${r.projectConfig}`,
4
- A=`${T}/${r.projectLocalConfig}`,_={port:5111,projectName:n,mainBranch:"main",worktreeRoot:".portta/worktrees",defaultAgent:"claude",multiplexer:"tmux"},a={home:"PORTTA_HOME",hostStateDir:"PORTTA_HOST_STATE_DIR",host:"PORTTA_HOST_BIND",hostPort:"PORTTA_HOST_PORT",controlUrl:"PORTTA_FLOW_CONTROL_URL",controlToken:"PORTTA_FLOW_CONTROL_TOKEN",projectAllowlist:"PORTTA_FLOW_PROJECT_ALLOWLIST",projectDir:"PORTTA_FLOW_PROJECT_DIR",projectEnvKeys:"PORTTA_FLOW_PROJECT_ENV_KEYS",workflowBuiltinsDir:"PORTT\
5
- A_FLOW_WORKFLOW_BUILTINS_DIR",debug:"PORTTA_FLOW_DEBUG",isolatedTmuxConfig:"PORTTA_FLOW_ISOLATED_TMUX_CONFIG",isolatedTmuxSocket:"PORTTA_FLOW_ISOLATED_TMUX_SOCKET",worktreeId:"PORTTA_FLOW_WORKTREE_ID",branch:"PORTTA_FLOW_BRANCH",profile:"PORTTA_FLOW_PROFILE",agent:"PORTTA_FLOW_AGENT",agentPermissionMode:"PORTTA_FLOW_AGENT_PERMISSION_MODE",runtime:"PORTTA_FLOW_RUNTIME",worktreePath:"PORTTA_FLOW_WORKTREE_PATH",agentPrompt:"PORTTA_FLOW_AGENT_PROMPT",agentSystemPrompt:"PORTTA_FLOW_AGENT_SYSTEM_PROMP\
6
- T",agentWorktreePath:"PORTTA_FLOW_AGENT_WORKTREE_PATH",agentRepoPath:"PORTTA_FLOW_AGENT_REPO_PATH",agentBranch:"PORTTA_FLOW_AGENT_BRANCH",agentProfile:"PORTTA_FLOW_AGENT_PROFILE"};function E(o){return`\${${o}}`}e(E,"agentTemplatePlaceholder");var c={agentControlBinary:"portta-agentctl",codexClientName:`${t}-agents`,tmuxPrefix:"tf",terminalSessionPrefix:`${t}-dash`,nativeTerminalSessionPrefix:`${t}-native`,tmuxBufferPrefix:`${t}-prompt`,dockerContainerPrefix:t,tempUploadDir:`${t}-uploads`,gitBaseConfigKey:`${t}.base`},i={name:"portta-host",launchdLabelPrefix:"com.portta",launchdLabel:"com.portta.host",description:"Portta host daemon",logFile:"portta-host.log"},p={label:t,oneshotLabel:`${t}\
7
- _oneshot`,attachmentTitlePrefix:`${t}-state:`,attachmentPayloadKey:t,attachmentSource:`${t}-attachment`};function l(o){return parseInt(o[a.hostPort]||o.PORT||String(_.port),10)}e(l,"hostPortFromEnv");export{n as a,t as b,O as c,s as d,P as e,T as f,r as g,R as h,A as i,_ as j,a as k,E as l,c as m,i as n,p as o,l as p};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{d as a,e as c,f as l,g as e,k as i,m as p}from"./chunk-T3TSZO4I.js";import{a as s}from"./chunk-6J5HN4ZN.js";import{homedir as f}from"node:os";import{join as o}from"node:path";function g(r={}){let t=r.env??process.env;return t[i.home]?.trim()||o(r.home??t.HOME??f(),a)}s(g,"globalConfigDir");function h(r={}){let t=g(r),n=(r.env??process.env)[i.hostStateDir]?.trim()||o(t,c);return{root:n,env:o(t,e.env),controlToken:o(n,e.controlToken),projectsRegistry:o(n,e.projectsRegistry),database:o(n,e.database),runs:o(n,e.runs),workflows:o(n,e.workflows)}}s(h,"globalPaths");function S(r){let t=o(r,l);return{root:t,config:o(t,e.projectConfig),localConfig:o(t,e.projectLocalConfig),configExample:o(
4
- t,e.projectConfigExample),workflows:o(t,e.workflows),worktrees:o(t,e.worktrees)}}s(S,"projectPaths");function w(r){let t=o(r,e.gitRuntime);return{root:t,meta:o(t,e.worktreeMeta),runtimeEnv:o(t,e.runtimeEnv),controlEnv:o(t,e.controlEnv),pullRequests:o(t,e.pullRequests),archiveState:o(t,e.archiveState),openSessionsState:o(t,e.openSessionsState),agentControl:o(t,p.agentControlBinary)}}s(w,"gitRuntimePaths");export{g as a,h as b,S as c,w as d};
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as r}from"./chunk-6J5HN4ZN.js";var l=Symbol.for("quansync.getIsAsync"),a=class extends Error{static{r(this,"QuansyncError")}constructor(e="Unexpected promise in sync context"){super(e),this.name="QuansyncError"}};function u(t){return t&&typeof t=="object"&&typeof t.then=="function"}r(u,"isThenable");function x(t){return t&&typeof t=="object"&&typeof t[Symbol.iterator]=="function"&&"__quansync"in t}r(x,"isQuansyncGenerator");function f(t){let e=r(function*(...c){return(yield l)?yield t.async.apply(this,c):t.sync.apply(this,c)},
4
- "generator");function n(...c){let s=e.apply(this,c);return s.then=(...b)=>t.async.apply(this,c).then(...b),s.__quansync=!0,s}return r(n,"fn"),n.sync=t.sync,n.async=t.async,n}r(f,"fromObject");function _(t){return f({async:r(()=>Promise.resolve(t),"async"),sync:r(()=>{if(u(t))throw new a;return t},"sync")})}r(_,"fromPromise");function i(t,e){if(t===l)return e;if(x(t))return e?w(t):p(t);if(!e&&u(t))throw new a;return t}r(i,"unwrapYield");var h=r(t=>t,"DEFAULT_ON_YIELD");function p(t,e=h){let n=t.next();
5
- for(;!n.done;)try{n=t.next(i(e(n.value,!1)))}catch(c){n=t.throw(c)}return i(n.value)}r(p,"iterateSync");async function w(t,e=h){let n=t.next();for(;!n.done;)try{n=t.next(await i(e(n.value,!0),!0))}catch(c){n=t.throw(c)}return n.value}r(w,"iterateAsync");function k(t,e){return f({name:t.name,async(...n){return w(t.apply(this,n),e?.onYield)},sync(...n){return p(t.apply(this,n),e?.onYield)}})}r(k,"fromGeneratorFn");function y(t,e){return u(t)?_(t):typeof t=="function"?k(t,e):f(t)}r(y,"quansync");var j=y({async:r(()=>Promise.resolve(!0),"async"),sync:r(()=>!1,"sync")});var d=new Map,o=class extends Error{static{r(this,"UnsupportedVendorError")}constructor(e){super(`standard-json: Unsupported schema vendor "${e}".`)}},m=class extends Error{static{r(this,"MissingDependencyError")}constructor(e){super(`standard-json: Missing dependencies "${e}".`)}},S=r(async t=>{let e=d.get(t);if(e)return e;let n;switch(t){case"arktype":n=(await import("./arktype-aI7TBD0R-SOJGD3SZ.js")).default();break;case"effect":n=(await import("./effect-QlVUlMFu-4UNP2EGS.js")).default();break;case"su\
6
- ry":n=(await import("./sury-CWZTCd75-XQOYZHNU.js")).default();break;case"typebox":n=(await import("./typebox-Dei93FPO-RCGWIHUQ.js")).default();break;case"valibot":n=(await import("./valibot--1zFm7rT-DKLMYF44.js")).default();break;case"zod":n=(await import("./zod-Bwrt9trS-6RSVELLV.js")).default();break;default:throw new o(t)}let c=await n;return d.set(t,c),c},"getToJsonSchemaFn"),E=y({sync:r((t,e)=>{let n=t["~standard"].vendor,c=d.get(n);if(!c)throw new o(n);return c(t,e)},"sync"),async:r(async(t,e)=>(await S(
7
- t["~standard"].vendor))(t,e),"async")});export{m as a,E as b};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{c as a}from"./chunk-T3TSZO4I.js";import{a as r}from"./chunk-6J5HN4ZN.js";var m=["status","doctor","trust","services","start","stop","restart","rebuild","destroy","terminal","logs","monitor","exec","service","open","expose","revoke"];function c(n){let e=[];for(let o=n;o;o=o.parent)e.unshift(o.name());return e.join(" ")}r(c,"commandInvocation");var s=a;function l(){return s}r(l,"flowInvocation");function p(n){s=n}r(p,"setFlowInvocation");function u(n,e){let o=[];for(let t=e;t&&t!==n;t=t.parent)o.unshift(t.name());return o}r(u,"commandPath");export{m as a,c as b,l as c,p as d,u as e};
@@ -1,168 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{b as it}from"./chunk-5SBYE3YH.js";import{b as st}from"./chunk-CFWGQ7VJ.js";import{c as et,d as ue,e as tt,f as nt,g as rt,h as ot}from"./chunk-QS5PHDYT.js";import{a as f,b as v}from"./chunk-IILMQFWO.js";import{a as F,b as Qe,c as W,d as B,e as L}from"./chunk-EFZZFIRZ.js";import{b as se,c as ae}from"./chunk-TA2XHP5D.js";import{a as j,b as Ye,c as Xe,m as Ze}from"./chunk-T3TSZO4I.js";import{a as i}from"./chunk-6J5HN4ZN.js";import{appendFileSync as rn,existsSync as de,mkdirSync as ut,readdirSync as on,readFileSync as sn,writeFileSync as an}from"node:fs";import{dirname as un,join as Q}from"node:path";function ce(n={}){return n.dataRoot??se().root}i(ce,"dataRoot");function U(n,e={}){return Q(ce(e),"runs",n)}i(U,"runDir");function Ie(n,e={}){return Q(U(n,e),"journal.jsonl")}i(Ie,"journalPath");function Ae(n,e={}){let t=U(n,e);return ut(t,{recursive:!0}),t}i(Ae,"ensureRunDir");function dt(n={}){let e=Q(ce(n),"runs");return de(e)?on(e,{withFileTypes:!0}).filter(t=>t.isDirectory()&&de(Q(e,t.name,"journal.jsonl"))).map(t=>t.name).sort().reverse():[]}i(dt,"listRunIds");var le=class extends Error{static{
4
- i(this,"JournalNotFoundError")}runId;knownRunIds;constructor(e,t=[]){let r=t.slice(0,5);super(`no journal found for run "${e}"${r.length>0?` \u2014 known runs: ${r.join(", ")}`:""}`),this.runId=e,this.knownRunIds=t,this.name="JournalNotFoundError"}},Z=class extends Error{static{i(this,"ResumePreconditionError")}constructor(e){super(e),this.name="ResumePreconditionError"}},G=class{static{i(this,"Journal")}path;constructor(e,t={}){this.path=Ie(e,t),ut(un(this.path),{recursive:!0})}append(e){rn(this.
5
- path,`${JSON.stringify(e)}
6
- `,"utf8")}static exists(e,t={}){return de(Ie(e,t))}static load(e,t={}){let r=Ie(e,t),o={results:new Map,indexByKey:new Map};if(!de(r))return o;let s=sn(r,"utf8");for(let a of s.split(`
7
- `)){let u=a.trim();if(!u)continue;let d;try{d=JSON.parse(u)}catch{continue}d.type==="meta"?o.meta=d:d.type==="result"&&o.results.set(d.key,d),(d.type==="started"||d.type==="result")&&typeof d.index=="number"&&o.indexByKey.set(d.key,d.index)}return o}};function lt(n,e){if(!n)return;let t=n.keyVersion??"v1";if(t!==e.keyVersion)throw new Z(`cannot resume: this run was journaled with key version ${t}, but the current scheme is ${e.keyVersion}. Start a fresh run.`);if(n.fileHash!==e.fileHash)throw new Z(
8
- "cannot resume: the workflow file has changed since this run was started. Start a fresh run, or revert the file.");if(at(n.args)!==at(e.args))throw new Z("cannot resume: the run args differ from the journaled run. Start a fresh run, or pass the original args.")}i(lt,"checkResumePreconditions");function at(n){return JSON.stringify(n??null)}i(at,"canonicalArgs");function ct(n,e,t={}){let r=Ae(n,t);an(Q(r,"result.json"),JSON.stringify(e,null,2),"utf8")}i(ct,"writeResult");import{createContext as ft,Script as Ce}from"node:vm";var R=class extends Error{static{i(this,"WorkflowSyntaxError")}constructor(e){super(e),this.name="WorkflowSyntaxError"}};function fe(n){let e=dn(n),t=n.slice(e),r=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!r)throw new R("`export const meta = { name, description }` must be the first statement");let o=n.indexOf("{",e+r[0].length-1);if(o<0)throw new R("meta must be an object literal");let s=fn(n,o),a=n.slice(o,s+1),u;try{let x=ft(Object.create(null),{codeGeneration:{strings:!1,wasm:!1}});u=new Ce(
9
- `(${a})`).runInContext(x,{timeout:1e3})}catch(x){throw new R(`meta is not a valid literal: ${x.message}`)}cn(u);let d=s+1,l=/^\s*;/.exec(n.slice(d));l&&(d+=l[0].length);let c=n.slice(0,d),b=`
10
- `.repeat(ln(c))+n.slice(d);return{meta:u,body:b}}i(fe,"parseWorkflow");function dn(n){let e=0;for(;e<n.length;){let t=n[e];if(t===" "||t===" "||t==="\r"||t===`
11
- `){e++;continue}if(t==="/"&&n[e+1]==="/"){let r=n.indexOf(`
12
- `,e);e=r<0?n.length:r;continue}if(t==="/"&&n[e+1]==="*"){let r=n.indexOf("*/",e+2);e=r<0?n.length:r+2;continue}break}return e}i(dn,"leadingNonCodeLength");function ln(n){let e=0;for(let t=0;t<n.length;t++)n[t]===`
13
- `&&e++;return e}i(ln,"countNewlines");function cn(n){if(typeof n!="object"||n===null)throw new R("meta must be an object");let e=n;if(typeof e.name!="string"||e.name.length===0)throw new R("meta.name must be a non-empty string");if(typeof e.description!="string"||e.description.length===0)throw new R("meta.description must be a non-empty string");if(e.phases!==void 0&&!Array.isArray(e.phases))throw new R("meta.phases must be an array");if(e.defaultProvider===void 0!=(e.defaultModel===void 0))throw new R(
14
- "meta.defaultProvider and meta.defaultModel must be specified together (set both, or omit both)");if(e.workspace!==void 0){if(typeof e.workspace!="object"||e.workspace===null||Array.isArray(e.workspace))throw new R("meta.workspace must be an object");let t=e.workspace,r=["isolated_worktree","new_branch","current_branch"];if(!r.includes(String(t.default)))throw new R(`meta.workspace.default must be one of ${r.join(", ")}`);if(t.allowed!==void 0){if(!Array.isArray(t.allowed)||t.allowed.length===0||
15
- t.allowed.some(o=>!r.includes(String(o))))throw new R(`meta.workspace.allowed must be a non-empty array containing only ${r.join(", ")}`);if(!t.allowed.includes(t.default))throw new R("meta.workspace.allowed must include meta.workspace.default")}if(t.mutatesRepository!==void 0&&typeof t.mutatesRepository!="boolean")throw new R("meta.workspace.mutatesRepository must be a boolean");if(t.reason!==void 0&&(typeof t.reason!="string"||t.reason.trim().length===0))throw new R("meta.workspace.reason must\
16
- be a non-empty string")}}i(cn,"validateMeta");function fn(n,e,t){let r=typeof e=="number"?e:0,o=0;for(let s=r;s<n.length;s++){let a=n[s],u=n[s+1];if(a==="/"&&u==="/"){if(s=n.indexOf(`
17
- `,s),s<0)return n.length-1;continue}if(a==="/"&&u==="*"){let d=n.indexOf("*/",s+2);s=d<0?n.length:d+1;continue}if(a==='"'||a==="'"||a==="`"){s=pn(n,s,a);continue}if(a==="{")o++;else if(a==="}"&&(o--,o===0))return s}throw new R("unbalanced braces in meta literal")}i(fn,"matchBrace");function pn(n,e,t){for(let r=e+1;r<n.length;r++){let o=n[r];if(o==="\\"){r++;continue}if(o===t)return r}return n.length}i(pn,"skipString");var hn=`
18
- "use strict";
19
- (function () {
20
- var RealDate = Date;
21
- var NOW_ERR = "Date.now()/new Date() are unavailable in workflows (breaks resume). Use now().";
22
- var RND_ERR = "Math.random() is unavailable in workflows (breaks resume). Use random().";
23
- Math.random = function random() { throw new Error(RND_ERR); };
24
- function ShimDate() {
25
- if (!(this instanceof ShimDate)) throw new Error(NOW_ERR);
26
- if (arguments.length === 0) throw new Error(NOW_ERR);
27
- return Reflect.construct(RealDate, Array.prototype.slice.call(arguments), ShimDate);
28
- }
29
- ShimDate.now = function () { throw new Error(NOW_ERR); };
30
- ShimDate.parse = RealDate.parse;
31
- ShimDate.UTC = RealDate.UTC;
32
- ShimDate.prototype = RealDate.prototype;
33
- // Close the (new Date(x)).constructor backdoor that would otherwise reach RealDate.now,
34
- // then freeze so the shims can't be reassigned. (Date/Math methods remain callable.)
35
- try { Object.defineProperty(RealDate.prototype, "constructor", { value: ShimDate, writable: false, configurable: false }); } catch (e) {}
36
- try { Object.freeze(RealDate); } catch (e) {}
37
- try { Object.freeze(Math); } catch (e) {}
38
- globalThis.Date = ShimDate;
39
- try { Object.freeze(globalThis.Date); } catch (e) {}
40
- })();
41
- `,ee=class extends Error{static{i(this,"WorkflowAbortedError")}constructor(e="workflow aborted"){super(e),this.name="WorkflowAbortedError"}},Oe=class extends Error{static{i(this,"WorkflowTimeoutError")}constructor(e){super(e),this.name="WorkflowTimeoutError"}};async function pt(n){if(n.signal?.aborted)throw new ee;let e={agent:n.globals.agent,parallel:n.globals.parallel,pipeline:n.globals.pipeline,phase:n.globals.phase,log:n.globals.log,now:n.globals.now,random:n.globals.random,budget:n.globals.
42
- budget,args:n.globals.args,console,setTimeout,clearTimeout},t=ft(e,{name:n.filename,codeGeneration:{strings:!1,wasm:!1}});new Ce(hn,{filename:"prelude.js"}).runInContext(t);let r=`(async () => { "use strict"; ${n.body}
43
- })()`,o;try{o=new Ce(r,{filename:n.filename,importModuleDynamically:i((()=>{throw new Error("import() is not available in workflows")}),"importModuleDynamically")})}catch(a){throw new R(`${a.message}. Workflow files are plain JavaScript \u2014 no TypeScript syntax, no imports.`)}let s=o.runInContext(t,{timeout:n.syncTimeoutMs??3e4});return await gn(s,n.signal,n.execTimeoutMs)}i(pt,"runInSandbox");function gn(n,e,t){return!e&&!t?n:new Promise((r,o)=>{let s=!1,a,u=i(()=>{a&&clearTimeout(a),e&&e.removeEventListener(
44
- "abort",l)},"cleanup"),d=i(c=>{s||(s=!0,u(),c())},"finish"),l=i(()=>d(()=>o(new ee)),"onAbort");if(e){if(e.aborted){n.then(void 0,()=>{}),o(new ee);return}e.addEventListener("abort",l,{once:!0})}t&&t>0&&(a=setTimeout(()=>d(()=>o(new Oe(`workflow exceeded ${t}ms`))),t),a.unref?.()),n.then(c=>d(()=>r(c)),c=>d(()=>o(c)))})}i(gn,"raceLifecycle");import{existsSync as Me,readdirSync as mn,readFileSync as wn,statSync as yn}from"node:fs";import{homedir as xn}from"node:os";import{dirname as mt,join as te,resolve as wt}from"node:path";import{fileURLToPath as kn}from"node:url";var bn=524288,$e=class extends Error{static{i(this,"WorkflowNotFoundError")}constructor(e,t){super(`workflow "${e}" not found. Available: ${t.length>0?t.join(", "):"(none)"}`),this.name="WorkflowNotFoundError"}};function ht(){let n=mt(kn(import.meta.url));for(let e of[["..","builtins"],["..","..","builtins"],["..","..","..","..","..","workflows"]]){let t=te(n,...e);if(Me(t))return t}return te(n,"..","builtins")}i(ht,"builtinDir");function gt(n){let e=[],t=xn(),r=wt(n);for(;;){let o=ae(r).workflows;
45
- if(Me(o)&&e.push(o),Me(te(r,".git")))break;let s=mt(r);if(r===t||s===r)break;r=s}return e}i(gt,"projectDirs");function vn(n,e){return e?[...(e.projectDirs??gt(n??process.cwd())).map(t=>({tier:"project",dir:wt(t)})),{tier:"user",dir:e.globalDir??te(ce({dataRoot:e.dataRoot}),"workflows")},{tier:"builtin",dir:e.builtinDir??ht()}]:[...gt(n??process.cwd()).map(t=>({tier:"project",dir:t})),{tier:"user",dir:se().workflows},{tier:"builtin",dir:ht()}]}i(vn,"workflowDirs");function Sn(n,e){let t;try{t=mn(
46
- e).sort()}catch{return[]}let r=[];for(let o of t){if(!o.endsWith(".js"))continue;let s=te(e,o);try{if(yn(s).size>bn)continue;let{meta:a}=fe(wn(s,"utf8"));r.push({name:a.name,tier:n,filePath:s,description:a.description})}catch{}}return r}i(Sn,"scanDir");function Rn(n,e){let t=new Set,r=[];for(let{tier:o,dir:s}of vn(n,e))for(let a of Sn(o,s))t.has(a.name)||(t.add(a.name),r.push(a));return r}i(Rn,"listWorkflows");function no(n,e,t){let r=Rn(e,t),o=r.find(s=>s.name===n);if(!o)throw new $e(n,r.map(s=>s.
47
- name));return o.filePath}i(no,"resolveWorkflowName");import{AsyncLocalStorage as Hn}from"node:async_hooks";import{setTimeout as Tn}from"node:timers/promises";async function _e(n,e,t={}){let r=t.attempts??4,o=t.baseMs??1e3,s=t.maxMs??3e4,a;for(let u=0;u<r;u++){if(e.aborted)throw new v;try{return await n()}catch(d){if(a=d,!(d instanceof f)||!d.retryable||u===r-1)throw d;let l=Math.min(s,o*2**u);await En(l,e)}}throw a}i(_e,"withRetry");function En(n,e){return Tn(n,void 0,{signal:e}).catch(()=>{throw new v})}i(En,"sleep");import{createHash as pe}from"node:crypto";var q="v3";function Pn(n){return JSON.stringify(We(n))}i(Pn,"canonical");function We(n){if(n===null||typeof n!="object")return n;if(Array.isArray(n))return n.map(We);let e=n,t={};for(let r of Object.keys(e).sort())r!=="__proto__"&&(t[r]=We(e[r]));return t}i(We,"sortDeep");function yt(n,e){return{provider:n.provider??null,model:n.model??null,effort:n.effort??null,sandbox:n.sandbox??null,approval:n.approval??null,cwd:n.cwd??null,instructions:n.instructions??null,schema:n.schema??null,maxTurns:n.maxTurns??
48
- null,worktree:e??null}}i(yt,"keyedSpec");var xt=pe("sha256").update(q).update("\0root\0").digest("hex");function z(n,e,t){return pe("sha256").update(q).update(n).update("\0branch\0").update(e).update("\0").update(String(t)).digest("hex")}i(z,"branchKey");function kt(n,e,t,r){return pe("sha256").update(q).update(n).update("\0agent\0").update(String(e)).update("\0").update(t).update("\0").update(Pn(r)).digest("hex")}i(kt,"chainKey");function bt(n){return pe("sha256").update(q).update("\0explicit\0").update(n).digest("hex")}i(bt,"explicit\
49
- Key");var In=[{re:/\bDate\s*\.\s*now\b/,hint:"Date.now()",use:"now()"},{re:/\bMath\s*\.\s*random\b/,hint:"Math.random()",use:"random()"},{re:/\bnew\s+Date\s*\(\s*\)/,hint:"new Date()",use:"now()"}];function vt(n){let e=An(n),t=[];for(let r of In)r.re.test(e)&&t.push({token:r.hint,use:r.use});return t}i(vt,"determinismLint");function An(n){let e="",t=0,r=n.length;for(;t<r;){let o=n[t],s=n[t+1];if(o==="/"&&s==="/"){for(e+=" ",t+=2;t<r&&n[t]!==`
50
- `;)e+=" ",t++;continue}if(o==="/"&&s==="*"){for(e+=" ",t+=2;t<r&&!(n[t]==="*"&&n[t+1]==="/");)e+=n[t]===`
51
- `?`
52
- `:" ",t++;t<r&&(e+=" ",t+=2);continue}if(o==='"'||o==="'"||o==="`"){let a=o;for(e+=" ",t++;t<r;){let u=n[t];if(u==="\\"){e+=" ",t+=2;continue}if(u===a){e+=" ",t++;break}e+=u===`
53
- `?`
54
- `:" ",t++}continue}e+=o,t++}return e}i(An,"stripStringsAndComments");var ne=class{static{i(this,"Semaphore")}active=0;queue=[];limit;constructor(e){if(this.limit=e,!Number.isInteger(e)||e<1)throw new RangeError(`Semaphore limit must be a positive integer, got ${e}`)}async acquire(){return this.active<this.limit?(this.active++,this.makeRelease()):(await new Promise(e=>this.queue.push(e)),this.makeRelease())}makeRelease(){let e=!1;return()=>{if(e)return;e=!0;let t=this.queue.shift();t?t():this.active--}}async run(e){let t=await this.acquire();try{return await e()}finally{
55
- t()}}};import{join as De}from"node:path";import{createWriteStream as Cn,mkdirSync as On}from"node:fs";var H=class{static{i(this,"JsonlWriter")}stream;dead=!1;constructor(e,t={}){On(Mn(e),{recursive:!0}),this.stream=Cn(e,{flags:t.flags??"a"}),this.stream.on("error",r=>{this.dead=!0;try{t.onError?.(r)}catch{}})}writeRecord(e){if(this.dead)return;let t;try{t=JSON.stringify(e)}catch{return}if(typeof t=="string")try{this.stream.write(`${t}
56
- `)}catch{this.dead=!0}}close(){return new Promise(e=>{if(this.dead){e();return}this.stream.end(()=>e())})}};function Mn(n){let e=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));return e<=0?".":n.slice(0,e)}i(Mn,"dirOf");function St(n,e={}){return De(U(n,e),"agents")}i(St,"agentsDir");function $n(n,e,t={}){return De(St(n,t),`${e}.jsonl`)}i($n,"agentTranscriptPath");function _n(n,e,t={}){return De(St(n,t),`${Bn(e)}.jsonl`)}i(_n,"agentTranscriptPathByName");var Wn=120,Dn=2048,Nn=32*1024,jn=8*1024,he=class{static{i(this,"AgentTranscript")}writer;pending=null;timer=null;constructor(e,t,r={}){let o=r.name?_n(e,r.name,r.roots):$n(e,t,r.roots);this.writer=new H(o,{flags:"w"})}write(e){if(e.kind==="text"||e.kind==="reas\
57
- oning"){this.pending&&this.pending.kind!==e.kind&&this.flushPending(),this.pending||(this.pending={kind:e.kind,text:""}),this.pending.text+=e.text,this.pending.text.length>=Dn?this.flushPending():this.arm();return}this.flushPending(),e.kind==="tool-result"&&typeof e.output=="string"?this.writeLine({...e,output:Rt(e.output,Nn)}):e.kind==="tool"&&e.input!==void 0?this.writeLine({...e,input:Jn(e.input,jn)}):this.writeLine(e)}close(){return this.flushPending(),this.writer.close()}arm(){this.timer||(this.
58
- timer=setTimeout(()=>this.flushPending(),Wn),this.timer.unref?.())}flushPending(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),!this.pending)return;let e=this.pending;this.pending=null,this.writeLine({kind:e.kind,text:e.text})}writeLine(e){this.writer.writeRecord({...e,t:Date.now()})}};function Rt(n,e){if(n.length<=e)return n;let t=Math.floor(e*.75),r=e-t;return`${n.slice(0,t)}
59
- \u2026[${n.length-e} chars truncated]\u2026
60
- ${n.slice(n.length-r)}`}i(Rt,"truncate");function Jn(n,e){let t;try{t=JSON.stringify(n)}catch{return"[unserializable tool input]"}return typeof t!="string"?"[unserializable tool input]":t.length<=e?n:Rt(t,e)}i(Jn,"capInput");function Bn(n){let e=n.replace(/[^A-Za-z0-9._-]/g,"_").replace(/^\.+/,"");return e.length>0?e:"agent"}i(Bn,"sanitizeName");import{execFile as Ln}from"node:child_process";import{existsSync as Un,rmSync as Fn}from"node:fs";import{join as qn}from"node:path";import{promisify as Kn}from"node:util";var Gn=Kn(Ln),Tt=Ze.gitBaseConfigKey;async function E(n,e){let{stdout:t}=await Gn("git",e,{cwd:n,maxBuffer:67108864});return t.trim()}i(E,"git");async function Et(n){try{return await E(n,["rev-parse","--show-toplevel"])}catch{return null}}i(Et,"findGitRoot");async function Pt(n){let e=`${n.runId}-${n.index}`,t=n.branch??`aw/${e}`,r=qn(ae(n.gitRoot).worktrees,e),o=await E(n.gitRoot,["rev-parse","HEAD"]);await zn(n.gitRoot,r),await E(n.gitRoot,["worktree","add","--relative-paths","--detach",r,o]),
61
- await E(r,["checkout","-B",t]);try{await E(r,["config",Tt,o])}catch{}try{await E(n.gitRoot,["worktree","lock",r,"--reason",`${j} ${e}`])}catch{}return{path:r,branch:t,base:o}}i(Pt,"createWorktree");async function zn(n,e){if(await E(n,["worktree","unlock",e]).catch(()=>{}),await E(n,["worktree","remove","--force",e]).catch(()=>{}),await E(n,["worktree","prune"]).catch(()=>{}),Un(e)){try{Fn(e,{recursive:!0,force:!0})}catch{}await E(n,["worktree","prune"]).catch(()=>{})}}i(zn,"pruneStaleWorktree");
62
- async function It(n){let{gitRoot:e,worktree:t}=n,r=t.base;r||(r=await E(t.path,["config","--get",Tt]).catch(()=>""));let o=!0;if(r)try{let s=await E(t.path,["status","--porcelain"]),a=await E(t.path,["rev-list","--count",`${r}..HEAD`]);o=s.length>0||a!=="0"}catch{o=!0}if(o)return await E(e,["worktree","unlock",t.path]).catch(()=>{}),{changed:!0,preservedBranch:t.branch,preservedPath:t.path};try{return await E(e,["worktree","unlock",t.path]).catch(()=>{}),await E(e,["worktree","remove","--force",
63
- t.path]),await E(e,["branch","-D",t.branch]).catch(()=>{}),{changed:!1}}catch{return{changed:!0,preservedBranch:t.branch,preservedPath:t.path}}}i(It,"teardownWorktree");var k=class extends Error{static{i(this,"WorkflowError")}},me=class extends k{static{i(this,"AgentFailedError")}},Vn={sandbox:["read-only","workspace-write","danger-full-access"],effort:["none","minimal","low","medium","high","xhigh","max"],approval:["never","on-request"]};function V(n,e){let t=Vn[n];if(e!==void 0&&!t.includes(e))throw new k(`invalid ${n} "${e}" \u2014 must be one of ${t.join(", ")}`)}i(V,"checkSpecEnum");function je(n,e){if(n!==void 0&&!e.includes(n))throw new k(`invalid provid\
64
- er "${n}" \u2014 must be one of ${e.join(", ")}`)}i(je,"checkProvider");function ye(n,e,t){if(n===void 0==(e===void 0))return;let r=n!==void 0?`provider "${n}" without model`:`model "${e}" without provider`;throw new k(`${t}: ${r} \u2014 provider and model must be specified together (set both, or omit both to inherit the run defaults)`)}i(ye,"checkProviderModelPair");function ge(n,e){return{branchKey:n,agentIndex:0,fanoutIndex:0,nowCounter:0,rngState:Yn(n,e)}}i(ge,"newKeyContext");function Yn(n,e){
65
- let t=e|0;for(let r=0;r<n.length;r++)t=Math.imul(t,31)+n.charCodeAt(r)|0;return t>>>0||1}i(Yn,"seedFromKey");var we=class{static{i(this,"Runtime")}displayIndex=0;agentCalls=0;phaseIndex=0;currentPhase;phaseByTitle=new Map;announcedPhases=new Set;sem;worktreeMutex=new ne(1);explicitKeys=new Set;ctxStore=new Hn;rootCtx;inFlight=new Set;totalUsage=W();o;constructor(e){this.o=e,this.sem=new ne(e.defaults.concurrency),this.rootCtx=ge(xt,e.seed),this.displayIndex=Math.max(0,...e.loaded.indexByKey.values());
66
- for(let t of e.declaredPhases??[]){if(typeof t?.title!="string"||t.title.length===0||this.phaseByTitle.has(t.title))continue;let r=++this.phaseIndex;this.phaseByTitle.set(t.title,r),this.o.events.emit({type:"phase",index:r,title:t.title,pending:!0})}}globals(){let e=this.o.defaults.budget,t=Object.freeze({total:e,spent:i(()=>this.totalUsage.outputTokens,"spent"),remaining:i(()=>e==null?1/0:Math.max(0,e-this.totalUsage.outputTokens),"remaining")});return{agent:this.agent.bind(this),parallel:this.
67
- parallel.bind(this),pipeline:this.pipeline.bind(this),phase:this.phase.bind(this),log:this.log.bind(this),now:this.now.bind(this),random:this.random.bind(this),budget:t,args:this.o.args}}ctx(){return this.ctxStore.getStore()??this.rootCtx}now(){return this.o.baseTimeMs+this.ctx().nowCounter++}random(){let e=this.ctx();e.rngState=e.rngState+1831565813|0;let t=e.rngState;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}ensurePhase(e){let t=this.phaseByTitle.
68
- get(e);return t===void 0&&(t=++this.phaseIndex,this.phaseByTitle.set(e,t)),this.announcedPhases.has(t)||(this.announcedPhases.add(t),this.o.events.emit({type:"phase",index:t,title:e})),t}phase(e){let t=String(e);this.currentPhase={index:this.ensurePhase(t),title:t}}log(e){this.o.events.emit({type:"log",message:String(e)})}resolveSpec(e,t){let r=this.o.defaults,o={prompt:e,provider:t?.provider??r.provider,model:t?.model??r.model,effort:t?.effort??r.effort,cwd:t?.cwd??r.cwd,sandbox:t?.sandbox??r.sandbox,
69
- approval:t?.approval??r.approval,instructions:t?.instructions,schema:t?.schema,maxTurns:t?.maxTurns};return je(o.provider,this.o.knownProviders??F),V("sandbox",o.sandbox),V("effort",o.effort),V("approval",o.approval),ye(t?.provider,t?.model,"agent()"),o}agent(e,t){let r=this.agentImpl(e,t);this.inFlight.add(r);let o=i(()=>this.inFlight.delete(r),"done");return r.then(o,o),r}async settle(){for(;this.inFlight.size>0;)await Promise.allSettled(Array.from(this.inFlight))}async agentImpl(e,t){let r=this.
70
- ctx(),o=r.agentIndex++,s=String(e),a=this.resolveSpec(s,t),u=t?.key?bt(t.key):kt(r.branchKey,o,s,yt(a,t?.worktree));if(t?.worktree&&this.o.taskflowMode&&!this.o.executionPort)throw new k(`worktree is unavailable in ${j} mode without an ExecutionPort fork lease because ${j} owns workspace lifecycle`);if(t?.key){if(this.explicitKeys.has(u))throw new k(`duplicate explicit agent key "${t.key}" \u2014 keys must be unique within a run`);this.explicitKeys.add(u)}if(++this.agentCalls>this.o.defaults.maxAgents)
71
- throw new k(`agent() call cap reached (${this.o.defaults.maxAgents}) \u2014 likely a runaway loop`);let d=this.o.loaded.indexByKey.get(u)??++this.displayIndex,l=t?.label??Xn(a.prompt),c=t?.phase!=null?{index:this.ensurePhase(String(t.phase)),title:String(t.phase)}:this.currentPhase,y=c?.index,b=c?.title,x=this.o.loaded.results.get(u);return x&&x.status==="completed"?(this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:x.provider,model:a.model,state:"done",cached:!0,
72
- durationMs:x.durationMs,resultPreview:Ne(x.result)}),this.totalUsage=B(this.totalUsage,x.usage),x.result):(this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"queued",queuedAt:Date.now(),promptPreview:Ne(a.prompt)}),await this.sem.run(async()=>{if(this.o.signal.aborted)throw new v;let D=this.o.defaults.budget;if(D!=null&&this.totalUsage.outputTokens>=D)throw new k(`token budget exceeded (${this.totalUsage.outputTokens} / ${D} \
73
- output tokens)`);let P=Date.now();this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"running",startedAt:P}),this.o.journal.append({type:"started",key:u,index:d,label:l,provider:a.provider});let T,h={...a},p=new he(this.o.runId,d,{roots:this.o.roots});p.write({kind:"meta",index:d,label:l,provider:a.provider,model:a.model,prompt:a.prompt}),p.write({kind:"status",state:"running"});let w=W(),g=!1;try{t?.worktree&&(T=this.o.taskflowMode?
74
- await this.setupTaskflowLease(h,t.worktree,u,d):await this.setupWorktree(h,t.worktree,d));let m=this.o.factory.get(h.provider),M={signal:this.o.signal,operationKey:u,onProgress:i(S=>{switch(S.kind){case"text":p.write({kind:"text",text:S.text});break;case"reasoning":p.write({kind:"reasoning",text:S.text});break;case"tool":p.write({kind:"tool",id:S.id,name:S.name,input:S.input}),this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"\
75
- running",lastTool:S.name});break;case"tool-result":p.write({kind:"tool-result",id:S.id,name:S.name,output:S.output,isError:S.isError});break;case"usage":this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"running",inputTokens:S.usage.inputTokens,outputTokens:S.usage.outputTokens});break}},"onProgress")},A=await _e(()=>m.runAgent(h,M),this.o.signal,this.o.retry);w=A.usage;let _;try{_=this.finalizeResult(a,A)}catch(S){if(a.schema&&
76
- S instanceof k&&S.message.startsWith("structured output failed schema")){this.o.events.emit({type:"log",message:`[${l}] structured output retry: ${S.message}`});let nn={...h,instructions:`${h.instructions??""}
77
-
78
- Your previous response did not match the required JSON schema (${S.message}). Respond again with ONLY a JSON value that exactly matches the schema.`.trim()};A=await _e(()=>m.runAgent(nn,M),this.o.signal,this.o.retry),w=B(w,A.usage),_=this.finalizeResult(a,A)}else throw S}let K=Date.now()-P;this.totalUsage=B(this.totalUsage,w);let J=T?.branch;return this.o.journal.append({type:"result",key:u,index:d,status:A.status,result:_,usage:w,provider:a.provider,worktreeBranch:J,durationMs:K}),a.schema&&_!==
79
- void 0&&p.write({kind:"text",text:`
80
-
81
- \`\`\`json
82
- ${JSON.stringify(_,null,2)}
83
- \`\`\`
84
- `}),p.write({kind:"status",state:"done"}),this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"done",durationMs:K,inputTokens:w.inputTokens,outputTokens:w.outputTokens,costUsd:w.costUsd,resultPreview:Ne(_)}),g=!0,_}catch(m){let M=Date.now()-P,A=m instanceof Error?m.message:String(m);throw m instanceof f&&m.usage&&(w=B(w,m.usage)),this.totalUsage=B(this.totalUsage,w),this.o.journal.append({type:"result",key:u,index:d,status:m instanceof
85
- v?"interrupted":"failed",result:null,usage:w,provider:a.provider,durationMs:M}),p.write({kind:"status",state:"failed",error:A}),this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:"failed",durationMs:M,inputTokens:w.inputTokens,outputTokens:w.outputTokens,costUsd:w.costUsd,error:A}),m instanceof f||m instanceof v?m:new me(`agent failed: ${A}`)}finally{if(await p.close().catch(()=>{}),T?.leaseId&&this.o.executionPort){let m=await this.
86
- o.executionPort.summarizeWorkspace(T.leaseId).catch(()=>null);await this.o.executionPort.releaseWorkspace(T.leaseId,{discard:!1}).catch(()=>{}),m?.dirty&&this.o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:g?"done":"failed",worktreeBranch:m.branch,worktreePath:T.path})}else if(T){let m=T,M=await this.worktreeMutex.run(()=>It({gitRoot:m.gitRoot,worktree:{path:m.path,branch:m.branch,base:m.base}})).catch(()=>{});M?.changed&&this.
87
- o.events.emit({type:"agent",key:u,index:d,phaseIndex:y,phaseTitle:b,label:l,provider:a.provider,model:a.model,state:g?"done":"failed",worktreeBranch:M.preservedBranch,worktreePath:M.preservedPath})}}}))}finalizeResult(e,t){if(!e.schema)return t.text;if(t.structured!==void 0){let r=rt(t.structured,e.schema),o=ue(e.schema,r);if(!o.ok)throw new k(`structured output failed schema: ${o.errors}`);return r}throw new k("agent({schema}) returned no structured output")}async setupTaskflowLease(e,t,r,o){let s=this.
88
- o.executionPort;if(!s)throw new k(`worktree is unavailable in ${j} mode without an ExecutionPort fork lease because ${j} owns workspace lifecycle`);let a=await s.acquireWorkspace({kind:"fork",executionKey:r,branchSlug:typeof t=="string"?t:`agent-${o}`});return e.cwd=a.cwd,{path:a.cwd,branch:a.branch,base:a.baseCommit,gitRoot:a.cwd,leaseId:a.leaseId}}async setupWorktree(e,t,r){let o=await Et(e.cwd);if(!o)throw new k("worktree: true requires the cwd to be a git repository");let s=await this.worktreeMutex.
89
- run(()=>Pt({gitRoot:o,runId:this.o.runId,index:r,branch:typeof t=="string"?t:void 0}));return e.cwd=s.path,e.sandbox="workspace-write",e.instructions=`${e.instructions??""}
90
-
91
- You are in an isolated git worktree at ${s.path}; changes here do not affect the main directory or other agents.`.trim(),{...s,gitRoot:o}}async parallel(e){if(!Array.isArray(e))throw new k("parallel() expects an array of functions");if(e.length>this.o.defaults.maxFanout)throw new k(`parallel(): ${e.length} items exceeds the ${this.o.defaults.maxFanout} fan-out cap`);let t=this.ctx(),r=z(t.branchKey,"parallel",t.fanoutIndex++);return await Promise.all(e.map(async(s,a)=>{if(typeof s!="function")throw new k(
92
- "parallel() expects an array of functions, not promises. Wrap each call: () => agent(...)");let u=ge(z(r,"branch",a),this.o.seed);try{return await this.ctxStore.run(u,s)}catch(d){if(At(d))throw d;return this.log(`parallel[${a}] failed: ${d.message}`),null}}))}async pipeline(e,...t){if(!Array.isArray(e))throw new k("pipeline() expects an array as the first argument");if(e.length>this.o.defaults.maxFanout)throw new k(`pipeline(): ${e.length} items exceeds the ${this.o.defaults.maxFanout} fan-out c\
93
- ap`);let r=this.ctx(),o=z(r.branchKey,"pipeline",r.fanoutIndex++);return await Promise.all(e.map(async(s,a)=>{let u=ge(z(o,"item",a),this.o.seed),d=s;try{for(let l=0;l<t.length&&d!==null;l++){let c=t[l];if(!c)continue;let y=ge(z(u.branchKey,"stage",l),this.o.seed),b=d;d=await this.ctxStore.run(y,()=>c(b,s,a))}return d}catch(l){if(At(l))throw l;return this.log(`pipeline[${a}] failed: ${l.message}`),null}}))}};function At(n){return n instanceof v||n instanceof k&&!(n instanceof me)}i(At,"isControl\
94
- Flow");function Xn(n){let e=n.split(`
95
- `).find(t=>t.trim().length>0)??n;return e.length>60?`${e.slice(0,59)}\u2026`:e}i(Xn,"firstLine");function Ne(n){let e=typeof n=="string"?n:JSON.stringify(n);return e?e.length>400?`${e.slice(0,399)}\u2026`:e:""}i(Ne,"preview");import{createHash as Mr,randomBytes as en}from"node:crypto";import{readFileSync as $r,writeFileSync as _r}from"node:fs";import{join as Wr,resolve as tn}from"node:path";import{readlinkSync as Zn,realpathSync as Qn}from"node:fs";import{homedir as Ct}from"node:os";import{basename as Ot,dirname as Mt,isAbsolute as Ue,join as Fe,relative as er,resolve as Y}from"node:path";var tr=new Set(["Edit","Write","MultiEdit","NotebookEdit"]),nr=["file_path","filePath","path","notebook_path","notebookPath"],rr=new Set(["ls","cat","head","tail","grep","rg","find","fd","wc","echo","pwd","which","type","stat","file","tree","sort","uniq","cut","diff","git","jq","date","basename","dirname","realpath","true","false","test"]),or=new Set(["add","commit","push","pull","fetch","merge","rebase","reset","checkout","switch","branch","tag","clean","rm","mv","stash","apply","cherry-pick","\
96
- revert","restore","init","clone","worktree","config"]),ir=new Set(["-C","--git-dir","--work-tree","--namespace","--super-prefix","--attr-source"]);function sr(n){return n==="none"||n==="minimal"?"low":n}i(sr,"toClaudeEffort");var ke=class{static{i(this,"ClaudeWorker")}id="claude-code";opts;constructor(e={}){this.opts=e}async runAgent(e,t){if(t.signal.aborted)throw new v;if(e.schema)try{et(e.schema)}catch(a){throw new f({provider:"claude-code",code:"invalid_schema",message:`output schema does not\
97
- compile: ${a.message}`})}let r=new AbortController,o=i(()=>r.abort(),"onAbort");t.signal.addEventListener("abort",o,{once:!0});let s={cwd:e.launcherCwd??e.cwd,...e.launcherEnv?{env:{...process.env,...e.launcherEnv}}:{},model:e.model??this.opts.model,maxTurns:e.maxTurns,settingSources:[],permissionMode:"default",abortController:r,canUseTool:i((a,u)=>{let d=ar(e.sandbox,e.cwd,a,u);return d?Promise.resolve({behavior:"deny",message:d}):Promise.resolve({behavior:"allow",updatedInput:u})},"canUseTool")};
98
- e.effort&&(s.effort=sr(e.effort)),e.schema&&(s.outputFormat=nt(e.schema)),e.instructions&&(s.systemPrompt={type:"preset",preset:"claude_code",append:e.instructions}),this.opts.pathToClaudeCodeExecutable&&(s.pathToClaudeCodeExecutable=this.opts.pathToClaudeCodeExecutable);try{let a,u,d="",l,c,y,b,x=W(),D=this.opts.queryFn??(await import("@anthropic-ai/claude-agent-sdk")).query;for await(let h of D({prompt:e.prompt,options:s}))if(h.type==="result")u=h,h.origin?.kind!=="task-notification"&&(a=h);else if(h.
99
- type==="assistant"){let p=h.message,w=h.parent_tool_use_id==null;w&&typeof p.id=="string"&&p.id!==b&&(b=p.id,x=B(x,Le({usage:p.usage})));for(let g of Wt(p.content))g.type==="text"&&typeof g.text=="string"?(w&&(d=g.text),t.onProgress({kind:"text",text:g.text})):g.type==="thinking"&&typeof g.thinking=="string"?t.onProgress({kind:"reasoning",text:g.thinking}):g.type==="tool_use"&&typeof g.name=="string"&&(w&&g.name==="StructuredOutput"&&typeof g.id=="string"&&(c=g.id,y=g.input),t.onProgress({kind:"\
100
- tool",id:typeof g.id=="string"?g.id:void 0,name:g.name,input:g.input}))}else if(h.type==="user"){for(let p of Wt(h.message.content))if(p.type==="tool_result"){c!==void 0&&p.tool_use_id===c&&p.is_error!==!0&&(l=y,c=y=void 0);let w=typeof p.content=="string"?p.content:JSON.stringify(p.content);t.onProgress({kind:"tool-result",id:typeof p.tool_use_id=="string"?p.tool_use_id:void 0,output:w,isError:p.is_error===!0})}}if(!a&&e.schema&&l!==void 0&&c===void 0){if(t.signal.aborted)throw new v;return u&&
101
- (x.costUsd=Le(u).costUsd),{text:d,structured:l,status:"completed",usage:x}}let P=a??u;if(!P)throw new f({provider:"claude-code",code:"no_result",message:"claude query ended without a result"});let T=Le(P);if(P.subtype!=="success"){let h=P.subtype!=="error_max_turns"&&/rate|overload|529|429/i.test(P.subtype);throw new f({provider:"claude-code",code:P.subtype,message:`claude result: ${P.subtype}`,retryable:h,usage:T})}return{text:P.result,structured:e.schema?P.structured_output??l:void 0,status:"c\
102
- ompleted",usage:T}}catch(a){throw t.signal.aborted?new v:a instanceof f||a instanceof v?a:new f({provider:"claude-code",code:"sdk_error",message:a.message,retryable:!0})}finally{t.signal.removeEventListener("abort",o)}}async shutdown(){}};function ar(n,e,t,r){if(n!=="danger-full-access"){if(tr.has(t)){if(n==="read-only")return`${t} not allowed in read-only mode`;let o=ur(r);if(o.length===0)return`${t} write target could not be determined`;for(let s of o)if(!xe(e,s))return`${t} target ${s} is out\
103
- side the workspace`;return}if(t==="Bash"){let o=typeof r.command=="string"?r.command:"";if(n==="read-only")return dr(o)?void 0:`Bash command not allowed in read-only mode: ${o}`;let s=pr(e,o);return s?`Bash writes outside the workspace: ${s}`:void 0}}}i(ar,"checkTool");function xe(n,e){let t=$t(Y(n)),r=$t(Ue(e)?Y(e):Y(Y(n),e));if(r===t)return!0;let o=er(t,r);return o!==""&&!o.startsWith("..")&&!Ue(o)}i(xe,"withinCwd");function $t(n){let e=n,t="";for(let r=0;r<40;r++){try{let s=Qn(e);return t?Fe(
104
- s,t):s}catch{}try{let s=Zn(e);e=Ue(s)?Y(s):Y(Mt(e),s);continue}catch{}let o=Mt(e);if(o===e)return n;t=t?Fe(Ot(e),t):Ot(e),e=o}return n}i($t,"realpathUpward");function ur(n){let e=[];for(let t of nr){let r=n[t];typeof r=="string"&&r.length>0&&e.push(r)}return e}i(ur,"writeTargets");function dr(n){let e=n.trim();if(!e||/\$\(|`|<\(|>\(/.test(e))return!1;let t=e.replace(/\d*>&\s*\d+/g," ").replace(/\d*>>?\s*\/dev\/(?:null|stdout|stderr|tty)\b/g," ");if(t.includes(">"))return!1;for(let r of t.split(/&&|\|\||\||;|&|\r?\n/)){
105
- let o=r.trim().split(/\s+/).filter(Boolean);if(o.length===0)continue;let s=0;for(;s<o.length&&(/^[A-Za-z_][A-Za-z0-9_]*=/.test(o[s]??"")||o[s]==="env");)s++;let a=o[s];if(!a)continue;let u=a.split("/").pop()??a;if(!rr.has(u))return!1;let d=o.slice(s+1);if(d.some(l=>l.startsWith("--output"))||(u==="sort"||u==="tree")&&d.some(l=>l.startsWith("-o")))return!1;if(u==="git"){let l=lr(d);if(l===null||l&&or.has(l))return!1}if(u==="find"&&d.some(l=>l==="-delete"||l==="-fls"||l.startsWith("-exec")||l.startsWith(
106
- "-ok")||l.startsWith("-fprint"))||u==="uniq"&&d.filter(l=>!l.startsWith("-")).length>=2||u==="date"&&d.some(l=>l==="-s"||l.startsWith("--set")))return!1}return!0}i(dr,"isReadOnlyBash");function lr(n){for(let e=0;e<n.length;e++){let t=n[e];if(t!==void 0){if(!t.startsWith("-"))return t;if(t==="-c"||/^-c./.test(t)||t==="--config-env"||t.startsWith("--config-env="))return null;ir.has(t)&&e++}}}i(lr,"gitSubcommand");var cr=new Set(["rm","rmdir","mkdir","touch","truncate","tee","chmod","chown","mv","c\
107
- p","ln","install"]),fr=new Set(["mv","cp","ln","install"]),_t=new Set(["/dev/null","/dev/stdout","/dev/stderr","/dev/tty"]);function pr(n,e){for(let t of e.matchAll(/\d*>>?\s*([^\s|;&<>]+)/g)){let r=Je(t[1]??"");if(!(!r||_t.has(r))&&!xe(n,Be(r)))return r}for(let t of e.split(/&&|\|\||\||;|&|\r?\n/)){let r=t.trim().split(/\s+/).filter(Boolean),o=0;for(;o<r.length&&(/^[A-Za-z_][A-Za-z0-9_]*=/.test(r[o]??"")||r[o]==="env");)o++;let s=r[o];if(!s)continue;let a=s.split("/").pop()??s,u=r.slice(o+1);if(a===
108
- "dd"){for(let l of u){if(!l.startsWith("of="))continue;let c=Je(l.slice(3));if(c&&!_t.has(c)&&!xe(n,Be(c)))return c}continue}if(!cr.has(a))continue;let d=u.filter(l=>!l.startsWith("-")&&!/[<>]/.test(l));fr.has(a)&&(d=d.slice(-1));for(let l of d){let c=Je(l);if(c&&!xe(n,Be(c)))return c}}}i(pr,"bashWriteOutsideCwd");function Je(n){return n.replace(/^['"]|['"]$/g,"")}i(Je,"unquote");function Be(n){return n==="~"?Ct():n.startsWith("~/")?Fe(Ct(),n.slice(2)):n}i(Be,"expandHome");function Le(n){let e=n.
109
- usage&&typeof n.usage=="object"?n.usage:{};return{...W(),inputTokens:re(e.input_tokens)+re(e.cache_read_input_tokens)+re(e.cache_creation_input_tokens),outputTokens:re(e.output_tokens),costUsd:re(n.total_cost_usd)}}i(Le,"usageFromResult");function Wt(n){return Array.isArray(n)?n.filter(e=>e!==null&&typeof e=="object"):[]}i(Wt,"asBlocks");function re(n){return typeof n=="number"&&Number.isFinite(n)?n:0}i(re,"numOr");import{copyFile as mr,writeFile as wr}from"node:fs/promises";import{basename as yr,join as xr}from"node:path";function I(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}i(I,"isObject");function Dt(n){return typeof n=="string"||typeof n=="number"}i(Dt,"isId");function Nt(n){let e;try{e=JSON.parse(n)}catch{return null}if(!I(e))return null;let{id:t,method:r,params:o,result:s,error:a}=e;return Dt(t)&&typeof r!="string"?{kind:"response",id:t,result:s,error:I(a)?a:void 0}:Dt(t)&&typeof r=="string"?{kind:"request",id:t,method:r,params:o}:typeof r=="string"?{kind:"notification",method:r,params:o}:null}
110
- i(Nt,"parseInbound");function oe(n,e,t){let r={jsonrpc:"2.0",id:n,method:e,...t!==void 0?{params:t}:{}};return JSON.stringify(r)}i(oe,"encodeRequest");function jt(n,e){let t={jsonrpc:"2.0",method:n,...e!==void 0?{params:e}:{}};return JSON.stringify(t)}i(jt,"encodeNotification");function Jt(n,e){return JSON.stringify({jsonrpc:"2.0",id:n,result:e})}i(Jt,"encodeResult");function Bt(n){switch(n){case"read-only":return"read-only";case"workspace-write":return"workspace-write";case"danger-full-access":
111
- return"danger-full-access"}}i(Bt,"toCodexSandboxMode");function Lt(n,e){switch(n){case"read-only":return{type:"readOnly",networkAccess:!1};case"workspace-write":return{type:"workspaceWrite",writableRoots:[e],networkAccess:!1,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1};case"danger-full-access":return{type:"dangerFullAccess"}}}i(Lt,"toCodexSandboxPolicy");function qe(n,e){return n==="danger-full-access"||e==="never"?"never":"on-request"}i(qe,"toCodexApprovalPolicy");function Ke(n){if(n)switch(n){case"\
112
- none":return"none";case"minimal":return"minimal";case"low":return"low";case"medium":return"medium";case"high":return"high";case"xhigh":return"xhigh";case"max":return"xhigh"}}i(Ke,"toCodexEffort");function Ut(n){if(!I(n))return;let e=n.thread;if(I(e)&&typeof e.id=="string")return e.id;if(typeof n.threadId=="string")return n.threadId;if(typeof n.providerThreadId=="string")return n.providerThreadId}i(Ut,"readThreadId");function Ft(n){if(!I(n))return;let e=n.userAgent;return typeof e=="string"&&e.length>
113
- 0?e:void 0}i(Ft,"readInitializeUserAgent");function Ge(n){return I(n)&&typeof n.threadId=="string"&&typeof n.delta=="string"}i(Ge,"isThreadDelta");function ze(n){return I(n)&&typeof n.threadId=="string"&&I(n.item)}i(ze,"isThreadItem");function qt(n){return I(n)&&typeof n.threadId=="string"&&I(n.tokenUsage)}i(qt,"isTokenUsage");function Kt(n){return I(n)&&typeof n.threadId=="string"&&I(n.turn)}i(Kt,"isTurnCompleted");function Gt(n){if(I(n))return typeof n.threadId=="string"?n.threadId:void 0}i(Gt,
114
- "readErrorNotificationThreadId");function zt(n){if(!I(n))return"codex error";if(typeof n.message=="string")return n.message;let e=n.error;return typeof e=="string"?e:I(e)&&typeof e.message=="string"?e.message:"codex error"}i(zt,"readErrorNotificationMessage");function He(n){if(typeof n=="string")return n;if(I(n)){let e=Object.keys(n);if(e.length>0)return e[0]}}i(He,"codexErrorCode");function Ht(n){if(!n)return!1;switch(n){case"usageLimitExceeded":case"serverOverloaded":case"internalServerError":case"\
115
- httpConnectionFailed":case"responseStreamConnectionFailed":case"responseStreamDisconnected":case"responseTooManyFailedAttempts":return!0;default:return!1}}i(Ht,"isRetryableCodexError");import{spawn as hr}from"node:child_process";var C=class extends Error{static{i(this,"StdioTransportError")}code;constructor(e,t){super(t),this.name="StdioTransportError",this.code=e}},ie=class extends Error{static{i(this,"JsonRpcResponseError")}rpc;constructor(e){super(e.message),this.name="JsonRpcResponseError",this.rpc=e}},gr=16*1024,be=class{static{i(this,"JsonRpcStdioClient")}child=null;stdoutBuf="";stderrBuf="";nextId=1;pending=new Map;dead=!1;spawnChild;requestTimeoutMs;stderrLimit;onServerRequest;onNotification;onGone;constructor(e={}){
116
- let t=e.bin??"codex",r=e.args??["app-server"];this.spawnChild=e.spawnChild??(()=>hr(t,r,{stdio:["pipe","pipe","pipe"]})),this.requestTimeoutMs=e.requestTimeoutMs??0,this.stderrLimit=e.stderrLimit??gr,this.onServerRequest=e.onServerRequest,this.onNotification=e.onNotification,this.onGone=e.onProcessGone}get alive(){return!this.dead&&this.child!==null}start(){if(this.child)return;let e;try{e=this.spawnChild()}catch(t){throw new C("spawn_failed",`failed to spawn child: ${Ve(t)}`)}this.child=e,this.
117
- dead=!1,this.stdoutBuf="",this.stderrBuf="",e.stdout.setEncoding("utf8"),e.stdout.on("data",t=>this.onStdout(t)),e.stderr.setEncoding("utf8"),e.stderr.on("data",t=>this.onStderr(t)),e.on("error",t=>this.handleProcessGone(new C("process_error",Ve(t)))),e.on("exit",(t,r)=>this.handleProcessGone(new C("process_exited",this.withStderr(`child exited (code=${t??"null"} signal=${r??"null"})`))))}allocId(){return this.nextId++}send(e){let t=this.child;if(this.dead||!t||!t.stdin.writable)throw new C("not\
118
- _writable","child stdin is not writable (process gone)");t.stdin.write(`${e}
119
- `,r=>{r&&this.handleProcessGone(new C("write_failed",Ve(r)))})}request(e,t){return new Promise((r,o)=>{if(this.dead||!this.child){o(new C("not_writable","child is not running"));return}let s=this.allocId(),a={resolve:r,reject:o};this.pending.set(s,a),this.requestTimeoutMs>0&&(a.timer=setTimeout(()=>{this.pending.delete(s)&&o(new C("request_timeout",`request ${e} timed out after ${this.requestTimeoutMs}ms`))},this.requestTimeoutMs),a.timer.unref?.());try{this.send(oe(s,e,t))}catch(u){this.settlePending(
120
- s),o(u instanceof Error?u:new Error(String(u)))}})}shutdown(){let e=this.child;if(this.markDead(new C("shutdown","client shut down")),e){e.removeAllListeners();try{e.kill()}catch{}}}stderr(){return this.stderrBuf}onStdout(e){if(this.dead)return;this.stdoutBuf+=e;let t=this.stdoutBuf.indexOf(`
121
- `);for(;t!==-1;){let r=this.stdoutBuf.slice(0,t);this.stdoutBuf=this.stdoutBuf.slice(t+1);let o=r.trim();o.length>0&&this.dispatch(o),t=this.stdoutBuf.indexOf(`
122
- `)}}onStderr(e){this.stderrBuf+=e,this.stderrBuf.length>this.stderrLimit&&(this.stderrBuf=this.stderrBuf.slice(this.stderrBuf.length-this.stderrLimit))}dispatch(e){let t=Nt(e);if(t)switch(t.kind){case"response":{let r=this.pending.get(t.id);if(!r)return;this.settlePending(t.id),t.error?r.reject(new ie(t.error)):r.resolve(t.result);return}case"request":this.onServerRequest?.(t.id,t.method,t.params);return;case"notification":this.onNotification?.(t.method,t.params);return}}settlePending(e){let t=this.
123
- pending.get(e);t&&(this.pending.delete(e),t.timer&&clearTimeout(t.timer))}handleProcessGone(e){this.dead||(this.markDead(e),this.onGone?.(e))}markDead(e){if(this.dead)return;this.dead=!0,this.child=null,this.stdoutBuf="";let t=[...this.pending.entries()];this.pending.clear();for(let[,r]of t)r.timer&&clearTimeout(r.timer),r.reject(e)}withStderr(e){let t=this.stderrBuf.trim();return t?`${e}
124
- --- stderr (tail) ---
125
- ${t}`:e}};function Ve(n){return n instanceof Error?n.message:String(n)}i(Ve,"errMessage");var O="codex",kr=6e4,br=30*6e4,vr="Now return your final answer as a single JSON value that conforms to the required output schema. Output only the JSON \u2014 no prose, no explanation, no code fences.";function Vt(n){return[{type:"text",text:n,text_elements:[]}]}i(Vt,"textInput");function X(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}i(X,"isObject");var ve=class{static{i(this,"CodexWorker")}id=O;bin;spawnChild;requestTimeoutMs;turnStallTimeoutMs;client=null;initPromise=null;serverUserAgent=null;turns=new Map;shuttingDown=!1;constructor(e={}){
126
- this.bin=e.bin??"codex",this.spawnChild=e.spawnChild,this.requestTimeoutMs=e.requestTimeoutMs??kr,this.turnStallTimeoutMs=e.turnStallTimeoutMs??br}async runAgent(e,t){if(t.signal.aborted)throw new v;if(e.maxTurns!==void 0)throw new f({provider:O,code:"unsupported_option",message:"codex does not support maxTurns; omit it or use the claude-code provider"});await this.ensureStarted();let r={cwd:e.cwd,...e.model?{model:e.model}:{},approvalPolicy:qe(e.sandbox,e.approval),sandbox:Bt(e.sandbox),...e.instructions?
127
- {developerInstructions:e.instructions}:{},experimentalRawEvents:!1,persistExtendedHistory:!1},o=await this.request("thread/start",r),s=Ut(o);if(!s)throw new f({provider:O,code:"no_thread_id",message:"codex thread/start did not return a thread id"});let a={threadId:s,approvalPolicy:qe(e.sandbox,e.approval),sandboxPolicy:Lt(e.sandbox,e.cwd),...e.model?{model:e.model}:{},...Ke(e.effort)?{effort:Ke(e.effort)}:{}},u=await this.runTurn(t,e.sandbox,e.cwd,{...a,input:Vt(e.prompt)},!0);if(!e.schema)return u;
128
- let d=await this.runTurn(t,e.sandbox,e.cwd,{...a,input:Vt(vr),outputSchema:tt(e.schema)},!1,u.usage),l;try{l=ot(d.text)}catch{l=void 0}return{text:d.text,structured:l,status:"completed",usage:d.usage}}runTurn(e,t,r,o,s,a){let{threadId:u}=o,d;return new Promise((c,y)=>{let b={threadId:u,deltaText:"",usage:a??W(),resolve:c,reject:y,settled:!1,ctx:e,sandbox:t,cwd:r,pendingWrites:[],forwardProgress:s};if(this.turns.set(u,b),this.touchTurn(b),d=i(()=>{try{this.send(oe(this.client?.allocId()??0,"turn/\
129
- interrupt",{threadId:u}))}catch{}this.settleReject(u,new v)},"onAbort"),e.signal.aborted){d();return}e.signal.addEventListener("abort",d),this.request("turn/start",o).catch(x=>{this.settleReject(u,this.toAgentError(x))})}).finally(()=>{this.turns.delete(u),d&&e.signal.removeEventListener("abort",d)})}async shutdown(){this.shuttingDown=!0;let e=this.client;this.client=null,this.initPromise=null;let t=new f({provider:O,code:"shutdown",message:"codex worker shut down",retryable:!0});for(let r of[...this.
130
- turns.keys()])this.settleReject(r,t);e&&e.shutdown()}ensureStarted(){return this.initPromise?this.initPromise:(this.initPromise=this.startAndHandshake().catch(e=>{throw this.initPromise=null,e}),this.initPromise)}async startAndHandshake(){let e=new be({bin:this.bin,args:["app-server"],spawnChild:this.spawnChild,requestTimeoutMs:this.requestTimeoutMs,onServerRequest:i((s,a,u)=>this.handleServerRequest(s,a,u),"onServerRequest"),onNotification:i((s,a)=>this.handleNotification(s,a),"onNotification"),
131
- onProcessGone:i(s=>this.onProcessGone(s),"onProcessGone")});this.client=e,this.shuttingDown=!1,this.serverUserAgent=null;try{e.start()}catch(s){throw this.client=null,this.spawnError(s)}let t={clientInfo:{name:Ye,version:"0.0.1"},capabilities:{experimentalApi:!0}},r=await this.request("initialize",t),o=Ft(r);if(!o)throw new f({provider:O,code:"initialize_failed",message:`codex app-server returned an initialize result without a userAgent (protocol mismatch?) \u2014 upgrade the codex CLI or pin one com\
132
- patible with ${j}`,retryable:!1});this.serverUserAgent=o;try{this.send(jt("initialized"))}catch(s){throw this.toAgentError(s)}}spawnError(e){let t=e instanceof Error?e.message:String(e),r=e instanceof C?e.code:"spawn_failed",o=/ENOENT|not found|not recognized|EACCES/i.test(t);return new f({provider:O,code:o?"binary_not_found":r,message:o?`cannot execute "${this.bin} app-server" \u2014 is the codex CLI installed and on PATH? (${t})`:`failed to spawn ${this.bin} app-server: ${t}`,retryable:!o})}onProcessGone(e){
133
- if(this.shuttingDown)return;let t=this.spawnError(e);this.client=null,this.initPromise=null;for(let r of[...this.turns.keys()])this.settleReject(r,t)}handleServerRequest(e,t,r){let o=i(s=>{try{this.send(Jt(e,s))}catch{}},"reply");switch(t){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":case"item/permissions/requestApproval":{let s=X(r)?r:{},a=typeof s.threadId=="string"?this.turns.get(s.threadId):void 0;if(a&&this.touchTurn(a),!a){o(t==="item/permissions/reques\
134
- tApproval"?{permissions:{},scope:"turn"}:{decision:"decline"});return}let d=a.sandbox==="read-only";o(t==="item/permissions/requestApproval"?{permissions:{},scope:"turn"}:{decision:d?"decline":"accept"});return}default:o({});return}}handleNotification(e,t){if(X(t)&&typeof t.threadId=="string"){let r=this.turns.get(t.threadId);r&&this.touchTurn(r)}switch(e){case"item/agentMessage/delta":{if(!Ge(t))return;let r=this.turns.get(t.threadId);if(!r)return;r.deltaText+=t.delta,r.forwardProgress&&r.ctx.onProgress(
135
- {kind:"text",text:t.delta});return}case"item/reasoning/summaryTextDelta":case"item/reasoning/textDelta":{if(!Ge(t))return;let r=this.turns.get(t.threadId);r?.forwardProgress&&r.ctx.onProgress({kind:"reasoning",text:t.delta});return}case"item/started":{if(!ze(t))return;let r=this.turns.get(t.threadId);if(!r)return;let o=t.item,s=Xt(o);s&&r.forwardProgress&&r.ctx.onProgress({kind:"tool",id:typeof o.id=="string"?o.id:void 0,name:s,input:Sr(o)});return}case"item/completed":{if(!ze(t))return;let r=this.
136
- turns.get(t.threadId);if(!r)return;let o=t.item;if(o.type==="agentMessage"&&typeof o.text=="string"){r.finalMessage=o.text;return}if(o.type==="imageGeneration"){this.handleImageGeneration(r,o);return}let s=Xt(o);if(s&&r.forwardProgress){let a=typeof o.aggregatedOutput=="string"?o.aggregatedOutput:typeof o.result=="string"?o.result:void 0;r.ctx.onProgress({kind:"tool-result",id:typeof o.id=="string"?o.id:void 0,name:s,output:a,isError:o.status==="failed"||typeof o.error=="string"})}return}case"th\
137
- read/tokenUsage/updated":{if(!qt(t))return;let r=this.turns.get(t.threadId);if(!r)return;let o=t.tokenUsage.total;X(o)&&(r.usage={inputTokens:Yt(o.inputTokens,r.usage.inputTokens),outputTokens:Yt(o.outputTokens,r.usage.outputTokens),costUsd:r.usage.costUsd},r.forwardProgress&&r.ctx.onProgress({kind:"usage",usage:{inputTokens:r.usage.inputTokens,outputTokens:r.usage.outputTokens}}));return}case"turn/completed":{if(!Kt(t)){this.onTurnCompletedDrift(t);return}this.onTurnCompleted(t);return}case"err\
138
- or":{let r=Gt(t),o=zt(t),s=new f({provider:O,code:"codex_error",message:o,retryable:!0});if(r&&this.turns.has(r))this.settleReject(r,s);else for(let a of[...this.turns.keys()])this.settleReject(a,s);return}default:return}}handleImageGeneration(e,t){if(e.sandbox==="read-only")return;let r=typeof t.id=="string"&&t.id.length>0?t.id:"image",o=yr(r)||"image",s=typeof t.savedPath=="string"?t.savedPath:void 0,a=typeof t.result=="string"?t.result:void 0,u=xr(e.cwd,`${o}.png`),d=(async()=>{try{if(s)await mr(
139
- s,u);else if(a)await wr(u,Buffer.from(a,"base64"));else return;e.forwardProgress&&e.ctx.onProgress({kind:"tool-result",id:o,name:"image_generation",output:`saved image \u2192 ${u}`})}catch{}})();e.pendingWrites.push(d)}onTurnCompleted(e){let t=this.turns.get(e.threadId);if(!t)return;let r=typeof e.turn.status=="string"?e.turn.status:void 0;if(r==="completed"){let d={text:t.finalMessage??t.deltaText,status:"completed",usage:t.usage},l=t.pendingWrites;l.length===0?this.settleResolve(e.threadId,d):
140
- Promise.allSettled(l).then(()=>this.settleResolve(e.threadId,d));return}if(r==="interrupted"){this.settleReject(e.threadId,new v);return}let o=e.turn.error,s=X(o)?o.codexErrorInfo:void 0,a=He(s)??"turn_failed",u=X(o)&&typeof o.message=="string"&&o.message||`codex turn ${r??"failed"}`;this.settleReject(e.threadId,new f({provider:O,code:a,message:u,retryable:Ht(He(s))}))}onTurnCompletedDrift(e){let t=new f({provider:O,code:"protocol_drift",message:`codex sent turn/completed in an unrecognized shap\
141
- e (server: ${this.serverUserAgent??"unknown"}) \u2014 upgrade ${Xe} or pin a compatible codex CLI`,retryable:!1}),r=X(e)&&typeof e.threadId=="string"?e.threadId:void 0;if(r!==void 0){this.settleReject(r,t);return}for(let o of[...this.turns.keys()])this.settleReject(o,t)}touchTurn(e){this.turnStallTimeoutMs<=0||e.settled||(e.watchdog&&clearTimeout(e.watchdog),e.watchdog=setTimeout(()=>this.onTurnStalled(e.threadId),this.turnStallTimeoutMs),e.watchdog.unref?.())}onTurnStalled(e){let t=this.turns.get(
142
- e);if(!(!t||t.settled)){try{this.send(oe(this.client?.allocId()??0,"turn/interrupt",{threadId:e}))}catch{}this.settleReject(e,new f({provider:O,code:"turn_stalled",message:`codex turn received no notifications for ${this.turnStallTimeoutMs}ms (server: ${this.serverUserAgent??"unknown"}) \u2014 failing instead of hanging forever`,retryable:!0}))}}settleResolve(e,t){let r=this.turns.get(e);!r||r.settled||(r.settled=!0,r.watchdog&&clearTimeout(r.watchdog),r.resolve(t))}settleReject(e,t){let r=this.
143
- turns.get(e);!r||r.settled||(r.settled=!0,r.watchdog&&clearTimeout(r.watchdog),r.reject(t))}send(e){let t=this.client;if(!t)throw new C("not_writable","codex transport is gone");t.send(e)}request(e,t){let r=this.client;return r?r.request(e,t).catch(o=>{throw this.toAgentError(o)}):Promise.reject(new f({provider:O,code:"process_exited",message:"codex transport is gone",retryable:!0}))}toAgentError(e){return e instanceof f?e:e instanceof ie?new f({provider:O,code:"rpc_error",message:e.message}):e instanceof
144
- C?/ENOENT|not found|not recognized|EACCES/i.test(e.message)?this.spawnError(e):new f({provider:O,code:e.code,message:e.message,retryable:!0}):new f({provider:O,code:"transport",message:e instanceof Error?e.message:String(e),retryable:!0})}};function Yt(n,e){return typeof n=="number"&&Number.isFinite(n)?n:e}i(Yt,"numberOr");function Xt(n){switch(n.type){case"commandExecution":return"command";case"mcpToolCall":return typeof n.tool=="string"?n.tool:"mcpToolCall";case"dynamicToolCall":return typeof n.
145
- tool=="string"?n.tool:"dynamicToolCall";case"webSearch":return"webSearch";case"fileChange":return"fileChange";default:return}}i(Xt,"toolName");function Sr(n){if(typeof n.command=="string"||Array.isArray(n.command))return n.command;if(n.arguments!==void 0)return n.arguments;if(Array.isArray(n.changes))return n.changes;if(Array.isArray(n.queries))return n.queries}i(Sr,"codexToolInput");import{createHash as Rr}from"node:crypto";import{setTimeout as Tr}from"node:timers/promises";var Se=class{static{i(this,"FakeWorker")}id="codex";delayMs;constructor(e={}){this.delayMs=e.delayMs??0}async runAgent(e,t){if(t.signal.aborted)throw new v;if(this.delayMs)try{await Tr(this.delayMs,void 0,{signal:t.signal})}catch{throw new v}if(t.onProgress({kind:"reasoning",text:`(fake) considering: ${Zt(e.prompt)}`}),e.schema){let s=Re(e.schema),a=ue(e.schema,s);if(!a.ok)throw new f({provider:e.provider,code:"fake_schema_unsatisfiable",message:`FakeWorker could not synthesize a value satisfyin\
146
- g the schema: ${a.errors}`});let u=JSON.stringify(s,null,2);return t.onProgress({kind:"text",text:u}),{text:u,structured:s,status:"completed",usage:{...W(),inputTokens:e.prompt.length,outputTokens:16}}}let r=Rr("sha256").update(e.prompt).digest("hex").slice(0,8),o=`[fake:${e.provider}] ${Zt(e.prompt)} (#${r})`;return t.onProgress({kind:"text",text:o}),{text:o,status:"completed",usage:{...W(),inputTokens:e.prompt.length,outputTokens:o.length}}}async shutdown(){}};function Zt(n){let e=n.split(`
147
- `).find(t=>t.trim().length>0)??n;return e.length>80?`${e.slice(0,79)}\u2026`:e}i(Zt,"firstLine");function Re(n){if(!n||typeof n!="object")return"fake";if("const"in n)return n.const;if(Array.isArray(n.enum)&&n.enum.length>0)return n.enum[0];for(let t of["anyOf","oneOf","allOf"]){let r=n[t];if(Array.isArray(r)&&r.length>0)return Re(r[0])}let e=Array.isArray(n.type)?Er(n.type):n.type;return e==="string"?Pr(n):e==="integer"?Qt(n,!0):e==="number"?Qt(n,!1):e==="boolean"?!1:e==="null"?null:e==="array"?
148
- Ir(n):e==="object"||n.properties?Ar(n):"fake"}i(Re,"synthesize");function Er(n){return n.find(e=>e!=="null")??n[0]}i(Er,"firstNonNullType");function Pr(n){let e="fake",t=N(n.minLength),r=N(n.maxLength);return t!==void 0&&e.length<t&&(e=e.padEnd(t,"x")),r!==void 0&&e.length>r&&(e=e.slice(0,r)),e}i(Pr,"synthString");function Qt(n,e){let t=0,r=N(n.minimum)??N(n.exclusiveMinimum),o=N(n.maximum)??N(n.exclusiveMaximum);r!==void 0&&t<r&&(t=r),o!==void 0&&t>o&&(t=o);let s=N(n.exclusiveMinimum);s!==void 0&&
149
- t<=s&&(t=e?s+1:s+1e-6);let a=N(n.exclusiveMaximum);a!==void 0&&t>=a&&(t=e?a-1:a-1e-6),e&&(t=Math.round(t));let u=N(n.multipleOf);if(u!==void 0&&u>0){let d=Math.ceil(t/u);t=d*u,s!==void 0&&t<=s&&(t=++d*u),e&&(t=Math.round(t))}return t}i(Qt,"synthNumber");function Ir(n){let e=Array.isArray(n.items)?n.items[0]:n.items,t=N(n.minItems)??1,r=Math.max(t,1),o=[];for(let s=0;s<r;s++)o.push(Re(e??{}));return o}i(Ir,"synthArray");function Ar(n){let e=n.properties??{},t=new Set(Array.isArray(n.required)?n.required:
150
- []),r={};for(let[o,s]of Object.entries(e))r[o]=Re(s);for(let o of t)o in r||(r[o]="fake");return r}i(Ar,"synthObject");function N(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}i(N,"numOpt");var Te=class{static{i(this,"DefaultWorkerFactory")}cache=new Map;opts;constructor(e={}){this.opts=e}get(e){let t=this.cache.get(e);return t||(t=this.create(e),this.cache.set(e,t)),t}create(e){if(this.opts.fake)return new Se;if(!Qe(e))throw new f({provider:e,code:"unknown_provider",message:`unknown provider: ${e} \u2014 the workflow engine runs ${F.join(", ")}; a provider declared in taskflow.yaml needs the ACP transport`});switch(e){case"codex":return new ve({bin:this.opts.codexBin});case"claude\
151
- -code":return new ke({model:this.opts.claudeModel,pathToClaudeCodeExecutable:this.opts.pathToClaudeCodeExecutable});case"opencode":return new it({bin:this.opts.opencodeBin});case"pi":return new st({bin:this.opts.piBin});default:{let t=e;throw new f({provider:e,code:"unknown_provider",message:`unknown provider: ${String(t)}`})}}}async shutdownAll(){for(let e of this.cache.values())try{await e.shutdown()}catch{}this.cache.clear()}};import{join as Cr}from"node:path";var Ee=class{static{i(this,"FileEventSink")}writer;listeners;clock;constructor(e,t={}){this.writer=new H(Cr(U(e,t.roots),"events.jsonl"),{flags:"a"}),this.listeners=t.listeners??[],this.clock=t.clock??(()=>globalThis.Date.now())}emit(e){let t={...e,t:this.clock()};this.writer.writeRecord(t);for(let r of this.listeners)try{r(t)}catch{}}close(){return this.writer.close()}};var $={dim:i(n=>`\x1B[2m${n}\x1B[0m`,"dim"),green:i(n=>`\x1B[32m${n}\x1B[0m`,"green"),red:i(n=>`\x1B[31m${n}\x1B[0m`,"red"),cyan:i(n=>`\x1B[36m${n}\x1B[0m`,"cyan"),bold:i(n=>`\x1B[1m${n}\x1B[0m`,"bold")},Pe=class{static{i(this,"TerminalRenderer")}enabled;running=new Set;finished=new Set;worktreeShown=new Set;constructor(e={}){this.enabled=e.enabled??!0}handle=i(e=>{if(this.enabled)switch(e.type){case"run":e.status==="started"?this.write($.bold(`
152
- \u25B6 workflow ${e.runId}
153
- `)):this.write((e.status==="completed"?$.green:$.red)(`
154
- ${e.status==="completed"?"\u2713":"\u2717"} ${e.status}${e.error?`: ${e.error}`:""}
155
- `));break;case"phase":e.pending||this.write($.cyan(`
156
- \u250C ${e.title}
157
- `));break;case"log":this.write($.dim(`\u276F ${e.message}
158
- `));break;case"agent":e.state==="running"?this.running.has(e.index)||(this.running.add(e.index),this.write($.dim(` \xB7 [${e.index}] ${e.label} (${this.who(e)})\u2026
159
- `))):e.state==="done"?this.finished.has(e.index)||(this.finished.add(e.index),this.running.delete(e.index),this.write(` ${$.green("\u2713")} [${e.index}] ${e.label}${e.cached?$.dim(" (cached)"):""} ${$.dim(this.stats(e))}
160
- `)):e.state==="failed"&&(this.finished.has(e.index)||(this.finished.add(e.index),this.running.delete(e.index),this.write(` ${$.red("\u2717")} [${e.index}] ${e.label} ${$.red(`\u2014 ${e.error??"failed"}`)}
161
- `))),this.maybeWorktree(e);break}},"handle");who(e){return e.model?`${e.provider}:${e.model}`:e.provider}maybeWorktree(e){if(!e.worktreeBranch&&!e.worktreePath||this.worktreeShown.has(e.index))return;this.worktreeShown.add(e.index);let t=[e.worktreeBranch&&`branch ${e.worktreeBranch}`,e.worktreePath&&`at ${e.worktreePath}`].filter(Boolean).join(" ");this.write(` ${$.cyan("\u2387")} [${e.index}] ${e.label} ${$.dim(`\u2014 worktree preserved: ${t}`)}
162
- `)}stats(e){let t=[];e.durationMs!=null&&t.push(Or(e.durationMs));let r=(e.inputTokens??0)+(e.outputTokens??0);return r&&t.push(`${r} tok`),t.join(" \xB7 ")}write(e){process.stderr.write(e)}stop(){}};function Or(n){if(n==null)return"";if(n<1e3)return`${n}ms`;let e=n/1e3;return e<60?`${e.toFixed(1)}s`:`${Math.floor(e/60)}m${Math.round(e%60)}s`}i(Or,"fmtDur");var Dr=5e3;async function zi(n){let e=tn(n.file),t=$r(e,"utf8"),r=jr(t),o=vt(t);if(o.length>0)throw new Error(`determinism lint failed: ${o.map(J=>`${J.token} \u2192 use ${J.use}`).join("; ")}`);let s=fe(t),a=Nr(s.meta,n),u=n.resumeRunId??n.runId??n.externalContext?.runId??Jr(),d={results:new Map,indexByKey:new Map};if(n.resumeRunId){if(!G.exists(u,n.roots))throw new le(u,dt(n.roots));d=G.load(u,n.roots),lt(d.meta,{fileHash:r,args:n.args??null,keyVersion:q})}let l=d.meta?.seed??Br(),c=d.meta?.createdAt??
163
- Date.now();Ae(u,n.roots),n.onStart?.(u);let y=new G(u,n.roots);d.meta||y.append({type:"meta",runId:u,workflowFile:e,fileHash:r,args:n.args??null,seed:l,createdAt:c,keyVersion:q,...n.externalContext?{externalContext:n.externalContext}:{}});let x=[new Pe({enabled:!n.quiet}).handle];n.onEvent&&x.push(n.onEvent);let D=new Ee(u,{listeners:x,roots:n.roots}),P=n.factory??new Te({fake:n.fake,codexBin:process.env.CODEX_BIN,opencodeBin:n.overrides?.opencodeBin??process.env.OPENCODE_BIN,piBin:n.overrides?.
164
- piBin??process.env.PI_BIN,claudeModel:n.overrides?.claudeModel??(a.provider==="claude-code"?a.model:void 0),pathToClaudeCodeExecutable:n.overrides?.pathToClaudeCodeExecutable}),T=new AbortController,h=i(()=>T.abort(),"onSig"),p=n.signal!==void 0;p||(process.once("SIGINT",h),process.once("SIGTERM",h)),n.signal?.aborted?T.abort():n.signal?.addEventListener("abort",h,{once:!0}),D.emit({type:"run",status:"started",runId:u,workflowFile:e});let w=Wr(U(u,n.roots),".heartbeat"),g=i(()=>{try{_r(w,String(
165
- Date.now()))}catch{}},"beat");g();let m=setInterval(g,Dr);m.unref();let M="completed",A,_,K=new we({runId:u,defaults:a,factory:P,knownProviders:n.knownProviders??F,journal:y,loaded:d,events:D,args:n.args,seed:l,baseTimeMs:c,signal:T.signal,roots:n.roots,taskflowMode:n.mode==="taskflow",executionPort:n.executionPort,declaredPhases:s.meta.phases});try{A=await pt({body:s.body,filename:e,globals:K.globals(),signal:T.signal,execTimeoutMs:n.execTimeoutMs}),await K.settle(),ct(u,A??null,n.roots)}catch(J){
166
- M=T.signal.aborted?"interrupted":"failed",_=J instanceof Error?J.message:String(J)}finally{await K.settle(),clearInterval(m),p||(process.removeListener("SIGINT",h),process.removeListener("SIGTERM",h)),n.signal?.removeEventListener("abort",h),await P.shutdownAll(),D.emit({type:"run",status:M,runId:u,error:_}),await D.close()}return{runId:u,result:A,status:M,error:_}}i(zi,"runWorkflow");function Nr(n,e){let t=e.overrides??{},r=t.concurrency??L.concurrency;if(!Number.isInteger(r)||r<1)throw new Error(
167
- `invalid concurrency: ${r} \u2014 must be a positive integer`);let o=t.sandbox??n.defaultSandbox??L.sandbox;V("sandbox",o),V("effort",t.effort);let s=t.provider??n.defaultProvider??L.provider;je(s,e.knownProviders??F),ye(t.provider,t.model,"--provider/--model"),ye(n.defaultProvider,n.defaultModel,"meta.defaultProvider/defaultModel");let a=t.cwd??e.roots?.workspaceRoot;if(e.mode==="taskflow"&&!a)throw new Error("Taskflow mode requires roots.workspaceRoot instead of daemon cwd");return{provider:s,
168
- model:t.model??n.defaultModel,effort:t.effort,sandbox:o,approval:L.approval,cwd:tn(a??process.cwd()),concurrency:r,maxAgents:L.maxAgents,maxFanout:L.maxFanout,budget:t.budget??L.budget}}i(Nr,"resolveDefaults");function jr(n){return Mr("sha256").update(n).digest("hex")}i(jr,"sha256");function Jr(){return`wf_${en(6).toString("hex")}`}i(Jr,"newRunId");function Br(){return en(4).readUInt32LE(0)}i(Br,"randomSeed");export{ce as a,le as b,Z as c,G as d,q as e,R as f,fe as g,$e as h,Rn as i,no as j,Te as k,k as l,zi as m};