@qitqode/qitqode-android-arm64 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/bundle/{chunk-45k7qm85.js → chunk-3cr2p4mp.js} +1 -1
  2. package/bundle/{chunk-ty2vg1a5.js → chunk-3d73kfea.js} +1 -1
  3. package/bundle/{chunk-xmb8jy13.js → chunk-3ktzxj69.js} +1 -1
  4. package/bundle/{chunk-0j5rzaxx.js → chunk-43ttzy29.js} +1 -1
  5. package/bundle/{chunk-3akv2xqh.js → chunk-4pshnq6g.js} +1 -1
  6. package/bundle/{chunk-kdj7xvz7.js → chunk-5asx1706.js} +1 -1
  7. package/bundle/{chunk-rn043d0r.js → chunk-5df5aja0.js} +1 -1
  8. package/bundle/{chunk-h5pnng66.js → chunk-6dvmyeg7.js} +1 -1
  9. package/bundle/{chunk-acpjrs02.js → chunk-6ex981t8.js} +1 -1
  10. package/bundle/{chunk-sf5zc4kc.js → chunk-6jeg2r5j.js} +1 -1
  11. package/bundle/{chunk-03bp59wq.js → chunk-6nry7tah.js} +1 -1
  12. package/bundle/{chunk-6sxx56b2.js → chunk-7x30x94y.js} +1 -1
  13. package/bundle/{chunk-xy3c8f1h.js → chunk-86hsh44c.js} +1 -1
  14. package/bundle/{chunk-fxx0z4yb.js → chunk-8e4s6nc2.js} +1 -1
  15. package/bundle/{chunk-kf2f3mza.js → chunk-8sbb95a4.js} +1 -1
  16. package/bundle/{chunk-bch1rj72.js → chunk-8yvx3pgy.js} +1 -1
  17. package/bundle/{chunk-44723rmb.js → chunk-97q2t1yz.js} +1 -1
  18. package/bundle/{chunk-xqnzmr7a.js → chunk-99s035f0.js} +1 -1
  19. package/bundle/{chunk-jxwey5py.js → chunk-a7rp46yt.js} +1 -1
  20. package/bundle/{chunk-zgcabs1k.js → chunk-bg1t0kke.js} +1 -1
  21. package/bundle/{chunk-0g7acwt1.js → chunk-bkct64rs.js} +1 -1
  22. package/bundle/{chunk-wmezdcdh.js → chunk-bzebyyfr.js} +2 -2
  23. package/bundle/{chunk-xynwfaf1.js → chunk-c3zge8cg.js} +1 -1
  24. package/bundle/{chunk-41cq88js.js → chunk-cbnkx933.js} +1 -1
  25. package/bundle/{chunk-kn8w69g9.js → chunk-cfhfc86j.js} +1 -1
  26. package/bundle/{chunk-5qsr1q4t.js → chunk-cj7r8w1e.js} +1 -1
  27. package/bundle/{chunk-7ayb3k5p.js → chunk-cng61dby.js} +1 -1
  28. package/bundle/{chunk-89b4k585.js → chunk-cqkaamvn.js} +1 -1
  29. package/bundle/{chunk-cq9sd32h.js → chunk-d51908mv.js} +1 -1
  30. package/bundle/{chunk-93gdcrbc.js → chunk-d7nsd979.js} +1 -1
  31. package/bundle/{chunk-2nv1scj9.js → chunk-da6kggv7.js} +1 -1
  32. package/bundle/{chunk-5gsdnejs.js → chunk-f3zmdfqa.js} +1 -1
  33. package/bundle/{chunk-kj8cmn7z.js → chunk-fr34mnyg.js} +1 -1
  34. package/bundle/{chunk-826r9svy.js → chunk-fsqses4g.js} +1 -1
  35. package/bundle/{chunk-m7v4ky0y.js → chunk-fyhqp4pb.js} +1 -1
  36. package/bundle/{chunk-hgmqz75r.js → chunk-gdn91t9j.js} +1 -1
  37. package/bundle/{chunk-xhtcegk0.js → chunk-gjd3wf8b.js} +1 -1
  38. package/bundle/{chunk-r1xh50b2.js → chunk-h9wh48d0.js} +1 -1
  39. package/bundle/chunk-hjb1etf8.js +2 -0
  40. package/bundle/{chunk-v3nqkqhz.js → chunk-hjt94wce.js} +223 -223
  41. package/bundle/{chunk-nw3e93y8.js → chunk-hqbbs9dm.js} +1 -1
  42. package/bundle/{chunk-t9pwz4ws.js → chunk-jnrnncqc.js} +1 -1
  43. package/bundle/{chunk-52frd9p0.js → chunk-k3dacdp5.js} +4 -4
  44. package/bundle/{chunk-vp9scf28.js → chunk-kengqzja.js} +1 -1
  45. package/bundle/{chunk-pxv12ctq.js → chunk-kth84vdn.js} +1 -1
  46. package/bundle/{chunk-kxwkab31.js → chunk-ky88ba80.js} +1 -1
  47. package/bundle/{chunk-cfjjx3sh.js → chunk-m80v76m9.js} +1 -1
  48. package/bundle/{chunk-c55f729m.js → chunk-mhtxp66q.js} +1 -1
  49. package/bundle/{chunk-3cqrz7g1.js → chunk-ngfxxfem.js} +1 -1
  50. package/bundle/{chunk-bbdp6dj4.js → chunk-nmzrrqgb.js} +1 -1
  51. package/bundle/{chunk-yv5aehqq.js → chunk-nvs0d8jg.js} +1 -1
  52. package/bundle/{chunk-jyt2xvha.js → chunk-p4b0s5td.js} +1 -1
  53. package/bundle/{chunk-36xm6mgm.js → chunk-pe2xdkez.js} +1 -1
  54. package/bundle/{chunk-eb4y8bjv.js → chunk-pt0xphq9.js} +1 -1
  55. package/bundle/{chunk-6t48g4x5.js → chunk-pz1avwyt.js} +1 -1
  56. package/bundle/{chunk-a9a0cwmf.js → chunk-q3h42a94.js} +1 -1
  57. package/bundle/{chunk-2b3fn9xv.js → chunk-q3nvzhyh.js} +1 -1
  58. package/bundle/{chunk-ct693qsd.js → chunk-q9tgdghx.js} +1 -1
  59. package/bundle/{chunk-g3y5xemb.js → chunk-qkvqvgcx.js} +1 -1
  60. package/bundle/{chunk-98b7ecrk.js → chunk-rcrjbhaz.js} +1 -1
  61. package/bundle/{chunk-np12r26m.js → chunk-t5r3w9e1.js} +1 -1
  62. package/bundle/{chunk-13rsd5vv.js → chunk-tzb26ntq.js} +1 -1
  63. package/bundle/{chunk-af81r4v7.js → chunk-v6v9xn81.js} +1 -1
  64. package/bundle/{chunk-w2cb8cry.js → chunk-vdrz2t9c.js} +1 -1
  65. package/bundle/{chunk-mtpzcc14.js → chunk-vj4x8hvz.js} +1 -1
  66. package/bundle/{chunk-nymf08b4.js → chunk-vkaa7k3e.js} +2 -2
  67. package/bundle/{chunk-dt5aae7t.js → chunk-xwdxgg16.js} +1 -1
  68. package/bundle/{chunk-t5xxs5kp.js → chunk-xy0gnpen.js} +1 -1
  69. package/bundle/{chunk-yfzyzsr4.js → chunk-ycvwpmd9.js} +1 -1
  70. package/bundle/{chunk-vwh6mv37.js → chunk-zkm3yyyf.js} +1 -1
  71. package/bundle/index.js +3 -3
  72. package/bundle/worker.js +1 -1
  73. package/package.json +1 -1
  74. package/bundle/chunk-rrd0fdra.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{el as KN,ll as Cl}from"./chunk-xqnzmr7a.js";import{Dl as W1,Fl as KX,Gl as aA,Hl as $9,Nl as S8,Ol as B0,Ql as T7,ql as L7,sl as l$,tl as xY,ul as AY,vl as I1,wl as w$,xl as I8,zl as MA}from"./chunk-r1xh50b2.js";import{Tl as xU,Ul as hU,Vl as gw,Xl as uw,Zl as L1}from"./chunk-13rsd5vv.js";import{Am as m0,Cm as O$,Dm as wL,Gm as oA,Hm as WX,Im as Yd,Jm as k5,Lm as iK,Rm as sA,Zm as o6,nm as Jd,um as j8,vm as w1,wm as K9,xm as g6,ym as k9}from"./chunk-mh19kwzw.js";import{en as r8,fn as $U,gn as s8,hn as Kw}from"./chunk-a9a0cwmf.js";import{Bn as CA,Cn as bm,Dn as _m,In as JX,in as Mw,ln as AN,mn as ON,on as aD,qn as q6,rn as Nm,sn as Em,tn as Mm,wn as Dm,xn as wm,zn as Lm}from"./chunk-nw3e93y8.js";import{Kn as u0,Ln as Jm,Mn as F$,Nn as tD,On as w0}from"./chunk-vcygx6hs.js";import{Pn as Tm}from"./chunk-khzzmyk2.js";import{Qn as d0}from"./chunk-y7hgevfv.js";import{Sn as pL,Zn as cL}from"./chunk-47k5jy1p.js";import{$n as u2,Co as vl,Do as yl,_n as k7,eo as SA,go as Ol,ho as ql}from"./chunk-kn8w69g9.js";import{Hp as dL,Jo as xL,Ko as Q8,Mo as FJ,No as HX,Ro as z4,So as hL,To as gL,Uo as aU,Wo as a6,Yo as AX,Zo as N4,_o as uL,ap as OX,cp as mL,dp as lL,ip as M4,kp as v8,lp as qX,mp as A4,np as y8,pp as G8,zp as QH}from"./chunk-ph8hn1wt.js";import{Ip as p0,Jp as FX,Lp as r6,Np as yZ,Pp as JH,Qp as YH,Sp as XH,Up as C8,Vp as g5,Wp as rU,Xp as UX}from"./chunk-ptqk1j2r.js";import{eq as mu}from"./chunk-t239rvej.js";import{hq as BA,iq as _u}from"./chunk-7hvf9dgx.js";import{Bq as VO,vq as Ww,xq as AO}from"./chunk-2b3fn9xv.js";import{Dq as G2}from"./chunk-rn043d0r.js";import{$q as WN,Mq as GN,Tq as V$,Uq as PZ,_q as h9}from"./chunk-73r8bjjz.js";import{Ir as qA,xr as D8}from"./chunk-t5xxs5kp.js";import{Jr as n8,Nr as f1}from"./chunk-ztyy3ga3.js";import{Or as V00}from"./chunk-mmjgf680.js";import{Vr as Q30}from"./chunk-nj1ntakd.js";import{as as j1}from"./chunk-tkrwcjkr.js";import{cs as F8}from"./chunk-w2cb8cry.js";import{ds as E$,hs as DN,is as vm,ls as Gl,ms as bK,ns as N1,os as _K,ps as v6,ys as eQ}from"./chunk-kj8cmn7z.js";import{Es as J8,Gs as UY,Hs as V6}from"./chunk-r5zy4za0.js";import{Ns as b0,Ws as E0}from"./chunk-tr6rdr6h.js";import{at as $4,bt as D$,ft as o0,gt as V4,ht as mV,kt as F0}from"./chunk-at22twxx.js";import{lt as P}from"./chunk-kgptyf7n.js";import{Jt as D}from"./chunk-j9h1sp4g.js";import{By as oV}from"./chunk-55fcmswd.js";import{AC as Z8,DE as T0,II as hw,JB as v7,KE as n7,LD as xw,SD as B9,TN as O,XJ as I$,YE as W4,ZD as f6,_B as y7,eH as T,lB as O1,mI as Nw,nE as PY,oC as ul,uH as nV,vI as h6,zB as S1}from"./chunk-qnvsqnz5.js";import{rO as yL}from"./chunk-j8fcfhr2.js";import{sO as m6,tO as S,uO as F1,wO as Y0,xO as CK,yO as EK}from"./chunk-r9w0thdk.js";var R7=S((MO)=>{Object.defineProperty(MO,"__esModule",{value:!0});MO.stringArray=MO.array=MO.func=MO.error=MO.number=MO.string=MO.boolean=void 0;function ed($){return $===!0||$===!1}MO.boolean=ed;function jO($){return typeof $==="string"||$ instanceof String}MO.string=jO;function $p($){return typeof $==="number"||$ instanceof Number}MO.number=$p;function Zp($){return $ instanceof Error}MO.error=Zp;function Jp($){return typeof $==="function"}MO.func=Jp;function NO($){return Array.isArray($)}MO.array=NO;function Yp($){return NO($)&&$.every((Z)=>jO(Z))}MO.stringArray=Yp});var HV=S((cO)=>{Object.defineProperty(cO,"__esModule",{value:!0});cO.Message=cO.NotificationType9=cO.NotificationType8=cO.NotificationType7=cO.NotificationType6=cO.NotificationType5=cO.NotificationType4=cO.NotificationType3=cO.NotificationType2=cO.NotificationType1=cO.NotificationType0=cO.NotificationType=cO.RequestType9=cO.RequestType8=cO.RequestType7=cO.RequestType6=cO.RequestType5=cO.RequestType4=cO.RequestType3=cO.RequestType2=cO.RequestType1=cO.RequestType=cO.RequestType0=cO.AbstractMessageSignature=cO.ParameterStructures=cO.ResponseError=cO.ErrorCodes=void 0;var z5=R7(),VV;(function($){$.ParseError=-32700,$.InvalidRequest=-32600,$.MethodNotFound=-32601,$.InvalidParams=-32602,$.InternalError=-32603,$.jsonrpcReservedErrorRangeStart=-32099,$.serverErrorStart=-32099,$.MessageWriteError=-32099,$.MessageReadError=-32098,$.PendingResponseRejected=-32097,$.ConnectionInactive=-32096,$.ServerNotInitialized=-32002,$.UnknownErrorCode=-32001,$.jsonrpcReservedErrorRangeEnd=-32000,$.serverErrorEnd=-32000})(VV||(cO.ErrorCodes=VV={}));class UV extends Error{constructor($,Z,J){super(Z);this.code=z5.number($)?$:VV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,UV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}cO.ResponseError=UV;class h${constructor($){this.kind=$}static is($){return $===h$.auto||$===h$.byName||$===h$.byPosition}toString(){return this.kind}}cO.ParameterStructures=h$;h$.auto=new h$("auto");h$.byPosition=new h$("byPosition");h$.byName=new h$("byName");class n1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return h$.auto}}cO.AbstractMessageSignature=n1;class LO extends n1{constructor($){super($,0)}}cO.RequestType0=LO;class TO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.RequestType=TO;class RO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.RequestType1=RO;class PO extends n1{constructor($){super($,2)}}cO.RequestType2=PO;class IO extends n1{constructor($){super($,3)}}cO.RequestType3=IO;class CO extends n1{constructor($){super($,4)}}cO.RequestType4=CO;class EO extends n1{constructor($){super($,5)}}cO.RequestType5=EO;class bO extends n1{constructor($){super($,6)}}cO.RequestType6=bO;class _O extends n1{constructor($){super($,7)}}cO.RequestType7=_O;class SO extends n1{constructor($){super($,8)}}cO.RequestType8=SO;class fO extends n1{constructor($){super($,9)}}cO.RequestType9=fO;class kO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.NotificationType=kO;class vO extends n1{constructor($){super($,0)}}cO.NotificationType0=vO;class yO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.NotificationType1=yO;class xO extends n1{constructor($){super($,2)}}cO.NotificationType2=xO;class hO extends n1{constructor($){super($,3)}}cO.NotificationType3=hO;class gO extends n1{constructor($){super($,4)}}cO.NotificationType4=gO;class uO extends n1{constructor($){super($,5)}}cO.NotificationType5=uO;class mO extends n1{constructor($){super($,6)}}cO.NotificationType6=mO;class lO extends n1{constructor($){super($,7)}}cO.NotificationType7=lO;class dO extends n1{constructor($){super($,8)}}cO.NotificationType8=dO;class pO extends n1{constructor($){super($,9)}}cO.NotificationType9=pO;var wO;(function($){function Z(X){let Q=X;return Q&&z5.string(Q.method)&&(z5.string(Q.id)||z5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&z5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(z5.string(Q.id)||z5.number(Q.id)||Q.id===null)}$.isResponse=Y})(wO||(cO.Message=wO={}))});var zV=S((sO)=>{var nO;Object.defineProperty(sO,"__esModule",{value:!0});sO.LRUCache=sO.LinkedMap=sO.Touch=void 0;var g$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(g$||(sO.Touch=g$={}));class BV{constructor(){this[nO]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has($){return this._map.has($)}get($,Z=g$.None){let J=this._map.get($);if(!J)return;if(Z!==g$.None)this.touch(J,Z);return J.value}set($,Z,J=g$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==g$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case g$.None:this.addItemLast(Y);break;case g$.First:this.addItemFirst(Y);break;case g$.Last:this.addItemLast(Y);break;default:this.addItemLast(Y);break}this._map.set($,Y),this._size++}return this}delete($){return!!this.remove($)}remove($){let Z=this._map.get($);if(!Z)return;return this._map.delete($),this.removeItem(Z),this._size--,Z.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let $=this._head;return this._map.delete($.key),this.removeItem($),this._size--,$.value}forEach($,Z){let J=this._state,Y=this._head;while(Y){if(Z)$.bind(Z)(Y.value,Y.key,this);else $(Y.value,Y.key,this);if(this._state!==J)throw Error("LinkedMap got modified during iteration.");Y=Y.next}}keys(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.key,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}values(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.value,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}entries(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:[Z.key,Z.value],done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}[(nO=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld($){if($>=this.size)return;if($===0){this.clear();return}let Z=this._head,J=this.size;while(Z&&J>$)this._map.delete(Z.key),Z=Z.next,J--;if(this._head=Z,this._size=J,Z)Z.previous=void 0;this._state++}addItemFirst($){if(!this._head&&!this._tail)this._tail=$;else if(!this._head)throw Error("Invalid list");else $.next=this._head,this._head.previous=$;this._head=$,this._state++}addItemLast($){if(!this._head&&!this._tail)this._head=$;else if(!this._tail)throw Error("Invalid list");else $.previous=this._tail,this._tail.next=$;this._tail=$,this._state++}removeItem($){if($===this._head&&$===this._tail)this._head=void 0,this._tail=void 0;else if($===this._head){if(!$.next)throw Error("Invalid list");$.next.previous=void 0,this._head=$.next}else if($===this._tail){if(!$.previous)throw Error("Invalid list");$.previous.next=void 0,this._tail=$.previous}else{let{next:Z,previous:J}=$;if(!Z||!J)throw Error("Invalid list");Z.previous=J,J.next=Z}$.next=void 0,$.previous=void 0,this._state++}touch($,Z){if(!this._head||!this._tail)throw Error("Invalid list");if(Z!==g$.First&&Z!==g$.Last)return;if(Z===g$.First){if($===this._head)return;let{next:J,previous:Y}=$;if($===this._tail)Y.next=void 0,this._tail=Y;else J.previous=Y,Y.next=J;$.previous=void 0,$.next=this._head,this._head.previous=$,this._head=$,this._state++}else if(Z===g$.Last){if($===this._tail)return;let{next:J,previous:Y}=$;if($===this._head)J.previous=void 0,this._head=J;else J.previous=Y,Y.next=J;$.next=void 0,$.previous=this._tail,this._tail.next=$,this._tail=$,this._state++}}toJSON(){let $=[];return this.forEach((Z,J)=>{$.push([J,Z])}),$}fromJSON($){this.clear();for(let[Z,J]of $)this.set(Z,J)}}sO.LinkedMap=BV;class oO extends BV{constructor($,Z=1){super();this._limit=$,this._ratio=Math.min(Math.max(0,Z),1)}get limit(){return this._limit}set limit($){this._limit=$,this.checkTrim()}get ratio(){return this._ratio}set ratio($){this._ratio=Math.min(Math.max(0,$),1),this.checkTrim()}get($,Z=g$.AsNew){return super.get($,Z)}peek($){return super.get($,g$.None)}set($,Z){return super.set($,Z,g$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}sO.LRUCache=oO});var $q=S((tO)=>{Object.defineProperty(tO,"__esModule",{value:!0});tO.Disposable=void 0;var aO;(function($){function Z(J){return{dispose:J}}$.create=Z})(aO||(tO.Disposable=aO={}))});var DZ=S((Zq)=>{Object.defineProperty(Zq,"__esModule",{value:!0});var FV;function AV(){if(FV===void 0)throw Error("No runtime abstraction layer installed");return FV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");FV=J}$.install=Z})(AV||(AV={}));Zq.default=AV});var P7=S((Xq)=>{Object.defineProperty(Xq,"__esModule",{value:!0});Xq.Emitter=Xq.Event=void 0;var gp=DZ(),Jq;(function($){let Z={dispose(){}};$.None=function(){return Z}})(Jq||(Xq.Event=Jq={}));class Yq{add($,Z=null,J){if(!this._callbacks)this._callbacks=[],this._contexts=[];if(this._callbacks.push($),this._contexts.push(Z),Array.isArray(J))J.push({dispose:()=>this.remove($,Z)})}remove($,Z=null){if(!this._callbacks)return;let J=!1;for(let Y=0,X=this._callbacks.length;Y<X;Y++)if(this._callbacks[Y]===$)if(this._contexts[Y]===Z){this._callbacks.splice(Y,1),this._contexts.splice(Y,1);return}else J=!0;if(J)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...$){if(!this._callbacks)return[];let Z=[],J=this._callbacks.slice(0),Y=this._contexts.slice(0);for(let X=0,Q=J.length;X<Q;X++)try{Z.push(J[X].apply(Y[X],$))}catch(G){(0,gp.default)().console.error(G)}return Z}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class q9{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new Yq;if(this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty())this._options.onFirstListenerAdd(this);this._callbacks.add($,Z);let Y={dispose:()=>{if(!this._callbacks)return;if(this._callbacks.remove($,Z),Y.dispose=q9._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty())this._options.onLastListenerRemove(this)}};if(Array.isArray(J))J.push(Y);return Y};return this._event}fire($){if(this._callbacks)this._callbacks.invoke.call(this._callbacks,$)}dispose(){if(this._callbacks)this._callbacks.dispose(),this._callbacks=void 0}}Xq.Emitter=q9;q9._noop=function(){}});var N9=S((Wq)=>{Object.defineProperty(Wq,"__esModule",{value:!0});Wq.CancellationTokenSource=Wq.CancellationToken=void 0;var mp=DZ(),lp=R7(),OV=P7(),j9;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:OV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:OV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||lp.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(j9||(Wq.CancellationToken=j9={}));var dp=Object.freeze(function($,Z){let J=(0,mp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class qV{constructor(){this._isCancelled=!1}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return dp;if(!this._emitter)this._emitter=new OV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class Gq{get token(){if(!this._token)this._token=new qV;return this._token}cancel(){if(!this._token)this._token=j9.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=j9.None;else if(this._token instanceof qV)this._token.dispose()}}Wq.CancellationTokenSource=Gq});var Aq=S((zq)=>{Object.defineProperty(zq,"__esModule",{value:!0});zq.SharedArrayReceiverStrategy=zq.SharedArraySenderStrategy=void 0;var cp=N9(),bY;(function($){$.Continue=0,$.Cancelled=1})(bY||(bY={}));class Vq{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=bY.Continue,this.buffers.set($.id,Z),$.$cancellationData=Z}async sendCancellation($,Z){let J=this.buffers.get(Z);if(J===void 0)return;let Y=new Int32Array(J,0,1);Atomics.store(Y,0,bY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}zq.SharedArraySenderStrategy=Vq;class Uq{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===bY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class Hq{constructor($){this.token=new Uq($)}cancel(){}dispose(){}}class Bq{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new cp.CancellationTokenSource;return new Hq(Z)}}zq.SharedArrayReceiverStrategy=Bq});var jV=S((qq)=>{Object.defineProperty(qq,"__esModule",{value:!0});qq.Semaphore=void 0;var np=DZ();class Oq{constructor($=1){if($<=0)throw Error("Capacity must be greater than 0");this._capacity=$,this._active=0,this._waiting=[]}lock($){return new Promise((Z,J)=>{this._waiting.push({thunk:$,resolve:Z,reject:J}),this.runNext()})}get active(){return this._active}runNext(){if(this._waiting.length===0||this._active===this._capacity)return;(0,np.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let $=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let Z=$.thunk();if(Z instanceof Promise)Z.then((J)=>{this._active--,$.resolve(J),this.runNext()},(J)=>{this._active--,$.reject(J),this.runNext()});else this._active--,$.resolve(Z),this.runNext()}catch(Z){this._active--,$.reject(Z),this.runNext()}}}qq.Semaphore=Oq});var Lq=S((Dq)=>{Object.defineProperty(Dq,"__esModule",{value:!0});Dq.ReadableStreamMessageReader=Dq.AbstractMessageReader=Dq.MessageReader=void 0;var MV=DZ(),I7=R7(),NV=P7(),op=jV(),Nq;(function($){function Z(J){let Y=J;return Y&&I7.func(Y.listen)&&I7.func(Y.dispose)&&I7.func(Y.onError)&&I7.func(Y.onClose)&&I7.func(Y.onPartialMessage)}$.is=Z})(Nq||(Dq.MessageReader=Nq={}));class wV{constructor(){this.errorEmitter=new NV.Emitter,this.closeEmitter=new NV.Emitter,this.partialMessageEmitter=new NV.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($){this.errorEmitter.fire(this.asError($))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage($){this.partialMessageEmitter.fire($)}asError($){if($ instanceof Error)return $;else return Error(`Reader received error. Reason: ${I7.string($.message)?$.message:"unknown"}`)}}Dq.AbstractMessageReader=wV;var DV;(function($){function Z(J){let Y,X,Q,G=new Map,W,K=new Map;if(J===void 0||typeof J==="string")Y=J??"utf-8";else{if(Y=J.charset??"utf-8",J.contentDecoder!==void 0)Q=J.contentDecoder,G.set(Q.name,Q);if(J.contentDecoders!==void 0)for(let V of J.contentDecoders)G.set(V.name,V);if(J.contentTypeDecoder!==void 0)W=J.contentTypeDecoder,K.set(W.name,W);if(J.contentTypeDecoders!==void 0)for(let V of J.contentTypeDecoders)K.set(V.name,V)}if(W===void 0)W=(0,MV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(DV||(DV={}));class Mq extends wV{constructor($,Z){super();this.readable=$,this.options=DV.fromOptions(Z),this.buffer=(0,MV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new op.Semaphore(1)}set partialMessageTimeout($){this._partialMessageTimeout=$}get partialMessageTimeout(){return this._partialMessageTimeout}listen($){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=$;let Z=this.readable.onData((J)=>{this.onData(J)});return this.readable.onError((J)=>this.fireError(J)),this.readable.onClose(()=>this.fireClose()),Z}onData($){try{this.buffer.append($);while(!0){if(this.nextMessageLength===-1){let J=this.buffer.tryReadHeaders(!0);if(!J)return;let Y=J.get("content-length");if(!Y){this.fireError(Error(`Header must provide a Content-Length property.
2
+ import{el as KN,ll as Cl}from"./chunk-99s035f0.js";import{Dl as W1,Fl as KX,Gl as aA,Hl as $9,Nl as S8,Ol as B0,Ql as T7,ql as L7,sl as l$,tl as xY,ul as AY,vl as I1,wl as w$,xl as I8,zl as MA}from"./chunk-h9wh48d0.js";import{Tl as xU,Ul as hU,Vl as gw,Xl as uw,Zl as L1}from"./chunk-tzb26ntq.js";import{Am as m0,Cm as O$,Dm as wL,Gm as oA,Hm as WX,Im as Yd,Jm as k5,Lm as iK,Rm as sA,Zm as o6,nm as Jd,um as j8,vm as w1,wm as K9,xm as g6,ym as k9}from"./chunk-mh19kwzw.js";import{en as r8,fn as $U,gn as s8,hn as Kw}from"./chunk-q3h42a94.js";import{Bn as CA,Cn as bm,Dn as _m,In as JX,in as Mw,ln as AN,mn as ON,on as aD,qn as q6,rn as Nm,sn as Em,tn as Mm,wn as Dm,xn as wm,zn as Lm}from"./chunk-hqbbs9dm.js";import{Kn as u0,Ln as Jm,Mn as F$,Nn as tD,On as w0}from"./chunk-vcygx6hs.js";import{Pn as Tm}from"./chunk-khzzmyk2.js";import{Qn as d0}from"./chunk-y7hgevfv.js";import{Sn as pL,Zn as cL}from"./chunk-47k5jy1p.js";import{$n as u2,Co as vl,Do as yl,_n as k7,eo as SA,go as Ol,ho as ql}from"./chunk-cfhfc86j.js";import{Hp as dL,Jo as xL,Ko as Q8,Mo as FJ,No as HX,Ro as z4,So as hL,To as gL,Uo as aU,Wo as a6,Yo as AX,Zo as N4,_o as uL,ap as OX,cp as mL,dp as lL,ip as M4,kp as v8,lp as qX,mp as A4,np as y8,pp as G8,zp as QH}from"./chunk-ph8hn1wt.js";import{Ip as p0,Jp as FX,Lp as r6,Np as yZ,Pp as JH,Qp as YH,Sp as XH,Up as C8,Vp as g5,Wp as rU,Xp as UX}from"./chunk-ptqk1j2r.js";import{eq as mu}from"./chunk-t239rvej.js";import{hq as BA,iq as _u}from"./chunk-7hvf9dgx.js";import{Bq as VO,vq as Ww,xq as AO}from"./chunk-q3nvzhyh.js";import{Dq as G2}from"./chunk-5df5aja0.js";import{$q as WN,Mq as GN,Tq as V$,Uq as PZ,_q as h9}from"./chunk-73r8bjjz.js";import{Ir as qA,xr as D8}from"./chunk-xy0gnpen.js";import{Jr as n8,Nr as f1}from"./chunk-ztyy3ga3.js";import{Or as V00}from"./chunk-mmjgf680.js";import{Vr as Q30}from"./chunk-nj1ntakd.js";import{as as j1}from"./chunk-tkrwcjkr.js";import{cs as F8}from"./chunk-vdrz2t9c.js";import{ds as E$,hs as DN,is as vm,ls as Gl,ms as bK,ns as N1,os as _K,ps as v6,ys as eQ}from"./chunk-fr34mnyg.js";import{Es as J8,Gs as UY,Hs as V6}from"./chunk-r5zy4za0.js";import{Ns as b0,Ws as E0}from"./chunk-tr6rdr6h.js";import{at as $4,bt as D$,ft as o0,gt as V4,ht as mV,kt as F0}from"./chunk-at22twxx.js";import{lt as P}from"./chunk-kgptyf7n.js";import{Jt as D}from"./chunk-j9h1sp4g.js";import{By as oV}from"./chunk-55fcmswd.js";import{AC as Z8,DE as T0,II as hw,JB as v7,KE as n7,LD as xw,SD as B9,TN as O,XJ as I$,YE as W4,ZD as f6,_B as y7,eH as T,lB as O1,mI as Nw,nE as PY,oC as ul,uH as nV,vI as h6,zB as S1}from"./chunk-qnvsqnz5.js";import{rO as yL}from"./chunk-j8fcfhr2.js";import{sO as m6,tO as S,uO as F1,wO as Y0,xO as CK,yO as EK}from"./chunk-r9w0thdk.js";var R7=S((MO)=>{Object.defineProperty(MO,"__esModule",{value:!0});MO.stringArray=MO.array=MO.func=MO.error=MO.number=MO.string=MO.boolean=void 0;function ed($){return $===!0||$===!1}MO.boolean=ed;function jO($){return typeof $==="string"||$ instanceof String}MO.string=jO;function $p($){return typeof $==="number"||$ instanceof Number}MO.number=$p;function Zp($){return $ instanceof Error}MO.error=Zp;function Jp($){return typeof $==="function"}MO.func=Jp;function NO($){return Array.isArray($)}MO.array=NO;function Yp($){return NO($)&&$.every((Z)=>jO(Z))}MO.stringArray=Yp});var HV=S((cO)=>{Object.defineProperty(cO,"__esModule",{value:!0});cO.Message=cO.NotificationType9=cO.NotificationType8=cO.NotificationType7=cO.NotificationType6=cO.NotificationType5=cO.NotificationType4=cO.NotificationType3=cO.NotificationType2=cO.NotificationType1=cO.NotificationType0=cO.NotificationType=cO.RequestType9=cO.RequestType8=cO.RequestType7=cO.RequestType6=cO.RequestType5=cO.RequestType4=cO.RequestType3=cO.RequestType2=cO.RequestType1=cO.RequestType=cO.RequestType0=cO.AbstractMessageSignature=cO.ParameterStructures=cO.ResponseError=cO.ErrorCodes=void 0;var z5=R7(),VV;(function($){$.ParseError=-32700,$.InvalidRequest=-32600,$.MethodNotFound=-32601,$.InvalidParams=-32602,$.InternalError=-32603,$.jsonrpcReservedErrorRangeStart=-32099,$.serverErrorStart=-32099,$.MessageWriteError=-32099,$.MessageReadError=-32098,$.PendingResponseRejected=-32097,$.ConnectionInactive=-32096,$.ServerNotInitialized=-32002,$.UnknownErrorCode=-32001,$.jsonrpcReservedErrorRangeEnd=-32000,$.serverErrorEnd=-32000})(VV||(cO.ErrorCodes=VV={}));class UV extends Error{constructor($,Z,J){super(Z);this.code=z5.number($)?$:VV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,UV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}cO.ResponseError=UV;class h${constructor($){this.kind=$}static is($){return $===h$.auto||$===h$.byName||$===h$.byPosition}toString(){return this.kind}}cO.ParameterStructures=h$;h$.auto=new h$("auto");h$.byPosition=new h$("byPosition");h$.byName=new h$("byName");class n1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return h$.auto}}cO.AbstractMessageSignature=n1;class LO extends n1{constructor($){super($,0)}}cO.RequestType0=LO;class TO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.RequestType=TO;class RO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.RequestType1=RO;class PO extends n1{constructor($){super($,2)}}cO.RequestType2=PO;class IO extends n1{constructor($){super($,3)}}cO.RequestType3=IO;class CO extends n1{constructor($){super($,4)}}cO.RequestType4=CO;class EO extends n1{constructor($){super($,5)}}cO.RequestType5=EO;class bO extends n1{constructor($){super($,6)}}cO.RequestType6=bO;class _O extends n1{constructor($){super($,7)}}cO.RequestType7=_O;class SO extends n1{constructor($){super($,8)}}cO.RequestType8=SO;class fO extends n1{constructor($){super($,9)}}cO.RequestType9=fO;class kO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.NotificationType=kO;class vO extends n1{constructor($){super($,0)}}cO.NotificationType0=vO;class yO extends n1{constructor($,Z=h$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}cO.NotificationType1=yO;class xO extends n1{constructor($){super($,2)}}cO.NotificationType2=xO;class hO extends n1{constructor($){super($,3)}}cO.NotificationType3=hO;class gO extends n1{constructor($){super($,4)}}cO.NotificationType4=gO;class uO extends n1{constructor($){super($,5)}}cO.NotificationType5=uO;class mO extends n1{constructor($){super($,6)}}cO.NotificationType6=mO;class lO extends n1{constructor($){super($,7)}}cO.NotificationType7=lO;class dO extends n1{constructor($){super($,8)}}cO.NotificationType8=dO;class pO extends n1{constructor($){super($,9)}}cO.NotificationType9=pO;var wO;(function($){function Z(X){let Q=X;return Q&&z5.string(Q.method)&&(z5.string(Q.id)||z5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&z5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(z5.string(Q.id)||z5.number(Q.id)||Q.id===null)}$.isResponse=Y})(wO||(cO.Message=wO={}))});var zV=S((sO)=>{var nO;Object.defineProperty(sO,"__esModule",{value:!0});sO.LRUCache=sO.LinkedMap=sO.Touch=void 0;var g$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(g$||(sO.Touch=g$={}));class BV{constructor(){this[nO]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has($){return this._map.has($)}get($,Z=g$.None){let J=this._map.get($);if(!J)return;if(Z!==g$.None)this.touch(J,Z);return J.value}set($,Z,J=g$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==g$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case g$.None:this.addItemLast(Y);break;case g$.First:this.addItemFirst(Y);break;case g$.Last:this.addItemLast(Y);break;default:this.addItemLast(Y);break}this._map.set($,Y),this._size++}return this}delete($){return!!this.remove($)}remove($){let Z=this._map.get($);if(!Z)return;return this._map.delete($),this.removeItem(Z),this._size--,Z.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let $=this._head;return this._map.delete($.key),this.removeItem($),this._size--,$.value}forEach($,Z){let J=this._state,Y=this._head;while(Y){if(Z)$.bind(Z)(Y.value,Y.key,this);else $(Y.value,Y.key,this);if(this._state!==J)throw Error("LinkedMap got modified during iteration.");Y=Y.next}}keys(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.key,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}values(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.value,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}entries(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:[Z.key,Z.value],done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}[(nO=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld($){if($>=this.size)return;if($===0){this.clear();return}let Z=this._head,J=this.size;while(Z&&J>$)this._map.delete(Z.key),Z=Z.next,J--;if(this._head=Z,this._size=J,Z)Z.previous=void 0;this._state++}addItemFirst($){if(!this._head&&!this._tail)this._tail=$;else if(!this._head)throw Error("Invalid list");else $.next=this._head,this._head.previous=$;this._head=$,this._state++}addItemLast($){if(!this._head&&!this._tail)this._head=$;else if(!this._tail)throw Error("Invalid list");else $.previous=this._tail,this._tail.next=$;this._tail=$,this._state++}removeItem($){if($===this._head&&$===this._tail)this._head=void 0,this._tail=void 0;else if($===this._head){if(!$.next)throw Error("Invalid list");$.next.previous=void 0,this._head=$.next}else if($===this._tail){if(!$.previous)throw Error("Invalid list");$.previous.next=void 0,this._tail=$.previous}else{let{next:Z,previous:J}=$;if(!Z||!J)throw Error("Invalid list");Z.previous=J,J.next=Z}$.next=void 0,$.previous=void 0,this._state++}touch($,Z){if(!this._head||!this._tail)throw Error("Invalid list");if(Z!==g$.First&&Z!==g$.Last)return;if(Z===g$.First){if($===this._head)return;let{next:J,previous:Y}=$;if($===this._tail)Y.next=void 0,this._tail=Y;else J.previous=Y,Y.next=J;$.previous=void 0,$.next=this._head,this._head.previous=$,this._head=$,this._state++}else if(Z===g$.Last){if($===this._tail)return;let{next:J,previous:Y}=$;if($===this._head)J.previous=void 0,this._head=J;else J.previous=Y,Y.next=J;$.next=void 0,$.previous=this._tail,this._tail.next=$,this._tail=$,this._state++}}toJSON(){let $=[];return this.forEach((Z,J)=>{$.push([J,Z])}),$}fromJSON($){this.clear();for(let[Z,J]of $)this.set(Z,J)}}sO.LinkedMap=BV;class oO extends BV{constructor($,Z=1){super();this._limit=$,this._ratio=Math.min(Math.max(0,Z),1)}get limit(){return this._limit}set limit($){this._limit=$,this.checkTrim()}get ratio(){return this._ratio}set ratio($){this._ratio=Math.min(Math.max(0,$),1),this.checkTrim()}get($,Z=g$.AsNew){return super.get($,Z)}peek($){return super.get($,g$.None)}set($,Z){return super.set($,Z,g$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}sO.LRUCache=oO});var $q=S((tO)=>{Object.defineProperty(tO,"__esModule",{value:!0});tO.Disposable=void 0;var aO;(function($){function Z(J){return{dispose:J}}$.create=Z})(aO||(tO.Disposable=aO={}))});var DZ=S((Zq)=>{Object.defineProperty(Zq,"__esModule",{value:!0});var FV;function AV(){if(FV===void 0)throw Error("No runtime abstraction layer installed");return FV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");FV=J}$.install=Z})(AV||(AV={}));Zq.default=AV});var P7=S((Xq)=>{Object.defineProperty(Xq,"__esModule",{value:!0});Xq.Emitter=Xq.Event=void 0;var gp=DZ(),Jq;(function($){let Z={dispose(){}};$.None=function(){return Z}})(Jq||(Xq.Event=Jq={}));class Yq{add($,Z=null,J){if(!this._callbacks)this._callbacks=[],this._contexts=[];if(this._callbacks.push($),this._contexts.push(Z),Array.isArray(J))J.push({dispose:()=>this.remove($,Z)})}remove($,Z=null){if(!this._callbacks)return;let J=!1;for(let Y=0,X=this._callbacks.length;Y<X;Y++)if(this._callbacks[Y]===$)if(this._contexts[Y]===Z){this._callbacks.splice(Y,1),this._contexts.splice(Y,1);return}else J=!0;if(J)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...$){if(!this._callbacks)return[];let Z=[],J=this._callbacks.slice(0),Y=this._contexts.slice(0);for(let X=0,Q=J.length;X<Q;X++)try{Z.push(J[X].apply(Y[X],$))}catch(G){(0,gp.default)().console.error(G)}return Z}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class q9{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new Yq;if(this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty())this._options.onFirstListenerAdd(this);this._callbacks.add($,Z);let Y={dispose:()=>{if(!this._callbacks)return;if(this._callbacks.remove($,Z),Y.dispose=q9._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty())this._options.onLastListenerRemove(this)}};if(Array.isArray(J))J.push(Y);return Y};return this._event}fire($){if(this._callbacks)this._callbacks.invoke.call(this._callbacks,$)}dispose(){if(this._callbacks)this._callbacks.dispose(),this._callbacks=void 0}}Xq.Emitter=q9;q9._noop=function(){}});var N9=S((Wq)=>{Object.defineProperty(Wq,"__esModule",{value:!0});Wq.CancellationTokenSource=Wq.CancellationToken=void 0;var mp=DZ(),lp=R7(),OV=P7(),j9;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:OV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:OV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||lp.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(j9||(Wq.CancellationToken=j9={}));var dp=Object.freeze(function($,Z){let J=(0,mp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class qV{constructor(){this._isCancelled=!1}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return dp;if(!this._emitter)this._emitter=new OV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class Gq{get token(){if(!this._token)this._token=new qV;return this._token}cancel(){if(!this._token)this._token=j9.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=j9.None;else if(this._token instanceof qV)this._token.dispose()}}Wq.CancellationTokenSource=Gq});var Aq=S((zq)=>{Object.defineProperty(zq,"__esModule",{value:!0});zq.SharedArrayReceiverStrategy=zq.SharedArraySenderStrategy=void 0;var cp=N9(),bY;(function($){$.Continue=0,$.Cancelled=1})(bY||(bY={}));class Vq{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=bY.Continue,this.buffers.set($.id,Z),$.$cancellationData=Z}async sendCancellation($,Z){let J=this.buffers.get(Z);if(J===void 0)return;let Y=new Int32Array(J,0,1);Atomics.store(Y,0,bY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}zq.SharedArraySenderStrategy=Vq;class Uq{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===bY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class Hq{constructor($){this.token=new Uq($)}cancel(){}dispose(){}}class Bq{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new cp.CancellationTokenSource;return new Hq(Z)}}zq.SharedArrayReceiverStrategy=Bq});var jV=S((qq)=>{Object.defineProperty(qq,"__esModule",{value:!0});qq.Semaphore=void 0;var np=DZ();class Oq{constructor($=1){if($<=0)throw Error("Capacity must be greater than 0");this._capacity=$,this._active=0,this._waiting=[]}lock($){return new Promise((Z,J)=>{this._waiting.push({thunk:$,resolve:Z,reject:J}),this.runNext()})}get active(){return this._active}runNext(){if(this._waiting.length===0||this._active===this._capacity)return;(0,np.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let $=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let Z=$.thunk();if(Z instanceof Promise)Z.then((J)=>{this._active--,$.resolve(J),this.runNext()},(J)=>{this._active--,$.reject(J),this.runNext()});else this._active--,$.resolve(Z),this.runNext()}catch(Z){this._active--,$.reject(Z),this.runNext()}}}qq.Semaphore=Oq});var Lq=S((Dq)=>{Object.defineProperty(Dq,"__esModule",{value:!0});Dq.ReadableStreamMessageReader=Dq.AbstractMessageReader=Dq.MessageReader=void 0;var MV=DZ(),I7=R7(),NV=P7(),op=jV(),Nq;(function($){function Z(J){let Y=J;return Y&&I7.func(Y.listen)&&I7.func(Y.dispose)&&I7.func(Y.onError)&&I7.func(Y.onClose)&&I7.func(Y.onPartialMessage)}$.is=Z})(Nq||(Dq.MessageReader=Nq={}));class wV{constructor(){this.errorEmitter=new NV.Emitter,this.closeEmitter=new NV.Emitter,this.partialMessageEmitter=new NV.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($){this.errorEmitter.fire(this.asError($))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage($){this.partialMessageEmitter.fire($)}asError($){if($ instanceof Error)return $;else return Error(`Reader received error. Reason: ${I7.string($.message)?$.message:"unknown"}`)}}Dq.AbstractMessageReader=wV;var DV;(function($){function Z(J){let Y,X,Q,G=new Map,W,K=new Map;if(J===void 0||typeof J==="string")Y=J??"utf-8";else{if(Y=J.charset??"utf-8",J.contentDecoder!==void 0)Q=J.contentDecoder,G.set(Q.name,Q);if(J.contentDecoders!==void 0)for(let V of J.contentDecoders)G.set(V.name,V);if(J.contentTypeDecoder!==void 0)W=J.contentTypeDecoder,K.set(W.name,W);if(J.contentTypeDecoders!==void 0)for(let V of J.contentTypeDecoders)K.set(V.name,V)}if(W===void 0)W=(0,MV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(DV||(DV={}));class Mq extends wV{constructor($,Z){super();this.readable=$,this.options=DV.fromOptions(Z),this.buffer=(0,MV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new op.Semaphore(1)}set partialMessageTimeout($){this._partialMessageTimeout=$}get partialMessageTimeout(){return this._partialMessageTimeout}listen($){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=$;let Z=this.readable.onData((J)=>{this.onData(J)});return this.readable.onError((J)=>this.fireError(J)),this.readable.onClose(()=>this.fireClose()),Z}onData($){try{this.buffer.append($);while(!0){if(this.nextMessageLength===-1){let J=this.buffer.tryReadHeaders(!0);if(!J)return;let Y=J.get("content-length");if(!Y){this.fireError(Error(`Header must provide a Content-Length property.
3
3
  ${JSON.stringify(Object.fromEntries(J))}`));return}let X=parseInt(Y);if(isNaN(X)){this.fireError(Error(`Content-Length value must be a number. Got ${Y}`));return}this.nextMessageLength=X}let Z=this.buffer.tryReadBody(this.nextMessageLength);if(Z===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let J=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(Z):Z,Y=await this.options.contentTypeDecoder.decode(J,this.options);this.callback(Y)}).catch((J)=>{this.fireError(J)})}}catch(Z){this.fireError(Z)}}clearPartialMessageTimer(){if(this.partialMessageTimer)this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0}setPartialMessageTimer(){if(this.clearPartialMessageTimer(),this._partialMessageTimeout<=0)return;this.partialMessageTimer=(0,MV.default)().timer.setTimeout(($,Z)=>{if(this.partialMessageTimer=void 0,$===this.messageToken)this.firePartialMessage({messageToken:$,waitingTime:Z}),this.setPartialMessageTimer()},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout)}}Dq.ReadableStreamMessageReader=Mq});var _q=S((Eq)=>{Object.defineProperty(Eq,"__esModule",{value:!0});Eq.WriteableStreamMessageWriter=Eq.AbstractMessageWriter=Eq.MessageWriter=void 0;var Tq=DZ(),_Y=R7(),ap=jV(),Rq=P7(),tp="Content-Length: ",Pq=`\r
4
4
  `,Iq;(function($){function Z(J){let Y=J;return Y&&_Y.func(Y.dispose)&&_Y.func(Y.onClose)&&_Y.func(Y.onError)&&_Y.func(Y.write)}$.is=Z})(Iq||(Eq.MessageWriter=Iq={}));class TV{constructor(){this.errorEmitter=new Rq.Emitter,this.closeEmitter=new Rq.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($,Z,J){this.errorEmitter.fire([this.asError($),Z,J])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError($){if($ instanceof Error)return $;else return Error(`Writer received error. Reason: ${_Y.string($.message)?$.message:"unknown"}`)}}Eq.AbstractMessageWriter=TV;var LV;(function($){function Z(J){if(J===void 0||typeof J==="string")return{charset:J??"utf-8",contentTypeEncoder:(0,Tq.default)().applicationJson.encoder};else return{charset:J.charset??"utf-8",contentEncoder:J.contentEncoder,contentTypeEncoder:J.contentTypeEncoder??(0,Tq.default)().applicationJson.encoder}}$.fromOptions=Z})(LV||(LV={}));class Cq extends TV{constructor($,Z){super();this.writable=$,this.options=LV.fromOptions(Z),this.errorCount=0,this.writeSemaphore=new ap.Semaphore(1),this.writable.onError((J)=>this.fireError(J)),this.writable.onClose(()=>this.fireClose())}async write($){return this.writeSemaphore.lock(async()=>{return this.options.contentTypeEncoder.encode($,this.options).then((J)=>{if(this.options.contentEncoder!==void 0)return this.options.contentEncoder.encode(J);else return J}).then((J)=>{let Y=[];return Y.push(tp,J.byteLength.toString(),Pq),Y.push(Pq),this.doWrite($,Y,J)},(J)=>{throw this.fireError(J),J})})}async doWrite($,Z,J){try{return await this.writable.write(Z.join(""),"ascii"),this.writable.write(J)}catch(Y){return this.handleError(Y,$),Promise.reject(Y)}}handleError($,Z){this.errorCount++,this.fireError($,Z,this.errorCount)}end(){this.writable.end()}}Eq.WriteableStreamMessageWriter=Cq});var vq=S((fq)=>{Object.defineProperty(fq,"__esModule",{value:!0});fq.AbstractMessageBuffer=void 0;var Zc=13,Jc=10,Yc=`\r
5
5
  `;class Sq{constructor($="utf-8"){this._encoding=$,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append($){let Z=typeof $==="string"?this.fromString($,this._encoding):$;this._chunks.push(Z),this._totalLength+=Z.byteLength}tryReadHeaders($=!1){if(this._chunks.length===0)return;let Z=0,J=0,Y=0,X=0;$:while(J<this._chunks.length){let K=this._chunks[J];Y=0;Z:while(Y<K.length){switch(K[Y]){case Zc:switch(Z){case 0:Z=1;break;case 2:Z=3;break;default:Z=0}break;case Jc:switch(Z){case 1:Z=2;break;case 3:Z=4,Y++;break $;default:Z=0}break;default:Z=0}Y++}X+=K.byteLength,J++}if(Z!==4)return;let Q=this._read(X+Y),G=new Map,W=this.toString(Q,"ascii").split(Yc);if(W.length<2)return G;for(let K=0;K<W.length-2;K++){let V=W[K],U=V.indexOf(":");if(U===-1)throw Error(`Message header must separate key and value using ':'
@@ -485,7 +485,7 @@ ${J}`);Z.destroy($)}function Ku($){if(typeof $!=="function")throw new Qu(typeof
485
485
  `})}KK.prototype.incr=function($,Z,J,Y){this.redis.rateLimit(this.key+$,J,Y,this.continueExceeding,this.exponentialBackoff,(X,Q)=>{X?Z(X,null):Z(null,{current:Q[0],ttl:Q[1]})})};KK.prototype.child=function($){return new KK($.continueExceeding,$.exponentialBackoff,this.redis,`${this.key}${$.routeInfo.method}${$.routeInfo.url}-`)};Mu.exports=KK});var Cu=S((Kh0,VK)=>{var Sq0=Ou(),{parse:Tu,format:fq0}=qu(),kq0=Nu(),vq0=Du(),yq0={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},xq0={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},UA=()=>{},hq0=($)=>$.ip,gq0=($,Z)=>{let J=Error(`Rate limit exceeded, retry in ${Z.after}`);return J.statusCode=Z.statusCode,J};async function HA($,Z){let J={global:typeof Z.global==="boolean"?Z.global:!0};if(typeof Z.enableDraftSpec==="boolean"&&Z.enableDraftSpec)J.enableDraftSpec=!0,J.labels=xq0;else J.enableDraftSpec=!1,J.labels=yq0;if(J.addHeaders=Object.assign({[J.labels.rateLimit]:!0,[J.labels.rateRemaining]:!0,[J.labels.rateReset]:!0,[J.labels.retryAfter]:!0},Z.addHeaders),J.addHeadersOnExceeding=Object.assign({[J.labels.rateLimit]:!0,[J.labels.rateRemaining]:!0,[J.labels.rateReset]:!0},Z.addHeadersOnExceeding),Number.isFinite(Z.max)&&Z.max>=0)J.max=Math.trunc(Z.max);else if(typeof Z.max==="function")J.max=Z.max;else J.max=1000;if(Number.isFinite(Z.timeWindow)&&Z.timeWindow>=0)J.timeWindow=Math.trunc(Z.timeWindow);else if(typeof Z.timeWindow==="string")J.timeWindow=Tu(Z.timeWindow);else if(typeof Z.timeWindow==="function")J.timeWindow=Z.timeWindow;else J.timeWindow=60000;if(J.hook=Z.hook||"onRequest",J.allowList=Z.allowList||Z.whitelist||null,J.ban=Number.isFinite(Z.ban)&&Z.ban>=0?Math.trunc(Z.ban):-1,J.onBanReach=typeof Z.onBanReach==="function"?Z.onBanReach:UA,J.onExceeding=typeof Z.onExceeding==="function"?Z.onExceeding:UA,J.onExceeded=typeof Z.onExceeded==="function"?Z.onExceeded:UA,J.continueExceeding=typeof Z.continueExceeding==="boolean"?Z.continueExceeding:!1,J.exponentialBackoff=typeof Z.exponentialBackoff==="boolean"?Z.exponentialBackoff:!1,J.keyGenerator=typeof Z.keyGenerator==="function"?Z.keyGenerator:hq0,typeof Z.errorResponseBuilder==="function")J.errorResponseBuilder=Z.errorResponseBuilder,J.isCustomErrorMessage=!0;else J.errorResponseBuilder=gq0,J.isCustomErrorMessage=!1;J.skipOnError=typeof Z.skipOnError==="boolean"?Z.skipOnError:!1;let Y={rateLimitRan:Symbol("fastify.request.rateLimitRan"),store:null};if(Z.store){let X=Z.store;Y.store=new X(J)}else if(Z.redis)Y.store=new vq0(J.continueExceeding,J.exponentialBackoff,Z.redis,Z.nameSpace);else Y.store=new kq0(J.continueExceeding,J.exponentialBackoff,Z.cache);if($.decorateRequest(Y.rateLimitRan,!1),!$.hasDecorator("createRateLimit"))$.decorate("createRateLimit",(X)=>{let Q=wu(Y,J,X);return(G)=>Pu.apply(this,Q.concat(G))});if(!$.hasDecorator("rateLimit"))$.decorate("rateLimit",(X)=>{let Q=wu(Y,J,X);return Iu(...Q)});$.addHook("onRoute",(X)=>{if(X.config?.rateLimit!=null){if(typeof X.config.rateLimit==="object"){let Q=Object.create(Y),G=Ru(J,X.config.rateLimit,{routeInfo:X});Q.store=Y.store.child(G),Lu(Q,G,X)}else if(X.config.rateLimit!==!1)throw Error("Unknown value for route rate-limit configuration")}else if(J.global)Lu(Y,J,X)})}function Ru(...$){let Z=Object.assign({},...$);if(Number.isFinite(Z.timeWindow)&&Z.timeWindow>=0)Z.timeWindow=Math.trunc(Z.timeWindow);else if(typeof Z.timeWindow==="string")Z.timeWindow=Tu(Z.timeWindow);else if(typeof Z.timeWindow!=="function")Z.timeWindow=60000;if(Number.isFinite(Z.max)&&Z.max>=0)Z.max=Math.trunc(Z.max);else if(typeof Z.max!=="function")Z.max=1000;if(Number.isFinite(Z.ban)&&Z.ban>=0)Z.ban=Math.trunc(Z.ban);else Z.ban=-1;if(Z.groupId!==void 0&&typeof Z.groupId!=="string")throw Error("groupId must be a string");return Z}function wu($,Z,J){if(typeof J==="object"){let Y=Object.create($),X=Ru(Z,J,{routeInfo:{}});return Y.store=Y.store.child(X),[Y,X]}return[$,Z]}function Lu($,Z,J){let Y=Z.hook,X=Iu($,Z);if(Array.isArray(J[Y]))J[Y].push(X);else if(typeof J[Y]==="function")J[Y]=[J[Y],X];else J[Y]=[X]}async function Pu($,Z,J){let{store:Y}=$,X=await Z.keyGenerator(J),Q=J.routeOptions.config?.rateLimit?.groupId;if(Q)X+=Q;if(Z.allowList){if(typeof Z.allowList==="function"){if(await Z.allowList(J,X))return{isAllowed:!0,key:X}}else if(Z.allowList.indexOf(X)!==-1)return{isAllowed:!0,key:X}}let G=typeof Z.max==="number"?Z.max:await Z.max(J,X),W=typeof Z.timeWindow==="number"?Z.timeWindow:await Z.timeWindow(J,X),K=0,V=0,U=0;try{let H=await new Promise((B,z)=>{Y.incr(X,(F,A)=>{F?z(F):B(A)},W,G)});K=H.current,V=H.ttl,U=Math.ceil(H.ttl/1000)}catch(H){if(!Z.skipOnError)throw H}return{isAllowed:!1,key:X,max:G,timeWindow:W,remaining:Math.max(0,G-K),ttl:V,ttlInSeconds:U,isExceeded:K>G,isBanned:Z.ban!==-1&&K-G>Z.ban}}function Iu($,Z){let{rateLimitRan:J}=$;return async(Y,X)=>{if(Y[J])return;Y[J]=!0;let Q=await Pu($,Z,Y);if(Q.isAllowed)return;let{key:G,max:W,remaining:K,ttl:V,ttlInSeconds:U,isExceeded:H,isBanned:B}=Q;if(!H){if(Z.addHeadersOnExceeding[Z.labels.rateLimit])X.header(Z.labels.rateLimit,W);if(Z.addHeadersOnExceeding[Z.labels.rateRemaining])X.header(Z.labels.rateRemaining,K);if(Z.addHeadersOnExceeding[Z.labels.rateReset])X.header(Z.labels.rateReset,U);Z.onExceeding(Y,G);return}if(Z.onExceeded(Y,G),Z.addHeaders[Z.labels.rateLimit])X.header(Z.labels.rateLimit,W);if(Z.addHeaders[Z.labels.rateRemaining])X.header(Z.labels.rateRemaining,0);if(Z.addHeaders[Z.labels.rateReset])X.header(Z.labels.rateReset,U);if(Z.addHeaders[Z.labels.retryAfter])X.header(Z.labels.retryAfter,U);let z={statusCode:429,ban:!1,max:W,ttl:V,after:fq0(U*1000,!0)};if(B)z.statusCode=403,z.ban=!0,Z.onBanReach(Y,G);throw Z.errorResponseBuilder(Y,z)}}VK.exports=Sq0(HA,{fastify:"5.x",name:"@fastify/rate-limit"});VK.exports.default=HA;VK.exports.fastifyRateLimit=HA});var km=S((fm,jK)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof jK==="object"&&jK.exports)jK.exports=Z();else $.fuzzysort=Z()})(fm,($)=>{var Z=(u,l)=>{if(!u||!l)return r;var $0=z(u);if(!g(l))l=B(l);var v=$0.bitflags;if((v&l._bitflags)!==v)return r;return A($0,l)},J=(u,l,$0)=>{if(!u)return $0?.all?F(l,$0):t;var v=z(u),h=v.bitflags,c=v.containsSpace,m=U($0?.threshold||0),a=$0?.limit||d,e=0,H0=0,A0=l.length;function P0(x){if(e<a)h0.add(x),++e;else if(++H0,x._score>h0.peek()._score)h0.replaceTop(x)}if($0?.key){var s0=$0.key;for(var o=0;o<A0;++o){var K0=l[o],z0=k(K0,s0);if(!z0)continue;if(!g(z0))z0=B(z0);if((h&z0._bitflags)!==h)continue;var j0=A(v,z0);if(j0===r)continue;if(j0._score<m)continue;j0.obj=K0,P0(j0)}}else if($0?.keys){var Q1=$0.keys,_0=Q1.length;$:for(var o=0;o<A0;++o){var K0=l[o];{var e0=0;for(var S0=0;S0<_0;++S0){var s0=Q1[S0],z0=k(K0,s0);if(!z0){b[S0]=G0;continue}if(!g(z0))z0=B(z0);b[S0]=z0,e0|=z0._bitflags}if((h&e0)!==h)continue}if(c)for(let n=0;n<v.spaceSearches.length;n++)E[n]=p;for(var S0=0;S0<_0;++S0){if(z0=b[S0],z0===G0){y[S0]=G0;continue}if(y[S0]=A(v,z0,!1,c),y[S0]===r){y[S0]=G0;continue}if(c)for(let J0=0;J0<v.spaceSearches.length;J0++){if(f[J0]>-1000){if(E[J0]>p){var C1=(E[J0]+f[J0])/4;if(C1>E[J0])E[J0]=C1}}if(f[J0]>E[J0])E[J0]=f[J0]}}if(c){for(let n=0;n<v.spaceSearches.length;n++)if(E[n]===p)continue $}else{var n0=!1;for(let n=0;n<_0;n++)if(y[n]._score!==p){n0=!0;break}if(!n0)continue}var z1=new W(_0);for(let n=0;n<_0;n++)z1[n]=y[n];if(c){var a0=0;for(let n=0;n<v.spaceSearches.length;n++)a0+=E[n]}else{var a0=p;for(let J0=0;J0<_0;J0++){var j0=z1[J0];if(j0._score>-1000){if(a0>p){var C1=(a0+j0._score)/4;if(C1>a0)a0=C1}}if(j0._score>a0)a0=j0._score}}if(z1.obj=K0,z1._score=a0,$0?.scoreFn){if(a0=$0.scoreFn(z1),!a0)continue;a0=U(a0),z1._score=a0}if(a0<m)continue;P0(z1)}}else for(var o=0;o<A0;++o){var z0=l[o];if(!z0)continue;if(!g(z0))z0=B(z0);if((h&z0._bitflags)!==h)continue;var j0=A(v,z0);if(j0===r)continue;if(j0._score<m)continue;P0(j0)}if(e===0)return t;var U1=Array(e);for(var o=e-1;o>=0;--o)U1[o]=h0.poll();return U1.total=e+H0,U1},Y=(u,l="<b>",$0="</b>")=>{var v=typeof l==="function"?l:void 0,h=u.target,c=h.length,m=u.indexes,a="",e=0,H0=0,A0=!1,P0=[];for(var s0=0;s0<c;++s0){var o=h[s0];if(m[H0]===s0){if(++H0,!A0)if(A0=!0,v)P0.push(a),a="";else a+=l;if(H0===m.length){if(v)a+=o,P0.push(v(a,e++)),a="",P0.push(h.substr(s0+1));else a+=o+$0+h.substr(s0+1);break}}else if(A0)if(A0=!1,v)P0.push(v(a,e++)),a="";else a+=$0;a+=o}return v?P0:a},X=(u)=>{if(typeof u==="number")u=""+u;else if(typeof u!=="string")u="";var l=L(u);return K(u,{_targetLower:l._lower,_targetLowerCodes:l.lowerCodes,_bitflags:l.bitflags})},Q=()=>{C.clear(),R.clear()};class G{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((u,l)=>u-l)}set["indexes"](u){return this._indexes=u}["highlight"](u,l){return Y(this,u,l)}get["score"](){return V(this._score)}set["score"](u){this._score=U(u)}}class W extends Array{get["score"](){return V(this._score)}set["score"](u){this._score=U(u)}}var K=(u,l)=>{let $0=new G;return $0.target=u,$0.obj=l.obj??r,$0._score=l._score??p,$0._indexes=l._indexes??[],$0._targetLower=l._targetLower??"",$0._targetLowerCodes=l._targetLowerCodes??r,$0._nextBeginningIndexes=l._nextBeginningIndexes??r,$0._bitflags=l._bitflags??0,$0},V=(u)=>{if(u===p)return 0;if(u>1)return u;return Math.E**(((-u+1)**0.04307-1)*-2)},U=(u)=>{if(u===0)return p;if(u>1)return u;return 1-Math.pow(Math.log(u)/-2+1,23.218017181332716)},H=(u)=>{if(typeof u==="number")u=""+u;else if(typeof u!=="string")u="";u=u.trim();var l=L(u),$0=[];if(l.containsSpace){var v=u.split(/\s+/);v=[...new Set(v)];for(var h=0;h<v.length;h++){if(v[h]==="")continue;var c=L(v[h]);$0.push({lowerCodes:c.lowerCodes,_lower:v[h].toLowerCase(),containsSpace:!1})}}return{lowerCodes:l.lowerCodes,_lower:l._lower,containsSpace:l.containsSpace,bitflags:l.bitflags,spaceSearches:$0}},B=(u)=>{if(u.length>999)return X(u);var l=C.get(u);if(l!==void 0)return l;return l=X(u),C.set(u,l),l},z=(u)=>{if(u.length>999)return H(u);var l=R.get(u);if(l!==void 0)return l;return l=H(u),R.set(u,l),l},F=(u,l)=>{var $0=[];$0.total=u.length;var v=l?.limit||d;if(l?.key)for(var h=0;h<u.length;h++){var c=u[h],m=k(c,l.key);if(m==r)continue;if(!g(m))m=B(m);var a=K(m.target,{_score:m._score,obj:c});if($0.push(a),$0.length>=v)return $0}else if(l?.keys)for(var h=0;h<u.length;h++){var c=u[h],e=new W(l.keys.length);for(var H0=l.keys.length-1;H0>=0;--H0){var m=k(c,l.keys[H0]);if(!m){e[H0]=G0;continue}if(!g(m))m=B(m);m._score=p,m._indexes.len=0,e[H0]=m}if(e.obj=c,e._score=p,$0.push(e),$0.length>=v)return $0}else for(var h=0;h<u.length;h++){var m=u[h];if(m==r)continue;if(!g(m))m=B(m);if(m._score=p,m._indexes.len=0,$0.push(m),$0.length>=v)return $0}return $0},A=(u,l,$0=!1,v=!1)=>{if($0===!1&&u.containsSpace)return j(u,l,v);var{_lower:h,lowerCodes:c}=u,m=c[0],a=l._targetLowerCodes,e=c.length,H0=a.length,o=0,A0=0,P0=0;for(;;){var s0=m===a[A0];if(s0){if(w[P0++]=A0,++o,o===e)break;m=c[o]}if(++A0,A0>=H0)return r}var o=0,K0=!1,z0=0,j0=l._nextBeginningIndexes;if(j0===r)j0=l._nextBeginningIndexes=M(l.target);A0=w[0]===0?0:j0[w[0]-1];var Q1=0;if(A0!==H0)for(;;)if(A0>=H0){if(o<=0)break;if(++Q1,Q1>200)break;--o;var _0=I[--z0];A0=j0[_0]}else{var s0=c[o]===a[A0];if(s0){if(I[z0++]=A0,++o,o===e){K0=!0;break}++A0}else A0=j0[A0]}var e0=e<=1?-1:l._targetLower.indexOf(h,w[0]),S0=!!~e0,C1=!S0?!1:e0===0||l._nextBeginningIndexes[e0-1]===e0;if(S0&&!C1)for(var n0=0;n0<j0.length;n0=j0[n0]){if(n0<=e0)continue;for(var z1=0;z1<e;z1++)if(c[z1]!==l._targetLowerCodes[n0+z1])break;if(z1===e){e0=n0,C1=!0;break}}var a0=(n)=>{var J0=0,C0=0;for(var M0=1;M0<e;++M0)if(n[M0]-n[M0-1]!==1)J0-=n[M0],++C0;var D1=n[e-1]-n[0]-(e-1);if(J0-=(12+D1)*C0,n[0]!==0)J0-=n[0]*n[0]*0.2;if(!K0)J0*=1000;else{var g0=1;for(var M0=j0[0];M0<H0;M0=j0[M0])++g0;if(g0>24)J0*=(g0-24)*10}if(J0-=(H0-e)/2,S0)J0/=1+e*e*1;if(C1)J0/=1+e*e*1;return J0-=(H0-e)/2,J0};if(!K0){if(S0)for(var n0=0;n0<e;++n0)w[n0]=e0+n0;var U1=w,x=a0(U1)}else if(C1){for(var n0=0;n0<e;++n0)w[n0]=e0+n0;var U1=w,x=a0(w)}else var U1=I,x=a0(I);l._score=x;for(var n0=0;n0<e;++n0)l._indexes[n0]=U1[n0];l._indexes.len=e;let i=new G;return i.target=l.target,i._score=l._score,i._indexes=l._indexes,i},j=(u,l,$0)=>{var v=new Set,h=0,c=r,m=0,a=u.spaceSearches,e=a.length,H0=0,A0=()=>{for(let C1=H0-1;C1>=0;C1--)l._nextBeginningIndexes[_[C1*2+0]]=_[C1*2+1]},P0=!1;for(var S0=0;S0<e;++S0){f[S0]=p;var s0=a[S0];if(c=A(s0,l),$0){if(c===r)continue;P0=!0}else if(c===r)return A0(),r;var o=S0===e-1;if(!o){var K0=c._indexes,z0=!0;for(let n0=0;n0<K0.len-1;n0++)if(K0[n0+1]-K0[n0]!==1){z0=!1;break}if(z0){var j0=K0[K0.len-1]+1,Q1=l._nextBeginningIndexes[j0-1];for(let n0=j0-1;n0>=0;n0--){if(Q1!==l._nextBeginningIndexes[n0])break;l._nextBeginningIndexes[n0]=j0,_[H0*2+0]=n0,_[H0*2+1]=Q1,H0++}}}if(h+=c._score/e,f[S0]=c._score/e,c._indexes[0]<m)h-=(m-c._indexes[0])*2;m=c._indexes[0];for(var _0=0;_0<c._indexes.len;++_0)v.add(c._indexes[_0])}if($0&&!P0)return r;A0();var e0=A(u,l,!0);if(e0!==r&&e0._score>h){if($0)for(var S0=0;S0<e;++S0)f[S0]=e0._score/e;return e0}if($0)c=l;c._score=h;var S0=0;for(let C1 of v)c._indexes[S0++]=C1;return c._indexes.len=S0,c},N=(u)=>u.replace(/\p{Script=Latin}+/gu,(l)=>l.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),L=(u)=>{u=N(u);var l=u.length,$0=u.toLowerCase(),v=[],h=0,c=!1;for(var m=0;m<l;++m){var a=v[m]=$0.charCodeAt(m);if(a===32){c=!0;continue}var e=a>=97&&a<=122?a-97:a>=48&&a<=57?26:a<=127?30:31;h|=1<<e}return{lowerCodes:v,bitflags:h,containsSpace:c,_lower:$0}},q=(u)=>{var l=u.length,$0=[],v=0,h=!1,c=!1;for(var m=0;m<l;++m){var a=u.charCodeAt(m),e=a>=65&&a<=90,H0=e||a>=97&&a<=122||a>=48&&a<=57,A0=e&&!h||!c||!H0;if(h=e,c=H0,A0)$0[v++]=m}return $0},M=(u)=>{u=N(u);var l=u.length,$0=q(u),v=[],h=$0[0],c=0;for(var m=0;m<l;++m)if(h>m)v[m]=h;else h=$0[++c],v[m]=h===void 0?l:h;return v},C=new Map,R=new Map,w=[],I=[],_=[],E=[],f=[],b=[],y=[],k=(u,l)=>{var $0=u[l];if($0!==void 0)return $0;if(typeof l==="function")return l(u);var v=l;if(!Array.isArray(l))v=l.split(".");var h=v.length,c=-1;while(u&&++c<h)u=u[v[c]];return u},g=(u)=>{return typeof u==="object"&&typeof u._bitflags==="number"},d=1/0,p=-d,t=[];t.total=0;var r=null,G0=X(""),O0=(u)=>{var l=[],$0=0,v={},h=(c)=>{for(var m=0,a=l[m],e=1;e<$0;){var H0=e+1;m=e,H0<$0&&l[H0]._score<l[e]._score&&(m=H0),l[m-1>>1]=l[m],e=1+(m<<1)}for(var A0=m-1>>1;m>0&&a._score<l[A0]._score;A0=(m=A0)-1>>1)l[m]=l[A0];l[m]=a};return v.add=(c)=>{var m=$0;l[$0++]=c;for(var a=m-1>>1;m>0&&c._score<l[a]._score;a=(m=a)-1>>1)l[m]=l[a];l[m]=c},v.poll=(c)=>{if($0!==0){var m=l[0];return l[0]=l[--$0],h(),m}},v.peek=(c)=>{if($0!==0)return l[0]},v.replaceTop=(c)=>{l[0]=c,h()},v},h0=O0();return{single:Z,go:J,prepare:X,cleanup:Q}})});var Y9={};F1(Y9,{toRow:()=>bM0,plan:()=>lM0,listGlobal:()=>cM0,list:()=>pM0,layer:()=>Ld,isDefaultTitle:()=>EM0,getUsage:()=>dM0,fromRow:()=>OY,defaultLayer:()=>rM0,SetTitleInput:()=>xM0,SetRevertInput:()=>uM0,SetPermissionInput:()=>gM0,SetArchivedInput:()=>hM0,Service:()=>nK,RemoveInput:()=>yM0,ProjectInfo:()=>Md,MessagesInput:()=>mM0,Info:()=>z6,GlobalInfo:()=>_M0,GetInput:()=>kM0,ForkInput:()=>fM0,Event:()=>qY,CreateInput:()=>SM0,ChildrenInput:()=>vM0,BusyError:()=>wd});var JV;((tM0)=>{let $=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],Z=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function J(){return[$[Math.floor(Math.random()*$.length)],Z[Math.floor(Math.random()*Z.length)]].join("-")}tM0.create=J})(JV||={});var l1={};F1(l1,{subscribeAll:()=>vd,subscribe:()=>kd,publish:()=>fd,layer:()=>YV,defaultLayer:()=>_d,Service:()=>IY,InstanceDisposed:()=>UO,Bus:()=>l1});var NZ=E0.create({service:"bus"}),UO=L1.define("server.instance.disposed",P.object({directory:P.string()}));class IY extends S1.Service()("@qitqode/Bus"){}var YV=T0.effect(IY,T.gen(function*(){let $=yield*B0.make(T.fn("Bus.state")(function*(K){let V=yield*h6.unbounded(),U=new Map;return yield*T.addFinalizer(()=>T.gen(function*(){yield*h6.publish(V,{type:UO.type,properties:{directory:K.directory}}),yield*h6.shutdown(V);for(let H of U.values())yield*h6.shutdown(H)})),{wildcard:V,typed:U}}));function Z(K,V){return T.gen(function*(){let U=K.typed.get(V.type);if(!U)U=yield*h6.unbounded(),K.typed.set(V.type,U);return U})}function J(K,V){return T.gen(function*(){let U=yield*B0.get($),H={type:K.type,properties:V};NZ.debug("publishing",{type:K.type});let B=U.typed.get(K.type);if(B)yield*h6.publish(B,H);yield*h6.publish(U.wildcard,H);let z=yield*B0.directory,F=yield*B0.context,A=yield*B0.workspaceID;L7.emit("event",{directory:z,project:F.project.id,workspace:A,payload:H})})}function Y(K){return NZ.info("subscribing",{type:K.type}),I$.unwrap(T.gen(function*(){let V=yield*B0.get($),U=yield*Z(V,K);return I$.fromPubSub(U)})).pipe(I$.ensuring(T.sync(()=>NZ.info("unsubscribing",{type:K.type}))))}function X(){return NZ.info("subscribing",{type:"*"}),I$.unwrap(T.gen(function*(){let K=yield*B0.get($);return I$.fromPubSub(K.wildcard)})).pipe(I$.ensuring(T.sync(()=>NZ.info("unsubscribing",{type:"*"}))))}function Q(K,V,U){return T.gen(function*(){NZ.info("subscribing",{type:V});let H=yield*T7.make(),B=yield*PY.make(),z=yield*PY.provide(B)(h6.subscribe(K));return yield*PY.provide(B)(I$.fromSubscription(z).pipe(I$.runForEach((F)=>T.tryPromise({try:()=>Promise.resolve().then(()=>U(F)),catch:(A)=>{NZ.error("subscriber failed",{type:V,cause:A})}}).pipe(T.ignore)),T.forkScoped)),()=>{NZ.info("unsubscribing",{type:V}),H.fork(PY.close(B,B9.void))}})}let G=T.fn("Bus.subscribeCallback")(function*(K,V){let U=yield*B0.get($),H=yield*Z(U,K);return yield*Q(H,K.type,V)}),W=T.fn("Bus.subscribeAllCallback")(function*(K){let V=yield*B0.get($);return yield*Q(V.wildcard,"*",K)});return IY.of({publish:J,subscribe:Y,subscribeAll:X,subscribeCallback:G,subscribeAllCallback:W})})),_d=YV,{runPromise:Sd,runSync:HO}=VO(IY,YV);async function fd($,Z){return Sd((J)=>J.publish($,Z))}function kd($,Z){return HO((J)=>J.subscribeCallback($,Z))}function vd($){return HO((Z)=>Z.subscribeAllCallback($))}var X$={};F1(X$,{versionedType:()=>CY,run:()=>rd,reset:()=>cd,replayAll:()=>sd,replay:()=>qO,remove:()=>ad,registry:()=>EY,project:()=>od,payloads:()=>td,init:()=>id,define:()=>nd,SyncEvent:()=>X$});var _8=g6("event_sequence",{aggregate_id:w1().notNull().primaryKey(),seq:j8().notNull()}),z9=g6("event",{id:w1().primaryKey(),aggregate_id:w1().notNull().references(()=>_8.aggregate_id,{onDelete:"cascade"}),seq:j8().notNull(),type:w1().notNull(),data:w1({mode:"json"}).$type().notNull()});var d1={};F1(d1,{timestamp:()=>pd,schema:()=>gd,descending:()=>dd,create:()=>zO,ascending:()=>ld,Identifier:()=>d1});import{randomBytes as yd}from"crypto";var xd="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function XV($){let Z="",J=yd($);for(let Y=0;Y<$;Y++)Z+=xd[J[Y]%62];return Z}function QV(){let $=0,Z=0;return(J)=>{if(J!==void 0)return BigInt(J)*BigInt(4096);let Y=Date.now();if(Y>$)$=Y,Z=0;if(Z++,Z>4095)$++,Z=1;return BigInt($)*BigInt(4096)+BigInt(Z)}}function GV($){let Z=Buffer.alloc(6);for(let J=0;J<6;J++)Z[J]=Number($>>BigInt(40-8*J)&BigInt(255));return Z.toString("hex")}var hd;((HD0)=>{let Z=QV();function J(){return X(!1)}HD0.ascending=J;function Y(){return X(!0)}HD0.descending=Y;function X(Q,G){let W=Z(G);return W=Q?~W:W,GV(W)+XV(14)}HD0.create=X})(hd||={});var F9={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",entry:"ent",workflow:"wf"};function gd($){return P.string().startsWith(F9[$])}var ud=26,md=QV();function ld($,Z){return BO($,"ascending",Z)}function dd($,Z){return BO($,"descending",Z)}function BO($,Z,J){if(!J)return zO(F9[$],Z);if(!J.startsWith(F9[$]))throw Error(`ID ${J} does not start with ${F9[$]}`);return J}function zO($,Z,J){let Y=md(J);return Y=Z==="descending"?~Y:Y,$+"_"+GV(Y)+XV(ud-12)}function pd($){let Z=$.split("_")[0],J=$.slice(Z.length+1,Z.length+13),Y=BigInt("0x"+J);return Number(Y/BigInt(4096))}var FO=O.String.annotate({[F$]:d1.schema("event")}).pipe(O.brand("EventID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("event",Z)),zod:d1.schema("event").pipe(P.custom())})));var EY=new Map,A9,O9=new Map,WV=!1,KV;function cd(){WV=!1,A9=void 0,KV=($,Z)=>Z}function id($){A9=new Map($.projectors);for(let[Z,J]of O9.entries()){let Y=EY.get(CY(Z,J));L1.define(Y.type,Y.properties||Y.schema)}WV=!0,KV=$.convertEvent||((Z,J)=>J)}function CY($,Z){return Z?`${$}.${Z}`:$}function nd($){if(WV)throw Error("Error defining sync event: sync system has been frozen");let Z={type:$.type,version:$.version,aggregate:$.aggregate,schema:$.schema,properties:$.busSchema?$.busSchema:$.schema};return O9.set(Z.type,Math.max(Z.version,O9.get(Z.type)||0)),EY.set(CY(Z.type,Z.version),Z),Z}function od($,Z){return[$,Z]}function OO($,Z,J){if(A9==null)throw Error("No projectors available. Call `SyncEvent.init` to install projectors");let Y=A9.get($);if(!Y)throw Error(`Projector not found for event: ${$.type}`);W1.transaction((X)=>{if(Y(X,Z.data),b0.QITQODE_EXPERIMENTAL_WORKSPACES)X.insert(_8).values({aggregate_id:Z.aggregateID,seq:Z.seq}).onConflictDoUpdate({target:_8.aggregate_id,set:{seq:Z.seq}}).run(),X.insert(z9).values({id:Z.id,seq:Z.seq,aggregate_id:Z.aggregateID,type:CY($.type,$.version),data:Z.data}).run();W1.effect(()=>{if(J?.publish){let Q=KV($.type,Z.data);if(Q instanceof Promise)Q.then((G)=>{l1.publish({type:$.type,properties:$.schema},G)});else l1.publish({type:$.type,properties:$.schema},Q);L7.emit("event",{directory:S8.directory,project:S8.project.id,workspace:AO.workspaceID,payload:{type:"sync",syncEvent:{type:CY($.type,$.version),...Z}}})}})})}function qO($,Z){let J=EY.get($.type);if(!J)throw Error(`Unknown event type: ${$.type}`);let X=W1.use((G)=>G.select({seq:_8.seq}).from(_8).where(m0(_8.aggregate_id,$.aggregateID)).get())?.seq??-1;if($.seq<=X)return;let Q=X+1;if($.seq!==Q)throw Error(`Sequence mismatch for aggregate "${$.aggregateID}": expected ${Q}, got ${$.seq}`);OO(J,$,{publish:!!Z?.publish})}function sd($,Z){let J=$[0]?.aggregateID;if(!J)return;if($.some((X)=>X.aggregateID!==J))throw Error("Replay events must belong to the same session");let Y=$[0].seq;for(let[X,Q]of $.entries()){let G=Y+X;if(Q.seq!==G)throw Error(`Replay sequence mismatch at index ${X}: expected ${G}, got ${Q.seq}`)}for(let X of $)qO(X,Z);return J}function rd($,Z,J){let Y=Z[$.aggregate];if(Y==null)throw Error(`SyncEvent.run: "${$.aggregate}" required but not found: ${JSON.stringify(Z)}`);if($.version!==O9.get($.type))throw Error(`SyncEvent.run: running old versions of events is not allowed: ${$.type}`);let{publish:X=!0}=J||{};W1.transaction((Q)=>{let G=FO.ascending(),W=Q.select({seq:_8.seq}).from(_8).where(m0(_8.aggregate_id,Y)).get(),K=W?.seq!=null?W.seq+1:0;OO($,{id:G,seq:K,aggregateID:Y,data:Z},{publish:X})},{behavior:"immediate"})}function ad($){W1.transaction((Z)=>{Z.delete(_8).where(m0(_8.aggregate_id,$)).run(),Z.delete(z9).where(m0(z9.aggregate_id,$)).run()})}function td(){return EY.entries().map(([$,Z])=>{return P.object({type:P.literal("sync"),name:P.literal($),id:P.string(),seq:P.number(),aggregateID:P.literal(Z.aggregate),data:Z.schema}).meta({ref:`SyncEvent.${Z.type}`})}).toArray()}var b$={};F1(b$,{toModelMessagesEffect:()=>K2,toModelMessages:()=>re,stream:()=>pU,parts:()=>PL,page:()=>RL,isMedia:()=>NX,get:()=>Ca,fromError:()=>xA,fingerprint:()=>OH,filterCompactedEffect:()=>Ea,filterCompacted:()=>cU,cursor:()=>dU,WithParts:()=>Ta,User:()=>ML,ToolStateRunning:()=>zL,ToolStatePending:()=>BL,ToolStateError:()=>AL,ToolStateCompleted:()=>FL,ToolState:()=>OL,ToolPart:()=>qL,TextPart:()=>tw,SymbolSource:()=>ZL,SubtaskPart:()=>GL,StructuredOutputError:()=>dw,StepStartPart:()=>VL,StepFinishPart:()=>HL,SnapshotPart:()=>rw,SYNTHETIC_ATTACHMENT_PROMPT:()=>W2,RetryPart:()=>KL,ResourceSource:()=>JL,ReasoningPart:()=>ew,Provenance:()=>NL,PatchPart:()=>aw,Part:()=>mU,OutputLengthError:()=>U4,OutputFormatText:()=>nw,OutputFormatJsonSchema:()=>ow,ModelError:()=>iw,MessageV2:()=>b$,InvalidOutputError:()=>pw,Info:()=>lU,Format:()=>sw,FileSource:()=>$L,FilePartSource:()=>YL,FilePart:()=>uU,Event:()=>La,ErrorDiagnostic:()=>lw,ContextOverflowError:()=>GX,ContentFilterError:()=>cw,CompactionPart:()=>WL,CheckpointPart:()=>QL,AuthError:()=>H4,Assistant:()=>DL,AgentPart:()=>XL,AbortedError:()=>f5,APIError:()=>L6});var r0=O.String.annotate({[F$]:d1.schema("session")}).pipe(O.brand("SessionID"),u0(($)=>({descending:(Z)=>$.make(d1.descending("session",Z)),zod:d1.schema("session").pipe(P.custom())}))),i1=O.String.annotate({[F$]:d1.schema("message")}).pipe(O.brand("MessageID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("message",Z)),zod:d1.schema("message").pipe(P.custom())}))),MZ=O.String.annotate({[F$]:d1.schema("part")}).pipe(O.brand("PartID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("part",Z)),zod:d1.schema("part").pipe(P.custom())})));var X4={};F1(X4,{layer:()=>Iw,defaultLayer:()=>Ha,Symbol:()=>Ga,Status:()=>Ka,Service:()=>Y4,Range:()=>J4,Event:()=>Pw,DocumentSymbol:()=>Wa,Diagnostic:()=>XX});var S7=m6(Kj(),1);import yY from"path";import{pathToFileURL as F5,fileURLToPath as uc}from"url";var Vj={".abap":"abap",".bat":"bat",".bib":"bibtex",".bibtex":"bibtex",".clj":"clojure",".cljs":"clojure",".cljc":"clojure",".edn":"clojure",".coffee":"coffeescript",".c":"c",".cpp":"cpp",".cxx":"cpp",".cc":"cpp",".c++":"cpp",".cs":"csharp",".css":"css",".d":"d",".pas":"pascal",".pascal":"pascal",".diff":"diff",".patch":"diff",".dart":"dart",".dockerfile":"dockerfile",".ex":"elixir",".exs":"elixir",".erl":"erlang",".ets":"typescript",".hrl":"erlang",".fs":"fsharp",".fsi":"fsharp",".fsx":"fsharp",".fsscript":"fsharp",".gitcommit":"git-commit",".gitrebase":"git-rebase",".go":"go",".groovy":"groovy",".gleam":"gleam",".hbs":"handlebars",".handlebars":"handlebars",".hs":"haskell",".lhs":"haskell",".html":"html",".htm":"html",".ini":"ini",".java":"java",".jl":"julia",".js":"javascript",".kt":"kotlin",".kts":"kotlin",".jsx":"javascriptreact",".json":"json",".tex":"latex",".latex":"latex",".less":"less",".lua":"lua",".makefile":"makefile",makefile:"makefile",".md":"markdown",".markdown":"markdown",".m":"objective-c",".mm":"objective-cpp",".pl":"perl",".pm":"perl",".pm6":"perl6",".php":"php",".ps1":"powershell",".psm1":"powershell",".pug":"jade",".jade":"jade",".py":"python",".r":"r",".cshtml":"razor",".razor":"razor",".rb":"ruby",".rake":"ruby",".gemspec":"ruby",".ru":"ruby",".erb":"erb",".html.erb":"erb",".js.erb":"erb",".css.erb":"erb",".json.erb":"erb",".rs":"rust",".scss":"scss",".sass":"sass",".scala":"scala",".shader":"shaderlab",".sh":"shellscript",".bash":"shellscript",".zsh":"shellscript",".ksh":"shellscript",".sql":"sql",".svelte":"svelte",".swift":"swift",".ts":"typescript",".tsx":"typescriptreact",".mts":"typescript",".cts":"typescript",".mtsx":"typescriptreact",".ctsx":"typescriptreact",".xml":"xml",".xsl":"xsl",".yaml":"yaml",".yml":"yaml",".mjs":"javascript",".cjs":"javascript",".vue":"vue",".zig":"zig",".zon":"zig",".astro":"astro",".ml":"ocaml",".mli":"ocaml",".tf":"terraform",".tfvars":"terraform-vars",".hcl":"hcl",".nix":"nix",".typ":"typst",".typc":"typst"};function xV($,Z){let J;return Promise.race([$,new Promise((X,Q)=>{J=setTimeout(()=>{Q(Error(`Operation timed out after ${Z}ms`))},Z)})]).finally(()=>clearTimeout(J))}var mc=150,A5=E0.create({service:"lsp.client"}),lc=j1.create("LSPInitializeError",P.object({serverID:P.string()})),Uj={Diagnostics:L1.define("lsp.client.diagnostics",P.object({serverID:P.string(),path:P.string()}))};async function Hj($){let Z=A5.clone().tag("serverID",$.serverID);Z.info("starting client");let J=S7.createMessageConnection(new S7.StreamMessageReader($.server.process.stdout),new S7.StreamMessageWriter($.server.process.stdin)),Y=new Map;if(J.onNotification("textDocument/publishDiagnostics",(G)=>{let W=o0.normalizePath(uc(G.uri));Z.info("textDocument/publishDiagnostics",{path:W,count:G.diagnostics.length});let K=Y.has(W);if(Y.set(W,G.diagnostics),!K&&$.serverID==="typescript")return;l1.publish(Uj.Diagnostics,{path:W,serverID:$.serverID})}),J.onRequest("window/workDoneProgress/create",(G)=>{return Z.info("window/workDoneProgress/create",G),null}),J.onRequest("workspace/configuration",async()=>{return[$.server.initialization??{}]}),J.onRequest("client/registerCapability",async()=>{}),J.onRequest("client/unregisterCapability",async()=>{}),J.onRequest("workspace/workspaceFolders",async()=>[{name:"workspace",uri:F5($.root).href}]),J.listen(),Z.info("sending initialize"),await xV(J.sendRequest("initialize",{rootUri:F5($.root).href,processId:$.server.process.pid,workspaceFolders:[{name:"workspace",uri:F5($.root).href}],initializationOptions:{...$.server.initialization},capabilities:{window:{workDoneProgress:!0},workspace:{configuration:!0,didChangeWatchedFiles:{dynamicRegistration:!0}},textDocument:{synchronization:{didOpen:!0,didChange:!0},publishDiagnostics:{versionSupport:!0}}}}),45000).catch((G)=>{throw Z.error("initialize error",{error:G}),new lc({serverID:$.serverID},{cause:G})}),await J.sendNotification("initialized",{}),$.server.initialization)await J.sendNotification("workspace/didChangeConfiguration",{settings:$.server.initialization});let X={},Q={root:$.root,get serverID(){return $.serverID},get connection(){return J},notify:{async open(G){G.path=yY.isAbsolute(G.path)?G.path:yY.resolve($.directory,G.path);let W=await o0.readText(G.path),K=yY.extname(G.path),V=Vj[K]??"plaintext",U=X[G.path];if(U!==void 0){A5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:F5(G.path).href,type:2}]});let H=U+1;X[G.path]=H,A5.info("textDocument/didChange",{path:G.path,version:H}),await J.sendNotification("textDocument/didChange",{textDocument:{uri:F5(G.path).href,version:H},contentChanges:[{text:W}]});return}A5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:F5(G.path).href,type:1}]}),A5.info("textDocument/didOpen",G),Y.delete(G.path),await J.sendNotification("textDocument/didOpen",{textDocument:{uri:F5(G.path).href,languageId:V,version:0,text:W}}),X[G.path]=0;return}},get diagnostics(){return Y},async waitForDiagnostics(G){let W=o0.normalizePath(yY.isAbsolute(G.path)?G.path:yY.resolve($.directory,G.path));A5.info("waiting for diagnostics",{path:W});let K,V;return await xV(new Promise((U)=>{K=l1.subscribe(Uj.Diagnostics,(H)=>{if(H.properties.path===W&&H.properties.serverID===Q.serverID){if(V)clearTimeout(V);V=setTimeout(()=>{A5.info("got diagnostics",{path:W}),K?.(),U()},mc)}})}),3000).catch(()=>{}).finally(()=>{if(V)clearTimeout(V);K?.()})},async shutdown(){Z.info("shutting down"),J.end(),J.dispose(),await f1.stop($.server.process),Z.info("shutdown")}};return Z.info("initialized"),Q}import Tw from"path";import{pathToFileURL as Rw,fileURLToPath as Qa}from"url";var f7={};F1(f7,{Zls:()=>xj,YamlLS:()=>wj,Vue:()=>Oj,Typescript:()=>Aj,Ty:()=>gj,Tinymist:()=>ij,TexLab:()=>oj,TerraformLS:()=>nj,Svelte:()=>Mj,SourceKit:()=>Ej,RustAnalyzer:()=>bj,Rubocop:()=>hj,Pyright:()=>uj,Prisma:()=>Tj,PHPIntelephense:()=>lj,Oxlint:()=>jj,Ocaml:()=>vj,Nixd:()=>cj,LuaLS:()=>Lj,KotlinLS:()=>fj,JuliaLS:()=>dj,JDTLS:()=>Sj,HLS:()=>pj,Gopls:()=>Pj,Gleam:()=>yj,FSharp:()=>Cj,ElixirLS:()=>mj,ESLint:()=>qj,DockerfileLS:()=>sj,Deno:()=>Fj,Dart:()=>kj,Clojure:()=>rj,Clangd:()=>_j,CSharp:()=>Ij,Biome:()=>Nj,BashLS:()=>Rj,Astro:()=>Dj});function Z1($,Z,J){let Y=Array.isArray(Z)?[...Z]:[],X=Array.isArray(Z)?J:Z,Q=f1.spawn([$,...Y],{...X,stdin:"pipe",stdout:"pipe",stderr:"pipe"});if(!Q.stdin||!Q.stdout||!Q.stderr)throw Error("Process output not available");return Q}import dc from"fs/promises";import hV from"path";var Q0=E0.create({service:"lsp.server"}),gV=async($)=>dc.stat($).then(()=>!0).catch(()=>!1),j6=($,Z={})=>f1.run($,{...Z,nothrow:!0}),zj=($,Z={})=>f1.text($,{...Z,nothrow:!0});async function N6($,Z){if($)return $;if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;return q6.which(Z)}var M6=($,Z,J)=>Z1($,Z,{cwd:J,env:{...n8()}}),t0=($,Z)=>{return async(J,Y)=>{if(Z){let G=o0.up({targets:Z,start:hV.dirname(J),stop:Y.directory}),W=await G.next();if(await G.return(),W.value)return}let X=o0.up({targets:$,start:hV.dirname(J),stop:Y.directory}),Q=await X.next();if(await X.return(),!Q.value)return Y.directory;return hV.dirname(Q.value)}};import{createRequire as pc}from"module";import cc from"path";var wZ;((CL0)=>{function $(Z,J){try{return pc(cc.join(J,"package.json")).resolve(Z)}catch{}}CL0.resolve=$})(wZ||={});import ic from"path";async function LZ($,Z,J){let Y=await fetch($);if(!Y.ok){Q0.error(`Failed to download ${J}`);return}let X=ic.join(F0.Path.bin,Z);if(Y.body)await o0.writeStream(X,Y.body);return X}async function TZ($,Z){return D8.extractZip($,F0.Path.bin).then(()=>!0).catch((J)=>{return Q0.error(`Failed to extract ${Z} archive`,{error:J}),!1})}import D6 from"fs/promises";import{text as nc}from"stream/consumers";import w8 from"path";var Fj={id:"deno",root:async($,Z)=>{let J=o0.up({targets:["deno.json","deno.jsonc"],start:w8.dirname($),stop:Z.directory}),Y=await J.next();if(await J.return(),!Y.value)return;return w8.dirname(Y.value)},extensions:[".ts",".tsx",".js",".jsx",".mjs"],async spawn($){let Z=d0("deno");if(!Z){Q0.info("deno not found, please install deno first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},Aj={id:"typescript",root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"],["deno.json","deno.jsonc"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts"],async spawn($,Z){let J=wZ.resolve("typescript/lib/tsserver.js",Z.directory);if(Q0.info("typescript server",{tsserver:J}),!J)return;let Y=await q6.which("typescript-language-server");if(!Y)return;return{process:Z1(Y,["--stdio"],{cwd:$,env:{...n8()}}),initialization:{tsserver:{path:J}}}}},Oj={id:"vue",extensions:[".vue"],root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await N6(d0("vue-language-server"),"@vue/language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{}}}},qj={id:"eslint",root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue"],async spawn($,Z){if(!wZ.resolve("eslint",Z.directory))return;Q0.info("spawning eslint server");let Y=w8.join(F0.Path.bin,"vscode-eslint","server","out","eslintServer.js");if(!await o0.exists(Y)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading and building VS Code ESLint server");let Q=await LZ("https://github.com/microsoft/vscode-eslint/archive/refs/heads/main.zip","vscode-eslint.zip","vscode-eslint");if(!Q)return;if(!await TZ(Q,"vscode-eslint"))return;await D6.rm(Q,{force:!0});let W=w8.join(F0.Path.bin,"vscode-eslint-main"),K=w8.join(F0.Path.bin,"vscode-eslint");if(await D6.stat(K).catch(()=>{return}))Q0.info("removing old eslint installation",{path:K}),await D6.rm(K,{force:!0,recursive:!0});await D6.rename(W,K);let U=process.platform==="win32"?"npm.cmd":"npm";await f1.run([U,"install"],{cwd:K}),await f1.run([U,"run","compile"],{cwd:K}),Q0.info("installed VS Code ESLint server",{serverPath:Y})}return{process:Z1("node",[Y,"--stdio"],{cwd:$,env:{...n8()}})}}},jj={id:"oxlint",root:t0([".oxlintrc.json","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock","package.json"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue",".astro",".svelte"],async spawn($,Z){let J=process.platform==="win32"?".cmd":"",Y=w8.join("node_modules",".bin","oxc_language_server"+J),X=w8.join("node_modules",".bin","oxlint"+J),Q=async(K)=>{let V=w8.join($,K);if(await o0.exists(V))return V;let U=o0.up({targets:[K],start:$,stop:Z.worktree}),H=await U.next();if(await U.return(),H.value)return H.value;return},G=await Q(X);if(!G){let K=d0("oxlint");if(K)G=K}if(G){let K=Z1(G,["--help"]);if(await K.exited,K.stdout){if((await nc(K.stdout)).includes("--lsp"))return{process:Z1(G,["--lsp"],{cwd:$})}}}let W=await Q(Y);if(!W){let K=d0("oxc_language_server");if(K)W=K}if(W)return{process:Z1(W,[],{cwd:$})};Q0.info("oxlint not found, please install oxlint");return}},Nj={id:"biome",root:t0(["biome.json","biome.jsonc","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".json",".jsonc",".vue",".astro",".svelte",".css",".graphql",".gql",".html"],async spawn($){let Z=w8.join($,"node_modules",".bin","biome"),J;if(await o0.exists(Z))J=Z;if(!J){let Q=d0("biome");if(Q)J=Q}let Y=["lsp-proxy","--stdio"];if(!J){if(!wZ.resolve("biome",$))return;if(J=await q6.which("biome"),!J)return;Y=["lsp-proxy","--stdio"]}return{process:Z1(J,Y,{cwd:$,env:{...n8()}})}}},Mj={id:"svelte",extensions:[".svelte"],root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await N6(d0("svelteserver"),"svelte-language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{}}}},Dj={id:"astro",extensions:[".astro"],root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($,Z){let J=wZ.resolve("typescript/lib/tsserver.js",Z.directory);if(!J){Q0.info("typescript not found, required for Astro language server");return}let Y=w8.dirname(J),X=await N6(d0("astro-ls"),"@astrojs/language-server");if(!X)return;return{process:M6(X,["--stdio"],$),initialization:{typescript:{tsdk:Y}}}}},wj={id:"yaml-ls",extensions:[".yaml",".yml"],root:t0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await N6(d0("yaml-language-server"),"yaml-language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$)}}},Lj={id:"lua-ls",root:t0([".luarc.json",".luarc.jsonc",".luacheckrc",".stylua.toml","stylua.toml","selene.toml","selene.yml"]),extensions:[".lua"],async spawn($){let Z=d0("lua-language-server");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading lua-language-server from GitHub releases");let J=await fetch("https://api.github.com/repos/LuaLS/lua-language-server/releases/latest");if(!J.ok){Q0.error("Failed to fetch lua-language-server release info");return}let Y=await J.json(),X=process.platform,Q=process.arch,G="",W=Q;if(Q==="arm64")W="arm64";else if(Q==="x64")W="x64";else if(Q==="ia32")W="ia32";let K=X;if(X==="darwin")K="darwin";else if(X==="linux")K="linux";else if(X==="win32")K="win32";let V=X==="win32"?"zip":"tar.gz";G=`lua-language-server-${Y.tag_name}-${K}-${W}.${V}`;let U=["darwin-arm64.tar.gz","darwin-x64.tar.gz","linux-x64.tar.gz","linux-arm64.tar.gz","win32-x64.zip","win32-ia32.zip"],H=`${K}-${W}.${V}`;if(!U.includes(H)){Q0.error(`Platform ${X} and architecture ${Q} is not supported by lua-language-server`);return}let B=Y.assets.find((L)=>L.name===G);if(!B){Q0.error(`Could not find asset ${G} in latest lua-language-server release`);return}let z=B.browser_download_url,F=await fetch(z);if(!F.ok){Q0.error("Failed to download lua-language-server");return}let A=w8.join(F0.Path.bin,G);if(F.body)await o0.writeStream(A,F.body);let j=w8.join(F0.Path.bin,`lua-language-server-${W}-${K}`);if(await D6.stat(j).catch(()=>{return}))await D6.rm(j,{force:!0,recursive:!0});if(await D6.mkdir(j,{recursive:!0}),V==="zip"){if(!await D8.extractZip(A,j).then(()=>!0).catch((q)=>{return Q0.error("Failed to extract lua-language-server archive",{error:q}),!1}))return}else if(!await j6(["tar","-xzf",A,"-C",j]).then((q)=>q.code===0).catch((q)=>{return Q0.error("Failed to extract lua-language-server archive",{error:q}),!1}))return;if(await D6.rm(A,{force:!0}),Z=w8.join(j,"bin","lua-language-server"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract lua-language-server binary");return}if(X!=="win32"){if(!await D6.chmod(Z,493).then(()=>!0).catch((q)=>{return Q0.error("Failed to set executable permission for lua-language-server binary",{error:q}),!1}))return}Q0.info("installed lua-language-server",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},Tj={id:"prisma",extensions:[".prisma"],root:t0(["schema.prisma","prisma/schema.prisma","prisma"],["package.json"]),async spawn($){let Z=d0("prisma");if(!Z){Q0.info("prisma not found, please install prisma");return}return{process:Z1(Z,["language-server"],{cwd:$})}}},Rj={id:"bash",extensions:[".sh",".bash",".zsh",".ksh"],root:async($,Z)=>Z.directory,async spawn($){let Z=await N6(d0("bash-language-server"),"bash-language-server");if(!Z)return;return{process:M6(Z,["start"],$)}}};import $8 from"fs/promises";import o1 from"path";import oc from"os";var Pj={id:"gopls",root:async($,Z)=>{let J=await t0(["go.work"])($,Z);if(J)return J;return t0(["go.mod","go.sum"])($,Z)},extensions:[".go"],async spawn($){let Z=d0("gopls");if(!Z){if(!d0("go"))return;if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing gopls"),await f1.spawn(["go","install","golang.org/x/tools/gopls@latest"],{env:{GOBIN:F0.Path.bin},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install gopls");return}Z=o1.join(F0.Path.bin,"gopls"+(process.platform==="win32"?".exe":"")),Q0.info("installed gopls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},Ij={id:"csharp",root:t0([".slnx",".sln",".csproj","global.json"]),extensions:[".cs"],async spawn($){let Z=d0("csharp-ls");if(!Z){if(!d0("dotnet")){Q0.error(".NET SDK is required to install csharp-ls");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing csharp-ls via dotnet tool"),await f1.spawn(["dotnet","tool","install","csharp-ls","--tool-path",F0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install csharp-ls");return}Z=o1.join(F0.Path.bin,"csharp-ls"+(process.platform==="win32"?".exe":"")),Q0.info("installed csharp-ls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},Cj={id:"fsharp",root:t0([".slnx",".sln",".fsproj","global.json"]),extensions:[".fs",".fsi",".fsx",".fsscript"],async spawn($){let Z=d0("fsautocomplete");if(!Z){if(!d0("dotnet")){Q0.error(".NET SDK is required to install fsautocomplete");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing fsautocomplete via dotnet tool"),await f1.spawn(["dotnet","tool","install","fsautocomplete","--tool-path",F0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install fsautocomplete");return}Z=o1.join(F0.Path.bin,"fsautocomplete"+(process.platform==="win32"?".exe":"")),Q0.info("installed fsautocomplete",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},Ej={id:"sourcekit-lsp",extensions:[".swift",".objc","objcpp"],root:t0(["Package.swift","*.xcodeproj","*.xcworkspace"]),async spawn($){let Z=d0("sourcekit-lsp");if(Z)return{process:Z1(Z,{cwd:$})};if(!d0("xcrun"))return;let J=await zj(["xcrun","--find","sourcekit-lsp"]);if(J.code!==0)return;let Y=J.text.trim();return{process:Z1(Y,{cwd:$})}}},bj={id:"rust",root:async($,Z)=>{let J=await t0(["Cargo.toml","Cargo.lock"])($,Z);if(J===void 0)return;let Y=J;while(Y!==o1.dirname(Y)){let X=o1.join(Y,"Cargo.toml");try{if((await o0.readText(X)).includes("[workspace]"))return Y}catch{}let Q=o1.dirname(Y);if(Q===Y||!o0.contains(Z.worktree,Q))break;Y=Q}return J},extensions:[".rs"],async spawn($){let Z=d0("rust-analyzer");if(!Z){Q0.info("rust-analyzer not found in path, please install it");return}return{process:Z1(Z,{cwd:$})}}},_j={id:"clangd",root:t0(["compile_commands.json","compile_flags.txt",".clangd"]),extensions:[".c",".cpp",".cc",".cxx",".c++",".h",".hpp",".hh",".hxx",".h++"],async spawn($){let Z=["--background-index","--clang-tidy"],J=d0("clangd");if(J)return{process:Z1(J,Z,{cwd:$})};let Y=process.platform==="win32"?".exe":"",X=o1.join(F0.Path.bin,"clangd"+Y);if(await o0.exists(X))return{process:Z1(X,Z,{cwd:$})};let Q=await $8.readdir(F0.Path.bin,{withFileTypes:!0}).catch(()=>[]);for(let R of Q){if(!R.isDirectory())continue;if(!R.name.startsWith("clangd_"))continue;let w=o1.join(F0.Path.bin,R.name,"bin","clangd"+Y);if(await o0.exists(w))return{process:Z1(w,Z,{cwd:$})}}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading clangd from GitHub releases");let G=await fetch("https://api.github.com/repos/clangd/clangd/releases/latest");if(!G.ok){Q0.error("Failed to fetch clangd release info");return}let W=await G.json(),K=W.tag_name;if(!K){Q0.error("clangd release did not include a tag name");return}let V=process.platform,H={darwin:"mac",linux:"linux",win32:"windows"}[V];if(!H){Q0.error(`Platform ${V} is not supported by clangd auto-download`);return}let B=W.assets??[],z=(R)=>{if(!R.name)return!1;if(!R.browser_download_url)return!1;if(!R.name.includes(H))return!1;return R.name.includes(K)},F=B.find((R)=>z(R)&&R.name?.endsWith(".zip"))??B.find((R)=>z(R)&&R.name?.endsWith(".tar.xz"))??B.find((R)=>z(R));if(!F?.name||!F.browser_download_url){Q0.error("clangd could not match release asset",{tag:K,platform:V});return}let A=F.name,j=await fetch(F.browser_download_url);if(!j.ok){Q0.error("Failed to download clangd");return}let N=o1.join(F0.Path.bin,A),L=await j.arrayBuffer();if(L.byteLength===0){Q0.error("Failed to write clangd archive");return}await o0.write(N,Buffer.from(L));let q=A.endsWith(".zip"),M=A.endsWith(".tar.xz");if(!q&&!M){Q0.error("clangd encountered unsupported asset",{asset:A});return}if(q){if(!await D8.extractZip(N,F0.Path.bin).then(()=>!0).catch((w)=>{return Q0.error("Failed to extract clangd archive",{error:w}),!1}))return}if(M)await j6(["tar","-xf",N],{cwd:F0.Path.bin});await $8.rm(N,{force:!0});let C=o1.join(F0.Path.bin,"clangd_"+K,"bin","clangd"+Y);if(!await o0.exists(C)){Q0.error("Failed to extract clangd binary");return}if(V!=="win32")await $8.chmod(C,493).catch(()=>{});return await $8.unlink(o1.join(F0.Path.bin,"clangd")).catch(()=>{}),await $8.symlink(C,o1.join(F0.Path.bin,"clangd")).catch(()=>{}),Q0.info("installed clangd",{bin:C}),{process:Z1(C,Z,{cwd:$})}}},Sj={id:"jdtls",root:async($,Z)=>{let J=["settings.gradle","settings.gradle.kts"],Y=["gradlew","gradlew.bat"],X=Y.concat(J),[Q,G,W]=await Promise.all([t0(["pom.xml","build.gradle","build.gradle.kts",".project",".classpath"],X)($,Z),t0(Y,J)($,Z),t0(J)($,Z)]);if(Q)return Q;if(G)return G;if(W)return W},extensions:[".java"],async spawn($){let Z=d0("java");if(!Z){Q0.error("Java 21 or newer is required to run the JDTLS. Please install it first.");return}let J=await j6(["java","-version"]).then((U)=>{let H=/"(\d+)\.\d+\.\d+"/.exec(U.stderr.toString());return!H?void 0:parseInt(H[1])});if(J==null||J<21){Q0.error("JDTLS requires at least Java 21.");return}let Y=o1.join(F0.Path.bin,"jdtls"),X=o1.join(Y,"plugins");if(!await gV(X)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("Downloading JDTLS LSP server."),await $8.mkdir(Y,{recursive:!0});let U="https://www.eclipse.org/downloads/download.php?file=/jdtls/snapshots/jdt-language-server-latest.tar.gz",H="release.tar.gz";Q0.info("Downloading JDTLS archive",{url:U,dest:Y});let B=await fetch(U);if(!B.ok||!B.body){Q0.error("Failed to download JDTLS",{status:B.status,statusText:B.statusText});return}await o0.writeStream(o1.join(Y,H),B.body),Q0.info("Extracting JDTLS archive");let z=await j6(["tar","-xzf",H],{cwd:Y});if(z.code!==0){Q0.error("Failed to extract JDTLS",{exitCode:z.code,stderr:z.stderr.toString()});return}await $8.rm(o1.join(Y,H),{force:!0}),Q0.info("JDTLS download and extraction completed")}let G=(await $8.readdir(X).catch(()=>[])).find((U)=>/^org\.eclipse\.equinox\.launcher_.*\.jar$/.test(U))?.trim()??"",W=o1.join(X,G);if(!await gV(W)){Q0.error(`Failed to locate the JDTLS launcher module in the installed directory: ${Y}.`);return}let K=o1.join(Y,(()=>{switch(process.platform){case"darwin":return"config_mac";case"linux":return"config_linux";case"win32":return"config_win";default:return"config_linux"}})()),V=await $8.mkdtemp(o1.join(oc.tmpdir(),"qitqode-jdtls-data"));return{process:Z1(Z,["-jar",W,"-configuration",K,"-data",V,"-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.level=ALL","--add-modules=ALL-SYSTEM","--add-opens java.base/java.util=ALL-UNNAMED","--add-opens java.base/java.lang=ALL-UNNAMED"],{cwd:$})}}},fj={id:"kotlin-ls",extensions:[".kt",".kts"],root:async($,Z)=>{let J=await t0(["settings.gradle.kts","settings.gradle"])($,Z);if(J)return J;let Y=await t0(["gradlew","gradlew.bat"])($,Z);if(Y)return Y;let X=await t0(["build.gradle.kts","build.gradle"])($,Z);if(X)return X;return t0(["pom.xml"])($,Z)},async spawn($){let Z=o1.join(F0.Path.bin,"kotlin-ls"),J=process.platform==="win32"?o1.join(Z,"kotlin-lsp.cmd"):o1.join(Z,"kotlin-lsp.sh");if(!await o0.exists(J)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("Downloading Kotlin Language Server from GitHub.");let X=await fetch("https://api.github.com/repos/Kotlin/kotlin-lsp/releases/latest");if(!X.ok){Q0.error("Failed to fetch kotlin-lsp release info");return}let G=(await X.json()).name?.replace(/^v/,"");if(!G){Q0.error("Could not determine Kotlin LSP version from release");return}let{platform:W,arch:K}=process,V=K;if(K==="arm64")V="aarch64";else if(K==="x64")V="x64";let U=W;if(W==="darwin")U="mac";else if(W==="linux")U="linux";else if(W==="win32")U="win";let H=["mac-x64","mac-aarch64","linux-x64","linux-aarch64","win-x64","win-aarch64"],B=`${U}-${V}`;if(!H.includes(B)){Q0.error(`Platform ${W}/${K} is not supported by Kotlin LSP`);return}let z=`kotlin-lsp-${G}-${U}-${V}.zip`,F=`https://download-cdn.jetbrains.com/kotlin-lsp/${G}/${z}`;await $8.mkdir(Z,{recursive:!0});let A=o1.join(Z,"kotlin-ls.zip"),j=await fetch(F);if(!j.ok||!j.body){Q0.error("Failed to download Kotlin Language Server",{status:j.status,statusText:j.statusText});return}if(await o0.writeStream(A,j.body),!await D8.extractZip(A,Z).then(()=>!0).catch((L)=>{return Q0.error("Failed to extract Kotlin LS archive",{error:L}),!1}))return;if(await $8.rm(A,{force:!0}),process.platform!=="win32")await $8.chmod(J,493).catch(()=>{});Q0.info("Installed Kotlin Language Server",{path:J})}if(!await o0.exists(J)){Q0.error(`Failed to locate the Kotlin LS launcher script in the installed directory: ${Z}.`);return}return{process:Z1(J,["--stdio"],{cwd:$})}}},kj={id:"dart",extensions:[".dart"],root:t0(["pubspec.yaml","analysis_options.yaml"]),async spawn($){let Z=d0("dart");if(!Z){Q0.info("dart not found, please install dart first");return}return{process:Z1(Z,["language-server","--lsp"],{cwd:$})}}},vj={id:"ocaml-lsp",extensions:[".ml",".mli"],root:t0(["dune-project","dune-workspace",".merlin","opam"]),async spawn($){let Z=d0("ocamllsp");if(!Z){Q0.info("ocamllsp not found, please install ocaml-lsp-server");return}return{process:Z1(Z,{cwd:$})}}},yj={id:"gleam",extensions:[".gleam"],root:t0(["gleam.toml"]),async spawn($){let Z=d0("gleam");if(!Z){Q0.info("gleam not found, please install gleam first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},xj={id:"zls",extensions:[".zig",".zon"],root:t0(["build.zig"]),async spawn($){let Z=d0("zls");if(!Z){if(!d0("zig")){Q0.error("Zig is required to use zls. Please install Zig first.");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading zls from GitHub releases");let Y=await fetch("https://api.github.com/repos/zigtools/zls/releases/latest");if(!Y.ok){Q0.error("Failed to fetch zls release info");return}let X=await Y.json(),Q=process.platform,G=process.arch,W="",K=G;if(G==="arm64")K="aarch64";else if(G==="x64")K="x86_64";else if(G==="ia32")K="x86";let V=Q;if(Q==="darwin")V="macos";else if(Q==="win32")V="windows";let U=Q==="win32"?"zip":"tar.xz";if(W=`zls-${K}-${V}.${U}`,!["zls-x86_64-linux.tar.xz","zls-x86_64-macos.tar.xz","zls-x86_64-windows.zip","zls-aarch64-linux.tar.xz","zls-aarch64-macos.tar.xz","zls-aarch64-windows.zip","zls-x86-linux.tar.xz","zls-x86-windows.zip"].includes(W)){Q0.error(`Platform ${Q} and architecture ${G} is not supported by zls`);return}let B=X.assets?.find((F)=>F.name===W);if(!B?.browser_download_url){Q0.error(`Could not find asset ${W} in latest zls release`);return}let z=await LZ(B.browser_download_url,W,"zls");if(!z)return;if(U==="zip"){if(!await TZ(z,"zls"))return}else await j6(["tar","-xf",z],{cwd:F0.Path.bin});if(await $8.rm(z,{force:!0}),Z=o1.join(F0.Path.bin,"zls"+(Q==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract zls binary");return}if(Q!=="win32")await $8.chmod(Z,493).catch(()=>{});Q0.info("installed zls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}};import O5 from"fs/promises";import f8 from"path";function sc($){return[process.env.VIRTUAL_ENV,f8.join($,".venv"),f8.join($,"venv")].filter((Z)=>Z!==void 0)}async function uV($,Z){let J=process.platform==="win32";for(let Y of sc($)){let X=J?f8.join(Y,"Scripts",`${Z}.exe`):f8.join(Y,"bin",Z);if(await o0.exists(X))return X}return}var hj={id:"ruby-lsp",root:t0(["Gemfile"]),extensions:[".rb",".rake",".gemspec",".ru"],async spawn($){let Z=d0("rubocop");if(!Z){let J=d0("ruby"),Y=d0("gem");if(!J||!Y){Q0.info("Ruby not found, please install Ruby first");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing rubocop"),await f1.spawn(["gem","install","rubocop","--bindir",F0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install rubocop");return}Z=f8.join(F0.Path.bin,"rubocop"+(process.platform==="win32"?".exe":"")),Q0.info("installed rubocop",{bin:Z})}return{process:Z1(Z,["--lsp"],{cwd:$})}}},gj={id:"ty",extensions:[".py",".pyi"],root:t0(["pyproject.toml","ty.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn($){if(!b0.QITQODE_EXPERIMENTAL_LSP_TY)return;let Z=d0("ty"),J={},Y=await uV($,"python");if(Y)J.pythonPath=Y;if(!Z)Z=await uV($,"ty")??null;if(!Z){Q0.error("ty not found, please install ty first");return}return{process:Z1(Z,["server"],{cwd:$}),initialization:J}}},uj={id:"pyright",extensions:[".py",".pyi"],root:t0(["pyproject.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn($){let Z=await N6(d0("pyright-langserver"),"pyright");if(!Z)return;let J=["--stdio"],Y={},X=await uV($,"python");if(X)Y.pythonPath=X;return{process:M6(Z,J,$),initialization:Y}}},mj={id:"elixir-ls",extensions:[".ex",".exs"],root:t0(["mix.exs","mix.lock"]),async spawn($){let Z=d0("elixir-ls");if(!Z){let J=f8.join(F0.Path.bin,"elixir-ls");if(Z=f8.join(F0.Path.bin,"elixir-ls-master","release",process.platform==="win32"?"language_server.bat":"language_server.sh"),!await o0.exists(Z)){if(!d0("elixir")){Q0.error("elixir is required to run elixir-ls");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading elixir-ls from GitHub releases");let X=await LZ("https://github.com/elixir-lsp/elixir-ls/archive/refs/heads/master.zip","elixir-ls.zip","elixir-ls");if(!X)return;if(!await TZ(X,"elixir-ls"))return;await O5.rm(X,{force:!0,recursive:!0});let G=f8.join(F0.Path.bin,"elixir-ls-master"),W={MIX_ENV:"prod",...n8()};await f1.run(["mix","deps.get"],{cwd:G,env:W}),await f1.run(["mix","compile"],{cwd:G,env:W}),await f1.run(["mix","elixir_ls.release2","-o","release"],{cwd:G,env:W}),Q0.info("installed elixir-ls",{path:J})}}return{process:Z1(Z,{cwd:$})}}},lj={id:"php intelephense",extensions:[".php"],root:t0(["composer.json","composer.lock",".php-version"]),async spawn($){let Z=await N6(d0("intelephense"),"intelephense");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{telemetry:{enabled:!1}}}}},dj={id:"julials",extensions:[".jl"],root:t0(["Project.toml","Manifest.toml","*.jl"]),async spawn($){let Z=d0("julia");if(!Z){Q0.info("julia not found, please install julia first (https://julialang.org/downloads/)");return}return{process:Z1(Z,["--startup-file=no","--history-file=no","-e","using LanguageServer; runserver()"],{cwd:$})}}},pj={id:"haskell-language-server",extensions:[".hs",".lhs"],root:t0(["stack.yaml","cabal.project","hie.yaml","*.cabal"]),async spawn($){let Z=d0("haskell-language-server-wrapper");if(!Z){Q0.info("haskell-language-server-wrapper not found, please install haskell-language-server");return}return{process:Z1(Z,["--lsp"],{cwd:$})}}},cj={id:"nixd",extensions:[".nix"],root:async($,Z)=>{let J=await t0(["flake.nix"])($,Z);if(J&&J!==Z.directory)return J;if(Z.worktree&&Z.worktree!==Z.directory)return Z.worktree;return Z.directory},async spawn($){let Z=d0("nixd");if(!Z){Q0.info("nixd not found, please install nixd first");return}return{process:Z1(Z,[],{cwd:$,env:{...n8()}})}}},ij={id:"tinymist",extensions:[".typ",".typc"],root:t0(["typst.toml"]),async spawn($){let Z=d0("tinymist");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading tinymist from GitHub releases");let J=await fetch("https://api.github.com/repos/Myriad-Dreamin/tinymist/releases/latest");if(!J.ok){Q0.error("Failed to fetch tinymist release info");return}let Y=await J.json(),X=process.platform,G=process.arch==="arm64"?"aarch64":"x86_64",W,K;if(X==="darwin")W="apple-darwin",K="tar.gz";else if(X==="win32")W="pc-windows-msvc",K="zip";else W="unknown-linux-gnu",K="tar.gz";let V=`tinymist-${G}-${W}.${K}`,H=(Y.assets??[]).find((z)=>z.name===V);if(!H?.browser_download_url){Q0.error(`Could not find asset ${V} in tinymist release`);return}let B=await LZ(H.browser_download_url,V,"tinymist");if(!B)return;if(K==="zip"){if(!await TZ(B,"tinymist"))return}else await j6(["tar","-xzf",B,"--strip-components=1"],{cwd:F0.Path.bin});if(await O5.rm(B,{force:!0}),Z=f8.join(F0.Path.bin,"tinymist"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract tinymist binary");return}if(X!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed tinymist",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},nj={id:"terraform",extensions:[".tf",".tfvars"],root:t0([".terraform.lock.hcl","terraform.tfstate","*.tf"]),async spawn($){let Z=d0("terraform-ls");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading terraform-ls from HashiCorp releases");let J=await fetch("https://api.releases.hashicorp.com/v1/releases/terraform-ls/latest");if(!J.ok){Q0.error("Failed to fetch terraform-ls release info");return}let Y=await J.json(),X=process.platform,G=process.arch==="arm64"?"arm64":"amd64",W=X==="win32"?"windows":X,V=(Y.builds??[]).find((z)=>z.arch===G&&z.os===W);if(!V?.url){Q0.error(`Could not find build for ${W}/${G} terraform-ls release version ${Y.version}`);return}let U=await fetch(V.url);if(!U.ok){Q0.error("Failed to download terraform-ls");return}let H=f8.join(F0.Path.bin,"terraform-ls.zip");if(U.body)await o0.writeStream(H,U.body);if(!await D8.extractZip(H,F0.Path.bin).then(()=>!0).catch((z)=>{return Q0.error("Failed to extract terraform-ls archive",{error:z}),!1}))return;if(await O5.rm(H,{force:!0}),Z=f8.join(F0.Path.bin,"terraform-ls"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract terraform-ls binary");return}if(X!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed terraform-ls",{bin:Z})}return{process:Z1(Z,["serve"],{cwd:$}),initialization:{experimentalFeatures:{prefillRequiredFields:!0,validateOnSave:!0}}}}},oj={id:"texlab",extensions:[".tex",".bib"],root:t0([".latexmkrc","latexmkrc",".texlabroot","texlabroot"]),async spawn($){let Z=d0("texlab");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading texlab from GitHub releases");let J=await fetch("https://api.github.com/repos/latex-lsp/texlab/releases/latest");if(!J.ok){Q0.error("Failed to fetch texlab release info");return}let Y=await J.json();if(!Y.tag_name?.replace("v","")){Q0.error("texlab release did not include a version tag");return}let Q=process.platform,W=process.arch==="arm64"?"aarch64":"x86_64",K=Q==="darwin"?"macos":Q==="win32"?"windows":"linux",V=Q==="win32"?"zip":"tar.gz",U=`texlab-${W}-${K}.${V}`,B=(Y.assets??[]).find((F)=>F.name===U);if(!B?.browser_download_url){Q0.error(`Could not find asset ${U} in texlab release`);return}let z=await LZ(B.browser_download_url,U,"texlab");if(!z)return;if(V==="zip"){if(!await TZ(z,"texlab"))return}if(V==="tar.gz")await j6(["tar","-xzf",z],{cwd:F0.Path.bin});if(await O5.rm(z,{force:!0}),Z=f8.join(F0.Path.bin,"texlab"+(Q==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract texlab binary");return}if(Q!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed texlab",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},sj={id:"dockerfile",extensions:[".dockerfile","Dockerfile"],root:async($,Z)=>Z.directory,async spawn($){let Z=await N6(d0("docker-langserver"),"dockerfile-language-server-nodejs");if(!Z)return;return{process:M6(Z,["--stdio"],$)}}},rj={id:"clojure-lsp",extensions:[".clj",".cljs",".cljc",".edn"],root:t0(["deps.edn","project.clj","shadow-cljs.edn","bb.edn","build.boot"]),async spawn($){let Z=d0("clojure-lsp");if(!Z&&process.platform==="win32")Z=d0("clojure-lsp.exe");if(!Z){Q0.info("clojure-lsp not found, please install clojure-lsp first");return}return{process:Z1(Z,["listen"],{cwd:$})}}};var X8={};F1(X8,{layer:()=>Dw,defaultLayer:()=>Ya,Service:()=>Z4,Server:()=>$a,Layout:()=>Za,Info:()=>E5,ConfigDirectoryTypoError:()=>Ja});import tr from"path";var k8={};F1(k8,{sweepStaleAuthTmp:()=>tj,layer:()=>$N,defaultLayer:()=>tc,WellKnown:()=>cV,Service:()=>_9,Oauth:()=>dV,OAUTH_DUMMY_KEY:()=>lV,Info:()=>ej,AuthError:()=>S9,Auth:()=>k8,Api:()=>pV});import rc from"path";var lV="qitqode-oauth-dummy-key",b9=rc.join(F0.Path.data,"auth.json"),ac=60000;async function tj(){let $=b9+".tmp";try{let{stat:Z,unlink:J}=await import("fs/promises"),Y=await Z($);if(Date.now()-Y.mtimeMs>=ac)await J($).catch(()=>{return})}catch{}}var E9=($)=>(Z)=>new S9({message:$,cause:Z});class dV extends O.Class("OAuth")({type:O.Literal("oauth"),refresh:O.String,access:O.String,expires:O.Number,accountId:O.optional(O.String),enterpriseUrl:O.optional(O.String)}){}class pV extends O.Class("ApiAuth")({type:O.Literal("api"),key:O.String,metadata:O.optional(O.Record(O.String,O.String))}){}class cV extends O.Class("WellKnownAuth")({type:O.Literal("wellknown"),key:O.String,token:O.String}){}var aj=O.Union([dV,pV,cV]).annotate({discriminator:"type",identifier:"Auth"}),ej=Object.assign(aj,{zod:w0(aj)});class S9 extends O.TaggedErrorClass()("AuthError",{message:O.String,cause:O.optional(O.Defect)}){}class _9 extends S1.Service()("@qitqode/Auth"){}var $N=T0.effect(_9,T.gen(function*(){let $=yield*D$.Service,Z=O.decodeUnknownOption(ej);yield*T.promise(()=>tj());let J=T.fn("Auth.readFile")(function*(){let V=yield*$.readJson(b9).pipe(T.orElseSucceed(()=>({})));if(!k7.isEnvelope(V))return V;let U=yield*T.promise(()=>k7.encryptionKey());if(!U)return yield*T.fail(new S9({message:"auth.json is encrypted but the OS keyring is unavailable. Restore keyring access or delete auth.json and log in again."}));return yield*T.try({try:()=>JSON.parse(k7.decrypt(V,U)),catch:E9("Failed to decrypt auth data (keyring key mismatch?)")})}),Y=T.fn("Auth.writeFile")(function*(V){let U=yield*T.promise(()=>k7.encryptionKey()),H=U?k7.encrypt(JSON.stringify(V),U):V,B=b9+".tmp";yield*$.writeJson(B,H).pipe(T.mapError(E9("Failed to write auth data"))),yield*$.chmod(B,384).pipe(T.mapError(E9("Failed to set auth file permissions"))),yield*$.rename(B,b9).pipe(T.mapError(E9("Failed to atomically replace auth data")))}),X=T.fn("Auth.all")(function*(){let V=yield*J(),U=y7.filterMap(V,(H)=>v7.fromOption(Z(H),()=>{return}));if(process.env.QITQODE_AUTH_CONTENT)try{let H=JSON.parse(process.env.QITQODE_AUTH_CONTENT);return{...y7.filterMap(H,(z)=>v7.fromOption(Z(z),()=>{return})),...U}}catch(H){console.error("[Auth] Failed to parse QITQODE_AUTH_CONTENT env var:",H)}return U}),Q=T.fn("Auth.get")(function*(V){return(yield*X())[V]}),G="auth-file",W=T.fn("Auth.set")(function*(V,U){yield*T.scoped(T.gen(function*(){yield*mV.effect(G);let H=V.replace(/\/+$/,""),B=yield*X();if(H!==V)delete B[V];delete B[H+"/"],yield*Y({...B,[H]:U})}))}),K=T.fn("Auth.remove")(function*(V){yield*T.scoped(T.gen(function*(){yield*mV.effect(G);let U=V.replace(/\/+$/,""),H=yield*X();delete H[V],delete H[U],yield*Y(H)}))});return _9.of({get:Q,all:X,set:W,remove:K})})),tc=$N.pipe(T0.provide(D$.defaultLayer));var l6={};F1(l6,{layer:()=>ZN,defaultLayer:()=>ec,Service:()=>f9,Env:()=>l6});class f9 extends S1.Service()("@qitqode/Env"){}var ZN=T0.effect(f9,T.gen(function*(){let $=yield*B0.make(T.fn("Env.state")(()=>T.succeed({...process.env}))),Z=T.fn("Env.get")((Q)=>B0.use($,(G)=>G[Q])),J=T.fn("Env.all")(()=>B0.get($)),Y=T.fn("Env.set")(function*(Q,G){let W=yield*B0.get($);W[Q]=G}),X=T.fn("Env.remove")(function*(Q){let G=yield*B0.get($);delete G[Q]});return f9.of({get:Z,all:J,set:Y,remove:X})})),ec=ZN;var JN={Connected:L1.define("server.connected",P.object({})),Heartbeat:L1.define("server.heartbeat",P.object({})),Disposed:L1.define("global.disposed",P.object({}))};var o7={};F1(o7,{layer:()=>FN,defaultLayer:()=>Qi,UserCode:()=>uY,Service:()=>u9,RefreshToken:()=>x7,PollSuccess:()=>u7,PollSlow:()=>l7,PollResult:()=>YN,PollPending:()=>m7,PollExpired:()=>d7,PollError:()=>c7,PollDenied:()=>p7,OrgID:()=>v9,Org:()=>lY,Login:()=>dY,Info:()=>mY,DeviceCode:()=>h7,AccountTransportError:()=>j5,AccountServiceError:()=>RZ,AccountRepoError:()=>g7,AccountID:()=>hY,Account:()=>o7,AccessToken:()=>gY});var i7={};F1(i7,{layer:()=>$i,Service:()=>x9,AccountRepo:()=>i7});var L8=g6("account",{id:w1().$type().primaryKey(),email:w1().notNull(),url:w1().notNull(),access_token:w1().$type().notNull(),refresh_token:w1().$type().notNull(),token_expiry:j8(),...xY}),q5=g6("account_state",{id:j8().primaryKey(),active_account_id:w1().$type().references(()=>L8.id,{onDelete:"set null"}),active_org_id:w1().$type()}),kT0=g6("control_account",{email:w1().notNull(),url:w1().notNull(),access_token:w1().$type().notNull(),refresh_token:w1().$type().notNull(),token_expiry:j8(),active:j8({mode:"boolean"}).notNull().$default(()=>!1),...xY},($)=>[k9({columns:[$.email,$.url]})]);var hY=O.String.pipe(O.brand("AccountID")),v9=O.String.pipe(O.brand("OrgID")),gY=O.String.pipe(O.brand("AccessToken")),x7=O.String.pipe(O.brand("RefreshToken")),h7=O.String.pipe(O.brand("DeviceCode")),uY=O.String.pipe(O.brand("UserCode"));class mY extends O.Class("Account")({id:hY,email:O.String,url:O.String,active_org_id:O.NullOr(v9)}){}class lY extends O.Class("Org")({id:v9,name:O.String}){}class g7 extends O.TaggedErrorClass()("AccountRepoError",{message:O.String,cause:O.optional(O.Defect)}){}class RZ extends O.TaggedErrorClass()("AccountServiceError",{message:O.String,cause:O.optional(O.Defect)}){}class j5 extends O.TaggedErrorClass()("AccountTransportError",{method:O.String,url:O.String,description:O.optional(O.String),cause:O.optional(O.Defect)}){static fromHttpClientError($){return new j5({method:$.request.method,url:$.request.url,description:$.description,cause:$.cause})}get message(){return[`Could not reach ${this.method} ${this.url}.`,"This failed before the server returned an HTTP response.",this.description,"Check your network, proxy, or VPN configuration and try again."].filter(Boolean).join(`
486
486
  `)}}class dY extends O.Class("Login")({code:h7,user:uY,url:O.String,server:O.String,expiry:O.Duration,interval:O.Duration}){}class u7 extends O.TaggedClass()("PollSuccess",{email:O.String}){}class m7 extends O.TaggedClass()("PollPending",{}){}class l7 extends O.TaggedClass()("PollSlow",{}){}class d7 extends O.TaggedClass()("PollExpired",{}){}class p7 extends O.TaggedClass()("PollDenied",{}){}class c7 extends O.TaggedClass()("PollError",{cause:O.Defect}){}var YN=O.Union([u7,m7,l7,d7,p7,c7]);var y9=($)=>{let Z=new URL($);Z.search="",Z.hash="";let J=Z.pathname.replace(/\/+$/,"");return J.length===0?Z.origin:`${Z.origin}${J}`};var XN=1;class x9 extends S1.Service()("@qitqode/AccountRepo"){}var $i=T0.effect(x9,T.gen(function*(){let $=O.decodeUnknownSync(mY),Z=(B)=>T.try({try:()=>W1.use(B),catch:(z)=>new g7({message:"Database operation failed",cause:z})}),J=(B)=>T.try({try:()=>W1.transaction(B),catch:(z)=>new g7({message:"Database operation failed",cause:z})}),Y=(B)=>{let z=B.select().from(q5).where(m0(q5.id,XN)).get();if(!z?.active_account_id)return;let F=B.select().from(L8).where(m0(L8.id,z.active_account_id)).get();if(!F)return;return{...F,active_org_id:z.active_org_id??null}},X=(B,z,F)=>{let A=O1.getOrNull(F);return B.insert(q5).values({id:XN,active_account_id:z,active_org_id:A}).onConflictDoUpdate({target:q5.id,set:{active_account_id:z,active_org_id:A}}).run()},Q=T.fn("AccountRepo.active")(()=>Z((B)=>Y(B)).pipe(T.map((B)=>B?O1.some($(B)):O1.none()))),G=T.fn("AccountRepo.list")(()=>Z((B)=>B.select().from(L8).all().map((z)=>$({...z,active_org_id:null})))),W=T.fn("AccountRepo.remove")((B)=>J((z)=>{z.update(q5).set({active_account_id:null,active_org_id:null}).where(m0(q5.active_account_id,B)).run(),z.delete(L8).where(m0(L8.id,B)).run()}).pipe(T.asVoid)),K=T.fn("AccountRepo.use")((B,z)=>Z((F)=>X(F,B,z)).pipe(T.asVoid)),V=T.fn("AccountRepo.getRow")((B)=>Z((z)=>z.select().from(L8).where(m0(L8.id,B)).get()).pipe(T.map(O1.fromNullishOr))),U=T.fn("AccountRepo.persistToken")((B)=>Z((z)=>z.update(L8).set({access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:O1.getOrNull(B.expiry)}).where(m0(L8.id,B.accountID)).run()).pipe(T.asVoid)),H=T.fn("AccountRepo.persistAccount")((B)=>J((z)=>{let F=y9(B.url);z.insert(L8).values({id:B.id,email:B.email,url:F,access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:B.expiry}).onConflictDoUpdate({target:L8.id,set:{email:B.email,url:F,access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:B.expiry}}).run(),X(z,B.id,B.orgID)}).pipe(T.asVoid));return x9.of({active:Q,list:G,remove:W,use:K,getRow:V,persistToken:U,persistAccount:H})}));class VN extends O.Class("RemoteConfig")({config:O.Record(O.String,O.Json)}){}var g9=O.Number.pipe(O.decodeTo(O.Duration,{decode:nV.transform(($)=>Z8.seconds($)),encode:nV.transform(($)=>Z8.toSeconds($))}));class UN extends O.Class("TokenRefresh")({access_token:gY,refresh_token:x7,expires_in:g9}){}class HN extends O.Class("DeviceAuth")({device_code:h7,user_code:uY,verification_uri_complete:O.String,expires_in:g9,interval:g9}){}class BN extends O.Class("DeviceTokenSuccess")({access_token:gY,refresh_token:x7,token_type:O.Literal("Bearer"),expires_in:g9}){}class tV extends O.Class("DeviceTokenError")({error:O.String,error_description:O.String}){toPollResult(){if(this.error==="authorization_pending")return new m7;if(this.error==="slow_down")return new l7;if(this.error==="expired_token")return new d7;if(this.error==="access_denied")return new p7;return new c7({cause:this.error})}}var Zi=O.Union([BN,tV]);class zN extends O.Class("User")({id:hY,email:O.String}){}class sV extends O.Class("ClientId")({client_id:O.String}){}class rV extends O.Class("DeviceTokenRequest")({grant_type:O.String,device_code:h7,client_id:O.String}){}class aV extends O.Class("TokenRefreshRequest")({grant_type:O.String,refresh_token:x7,client_id:O.String}){}var iV="opencode-cli",Ji=Z8.minutes(5),Yi=Z8.toMillis(Ji),QN=($,Z)=>$!=null&&$>Z+Yi,o8=($="Account service operation failed")=>(Z)=>Z.pipe(T.mapError((J)=>Xi(J,$))),Xi=($,Z)=>{if($ instanceof RZ||$ instanceof j5)return $;if(GN.isHttpClientError($))switch($.reason._tag){case"TransportError":return j5.fromHttpClientError($.reason);default:return new RZ({message:Z,cause:$})}return new RZ({message:Z,cause:$})};class u9 extends S1.Service()("@qitqode/Account"){}var FN=T0.effect(u9,T.gen(function*(){let $=yield*i7.Service,Z=yield*h9.HttpClient,J=KN(Z),Y=h9.filterStatusOk(Z),X=h9.filterStatusOk(J),Q=(R)=>J.execute(R).pipe(o8("HTTP request failed")),G=(R)=>X.execute(R).pipe(o8("HTTP request failed")),W=(R)=>R.pipe(T.flatMap((w)=>Y.execute(w)),o8("HTTP request failed")),K=(R)=>R.pipe(T.flatMap((w)=>Z.execute(w)),o8("HTTP request failed")),V=T.fnUntraced(function*(R){let w=yield*n7.currentTimeMillis,I=yield*W(V$.post(`${R.url}/auth/device/token`).pipe(V$.acceptJson,V$.schemaBodyJson(aV)(new aV({grant_type:"refresh_token",refresh_token:R.refresh_token,client_id:iV})))),_=yield*PZ.schemaBodyJson(UN)(I).pipe(o8("Failed to decode response")),E=O1.some(w+Z8.toMillis(_.expires_in));return yield*$.persistToken({accountID:R.id,accessToken:_.access_token,refreshToken:_.refresh_token,expiry:E}),_.access_token}),U=yield*oV.make({capacity:Number.POSITIVE_INFINITY,timeToLive:Z8.zero,lookup:T.fnUntraced(function*(R){let w=yield*$.getRow(R);if(O1.isNone(w))return yield*T.fail(new RZ({message:"Account not found during token refresh"}));let I=w.value,_=yield*n7.currentTimeMillis;if(QN(I.token_expiry,_))return I.access_token;return yield*V(I)})}),H=T.fnUntraced(function*(R){let w=yield*n7.currentTimeMillis;if(QN(R.token_expiry,w))return R.access_token;return yield*oV.get(U,R.id)}),B=T.fnUntraced(function*(R){let w=yield*$.getRow(R);if(O1.isNone(w))return O1.none();let I=w.value,_=yield*H(I);return O1.some({account:I,accessToken:_})}),z=T.fnUntraced(function*(R,w){let I=yield*G(V$.get(`${R}/api/orgs`).pipe(V$.acceptJson,V$.bearerToken(w)));return yield*PZ.schemaBodyJson(O.Array(lY))(I).pipe(o8("Failed to decode response"))}),F=T.fnUntraced(function*(R,w){let I=yield*G(V$.get(`${R}/api/user`).pipe(V$.acceptJson,V$.bearerToken(w)));return yield*PZ.schemaBodyJson(zN)(I).pipe(o8("Failed to decode response"))}),A=T.fn("Account.token")((R)=>B(R).pipe(T.map(O1.map((w)=>w.accessToken)))),j=T.fn("Account.activeOrg")(function*(){let R=yield*$.active();if(O1.isNone(R))return O1.none();let w=R.value;if(!w.active_org_id)return O1.none();let _=(yield*L(w.id)).find((E)=>E.id===w.active_org_id);if(!_)return O1.none();return O1.some({account:w,org:_})}),N=T.fn("Account.orgsByAccount")(function*(){let R=yield*$.list();return yield*T.forEach(R,(w)=>L(w.id).pipe(T.catch(()=>T.succeed([])),T.map((I)=>({account:w,orgs:I}))),{concurrency:3})}),L=T.fn("Account.orgs")(function*(R){let w=yield*B(R);if(O1.isNone(w))return[];let{account:I,accessToken:_}=w.value;return yield*z(I.url,_)}),q=T.fn("Account.config")(function*(R,w){let I=yield*B(R);if(O1.isNone(I))return O1.none();let{account:_,accessToken:E}=I.value,f=yield*Q(V$.get(`${_.url}/api/config`).pipe(V$.acceptJson,V$.bearerToken(E),V$.setHeaders({"x-org-id":w})));if(f.status===404)return O1.none();let b=yield*PZ.filterStatusOk(f).pipe(o8()),y=yield*PZ.schemaBodyJson(VN)(b).pipe(o8("Failed to decode response"));return O1.some(y.config)}),M=T.fn("Account.login")(function*(R){let w=y9(R),I=yield*W(V$.post(`${w}/auth/device/code`).pipe(V$.acceptJson,V$.schemaBodyJson(sV)(new sV({client_id:iV})))),_=yield*PZ.schemaBodyJson(HN)(I).pipe(o8("Failed to decode response"));return new dY({code:_.device_code,user:_.user_code,url:`${w}${_.verification_uri_complete}`,server:w,expiry:_.expires_in,interval:_.interval})}),C=T.fn("Account.poll")(function*(R){let w=yield*K(V$.post(`${R.server}/auth/device/token`).pipe(V$.acceptJson,V$.schemaBodyJson(rV)(new rV({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:R.code,client_id:iV})))),I=yield*PZ.schemaBodyJson(Zi)(w).pipe(o8("Failed to decode response"));if(I instanceof tV)return I.toPollResult();let _=I.access_token,E=F(R.server,_),f=z(R.server,_),[b,y]=yield*T.all([E,f],{concurrency:2}),k=y.length>0?O1.some(y[0].id):O1.none(),d=(yield*n7.currentTimeMillis)+Z8.toMillis(I.expires_in),p=I.refresh_token;return yield*$.persistAccount({id:b.id,email:b.email,url:R.server,accessToken:_,refreshToken:p,expiry:d,orgID:k}),new u7({email:b.email})});return u9.of({active:$.active,activeOrg:j,list:$.list,orgsByAccount:N,remove:$.remove,use:$.use,orgs:L,config:q,token:A,login:M,poll:C})})),Qi=FN.pipe(T0.provide(i7.layer),T0.provide(WN.layer));import Gi from"path";async function qN(){let $=["qitqode.jsonc","qitqode.json","config.json"].map((Z)=>Gi.join(F0.Path.config,Z));for(let Z of $)if(await o0.exists(Z))return Z;return $[0]}function eV($,Z,J=[]){if(!J8(Z)){let Y=AN($,J,Z,{formattingOptions:{insertSpaces:!0,tabSize:2}});return ON($,Y)}return Object.entries(Z).reduce((Y,[X,Q])=>{if(Q===void 0)return Y;return eV(Y,Q,[...J,X])},$)}function s7($){let{plugin_origins:Z,mcp_origins:J,...Y}=$;return Y}var Wi=E0.create({service:"config.sources"});function jN($,Z){if(!J8($))return $;let J={...$};if(!(("theme"in J)||("keybinds"in J)||("tui"in J)))return J;return delete J.theme,delete J.keybinds,delete J.tui,Wi.warn("tui keys in qitqode config are deprecated; move them to tui.json",{path:Z}),J}async function NN($,Z){if(!$.plugin)return $;for(let J=0;J<$.plugin.length;J++)$.plugin[J]=await s8.resolvePluginSpec($.plugin[J],Z);return $}var Ki=E0.create({service:"config.loader"});function MN($){let Z=T.fnUntraced(function*(X){return yield*$.fs.readFileString(X).pipe(T.catchIf((Q)=>Q.reason._tag==="NotFound",()=>T.succeed(void 0)),T.orDie)}),J=T.fnUntraced(function*(X,Q){let G="path"in Q?Q.path:Q.source,W=yield*T.promise(()=>$U.substitute("path"in Q?{text:X,type:"path",path:Q.path}:{text:X,type:"virtual",...Q})),K=r8.jsonc(W,G),V=r8.schema($.info,jN(K,G),G);if(!("path"in Q))return V;if(yield*T.promise(()=>NN(V,Q.path)),!V.$schema){V.$schema="https://opencode.ai/config.json";let U=X.replace(/^\s*\{/,`{
487
487
  "$schema": "https://opencode.ai/config.json",`);yield*$.fs.writeFileString(Q.path,U).pipe(T.catch(()=>T.void))}return V}),Y=T.fnUntraced(function*(X){Ki.info("loading",{path:X});let Q=yield*Z(X);if(!Q)return{};return yield*J(Q,{path:X})});return{readConfigFile:Z,loadConfig:J,loadFile:Y}}import pY from"path";import{pathToFileURL as Vi}from"url";import ZU from"fs/promises";function wN($){return T.fnUntraced(function*(){let Z=DN({},N1(yield*$(pY.join(F0.Path.config,"config.json"))),N1(yield*$(pY.join(F0.Path.config,"qitqode.json"))),N1(yield*$(pY.join(F0.Path.config,"qitqode.jsonc")))),J=pY.join(F0.Path.config,"config");if(!(yield*T.promise(()=>ZU.access(J).then(()=>!0,()=>!1))))return Z;return yield*T.promise(()=>import(Vi(J).href,{with:{type:"toml"}}).then(async(X)=>{let{provider:Q,model:G,...W}=X.default;if(Q&&G)Z.model=`${Q}/${G}`;Z.$schema="https://opencode.ai/config.json",Z=N1(Z,W),await ZU.writeFile(pY.join(F0.Path.config,"config.json"),JSON.stringify(Z,null,2)),await ZU.unlink(J)}).catch(()=>{})),Z})}import fZ from"path";import lr from"os";function m9($,Z){let J=N1($,Z);if($.instructions&&Z.instructions)J.instructions=Array.from(new Set([...$.instructions,...Z.instructions]));return J}var IZ={};F1(IZ,{redactString:()=>RN,redactCommand:()=>Ai,fromClaude:()=>Fi,Remote:()=>QU,OAuth:()=>XU,Local:()=>YU,Info:()=>Ui,ConfigMCP:()=>IZ});class YU extends O.Class("McpLocalConfig")({type:O.Literal("local").annotate({description:"Type of MCP server connection"}),command:O.mutable(O.Array(O.String)).annotate({description:"Command and arguments to run the MCP server"}),environment:O.optional(O.Record(O.String,O.String)).annotate({description:"Environment variables to set when running the MCP server"}),enabled:O.optional(O.Boolean).annotate({description:"Enable or disable the MCP server on startup"}),timeout:O.optional(O.Number).annotate({description:"Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified."})}){static zod=w0(this)}class XU extends O.Class("McpOAuthConfig")({clientId:O.optional(O.String).annotate({description:"OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted."}),clientSecret:O.optional(O.String).annotate({description:"OAuth client secret (if required by the authorization server)"}),scope:O.optional(O.String).annotate({description:"OAuth scopes to request during authorization"}),redirectUri:O.optional(O.String).annotate({description:"OAuth redirect URI (default: http://127.0.0.1:19876/mcp/oauth/callback)."})}){static zod=w0(this)}class QU extends O.Class("McpRemoteConfig")({type:O.Literal("remote").annotate({description:"Type of MCP server connection"}),url:O.String.annotate({description:"URL of the remote MCP server"}),enabled:O.optional(O.Boolean).annotate({description:"Enable or disable the MCP server on startup"}),headers:O.optional(O.Record(O.String,O.String)).annotate({description:"Headers to send with the request"}),oauth:O.optional(O.Union([XU,O.Literal(!1)])).annotate({description:"OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection."}),timeout:O.optional(O.Number).annotate({description:"Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified."})}){static zod=w0(this)}var Ui=O.Union([YU,QU]).annotate({discriminator:"type"}).pipe(u0(($)=>({zod:w0($)}))),LN=new Set(["http","streamable-http","remote"]),TN=new Set(["stdio","local"]),Hi=["authorization","token","api_key","apikey","key","secret","password","credential"];function JU($){if(!J8($))return;return Object.fromEntries(Object.entries($).filter((Z)=>typeof Z[1]==="string"))}function Bi($){return Hi.some((Z)=>$.toLowerCase().includes(Z))}function zi($){if($===!1)return!1;if(!J8($))return;let Z={...typeof $.clientId==="string"&&{clientId:$.clientId},...typeof $.clientSecret==="string"&&{clientSecret:$.clientSecret},...typeof $.scope==="string"&&{scope:$.scope},...typeof $.redirectUri==="string"&&{redirectUri:$.redirectUri}};return Object.keys(Z).length>0?Z:void 0}function Fi($,Z){if(!J8(Z))return{warning:`skipped Claude Code MCP server "${$}"; server config is not an object.`};if(Z.type==="sse")return{warning:`skipped Claude Code MCP server "${$}"; unsupported transport "sse".`};if(Z.args!==void 0&&!Array.isArray(Z.args))return{warning:`skipped Claude Code MCP server "${$}"; args is not an array.`};let J=Array.isArray(Z.args)?Z.args:[];if(!J.every((W)=>typeof W==="string"))return{warning:`skipped Claude Code MCP server "${$}"; args must contain only strings.`};let Y=Z.disabled===!0?!1:Z.enabled===!1?!1:!0,X=JU(Z.environment)??JU(Z.env),Q=typeof Z.timeout==="number"?Z.timeout:void 0,G=typeof Z.type==="string"?Z.type:void 0;if(typeof Z.command==="string"&&(!G||TN.has(G)))return{config:{type:"local",command:[Z.command,...J],...X&&{environment:X},enabled:Y,...Q!==void 0&&{timeout:Q}}};if(Z.command!==void 0)return{warning:`skipped Claude Code MCP server "${$}"; command is not a string.`};if(typeof Z.url==="string"&&(!G||LN.has(G))){let W=JU(Z.headers),K=zi(Z.oauth);return{config:{type:"remote",url:Z.url,enabled:Y,...W&&{headers:W},...K!==void 0&&{oauth:K},...Q!==void 0&&{timeout:Q}}}}if(Z.url!==void 0)return{warning:`skipped Claude Code MCP server "${$}"; url is not a string.`};if(G&&!TN.has(G)&&!LN.has(G))return{warning:`skipped Claude Code MCP server "${$}"; unsupported transport "${G}".`};return{warning:`skipped Claude Code MCP server "${$}"; missing command or url.`}}function RN($){return $.replace(/(Bearer\s+)[^\s]+/gi,"$1****").replace(/([?&][^=\s&]*(?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)[^=\s&]*=)[^&\s]+/gi,"$1****").replace(/((?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)=)[^\s]+/gi,"$1****")}function Ai($){return $.map((Z,J)=>{if(J>0&&Bi($[J-1]))return"****";return RN(Z)})}var GU=E0.create({service:"config.sources"});function PN($){let Z=(G,W,K,V)=>{if(!K.mcp)return G;return{...G,mcp_origins:{...G.mcp_origins??{},...Object.fromEntries(Object.keys(K.mcp).map((U)=>[U,{type:V,source:W}]))}}},J=T.fnUntraced(function*(G,W,K,V){if(!K?.length)return G;let U=V??(yield*$.resolvePluginScope(W)),H=s8.deduplicatePluginOrigins([...G.plugin_origins??[],...K.map((B)=>({spec:B,source:W,scope:U}))]);return{...G,plugin:H.map((B)=>B.spec),plugin_origins:H}}),Y=T.fnUntraced(function*(G,W,K,V){let U=m9(G,K),H=Z(U,W,K,"qitqode");return yield*J(H,W,K.plugin,V)}),X=T.fnUntraced(function*(G){let W=yield*$.readConfigFile(G);if(!W)return;return yield*T.try({try:()=>JSON.parse(W),catch:()=>Error(`failed to parse ${G}; Claude Code MCP compatibility skipped.`)}).pipe(T.tapError((K)=>T.sync(()=>GU.warn(K.message))),T.option,T.map(O1.getOrUndefined))}),Q=T.fnUntraced(function*(G,W){let K=yield*X(W);if(!J8(K)||!J8(K.mcpServers))return G;let V=G;for(let[U,H]of Object.entries(K.mcpServers)){if(V.mcp?.[U]&&V.mcp_origins?.[U]?.type!=="claude"){GU.info(`skipped Claude Code MCP server "${U}"; native qitqode MCP with same name already exists.`);continue}let z=IZ.fromClaude(U,H);if("warning"in z){GU.warn(z.warning);continue}let F=r8.schema($.info,{mcp:{[U]:z.config}},W);V={...V,mcp:{...V.mcp??{},[U]:F.mcp[U]},mcp_origins:{...V.mcp_origins??{},[U]:{type:"claude",source:W}}}}return V});return{merge:Y,mergeMcpOrigins:Z,mergePluginOrigins:J,mergeClaudeMcp:Q}}function IN($,Z){let J=$;for(let[Y,X]of Object.entries(J.mode??{}))J.agent=N1(J.agent??{},{[Y]:{...X,mode:"primary"}});if(Z.permissionOverride)J.permission=N1(J.permission??{},JSON.parse(Z.permissionOverride));if(J.tools){let Y={};for(let[X,Q]of Object.entries(J.tools)){let G=Q?"allow":"deny";if(X==="write"||X==="edit"||X==="patch"||X==="multiedit"){Y.edit=G;continue}Y[X]=G}J.permission=N1(Y,J.permission??{})}if(!J.username)J.username=Z.username;if(J.autoshare===!0&&!J.share)J.share="auto";if(Z.disableAutoCompact)J.compaction={...J.compaction,auto:!1};if(Z.disablePrune)J.compaction={...J.compaction,prune:!1};return J}var c6={};F1(c6,{loadMode:()=>kr,load:()=>fr,Info:()=>_U,ConfigAgent:()=>c6});import CN from"path";function Oi($,Z){let J=$.replaceAll("\\","/");for(let Y of Z){let X=J.indexOf(Y);if(X===-1)continue;return J.slice(X+Y.length)}}function EN($,Z){let J=Oi($,Z)??CN.basename($),Y=CN.extname(J);return Y.length?J.slice(0,-Y.length):J}var bU={};F1(bU,{shell:()=>Dr,parse:()=>EU,files:()=>Mr,fallbackSanitization:()=>rD,SHELL_REGEX:()=>sD,FrontmatterError:()=>eY,FILE_REGEX:()=>oD});var CU=m6(nD(),1);var oD=/(?<![\w`])@(\.?[^\s`,.]*(?:\.[^\s`,.]+)*)/g,sD=/!`([^`]+)`/g;function Mr($){return Array.from($.matchAll(oD))}function Dr($){return Array.from($.matchAll(sD))}function rD($){let Z=$.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!Z)return $;let J=Z[1],Y=J.split(/\r?\n/),X=[];for(let G of Y){if(G.trim().startsWith("#")||G.trim()===""){X.push(G);continue}if(G.match(/^\s+/)){X.push(G);continue}let W=G.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/);if(!W){X.push(G);continue}let K=W[1],V=W[2].trim();if(V===""||V===">"||V==="|"||V.startsWith('"')||V.startsWith("'")){X.push(G);continue}if(V.includes(":")){X.push(`${K}: |-`),X.push(` ${V}`);continue}X.push(G)}let Q=X.join(`
488
- `);return $.replace(J,()=>Q)}async function EU($){let Z=await o0.readText($);try{return CU.default(Z,{})}catch(J){let Y=rD(Z);if(Y===Z)throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return CU.default(Y,{})}catch(X){throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var eY=j1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var wr=E0.create({service:"config"});function $X($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new aD({path:J,issues:X.error.issues},{cause:X.error})}async function ZX($){for(let Z of await $4.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await EU(Z).catch(async(Q)=>{let G=eY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-rrd0fdra.js");l1.publish(W.Event.Error,{error:new j1.Unknown({message:G}).toObject()}),wr.error(`failed to load ${$.entity}`,{[$.entity]:Z,err:Q});return});if(!J)continue;let X={name:EN(Z,$.namePatterns),...J.data,[$.contentKey]:J.content.trim()};$.store(X,Z)}}var T8=O.String.annotate({[F$]:P.string().meta({$ref:"https://models.dev/model-schema.json#/$defs/Model"})}).pipe(u0(($)=>({zod:w0($)})));var _Z={};F1(_Z,{Rule:()=>R8,Object:()=>eD,Info:()=>Ir,ConfigPermission:()=>_Z,Action:()=>p6});var p6=O.Literals(["ask","allow","deny"]).annotate({identifier:"PermissionActionConfig"}).pipe(u0(($)=>({zod:w0($)}))),eD=O.Record(O.String,p6).annotate({identifier:"PermissionObjectConfig"}).pipe(u0(($)=>({zod:w0($)}))),R8=O.Union([p6,eD]).annotate({identifier:"PermissionRuleConfig"}).pipe(u0(($)=>({zod:w0($)}))),Lr=($)=>{if(typeof $==="object"&&$!==null&&!Array.isArray($))return{__originalKeys:globalThis.Object.keys($),...$};return $},Tr=O.StructWithRest(O.Struct({__originalKeys:O.optional(O.mutable(O.Array(O.String))),read:O.optional(R8),edit:O.optional(R8),glob:O.optional(R8),grep:O.optional(R8),list:O.optional(R8),bash:O.optional(R8),task:O.optional(R8),actor:O.optional(R8),external_directory:O.optional(R8),question:O.optional(p6),webfetch:O.optional(p6),websearch:O.optional(p6),codesearch:O.optional(p6),lsp:O.optional(R8),doom_loop:O.optional(p6),skill:O.optional(R8)}),[O.Record(O.String,R8)]),Rr=O.Union([Tr,p6]).annotate({[tD]:Lr}),Pr=($)=>{if(typeof $==="string")return{"*":$};let Z=$,{__originalKeys:J,...Y}=Z;if(!J)return Y;let X={};for(let Q of J)if(Q in Y)X[Q]=Y[Q];return X},Ir=w0(Rr).transform(Pr).meta({ref:"PermissionConfig"});var $w=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),Cr=O.Union([O.String.check(O.isPattern(/^#[0-9a-fA-F]{6}$/)),O.Literals(["primary","secondary","accent","success","warning","error","info"])]),Er=O.Any.annotate({[F$]:_Z.Info}),br=O.StructWithRest(O.Struct({model:O.optional(T8).annotate({description:"Model for this agent: a literal provider/model (e.g. anthropic/claude-opus-4-8) or a tier/group name (e.g. fast/economical/default/power). Names without a '/' are resolved as model groups, provider-aware, at spawn time."}),variant:O.optional(O.String).annotate({description:"Default model variant for this agent (applies only when using the agent's configured model)."}),temperature:O.optional(O.Number),top_p:O.optional(O.Number),prompt:O.optional(O.String),tools:O.optional(O.Record(O.String,O.Boolean)).annotate({description:"@deprecated Use 'permission' field instead"}),disable:O.optional(O.Boolean),description:O.optional(O.String).annotate({description:"Description of when to use the agent"}),mode:O.optional(O.Literals(["subagent","primary","all"])),hidden:O.optional(O.Boolean).annotate({description:"Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)"}),options:O.optional(O.Record(O.String,O.Any)),color:O.optional(Cr).annotate({description:"Hex color code (e.g., #FF5733) or theme color (e.g., primary)"}),steps:O.optional($w).annotate({description:"Maximum number of agentic iterations before forcing text-only response"}),tool_allowlist:O.optional(O.Array(O.String)).annotate({description:"Optional list of tool IDs allowed for this agent. When set, only these tools are available."}),maxSteps:O.optional($w).annotate({description:"@deprecated Use 'steps' field instead."}),permission:O.optional(Er)}),[O.Record(O.String,O.Any)]),_r=new Set(["name","model","variant","prompt","description","temperature","top_p","mode","hidden","color","steps","maxSteps","options","permission","disable","tools","tool_allowlist"]),Sr=($)=>{let Z={...$.options};for(let[Y,X]of Object.entries($))if(!_r.has(Y))Z[Y]=X;let J={};for(let[Y,X]of Object.entries($.tools??{})){let Q=X?"allow":"deny";if(Y==="write"||Y==="edit"||Y==="patch"||Y==="multiedit"){J.edit=Q;continue}if(Y==="task"){J.actor=Q;continue}J[Y]=Q}return globalThis.Object.assign(J,$.permission),{...$,options:Z,permission:J,steps:$.steps??$.maxSteps}},_U=w0(br).transform(Sr).meta({ref:"AgentConfig"});async function fr($){let Z={};return await ZX({dir:$,glob:"{agent,agents}/**/*.md",entity:"agent",namePatterns:["/.qitqode/agent/","/.qitqode/agents/","/agent/","/agents/"],contentKey:"prompt",store:(J,Y)=>{Z[J.name]=$X(_U,J,Y)}}),Z}async function kr($){let Z={};return await ZX({dir:$,glob:"{mode,modes}/*.md",entity:"mode",namePatterns:[],contentKey:"prompt",store:(J,Y)=>{let X=$X(_U,J,Y,{ignoreInvalid:!0});if(X)Z[J.name]={...X,mode:"primary"}}}),Z}var i6={};F1(i6,{load:()=>vr,Info:()=>Zw,ConfigCommand:()=>i6});var Zw=O.Struct({template:O.String,description:O.optional(O.String),agent:O.optional(O.String),model:O.optional(T8),subtask:O.optional(O.Boolean)}).pipe(u0(($)=>({zod:w0($)})));async function vr($){let Z={};return await ZX({dir:$,glob:"{command,commands}/**/*.md",entity:"command",namePatterns:["/.qitqode/command/","/.qitqode/commands/","/.claude/command/","/.claude/commands/","/command/","/commands/"],contentKey:"template",store:(J,Y)=>{Z[J.name]=$X(Zw.zod,J,Y)}}),Z}var R5={};F1(R5,{readManagedPreferences:()=>mr,parseManagedPlist:()=>Qw,managedConfigDirs:()=>Xw,managedConfigDir:()=>ur,ConfigManaged:()=>R5});import yr from"os";import SU from"path";var Jw=E0.create({service:"config"}),xr="ai.qitqode.managed",hr="ai.opencode.managed",gr=new Set(["PayloadDisplayName","PayloadIdentifier","PayloadType","PayloadUUID","PayloadVersion","_manualProfile"]);function Yw($="qitqode"){switch(process.platform){case"darwin":return`/Library/Application Support/${$}`;case"win32":return SU.join(process.env.ProgramData||"C:\\ProgramData",$);default:return`/etc/${$}`}}function ur(){return Xw().at(-1)}function Xw(){let $=process.env.QITQODE_TEST_MANAGED_CONFIG_DIR;if($)return[$];return[Yw("opencode"),Yw()]}function Qw($){let Z=JSON.parse($);for(let J of Object.keys(Z))if(gr.has(J))delete Z[J];return JSON.stringify(Z)}async function mr(){if(process.platform!=="darwin")return;let $=yr.userInfo().username,Z=[hr,xr].flatMap((J)=>[SU.join("/Library/Managed Preferences",$,`${J}.plist`),SU.join("/Library/Managed Preferences",`${J}.plist`)]);for(let J of Z){if(!await o0.exists(J))continue;Jw.info("reading macOS managed preferences",{path:J});let Y=await f1.run(["plutil","-convert","json","-o","-",J],{nothrow:!0});if(Y.code!==0){Jw.warn("failed to convert managed preferences plist",{path:J});continue}return{source:`mobileconfig:${J}`,text:Qw(Y.stdout.toString())}}return}var SZ=E0.create({service:"config"}),Gw=["node_modules","package.json","package-lock.json","bun.lock",".gitignore","/plans/"],dr=T.fn("Config.ensureGitignore")(function*($){let Z=yield*D$.Service,J=fZ.join($,".gitignore");if(!(yield*Z.existsSafe(J))){yield*Z.writeFileString(J,Gw.join(`
488
+ `);return $.replace(J,()=>Q)}async function EU($){let Z=await o0.readText($);try{return CU.default(Z,{})}catch(J){let Y=rD(Z);if(Y===Z)throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return CU.default(Y,{})}catch(X){throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var eY=j1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var wr=E0.create({service:"config"});function $X($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new aD({path:J,issues:X.error.issues},{cause:X.error})}async function ZX($){for(let Z of await $4.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await EU(Z).catch(async(Q)=>{let G=eY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-hjb1etf8.js");l1.publish(W.Event.Error,{error:new j1.Unknown({message:G}).toObject()}),wr.error(`failed to load ${$.entity}`,{[$.entity]:Z,err:Q});return});if(!J)continue;let X={name:EN(Z,$.namePatterns),...J.data,[$.contentKey]:J.content.trim()};$.store(X,Z)}}var T8=O.String.annotate({[F$]:P.string().meta({$ref:"https://models.dev/model-schema.json#/$defs/Model"})}).pipe(u0(($)=>({zod:w0($)})));var _Z={};F1(_Z,{Rule:()=>R8,Object:()=>eD,Info:()=>Ir,ConfigPermission:()=>_Z,Action:()=>p6});var p6=O.Literals(["ask","allow","deny"]).annotate({identifier:"PermissionActionConfig"}).pipe(u0(($)=>({zod:w0($)}))),eD=O.Record(O.String,p6).annotate({identifier:"PermissionObjectConfig"}).pipe(u0(($)=>({zod:w0($)}))),R8=O.Union([p6,eD]).annotate({identifier:"PermissionRuleConfig"}).pipe(u0(($)=>({zod:w0($)}))),Lr=($)=>{if(typeof $==="object"&&$!==null&&!Array.isArray($))return{__originalKeys:globalThis.Object.keys($),...$};return $},Tr=O.StructWithRest(O.Struct({__originalKeys:O.optional(O.mutable(O.Array(O.String))),read:O.optional(R8),edit:O.optional(R8),glob:O.optional(R8),grep:O.optional(R8),list:O.optional(R8),bash:O.optional(R8),task:O.optional(R8),actor:O.optional(R8),external_directory:O.optional(R8),question:O.optional(p6),webfetch:O.optional(p6),websearch:O.optional(p6),codesearch:O.optional(p6),lsp:O.optional(R8),doom_loop:O.optional(p6),skill:O.optional(R8)}),[O.Record(O.String,R8)]),Rr=O.Union([Tr,p6]).annotate({[tD]:Lr}),Pr=($)=>{if(typeof $==="string")return{"*":$};let Z=$,{__originalKeys:J,...Y}=Z;if(!J)return Y;let X={};for(let Q of J)if(Q in Y)X[Q]=Y[Q];return X},Ir=w0(Rr).transform(Pr).meta({ref:"PermissionConfig"});var $w=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),Cr=O.Union([O.String.check(O.isPattern(/^#[0-9a-fA-F]{6}$/)),O.Literals(["primary","secondary","accent","success","warning","error","info"])]),Er=O.Any.annotate({[F$]:_Z.Info}),br=O.StructWithRest(O.Struct({model:O.optional(T8).annotate({description:"Model for this agent: a literal provider/model (e.g. anthropic/claude-opus-4-8) or a tier/group name (e.g. fast/economical/default/power). Names without a '/' are resolved as model groups, provider-aware, at spawn time."}),variant:O.optional(O.String).annotate({description:"Default model variant for this agent (applies only when using the agent's configured model)."}),temperature:O.optional(O.Number),top_p:O.optional(O.Number),prompt:O.optional(O.String),tools:O.optional(O.Record(O.String,O.Boolean)).annotate({description:"@deprecated Use 'permission' field instead"}),disable:O.optional(O.Boolean),description:O.optional(O.String).annotate({description:"Description of when to use the agent"}),mode:O.optional(O.Literals(["subagent","primary","all"])),hidden:O.optional(O.Boolean).annotate({description:"Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)"}),options:O.optional(O.Record(O.String,O.Any)),color:O.optional(Cr).annotate({description:"Hex color code (e.g., #FF5733) or theme color (e.g., primary)"}),steps:O.optional($w).annotate({description:"Maximum number of agentic iterations before forcing text-only response"}),tool_allowlist:O.optional(O.Array(O.String)).annotate({description:"Optional list of tool IDs allowed for this agent. When set, only these tools are available."}),maxSteps:O.optional($w).annotate({description:"@deprecated Use 'steps' field instead."}),permission:O.optional(Er)}),[O.Record(O.String,O.Any)]),_r=new Set(["name","model","variant","prompt","description","temperature","top_p","mode","hidden","color","steps","maxSteps","options","permission","disable","tools","tool_allowlist"]),Sr=($)=>{let Z={...$.options};for(let[Y,X]of Object.entries($))if(!_r.has(Y))Z[Y]=X;let J={};for(let[Y,X]of Object.entries($.tools??{})){let Q=X?"allow":"deny";if(Y==="write"||Y==="edit"||Y==="patch"||Y==="multiedit"){J.edit=Q;continue}if(Y==="task"){J.actor=Q;continue}J[Y]=Q}return globalThis.Object.assign(J,$.permission),{...$,options:Z,permission:J,steps:$.steps??$.maxSteps}},_U=w0(br).transform(Sr).meta({ref:"AgentConfig"});async function fr($){let Z={};return await ZX({dir:$,glob:"{agent,agents}/**/*.md",entity:"agent",namePatterns:["/.qitqode/agent/","/.qitqode/agents/","/agent/","/agents/"],contentKey:"prompt",store:(J,Y)=>{Z[J.name]=$X(_U,J,Y)}}),Z}async function kr($){let Z={};return await ZX({dir:$,glob:"{mode,modes}/*.md",entity:"mode",namePatterns:[],contentKey:"prompt",store:(J,Y)=>{let X=$X(_U,J,Y,{ignoreInvalid:!0});if(X)Z[J.name]={...X,mode:"primary"}}}),Z}var i6={};F1(i6,{load:()=>vr,Info:()=>Zw,ConfigCommand:()=>i6});var Zw=O.Struct({template:O.String,description:O.optional(O.String),agent:O.optional(O.String),model:O.optional(T8),subtask:O.optional(O.Boolean)}).pipe(u0(($)=>({zod:w0($)})));async function vr($){let Z={};return await ZX({dir:$,glob:"{command,commands}/**/*.md",entity:"command",namePatterns:["/.qitqode/command/","/.qitqode/commands/","/.claude/command/","/.claude/commands/","/command/","/commands/"],contentKey:"template",store:(J,Y)=>{Z[J.name]=$X(Zw.zod,J,Y)}}),Z}var R5={};F1(R5,{readManagedPreferences:()=>mr,parseManagedPlist:()=>Qw,managedConfigDirs:()=>Xw,managedConfigDir:()=>ur,ConfigManaged:()=>R5});import yr from"os";import SU from"path";var Jw=E0.create({service:"config"}),xr="ai.qitqode.managed",hr="ai.opencode.managed",gr=new Set(["PayloadDisplayName","PayloadIdentifier","PayloadType","PayloadUUID","PayloadVersion","_manualProfile"]);function Yw($="qitqode"){switch(process.platform){case"darwin":return`/Library/Application Support/${$}`;case"win32":return SU.join(process.env.ProgramData||"C:\\ProgramData",$);default:return`/etc/${$}`}}function ur(){return Xw().at(-1)}function Xw(){let $=process.env.QITQODE_TEST_MANAGED_CONFIG_DIR;if($)return[$];return[Yw("opencode"),Yw()]}function Qw($){let Z=JSON.parse($);for(let J of Object.keys(Z))if(gr.has(J))delete Z[J];return JSON.stringify(Z)}async function mr(){if(process.platform!=="darwin")return;let $=yr.userInfo().username,Z=[hr,xr].flatMap((J)=>[SU.join("/Library/Managed Preferences",$,`${J}.plist`),SU.join("/Library/Managed Preferences",`${J}.plist`)]);for(let J of Z){if(!await o0.exists(J))continue;Jw.info("reading macOS managed preferences",{path:J});let Y=await f1.run(["plutil","-convert","json","-o","-",J],{nothrow:!0});if(Y.code!==0){Jw.warn("failed to convert managed preferences plist",{path:J});continue}return{source:`mobileconfig:${J}`,text:Qw(Y.stdout.toString())}}return}var SZ=E0.create({service:"config"}),Gw=["node_modules","package.json","package-lock.json","bun.lock",".gitignore","/plans/"],dr=T.fn("Config.ensureGitignore")(function*($){let Z=yield*D$.Service,J=fZ.join($,".gitignore");if(!(yield*Z.existsSafe(J))){yield*Z.writeFileString(J,Gw.join(`
489
489
  `)+`
490
490
  `).pipe(T.catchIf((V)=>V.reason?._tag==="PermissionDenied",()=>T.void));return}let X=yield*Z.readFileString(J),Q=new Set(X.split(`
491
491
  `).map((V)=>V.trim())),G=Gw.filter((V)=>!Q.has(V));if(G.length===0)return;let W=!X.endsWith(`
@@ -794,11 +794,11 @@ Exact commands you ran or commands the user/task asked to be runnable later. Kee
794
794
  `)}async function kj0($,Z){let Y=`---
795
795
  written-at: ${Date.now()}
796
796
  ---
797
- `,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function jm($){return{"actor.postStop":{matcher:{agentType:{excludeOnly:["checkpoint-writer","title","summary","dream","distill","compaction","main"]}},run:async(Z,J)=>{let Y=Z.task_id;if(!Y)return;if(Z.canWrite===!1)return;let X=Z.sessionID,Q=pu(X,Y),G;try{G=await Bun.file(Q).text()}catch{G=void 0}if(G===void 0){J.continue=!0,J.reason=qm({kind:"missing",taskId:Y,filePath:Q});return}let W=fj0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=qm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await bj0.mkdir(_j0.dirname(Q),{recursive:!0}),await kj0(Q,G)}catch(K){Sj0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var IA;((Zu0)=>{function $(Q){let G=s8.pluginSpecifier(Q);return{spec:G,options:s8.pluginOptions(Q),deprecated:Nm(G)}}async function Z(Q,G){let W="";try{W=await wm(Q.spec)}catch(V){return{ok:!1,stage:"install",error:V}}if(!W)return{ok:!1,stage:"install",error:Error(`Plugin ${Q.spec} target is empty`)};let K;try{K=await Lm(Q.spec,W,G)}catch(V){return{ok:!1,stage:"entry",error:V}}if(!K.entry)return{ok:!1,stage:"missing",value:{...Q,source:K.source,target:K.target,pkg:K.pkg,message:`Plugin ${Q.spec} does not expose a ${G} entrypoint`}};if(K.source==="npm")try{await Dm(K.target,E$,K.pkg)}catch(V){return{ok:!1,stage:"compatibility",error:V}}return{ok:!0,value:{...Q,source:K.source,target:K.target,entry:K.entry,pkg:K.pkg}}}Zu0.resolve=Z;async function J(Q){let G;try{G=await import(Q.entry)}catch(W){return{ok:!1,error:W}}if(!G)return{ok:!1,error:Error(`Plugin ${Q.spec} module is empty`)};return{ok:!0,value:{...Q,mod:G}}}Zu0.load=J;async function Y(Q,G,W,K,V,U){let H=Q.plan;if(H.deprecated)return;U?.start?.(Q,W);let B=await Z(H,G);if(!B.ok){if(B.stage==="missing"){if(V){let F=await V(B.value,Q.origin,W);if(F!==void 0)return F}U?.missing?.(Q,W,B.value.message,B.value);return}U?.error?.(Q,W,B.stage,B.error);return}let z=await J(B.value);if(!z.ok){U?.error?.(Q,W,"load",z.error,B.value);return}if(!K)return z.value;return K(z.value,Q.origin,W)}async function X(Q){let G=Q.items.map((U)=>({origin:U,plan:$(U.spec)})),W=[];for(let U of G)W.push(Y(U,Q.kind,!1,Q.finish,Q.missing,Q.report));let K=await Promise.all(W);if(Q.wait){let U;for(let H=0;H<G.length;H++){if(K[H]!==void 0)continue;let B=G[H];if(!B||Mm(B.plan.spec)!=="file")continue;U??=Q.wait(),await U,K[H]=await Y(B,Q.kind,!0,Q.finish,Q.missing,Q.report)}}let V=[];for(let U of K)if(U!==void 0)V.push(U);return V}Zu0.loadExternal=X})(IA||={});var Rm={worktree:Tm(async()=>(await import("./chunk-vwh6mv37.js")).WorktreeAdaptor)},OK=new Map;async function Xu0($,Z){let J=OK.get($)?.get(Z);if(J)return J;let Y=Rm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Qu0($){let Z=await Promise.all(Object.entries(Rm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...OK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Pm($,Z,J){let Y=OK.get($)??new Map;Y.set(Z,J),OK.set($,Y)}import vj0 from"fs/promises";import J9 from"path";import{pathToFileURL as Im,fileURLToPath as yj0}from"url";var z$=E0.create({service:"plugin"}),EA={Executed:L1.define("hook.executed",D.object({event:D.enum(["actor.preStop","actor.postStop"]),hookID:D.string(),pluginName:D.string(),actorID:D.string(),agentType:D.string(),durationMs:D.number(),outcome:D.enum(["success","error","skipped"]),continueRequested:D.boolean(),reasonLength:D.number()})),ReActReentered:L1.define("hook.react.reentered",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string(),iteration:D.number(),triggeredByPlugins:D.array(D.string()),reasonPreview:D.string()})),ReActMaxReached:L1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class qK extends S1.Service()("@qitqode/Plugin"){}var xj0=[c2,i2,p2,t2,ku,HK,lu,du,Am,jm];function Cm($){return typeof $==="function"}function hj0($){if(Cm($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Cm($.server))return;return $.server}function gj0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=hj0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function uj0($,Z,J,Y){let X=bm($.mod,$.spec,"server","detect");if(X){await _m($.source,$.spec,$.target,CA(X.id,$.spec),$.pkg);let Q=CA(X.id,$.spec)??$.pkg?.pkg??$.spec,G=await X.server(Z,$.options);J.push(G),Y.push({hook:G,pluginName:Q,hookIDFor:(W)=>`${Q}#${W}`});return}for(let Q of gj0($.mod)){let G=Q.name,W=G&&G!=="default"&&G!==""?G:$.pkg?.pkg??$.spec,K=await Q(Z,$.options);J.push(K),Y.push({hook:K,pluginName:W,hookIDFor:(V)=>`${W}#${V}`})}}var Sm=T0.effect(qK,T.gen(function*(){let $=yield*l1.Service,Z=yield*X8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],j=[],N=yield*T7.make();function L(f){N.fork($.publish(Y9.Event.Error,{error:new j1.Unknown({message:f}).toObject()}))}let{Server:q}=yield*T.promise(()=>import("./chunk-acpjrs02.js")),M=LH({baseUrl:"http://localhost:4096",directory:F.directory,headers:b0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${b0.QITQODE_SERVER_USERNAME??"qitqode"}:${b0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await q.Default()).app.fetch(...f)}),C=yield*Z.get(),R={client:M,project:F.project,worktree:F.worktree,directory:F.directory,experimental_workspace:{register(f,b){Pm(F.project.id,f,b)}},get serverUrl(){return q.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of xj0){z$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(y)=>{z$.error("failed to load internal plugin",{name:f.name,error:y})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),j.push({hook:b.value,pluginName:f.name,hookIDFor:(y)=>`${f.name}#${y}`})}let w={},I=yield*T.tryPromise(()=>import("./chunk-wbw9zv3h.js")).pipe(T.option);if(I._tag==="Some")Object.assign(w,I.value.modules??{});else{let f=J9.join(J9.dirname(yj0(import.meta.url)),"..","ext"),y=(yield*T.promise(()=>vj0.readdir(f).catch(()=>[]))).filter((k)=>k.endsWith(".ts")&&!k.endsWith(".d.ts")&&k!=="_manifest.ts");for(let k of y){let g=yield*T.tryPromise({try:()=>import(Im(J9.join(f,k)).href),catch:(d)=>z$.error("failed to import extension",{name:k,error:d})}).pipe(T.option);if(g._tag==="Some")w[k.replace(/\.ts$/,"")]=g.value}}for(let[f,b]of Object.entries(w)){let y=Object.entries(b).find(([g,d])=>typeof d==="function"&&g.endsWith("Plugin"))?.[1];if(!y)continue;z$.info("loading extension",{name:f});let k=yield*T.tryPromise({try:()=>y(R),catch:(g)=>z$.error("failed to load extension",{name:f,error:g})}).pipe(T.option);if(k._tag==="Some")A.push(k.value),j.push({hook:k.value,pluginName:f,hookIDFor:(g)=>`${f}#${g}`})}let _=b0.QITQODE_PURE?[]:C.plugin_origins??[];if(b0.QITQODE_PURE&&C.plugin_origins?.length)z$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>IA.loadExternal({items:_,kind:"server",report:{start(f){z$.info("loading plugin",{path:f.plan.spec})},missing(f,b,y){z$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:y})},error(f,b,y,k,g){let d=f.plan.spec,p=k instanceof Error?k.cause??k:k,t=y==="load"?V6(k):V6(p);if(y==="install"){let r=Em(d);z$.error("failed to install plugin",{pkg:r.pkg,version:r.version,error:t}),L(`Failed to install plugin ${r.pkg}@${r.version}: ${t}`);return}if(y==="compatibility"){z$.warn("plugin incompatible",{path:d,error:t}),L(`Plugin ${d} skipped: ${t}`);return}if(y==="entry"){z$.error("failed to resolve plugin server entry",{path:d,error:t}),L(`Failed to load plugin ${d}: ${t}`);return}z$.error("failed to load plugin",{path:d,target:g?.entry,error:t}),L(`Failed to load plugin ${d}: ${t}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>uj0(f,R,A,j),catch:(b)=>{let y=V6(b);return z$.error("failed to load plugin",{path:f.spec,error:y}),y}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{z$.error("plugin config hook failed",{error:b})}}).pipe(T.ignore);return yield*$.subscribeAll().pipe(I$.runForEach((f)=>T.sync(()=>{for(let b of A)b.event?.({event:f})})),T.forkScoped),{hooks:A,hooksWithMeta:j}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],j=yield*Z.get(),N=yield*Z.directories();for(let L of N){let q=$4.scanSync("{hook,hooks}/*.{js,ts}",{cwd:L,absolute:!0,dot:!0,symlink:!0});for(let M of q){let C=yield*T.tryPromise({try:()=>import(`${Im(M).href}?v=${Date.now()}`),catch:(w)=>w}).pipe(T.catch((w)=>{return z$.error("failed to load file hook",{path:M,error:V6(w)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let w=J9.basename(M,J9.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${w}`,hookIDFor:(I)=>`file:${w}#${I}`}),z$.info("loaded file hook",{path:M,name:w})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let j=yield*B0.get(J),N=yield*B0.get(Y),L=[],q=[],M=[],C=!1;for(let w of[...j.hooksWithMeta,...N.meta]){let I=w.hook[A];if(!I)continue;let _=typeof I==="function"?I:I.run,E=typeof I==="function"?void 0:I.matcher;if(!U2(E,F)){yield*$.publish(EA.Executed,{event:A,hookID:w.hookIDFor(A),pluginName:w.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:0,outcome:"skipped",continueRequested:!1,reasonLength:0});continue}let f=Date.now(),b={continue:!1},y="success";yield*T.tryPromise({try:()=>_(F,b),catch:(g)=>g}).pipe(T.tapError((g)=>T.gen(function*(){y="error",z$.error(`${A} hook failed`,{pluginName:w.pluginName,hookID:w.hookIDFor(A),error:g}),yield*$.publish(Y9.Event.Error,{sessionID:F.sessionID,error:new j1.Unknown({message:`${A} hook (${w.pluginName}) failed: ${V6(g)}`}).toObject()})})),T.ignore);let k=Date.now()-f;if(yield*$.publish(EA.Executed,{event:A,hookID:w.hookIDFor(A),pluginName:w.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:k,outcome:y,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,L.push(b.reason),q.push(w.pluginName),M.push(w.hookIDFor(A));else if(b.continue===!0)z$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:w.pluginName})}return{continue:C,reason:L.length>0?L.join(`
797
+ `,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function jm($){return{"actor.postStop":{matcher:{agentType:{excludeOnly:["checkpoint-writer","title","summary","dream","distill","compaction","main"]}},run:async(Z,J)=>{let Y=Z.task_id;if(!Y)return;if(Z.canWrite===!1)return;let X=Z.sessionID,Q=pu(X,Y),G;try{G=await Bun.file(Q).text()}catch{G=void 0}if(G===void 0){J.continue=!0,J.reason=qm({kind:"missing",taskId:Y,filePath:Q});return}let W=fj0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=qm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await bj0.mkdir(_j0.dirname(Q),{recursive:!0}),await kj0(Q,G)}catch(K){Sj0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var IA;((Zu0)=>{function $(Q){let G=s8.pluginSpecifier(Q);return{spec:G,options:s8.pluginOptions(Q),deprecated:Nm(G)}}async function Z(Q,G){let W="";try{W=await wm(Q.spec)}catch(V){return{ok:!1,stage:"install",error:V}}if(!W)return{ok:!1,stage:"install",error:Error(`Plugin ${Q.spec} target is empty`)};let K;try{K=await Lm(Q.spec,W,G)}catch(V){return{ok:!1,stage:"entry",error:V}}if(!K.entry)return{ok:!1,stage:"missing",value:{...Q,source:K.source,target:K.target,pkg:K.pkg,message:`Plugin ${Q.spec} does not expose a ${G} entrypoint`}};if(K.source==="npm")try{await Dm(K.target,E$,K.pkg)}catch(V){return{ok:!1,stage:"compatibility",error:V}}return{ok:!0,value:{...Q,source:K.source,target:K.target,entry:K.entry,pkg:K.pkg}}}Zu0.resolve=Z;async function J(Q){let G;try{G=await import(Q.entry)}catch(W){return{ok:!1,error:W}}if(!G)return{ok:!1,error:Error(`Plugin ${Q.spec} module is empty`)};return{ok:!0,value:{...Q,mod:G}}}Zu0.load=J;async function Y(Q,G,W,K,V,U){let H=Q.plan;if(H.deprecated)return;U?.start?.(Q,W);let B=await Z(H,G);if(!B.ok){if(B.stage==="missing"){if(V){let F=await V(B.value,Q.origin,W);if(F!==void 0)return F}U?.missing?.(Q,W,B.value.message,B.value);return}U?.error?.(Q,W,B.stage,B.error);return}let z=await J(B.value);if(!z.ok){U?.error?.(Q,W,"load",z.error,B.value);return}if(!K)return z.value;return K(z.value,Q.origin,W)}async function X(Q){let G=Q.items.map((U)=>({origin:U,plan:$(U.spec)})),W=[];for(let U of G)W.push(Y(U,Q.kind,!1,Q.finish,Q.missing,Q.report));let K=await Promise.all(W);if(Q.wait){let U;for(let H=0;H<G.length;H++){if(K[H]!==void 0)continue;let B=G[H];if(!B||Mm(B.plan.spec)!=="file")continue;U??=Q.wait(),await U,K[H]=await Y(B,Q.kind,!0,Q.finish,Q.missing,Q.report)}}let V=[];for(let U of K)if(U!==void 0)V.push(U);return V}Zu0.loadExternal=X})(IA||={});var Rm={worktree:Tm(async()=>(await import("./chunk-zkm3yyyf.js")).WorktreeAdaptor)},OK=new Map;async function Xu0($,Z){let J=OK.get($)?.get(Z);if(J)return J;let Y=Rm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Qu0($){let Z=await Promise.all(Object.entries(Rm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...OK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Pm($,Z,J){let Y=OK.get($)??new Map;Y.set(Z,J),OK.set($,Y)}import vj0 from"fs/promises";import J9 from"path";import{pathToFileURL as Im,fileURLToPath as yj0}from"url";var z$=E0.create({service:"plugin"}),EA={Executed:L1.define("hook.executed",D.object({event:D.enum(["actor.preStop","actor.postStop"]),hookID:D.string(),pluginName:D.string(),actorID:D.string(),agentType:D.string(),durationMs:D.number(),outcome:D.enum(["success","error","skipped"]),continueRequested:D.boolean(),reasonLength:D.number()})),ReActReentered:L1.define("hook.react.reentered",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string(),iteration:D.number(),triggeredByPlugins:D.array(D.string()),reasonPreview:D.string()})),ReActMaxReached:L1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class qK extends S1.Service()("@qitqode/Plugin"){}var xj0=[c2,i2,p2,t2,ku,HK,lu,du,Am,jm];function Cm($){return typeof $==="function"}function hj0($){if(Cm($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Cm($.server))return;return $.server}function gj0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=hj0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function uj0($,Z,J,Y){let X=bm($.mod,$.spec,"server","detect");if(X){await _m($.source,$.spec,$.target,CA(X.id,$.spec),$.pkg);let Q=CA(X.id,$.spec)??$.pkg?.pkg??$.spec,G=await X.server(Z,$.options);J.push(G),Y.push({hook:G,pluginName:Q,hookIDFor:(W)=>`${Q}#${W}`});return}for(let Q of gj0($.mod)){let G=Q.name,W=G&&G!=="default"&&G!==""?G:$.pkg?.pkg??$.spec,K=await Q(Z,$.options);J.push(K),Y.push({hook:K,pluginName:W,hookIDFor:(V)=>`${W}#${V}`})}}var Sm=T0.effect(qK,T.gen(function*(){let $=yield*l1.Service,Z=yield*X8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],j=[],N=yield*T7.make();function L(f){N.fork($.publish(Y9.Event.Error,{error:new j1.Unknown({message:f}).toObject()}))}let{Server:q}=yield*T.promise(()=>import("./chunk-6ex981t8.js")),M=LH({baseUrl:"http://localhost:4096",directory:F.directory,headers:b0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${b0.QITQODE_SERVER_USERNAME??"qitqode"}:${b0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await q.Default()).app.fetch(...f)}),C=yield*Z.get(),R={client:M,project:F.project,worktree:F.worktree,directory:F.directory,experimental_workspace:{register(f,b){Pm(F.project.id,f,b)}},get serverUrl(){return q.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of xj0){z$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(y)=>{z$.error("failed to load internal plugin",{name:f.name,error:y})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),j.push({hook:b.value,pluginName:f.name,hookIDFor:(y)=>`${f.name}#${y}`})}let w={},I=yield*T.tryPromise(()=>import("./chunk-wbw9zv3h.js")).pipe(T.option);if(I._tag==="Some")Object.assign(w,I.value.modules??{});else{let f=J9.join(J9.dirname(yj0(import.meta.url)),"..","ext"),y=(yield*T.promise(()=>vj0.readdir(f).catch(()=>[]))).filter((k)=>k.endsWith(".ts")&&!k.endsWith(".d.ts")&&k!=="_manifest.ts");for(let k of y){let g=yield*T.tryPromise({try:()=>import(Im(J9.join(f,k)).href),catch:(d)=>z$.error("failed to import extension",{name:k,error:d})}).pipe(T.option);if(g._tag==="Some")w[k.replace(/\.ts$/,"")]=g.value}}for(let[f,b]of Object.entries(w)){let y=Object.entries(b).find(([g,d])=>typeof d==="function"&&g.endsWith("Plugin"))?.[1];if(!y)continue;z$.info("loading extension",{name:f});let k=yield*T.tryPromise({try:()=>y(R),catch:(g)=>z$.error("failed to load extension",{name:f,error:g})}).pipe(T.option);if(k._tag==="Some")A.push(k.value),j.push({hook:k.value,pluginName:f,hookIDFor:(g)=>`${f}#${g}`})}let _=b0.QITQODE_PURE?[]:C.plugin_origins??[];if(b0.QITQODE_PURE&&C.plugin_origins?.length)z$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>IA.loadExternal({items:_,kind:"server",report:{start(f){z$.info("loading plugin",{path:f.plan.spec})},missing(f,b,y){z$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:y})},error(f,b,y,k,g){let d=f.plan.spec,p=k instanceof Error?k.cause??k:k,t=y==="load"?V6(k):V6(p);if(y==="install"){let r=Em(d);z$.error("failed to install plugin",{pkg:r.pkg,version:r.version,error:t}),L(`Failed to install plugin ${r.pkg}@${r.version}: ${t}`);return}if(y==="compatibility"){z$.warn("plugin incompatible",{path:d,error:t}),L(`Plugin ${d} skipped: ${t}`);return}if(y==="entry"){z$.error("failed to resolve plugin server entry",{path:d,error:t}),L(`Failed to load plugin ${d}: ${t}`);return}z$.error("failed to load plugin",{path:d,target:g?.entry,error:t}),L(`Failed to load plugin ${d}: ${t}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>uj0(f,R,A,j),catch:(b)=>{let y=V6(b);return z$.error("failed to load plugin",{path:f.spec,error:y}),y}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{z$.error("plugin config hook failed",{error:b})}}).pipe(T.ignore);return yield*$.subscribeAll().pipe(I$.runForEach((f)=>T.sync(()=>{for(let b of A)b.event?.({event:f})})),T.forkScoped),{hooks:A,hooksWithMeta:j}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],j=yield*Z.get(),N=yield*Z.directories();for(let L of N){let q=$4.scanSync("{hook,hooks}/*.{js,ts}",{cwd:L,absolute:!0,dot:!0,symlink:!0});for(let M of q){let C=yield*T.tryPromise({try:()=>import(`${Im(M).href}?v=${Date.now()}`),catch:(w)=>w}).pipe(T.catch((w)=>{return z$.error("failed to load file hook",{path:M,error:V6(w)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let w=J9.basename(M,J9.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${w}`,hookIDFor:(I)=>`file:${w}#${I}`}),z$.info("loaded file hook",{path:M,name:w})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let j=yield*B0.get(J),N=yield*B0.get(Y),L=[],q=[],M=[],C=!1;for(let w of[...j.hooksWithMeta,...N.meta]){let I=w.hook[A];if(!I)continue;let _=typeof I==="function"?I:I.run,E=typeof I==="function"?void 0:I.matcher;if(!U2(E,F)){yield*$.publish(EA.Executed,{event:A,hookID:w.hookIDFor(A),pluginName:w.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:0,outcome:"skipped",continueRequested:!1,reasonLength:0});continue}let f=Date.now(),b={continue:!1},y="success";yield*T.tryPromise({try:()=>_(F,b),catch:(g)=>g}).pipe(T.tapError((g)=>T.gen(function*(){y="error",z$.error(`${A} hook failed`,{pluginName:w.pluginName,hookID:w.hookIDFor(A),error:g}),yield*$.publish(Y9.Event.Error,{sessionID:F.sessionID,error:new j1.Unknown({message:`${A} hook (${w.pluginName}) failed: ${V6(g)}`}).toObject()})})),T.ignore);let k=Date.now()-f;if(yield*$.publish(EA.Executed,{event:A,hookID:w.hookIDFor(A),pluginName:w.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:k,outcome:y,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,L.push(b.reason),q.push(w.pluginName),M.push(w.hookIDFor(A));else if(b.continue===!0)z$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:w.pluginName})}return{continue:C,reason:L.length>0?L.join(`
798
798
 
799
799
  `):void 0,contributingPluginNames:q,contributingHookIDs:M}}),Q=T.fn("Plugin.triggerActorPreStop")(function*(F){return yield*X(F,"actor.preStop")}),G=T.fn("Plugin.triggerActorPostStop")(function*(F){return yield*X(F,"actor.postStop")}),W=5000,K=3,V=new Map,U=T.fn("Plugin.trigger")(function*(F,A,j){if(!F)return j;let N=yield*B0.get(J),L=yield*B0.get(Y);for(let q of N.hooksWithMeta){let M=q.hook[F];if(!M)continue;yield*T.promise(async()=>M(A,j))}for(let q of L.meta){let M=q.hook[F];if(!M)continue;let C=q.hookIDFor(F);if((V.get(C)??0)>=3){z$.warn("hook circuit-breaker open, skipping",{hook:C});continue}let R=structuredClone(j);if(!(yield*T.tryPromise({try:async()=>{await Promise.race([Promise.resolve(M(A,j)),new Promise((I,_)=>setTimeout(()=>_(Error("hook timed out after 5000ms")),5000))])},catch:(I)=>I}).pipe(T.map(()=>!1),T.catch((I)=>{Object.assign(j,R);let _=(V.get(C)??0)+1;return V.set(C,_),z$.error("file hook failed, output rolled back",{hook:C,event:F,error:V6(I),consecutiveFailures:_,circuitOpen:_>=3}),T.succeed(!0)}))))V.delete(C)}return j}),H=T.fn("Plugin.list")(function*(){return(yield*B0.get(J)).hooks}),B=T.fn("Plugin.init")(function*(){yield*B0.get(J),yield*B0.get(Y)}),z=T.fn("Plugin.reloadFileHooks")(function*(){yield*B0.invalidate(Y)});return qK.of({trigger:U,list:H,init:B,reloadFileHooks:z,triggerActorPreStop:Q,triggerActorPostStop:G})})),mj0=Sm.pipe(T0.provide(l1.layer),T0.provide(X8.defaultLayer));import UN0 from"path";var RK=m6(km(),1);var X9={};F1(X9,{variants:()=>G5,topP:()=>am,topK:()=>tm,temperature:()=>rm,smallOptions:()=>$l,schema:()=>Xl,providerOptions:()=>Zl,options:()=>em,message:()=>hm,maxOutputTokens:()=>Jl,OUTPUT_TOKEN_MAX:()=>MK});var ym=32000;function lj0($){if($.startsWith("image/"))return"image";if($.startsWith("audio/"))return"audio";if($.startsWith("video/"))return"video";if($==="application/pdf")return"pdf";return}function dj0($){let Z=$.id.toLowerCase(),J=$.api.id.toLowerCase();if(Z.includes("claude")||J.includes("claude")||$.providerID==="anthropic")return!0;if(Z.includes("gpt")||J.includes("gpt"))return!0;return $.capabilities.input.image}function NK($){switch($){case"@ai-sdk/github-copilot":return"copilot";case"@ai-sdk/azure":return"azure";case"@ai-sdk/openai":return"openai";case"@ai-sdk/amazon-bedrock":return"bedrock";case"@ai-sdk/anthropic":case"@ai-sdk/google-vertex/anthropic":return"anthropic";case"@ai-sdk/google-vertex":return"vertex";case"@ai-sdk/google":return"google";case"@ai-sdk/gateway":return"gateway";case"@openrouter/ai-sdk-provider":return"openrouter"}return}function pj0($,Z,J){if(Z.api.npm==="@ai-sdk/anthropic"||Z.api.npm==="@ai-sdk/amazon-bedrock")$=$.map((Y)=>{if(typeof Y.content==="string"){if(Y.content==="")return;return Y}if(!Array.isArray(Y.content))return Y;let X=Y.content.filter((Q)=>{if(Q.type==="text"||Q.type==="reasoning")return Q.text!=="";return!0});if(X.length===0)return;return{...Y,content:X}}).filter((Y)=>Y!==void 0&&Y.content!=="");if(Z.api.id.includes("claude")){let Y=(X)=>X.replace(/[^a-zA-Z0-9_-]/g,"_");$=$.map((X)=>{if(X.role==="assistant"&&Array.isArray(X.content))return{...X,content:X.content.map((Q)=>{if(Q.type==="tool-call"||Q.type==="tool-result")return{...Q,toolCallId:Y(Q.toolCallId)};return Q})};if(X.role==="tool"&&Array.isArray(X.content))return{...X,content:X.content.map((Q)=>{if(Q.type==="tool-result")return{...Q,toolCallId:Y(Q.toolCallId)};return Q})};return X})}if(["@ai-sdk/anthropic","@ai-sdk/google-vertex/anthropic"].includes(Z.api.npm))$=$.flatMap((Y)=>{if(Y.role!=="assistant"||!Array.isArray(Y.content))return[Y];let X=Y.content,Q=X.findIndex((G)=>G.type==="tool-call");if(Q===-1)return[Y];if(!X.slice(Q).some((G)=>G.type!=="tool-call"))return[Y];return[{...Y,content:X.filter((G)=>G.type!=="tool-call")},{...Y,content:X.filter((G)=>G.type==="tool-call")}]});if(Z.providerID==="mistral"||Z.api.id.toLowerCase().includes("mistral")||Z.api.id.toLowerCase().includes("devstral")){let Y=(Q)=>{return Q.replace(/[^a-zA-Z0-9]/g,"").substring(0,9).padEnd(9,"0")},X=[];for(let Q=0;Q<$.length;Q++){let G=$[Q],W=$[Q+1];if(G.role==="assistant"&&Array.isArray(G.content))X.push({...G,content:G.content.map((K)=>{if(K.type==="tool-call"||K.type==="tool-result")return{...K,toolCallId:Y(K.toolCallId)};return K})});else if(G.role==="tool"&&Array.isArray(G.content))X.push({...G,content:G.content.map((K)=>{if(K.type==="tool-result")return{...K,toolCallId:Y(K.toolCallId)};return K})});else X.push(G);if(G.role==="tool"&&W?.role==="user")X.push({role:"assistant",content:[{type:"text",text:"Done."}]})}return X}if(typeof Z.capabilities.interleaved==="object"&&Z.capabilities.interleaved.field){let Y=Z.capabilities.interleaved.field;return $.map((X)=>{if(X.role==="assistant"&&Array.isArray(X.content)){let G=X.content.filter((K)=>K.type==="reasoning").map((K)=>K.text).join(""),W=X.content.filter((K)=>K.type!=="reasoning");if(G)return{...X,content:W,providerOptions:{...X.providerOptions,openaiCompatible:{...X.providerOptions?.openaiCompatible,[Y]:G}}};return{...X,content:W}}return X})}return $}function cj0($){if($.api.npm==="@ai-sdk/anthropic"||$.api.npm==="@ai-sdk/google-vertex/anthropic")return!0;if($.providerID==="anthropic"||$.providerID==="google-vertex-anthropic")return!0;if($.api.npm==="@ai-sdk/amazon-bedrock")return!0;if($.api.npm==="@openrouter/ai-sdk-provider"||$.api.npm==="@ai-sdk/github-copilot"||$.api.npm==="@ai-sdk/alibaba")return $.api.id.includes("claude")||$.api.id.includes("anthropic")||$.id.includes("claude")||$.id.includes("anthropic");return!1}function ij0($,Z){let J=Z.cachePromptTTL==="1h"?{ttl:"1h"}:{},Y={anthropic:{cacheControl:{type:"ephemeral",...J}},openrouter:{cacheControl:{type:"ephemeral",...J}},bedrock:{cachePoint:{type:"default"}},openaiCompatible:{cache_control:{type:"ephemeral"}},copilot:{copilot_cache_control:{type:"ephemeral"}},alibaba:{cacheControl:{type:"ephemeral"}}},X=[],Q=$.filter((K)=>K.role==="system");if(Q.length>0)X.push(Q[Q.length-1]);let G=$.filter((K)=>K.role!=="system"),W=G.findLastIndex((K)=>K.role==="user");if(W>=1){X.push(G[W-1]);let K=Math.floor(W/2);if(K>0&&K<W-1)X.push(G[K])}else if(W===0)X.push(G[0]);for(let K of vm(X)){if(!(Z.providerID==="anthropic"||Z.providerID.includes("bedrock")||Z.api.npm==="@ai-sdk/amazon-bedrock")&&Array.isArray(K.content)&&K.content.length>0){let H=K.content[K.content.length-1];if(H&&typeof H==="object"&&H.type!=="tool-approval-request"&&H.type!=="tool-approval-response"){H.providerOptions=N1(H.providerOptions??{},Y);continue}}K.providerOptions=N1(K.providerOptions??{},Y)}return $}function nj0($,Z){return $.map((J)=>{if(J.role!=="user"||!Array.isArray(J.content))return J;let Y=J.content.map((X)=>{if(X.type!=="file"&&X.type!=="image")return X;if(X.type==="image"){let U=String(X.image);if(U.startsWith("data:")){let H=U.match(/^data:([^;]+);base64,(.*)$/);if(H&&(!H[2]||H[2].length===0))return{type:"text",text:"ERROR: Image file is empty or corrupted. Please provide a valid image."}}}let Q=X.type==="image"?String(X.image).split(";")[0].replace("data:",""):X.mediaType,G=X.type==="file"?X.filename:void 0,W=lj0(Q);if(!W)return X;if(W==="image"?dj0(Z):Z.capabilities.input[W])return X;return{type:"text",text:`ERROR: Cannot read ${G?`"${G}"`:W} (this model does not support ${W} input). Inform the user.`}});return{...J,content:Y}})}function oj0($){if(!$.startsWith("data:"))return;let Z=$.slice($.indexOf(",")+1);if(!Z)return 0;let J=Z.endsWith("==")?2:Z.endsWith("=")?1:0;return Math.floor(Z.length*3/4)-J}function sj0($,Z,J){if(Z===void 0&&J===void 0)return $;let Y=$.reduce((Q,G)=>G.role==="user"&&Array.isArray(G.content)?Q+G.content.filter((W)=>W.type==="image").length:Q,0),X=Z===void 0?0:Math.max(0,Y-Z);return $.map((Q)=>{if(Q.role!=="user"||!Array.isArray(Q.content))return Q;let G=Q.content.map((W)=>{if(W.type!=="image")return W;if(X>0)return X--,{type:"text",text:`[Image omitted: exceeds the configured limit of ${Z} prompt image(s).]`};if(J!==void 0){let K=oj0(String(W.image));if(K!==void 0&&K>J)return{type:"text",text:`[Image omitted: exceeds the configured ${J}-byte prompt image size limit.]`}}return W});return{...Q,content:G}})}function xm($,Z,J,Y={}){if($=nj0($,Z),$=sj0($,Y.maxImages,Y.maxSize),$=pj0($,Z,J),cj0(Z))$=ij0($,Z);let X=NK(Z.api.npm);if(X&&X!==Z.providerID){let Q=(G)=>{if(!G)return G;if(!(Z.providerID in G))return G;let W={...G};return W[X]=W[Z.providerID],delete W[Z.providerID],W};$=$.map((G)=>{if(!Array.isArray(G.content))return{...G,providerOptions:Q(G.providerOptions)};return{...G,providerOptions:Q(G.providerOptions),content:G.content.map((W)=>{if(W.type==="tool-approval-request"||W.type==="tool-approval-response")return{...W};return{...W,providerOptions:Q(W.providerOptions)}})}})}return $}var MK=b0.QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX||ym;function hm($,Z,J){return xm($,Z,J,{maxImages:b0.QITQODE_MAX_PROMPT_IMAGES,maxSize:b0.QITQODE_MAX_PROMPT_IMAGE_SIZE})}function gm($){return $()}var U6=["low","medium","high"],um=["none","minimal",...U6,"xhigh"];function mm($){if($)return Object.fromEntries($.map((Z)=>[Z,{thinking:{type:"adaptive"},effort:Z}]));return{high:{thinking:{type:"enabled",budgetTokens:16000}},max:{thinking:{type:"enabled",budgetTokens:31999}}}}function rj0($){if(["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((Z)=>$.includes(Z)))return["low","medium","high","xhigh","max"];if(["opus-4-6","opus-4.6","sonnet-4-6","sonnet-4.6"].some((Z)=>$.includes(Z)))return["low","medium","high","max"];return null}function lm($){if(!$.capabilities.reasoning)return{};let Z=$.id.toLowerCase(),J=rj0($.api.id);if(Z.includes("deepseek")||Z.includes("minimax")||Z.includes("glm")||Z.includes("mistral")||Z.includes("kimi")||Z.includes("k2p5")||Z.includes("qwen")||Z.includes("big-pickle"))return{};if(Z.includes("grok")&&Z.includes("grok-3-mini")){if($.api.npm==="@openrouter/ai-sdk-provider")return{low:{reasoning:{effort:"low"}},high:{reasoning:{effort:"high"}}};return{low:{reasoningEffort:"low"},high:{reasoningEffort:"high"}}}if(Z.includes("grok"))return{};switch($.api.npm){case"@openrouter/ai-sdk-provider":if(!$.id.includes("gpt")&&!$.id.includes("gemini-3")&&!$.id.includes("claude"))return{};return Object.fromEntries(um.map((K)=>[K,{reasoning:{effort:K}}]));case"@ai-sdk/gateway":if($.id.includes("anthropic"))return mm(J);if($.id.includes("google")){if(Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};return Object.fromEntries(["low","high"].map((K)=>[K,{includeThoughts:!0,thinkingLevel:K}]))}return Object.fromEntries(um.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/github-copilot":if($.id.includes("gemini"))return{};if($.id.includes("claude"))return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));let Y=gm(()=>{if(Z.includes("5.1-codex-max")||Z.includes("5.2")||Z.includes("5.3"))return[...U6,"xhigh"];let K=[...U6];if(Z.includes("gpt-5")&&$.release_date>="2025-12-04")K.push("xhigh");return K});return Object.fromEntries(Y.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/cerebras":case"@ai-sdk/togetherai":case"@ai-sdk/xai":case"@ai-sdk/deepinfra":case"venice-ai-sdk-provider":case"@ai-sdk/openai-compatible":return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/azure":if(Z==="o1-mini")return{};let X=["low","medium","high"];if(Z.includes("gpt-5-")||Z==="gpt-5")X.unshift("minimal");return Object.fromEntries(X.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/openai":if(Z==="gpt-5-pro")return{};let Q=gm(()=>{if(Z.includes("codex")){if(Z.includes("5.2")||Z.includes("5.3"))return[...U6,"xhigh"];return U6}let K=[...U6];if(Z.includes("gpt-5-")||Z==="gpt-5")K.unshift("minimal");if($.release_date>="2025-11-13")K.unshift("none");if($.release_date>="2025-12-04")K.push("xhigh");return K});return Object.fromEntries(Q.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/anthropic":case"@ai-sdk/google-vertex/anthropic":if($.providerID==="github-copilot"){if($.api.id.includes("opus-4.7"))return Object.fromEntries(["medium"].map((K)=>[K,{reasoningEffort:K}]))}if(J)return Object.fromEntries(J.map((K)=>[K,{thinking:{type:"adaptive",...["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((V)=>$.api.id.includes(V))?{display:"summarized"}:{}},effort:K}]));return{high:{thinking:{type:"enabled",budgetTokens:Math.max(1,Math.min(16000,Math.floor($.limit.output/2-1)))}},max:{thinking:{type:"enabled",budgetTokens:Math.max(1,Math.min(31999,$.limit.output-1))}}};case"@ai-sdk/amazon-bedrock":if(J)return Object.fromEntries(J.map((K)=>[K,{reasoningConfig:{type:"adaptive",maxReasoningEffort:K,...["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((V)=>$.api.id.includes(V))?{display:"summarized"}:{}}}]));if($.api.id.includes("anthropic"))return{high:{reasoningConfig:{type:"enabled",budgetTokens:16000}},max:{reasoningConfig:{type:"enabled",budgetTokens:31999}}};return Object.fromEntries(U6.map((K)=>[K,{reasoningConfig:{type:"enabled",maxReasoningEffort:K}}]));case"@ai-sdk/google-vertex":case"@ai-sdk/google":if(Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};let G=["low","high"];if(Z.includes("3.1"))G=["low","medium","high"];return Object.fromEntries(G.map((K)=>[K,{thinkingConfig:{includeThoughts:!0,thinkingLevel:K}}]));case"@ai-sdk/mistral":return{};case"@ai-sdk/cohere":return{};case"@ai-sdk/groq":let W=["none",...U6];return Object.fromEntries(W.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/perplexity":return{};case"@jerome-benoit/sap-ai-provider-v2":if($.api.id.includes("anthropic"))return mm(J);if($.api.id.includes("gemini")&&Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};if($.api.id.includes("gpt")||/\bo[1-9]/.test($.api.id))return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));return{}}return{}}function G5($){return lm($)}function dm($){let Z=$.id.toLowerCase();if(Z.includes("qwen"))return 0.55;if(Z.includes("claude"))return;if(Z.includes("gemini"))return 1;if(Z.includes("glm-4.6"))return 1;if(Z.includes("glm-4.7"))return 1;if(Z.includes("minimax-m2"))return 1;if(Z.includes("kimi-k2")){if(["thinking","k2.","k2p","k2-5"].some((J)=>Z.includes(J)))return 1;return 0.6}return}function pm($){let Z=$.id.toLowerCase();if(Z.includes("qwen"))return 1;if(["minimax-m2","gemini","kimi-k2.5","kimi-k2p5","kimi-k2-5"].some((J)=>Z.includes(J)))return 0.95;return}function cm($){let Z=$.id.toLowerCase();if(Z.includes("minimax-m2")){if(["m2.","m25","m21"].some((J)=>Z.includes(J)))return 40;return 20}if(Z.includes("gemini"))return 64;return}function im($){let Z={};if($.model.providerID==="openai"||$.model.api.npm==="@ai-sdk/openai"||$.model.api.npm==="@ai-sdk/github-copilot")Z.store=!1;if($.model.api.npm==="@ai-sdk/azure")Z.store=!0,Z.promptCacheKey=$.sessionID;if($.model.api.npm==="@openrouter/ai-sdk-provider"||$.model.api.npm==="@llmgateway/ai-sdk-provider"){if(Z.usage={include:!0},$.model.api.id.includes("gemini-3"))Z.reasoning={effort:"high"}}if($.model.providerID==="baseten"||$.model.providerID==="opencode"&&["kimi-k2-thinking","glm-4.6"].includes($.model.api.id))Z.chat_template_args={enable_thinking:!0};if(["zai","zhipuai"].some((Y)=>$.model.providerID.includes(Y))&&$.model.api.npm==="@ai-sdk/openai-compatible")Z.thinking={type:"enabled",clear_thinking:!1};if($.model.providerID==="openai"||$.providerOptions?.setCacheKey)Z.promptCacheKey=$.sessionID;if($.model.api.npm==="@ai-sdk/google"||$.model.api.npm==="@ai-sdk/google-vertex"){if($.model.capabilities.reasoning){if(Z.thinkingConfig={includeThoughts:!0},$.model.api.id.includes("gemini-3"))Z.thinkingConfig.thinkingLevel="high"}}let J=$.model.api.id.toLowerCase();if(($.model.api.npm==="@ai-sdk/anthropic"||$.model.api.npm==="@ai-sdk/google-vertex/anthropic")&&(J.includes("k2p5")||J.includes("kimi-k2.5")||J.includes("kimi-k2p5")))Z.thinking={type:"enabled",budgetTokens:Math.max(1,Math.min(16000,Math.floor($.model.limit.output/2-1)))};if($.model.providerID==="alibaba-cn"&&$.model.capabilities.reasoning&&$.model.api.npm==="@ai-sdk/openai-compatible"&&!J.includes("kimi-k2-thinking"))Z.enable_thinking=!0;if($.model.api.id.includes("gpt-5")&&!$.model.api.id.includes("gpt-5-chat")){if(!$.model.api.id.includes("gpt-5-pro")){if(Z.reasoningEffort="medium",$.model.api.npm==="@ai-sdk/openai"||$.model.api.npm==="@ai-sdk/azure"||$.model.api.npm==="@ai-sdk/github-copilot")Z.reasoningSummary="auto"}if($.model.api.id.includes("gpt-5.")&&!$.model.api.id.includes("codex")&&!$.model.api.id.includes("-chat")&&$.model.providerID!=="azure")Z.textVerbosity="low";if($.model.providerID.startsWith("opencode"))Z.promptCacheKey=$.sessionID,Z.include=["reasoning.encrypted_content"],Z.reasoningSummary="auto"}if($.model.providerID==="venice")Z.promptCacheKey=$.sessionID;if($.model.providerID==="openrouter")Z.prompt_cache_key=$.sessionID;if($.model.api.npm==="@ai-sdk/gateway")Z.gateway={caching:"auto"};return Z}function nm($){if($.providerID==="openai"||$.api.npm==="@ai-sdk/openai"||$.api.npm==="@ai-sdk/github-copilot"){if($.api.id.includes("gpt-5")){if($.api.id.includes("5.")||$.api.id.includes("5-mini"))return{store:!1,reasoningEffort:"low"};return{store:!1,reasoningEffort:"minimal"}}return{store:!1}}if($.providerID==="google"){if($.api.id.includes("gemini-3"))return{thinkingConfig:{thinkingLevel:"minimal"}};return{thinkingConfig:{thinkingBudget:0}}}if($.providerID==="openrouter"||$.providerID==="llmgateway"){if($.api.id.includes("google"))return{reasoning:{enabled:!1}};return{reasoningEffort:"minimal"}}if($.providerID==="venice")return{veniceParameters:{disableThinking:!0}};return{}}var aj0={amazon:"bedrock"};function om($,Z){if($.api.npm==="@ai-sdk/gateway"){let Y=$.api.id.indexOf("/"),X=Y>0?$.api.id.slice(0,Y):void 0,Q=X?aj0[X]??X:void 0,G=Z.gateway,W=Object.fromEntries(Object.entries(Z).filter(([U])=>U!=="gateway")),K=Object.keys(W).length>0,V={};if(G!==void 0)V.gateway=G;if(K)if(Q)V[Q]=W;else if(G&&typeof G==="object"&&!Array.isArray(G))V.gateway={...G,...W};else V.gateway=W;return V}let J=NK($.api.npm)??$.providerID;if($.api.npm==="@ai-sdk/azure")return{openai:Z,azure:Z};return{[J]:Z}}function sm($,Z){return Math.min($.limit.output,Z)||Z}function rm($){return dm($)}function am($){return pm($)}function tm($){return cm($)}function em($){return im($)}function $l($){return nm($)}function Zl($,Z){return om($,Z)}function Jl($){return sm($,MK)}function tj0($){let Z=$,J=Z.anyOf??Z.oneOf;if(!J?.length)return $;let Y=new Map;for(let W of J){if(!W.properties)continue;for(let[K,V]of Object.entries(W.properties))if(V&&typeof V==="object"&&"const"in V){if(!Y.has(K))Y.set(K,new Set);Y.get(K).add(V.const)}}let X;for(let[W,K]of Y)if(K.size===J.length){X=W;break}let Q={},G={};for(let W of J){if(!W.properties)continue;let K=X?W.properties[X]?.const:void 0;for(let[V,U]of Object.entries(W.properties)){if(V===X)continue;if(!(V in Q))Q[V]=U;if(K!==void 0){if(!G[V])G[V]=[];G[V].push(K)}}}if(X)for(let[W,K]of Object.entries(G)){if(K.length===J.length)continue;let V=`(only when ${X}=${K.map((H)=>JSON.stringify(H)).join("|")})`,U=Q[W].description;Q[W]={...Q[W],description:U?`${V} ${U}`:V}}if(X){let W=J[0].properties[X],K=J.map((H)=>H.properties[X]?.const),V=W?.description??"",U=J.map((H)=>{let B=H.properties[X]?.const,z=(H.required??[]).filter((F)=>F!==X);return z.length>0?`${B}: requires ${z.join(", ")}`:`${B}: no extra required fields`}).join("; ");Q[X]={type:"string",enum:K,description:V?`${V}
800
800
 
801
- Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function Yl($,Z){if(Z=tj0(Z),$.providerID==="google"||$.api.id.includes("gemini")){let J=(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G),Y=(G)=>J(G)&&(Array.isArray(G.anyOf)||Array.isArray(G.oneOf)||Array.isArray(G.allOf)),X=(G)=>{if(!J(G))return!1;if(Y(G))return!0;return["type","properties","items","prefixItems","enum","const","$ref","additionalProperties","patternProperties","required","not","if","then","else"].some((W)=>(W in G))},Q=(G)=>{if(G===null||typeof G!=="object")return G;if(Array.isArray(G))return G.map(Q);let W={};for(let[K,V]of Object.entries(G))if(K==="enum"&&Array.isArray(V)){if(W[K]=V.map((U)=>String(U)),W.type==="integer"||W.type==="number")W.type="string"}else if(typeof V==="object"&&V!==null)W[K]=Q(V);else W[K]=V;if(W.type==="object"&&W.properties&&Array.isArray(W.required))W.required=W.required.filter((K)=>(K in W.properties));if(W.type==="array"&&!Y(W)){if(W.items==null)W.items={};if(J(W.items)&&!X(W.items))W.items.type="string"}if(W.type&&W.type!=="object"&&!Y(W))delete W.properties,delete W.required;return W};Z=Q(Z)}return Z}function Xl($,Z){return Yl($,Z)}var bA=1e6,DK=new Set(F8.tiers().map(($)=>$.id)),Wl=F8.tiers(),N7=Object.fromEntries(Wl.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),k6=F8.qlexProviderMeta();function Kl($,Z){let J=F8.tierBudgetFacts($)??F8.tierBudgetFacts("default");return{id:s1.make($),providerID:X1.make("qlex"),name:Z,family:k6.family,api:{id:$,url:"",npm:k6.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:J.context,output:J.output},capabilities:{temperature:k6.capabilities.temperature,reasoning:J.reasoning,attachment:k6.capabilities.attachment,toolcall:k6.capabilities.toolcall,input:{...k6.capabilities.input},output:{...k6.capabilities.output},interleaved:k6.capabilities.interleaved},release_date:k6.release_date,variants:{}}}var Q9={id:X1.make("qlex"),name:k6.name,source:"custom",env:[],options:{},models:Object.fromEntries(Wl.map(($)=>[$.id,Kl($.id,$.label)]))};function Vl(){let $=F8.tiers();DK.clear();for(let J of $)DK.add(J.id);for(let J of Object.keys(N7))delete N7[J];Object.assign(N7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=Q9.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(Q9.models,Object.fromEntries($.map((J)=>[J.id,Kl(J.id,J.label)])))}var _A=new Set;function Ul($){let Z={input:$?.input??0,output:$?.output??0,cache:{read:$?.cache_read??0,write:$?.cache_write??0}};if($?.context_over_200k)Z.experimentalOver200K={cache:{read:$.context_over_200k.cache_read??0,write:$.context_over_200k.cache_write??0},input:$.context_over_200k.input,output:$.context_over_200k.output};return Z}function Ql($,Z){let J={id:s1.make(Z.id),providerID:X1.make($.id),name:Z.name,family:Z.family,api:{id:Z.id,url:Z.provider?.api??$.api??"",npm:Z.provider?.npm??$.npm??"@ai-sdk/openai-compatible"},status:Z.status??"active",headers:{},options:{},cost:Ul(Z.cost),limit:{context:Z.limit.context,input:Z.limit.input,output:Z.limit.output},capabilities:{temperature:Z.temperature??!1,reasoning:Z.reasoning??!1,attachment:Z.attachment??!1,toolcall:Z.tool_call??!0,input:{text:Z.modalities?.input?.includes("text")??!1,audio:Z.modalities?.input?.includes("audio")??!1,image:Z.modalities?.input?.includes("image")??!1,video:Z.modalities?.input?.includes("video")??!1,pdf:Z.modalities?.input?.includes("pdf")??!1},output:{text:Z.modalities?.output?.includes("text")??!1,audio:Z.modalities?.output?.includes("audio")??!1,image:Z.modalities?.output?.includes("image")??!1,video:Z.modalities?.output?.includes("video")??!1,pdf:Z.modalities?.output?.includes("pdf")??!1},interleaved:Z.interleaved??!1},release_date:Z.release_date??"",variants:{}};return{...J,variants:v6(G5(J),(Y)=>Y)}}function wK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=Ql($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=Ql($,Y);Z[G]={...W,id:s1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?N1(W.cost,Ul(Q.cost)):W.cost,options:Q.provider?.body?Object.fromEntries(Object.entries(Q.provider.body).map(([K,V])=>[K.replace(/_([a-z])/g,(U,H)=>H.toUpperCase()),V])):W.options,headers:Q.provider?.headers??W.headers}}}return{id:X1.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function Hl($){return v6($,(Z)=>G9(Object.values(Z.models))[0].id)}var ej0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function G9($){return Gl($,[(Z)=>ej0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function W5($){let[Z,...J]=$.split("/");return{providerID:X1.make(Z),modelID:s1.make(J.join("/"))}}var KY=j1.create("ProviderModelNotFoundError",P.object({providerID:X1.zod,modelID:s1.zod,suggestions:P.array(P.string()).optional()})),LK=j1.create("ProviderModelGroupNotFoundError",P.object({group:P.string(),suggestions:P.array(P.string()).optional()})),TK=j1.create("ProviderInitError",P.object({providerID:X1.zod}));function Bl($){let{getState:Z,config:J,readRecent:Y}=$,X=T.fn("Provider.getProvider")((U)=>Z().pipe(T.map((H)=>H.providers[U]))),Q=T.fn("Provider.getModel")(function*(U,H){let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),j=RK.default.go(U,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),j=RK.default.go(H,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}return F}),G=T.fn("Provider.closest")(function*(U,H){let z=(yield*Z()).providers[U];if(!z)return;for(let F of H)for(let A of Object.keys(z.models))if(A.includes(F))return{providerID:U,modelID:A};return}),W=T.fn("Provider.resolveModelRef")(function*(U,H){if(U.includes("/")){let N=W5(U);return yield*Q(N.providerID,N.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(DK.has(U)){let q=N7[U];if(q){let C=yield*Q(X1.make(q.providerID),s1.make(q.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let N=Object.keys(B.model_groups??{}),L=RK.default.go(U,N,{limit:3,threshold:-1e4});throw new LK({group:U,suggestions:L.map((q)=>q.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let N of A){let L=W5(N);if(L.providerID!==H)continue;let q=yield*Q(L.providerID,L.modelID).pipe(T.exit);if(q._tag==="Success")return q.value}let j=W5(F);return yield*Q(j.providerID,j.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=W5(H.small_model);return yield*Q(B.providerID,B.modelID)}for(let B of["lite","free","economical"]){if(H.model_groups?.[B])return yield*W(B,U);let F=N7[B];if(F){let A=yield*Q(X1.make(F.providerID),s1.make(F.modelID)).pipe(T.exit);if(A._tag==="Success")return A.value}}return yield*W("economical",U)}),V=T.fn("Provider.defaultModel")(function*(){let U=yield*J.get();if(U.model)return W5(U.model);let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!J8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((j)=>{if(!J8(j))return[];if(typeof j.providerID!=="string")return[];if(typeof j.modelID!=="string")return[];return[{providerID:X1.make(j.providerID),modelID:s1.make(j.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){let j=H.providers[A.providerID];if(!j)continue;if(!j.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["default","fast","economical","power"]){let j=N7[A];if(!j)continue;let N=H.providers[X1.make(j.providerID)];if(N?.models[s1.make(j.modelID)])return{providerID:N.id,modelID:s1.make(j.modelID)}}let z=Object.values(H.providers).find((A)=>!U.provider||Object.keys(U.provider).includes(A.id));if(!z)throw Error("no providers found");let[F]=G9(Object.values(z.models));if(!F)throw Error("no models found");return{providerID:z.id,modelID:F.id}});return{getProvider:X,getModel:Q,closest:G,resolveModelRef:W,getSmallModel:K,defaultModel:V}}var PK=480000;function zl($,Z,J){if(typeof Z!=="number"||Z<=0)return $;if(!$.body)return $;if(!$.headers.get("content-type")?.includes("text/event-stream"))return $;let Y=$.body.getReader(),X=new ReadableStream({async pull(Q){let G=await new Promise((W,K)=>{let V=setTimeout(()=>{let U=Error("SSE read timed out");J.abort(U),Y.cancel(U),K(U)},Z);Y.read().then((U)=>{clearTimeout(V),W(U)},(U)=>{clearTimeout(V),K(U)})});if(G.done){Q.close();return}Q.enqueue(G.value)},async cancel(Q){J.abort(Q),await Y.cancel(Q)}});return new Response(X,{headers:new Headers($.headers),status:$.status,statusText:$.statusText})}import OZ from"os";var VY=E0.create({service:"provider/loaders"}),IK=new Map,jl={"@qitqode/qlex-provider":()=>import("./chunk-jxwey5py.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-p169ee92.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-mn9end71.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-nty5z2cj.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-jg1ccs3j.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-05ck7acg.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-g3wvtyw3.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-bbng1cea.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-f97k17t8.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-bqn6bqws.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-0428v6mw.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-rn83r0js.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-w4brava0.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-f31yvp20.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-wwdpw27v.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-3vvd7j14.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-sh9vjnsh.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-xe69cnsk.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-y0527cg0.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-804vmbcd.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-venprxdp.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-k5q9px67.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-k4gsktts.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-y67kaj0b.js").then(($)=>$.createVenice)};function Nl($){return $.responses===void 0&&$.chat===void 0}function $N0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function Fl($,Z,J){if(Nl($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function Al($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Ml($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:Ol,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)VY.error(SA),console.error(SA);try{await ql()}catch{}}},async getModel(Y,X){return Y.languageModel(X)}}}),anthropic:()=>T.succeed({autoload:!1,options:{headers:{"anthropic-beta":"interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"}}}),opencode:T.fnUntraced(function*(Z){let J=yield*$.env(),X=l$(()=>{if(Z.env.some((Q)=>J[Q]))return!0;return!1})||Boolean(yield*$.auth(Z.id))||Boolean((yield*$.config()).provider?.opencode?.options?.apiKey);for(let[Q,G]of Object.entries(Z.models))if(!X||G.cost.input===0)delete Z.models[Q];return{autoload:Object.keys(Z.models).length>0,options:{}}}),openai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),xai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),"github-copilot":()=>T.succeed({autoload:!1,async getModel(Z,J,Y){if(Nl(Z))return Z.languageModel(J);return $N0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=l$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:Fl,options:{},vars(X){return{...Y&&{AZURE_RESOURCE_NAME:Y}}}}}),"azure-cognitive-services":T.fnUntraced(function*(){let Z=yield*$.get("AZURE_COGNITIVE_SERVICES_RESOURCE_NAME");return{autoload:!1,getModel:Fl,options:{baseURL:Z?`https://${Z}.cognitiveservices.azure.com/openai`:void 0}}}),"amazon-bedrock":T.fnUntraced(function*(){let Z=(yield*$.config()).provider?.["amazon-bedrock"],J=yield*$.auth("amazon-bedrock"),Y=yield*$.env(),X=Z?.options?.region,Q=Y.AWS_REGION,G=X??Q??"us-east-1",W=Z?.options?.profile,K=Y.AWS_PROFILE,V=W??K,U=Y.AWS_ACCESS_KEY_ID,H=l$(()=>{let N=IK.get("AWS_BEARER_TOKEN_BEDROCK");if(N)return N;if(J?.type==="api")return IK.set("AWS_BEARER_TOKEN_BEDROCK",J.key),process.env.AWS_BEARER_TOKEN_BEDROCK=J.key,J.key;return}),B=Y.AWS_WEB_IDENTITY_TOKEN_FILE,z=Boolean(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI);if(!V&&!U&&!H&&!B&&!z)return{autoload:!1};let{fromNodeProviderChain:F}=yield*T.promise(()=>import("./chunk-0xrb12s8.js")),A={region:G};if(!H){let N=V?{profile:V}:{};A.credentialProvider=F(N)}let j=Z?.options?.endpoint??Z?.options?.baseURL;if(j)A.baseURL=j;return{autoload:!0,options:A,async getModel(N,L,q){if(["global.","us.","eu.","jp.","apac.","au."].some((w)=>L.startsWith(w)))return N.languageModel(L);let C=q?.region??G,R=C.split("-")[0];switch(R){case"us":{let w=["nova-micro","nova-lite","nova-pro","nova-premier","nova-2","claude","deepseek"].some((_)=>L.includes(_)),I=C.startsWith("us-gov");if(w&&!I)L=`${R}.${L}`;break}case"eu":{let w=["eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-central-1","eu-south-1","eu-south-2"].some((_)=>C.includes(_)),I=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>L.includes(_));if(w&&I)L=`${R}.${L}`;break}case"ap":{let w=["ap-southeast-2","ap-southeast-4"].includes(C),I=C==="ap-northeast-1";if(w&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>L.includes(_)))R="au",L=`${R}.${L}`;else if(I){if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>L.includes(E)))R="jp",L=`${R}.${L}`}else if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>L.includes(E)))R="apac",L=`${R}.${L}`;break}}return N.languageModel(L)}}}),llmgateway:()=>T.succeed({autoload:!1,options:{headers:{"X-Source":"qitqode"}}}),openrouter:()=>T.succeed({autoload:!1,options:{headers:{"X-OpenRouter-Categories":"programming,programming-app,cli-agent"}}}),nvidia:()=>T.succeed({autoload:!1,options:{}}),vercel:()=>T.succeed({autoload:!1,options:{}}),"google-vertex":T.fnUntraced(function*(Z){let J=yield*$.env(),Y=Z.options?.project??J.GOOGLE_CLOUD_PROJECT??J.GCP_PROJECT??J.GCLOUD_PROJECT,X=String(Z.options?.location??J.GOOGLE_VERTEX_LOCATION??J.GOOGLE_CLOUD_LOCATION??J.VERTEX_LOCATION??"us-central1");if(!Boolean(Y))return{autoload:!1};return{autoload:!0,vars(G){let W=X==="global"?"aiplatform.googleapis.com":`${X}-aiplatform.googleapis.com`;return{...Y&&{GOOGLE_VERTEX_PROJECT:Y},GOOGLE_VERTEX_LOCATION:X,GOOGLE_VERTEX_ENDPOINT:W}},options:{project:Y,location:X,fetch:async(G,W)=>{let{GoogleAuth:K}=await import("./chunk-d6hxsfm6.js").then((m)=>m6(m.default,1)),H=await(await new K().getApplicationDefault()).credential.getAccessToken(),B=new Headers(W?.headers);return B.set("Authorization",`Bearer ${H.token}`),fetch(G,{...W,headers:B})}},async getModel(G,W){let K=String(W).trim();return G.languageModel(K)}}}),"google-vertex-anthropic":T.fnUntraced(function*(){let Z=yield*$.env(),J=Z.GOOGLE_CLOUD_PROJECT??Z.GCP_PROJECT??Z.GCLOUD_PROJECT,Y=Z.GOOGLE_CLOUD_LOCATION??Z.VERTEX_LOCATION??"global";if(!Boolean(J))return{autoload:!1};return{autoload:!0,options:{project:J,location:Y},async getModel(Q,G){let W=String(G).trim();return Q.languageModel(W)}}}),"sap-ai-core":T.fnUntraced(function*(){let Z=yield*$.auth("sap-ai-core"),J=l$(()=>{let Q=IK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return IK.set("AICORE_SERVICE_KEY",Z.key),process.env.AICORE_SERVICE_KEY=Z.key,Z.key;return}),Y=process.env.AICORE_DEPLOYMENT_ID,X=process.env.AICORE_RESOURCE_GROUP;return{autoload:!!J,options:J?{deploymentId:Y,resourceGroup:X}:{},async getModel(Q,G){return Q(G)}}}),zenmux:()=>T.succeed({autoload:!1,options:{}}),gitlab:T.fnUntraced(function*(Z){let{VERSION:J,isWorkflowModel:Y,discoverWorkflowModels:X}=yield*T.promise(()=>import("./chunk-k5q9px67.js")),Q=(yield*$.get("GITLAB_INSTANCE_URL"))||"https://gitlab.com",G=yield*$.auth(Z.id),W=yield*T.sync(()=>{if(G?.type==="oauth")return G.access;if(G?.type==="api")return G.key;return}),K=W??(yield*$.get("GITLAB_TOKEN")),V=(yield*$.config()).provider?.gitlab,U=yield*B0.directory,H={"User-Agent":`qitqode/${E$} gitlab-ai-provider/${J} (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`,"anthropic-beta":"context-1m-2025-08-07",...V?.options?.aiGatewayHeaders},B={duo_agent_platform_agentic_chat:!0,duo_agent_platform:!0,...V?.options?.featureFlags};return{autoload:!!K,options:{instanceUrl:Q,apiKey:K,aiGatewayHeaders:H,featureFlags:B},async getModel(z,F,A){if(F.startsWith("duo-workflow-")){let j=typeof A?.workflowRef==="string"?A.workflowRef:void 0,N=Y(F)?F:"duo-workflow",L=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,q=z.workflowChat(N,{featureFlags:B,workflowDefinition:L});if(j)q.selectedModelRef=j;return q}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return VY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};VY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return VY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let j={};for(let N of A.models)if(!Z.models[N.id])j[N.id]={id:s1.make(N.id),providerID:X1.make("gitlab"),name:`Agent Platform (${N.name})`,family:"",api:{id:N.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:N.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:N.context,output:N.output},capabilities:{temperature:!1,reasoning:!0,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!0},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"",variants:{}};return VY.info("gitlab model discovery complete",{count:Object.keys(j).length,models:Object.keys(j)}),j}catch(z){return VY.warn("gitlab model discovery failed",{error:z}),{}}}}}),"cloudflare-workers-ai":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Al(Y,J);if(!X)return{autoload:!1,async getModel(){throw Error("CLOUDFLARE_ACCOUNT_ID is missing. Set it with: export CLOUDFLARE_ACCOUNT_ID=<your-account-id>")}};let Q=yield*T.gen(function*(){let G=Y.CLOUDFLARE_API_KEY;if(G)return G;if(J?.type==="api")return J.key;return});return{autoload:!!Q,options:{apiKey:Q,headers:{"User-Agent":`qitqode/${E$} cloudflare-workers-ai (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},async getModel(G,W){return G.languageModel(W)},vars(G){return{CLOUDFLARE_ACCOUNT_ID:X}}}}),"cloudflare-ai-gateway":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Al(Y,J),Q=Y.CLOUDFLARE_GATEWAY_ID||(J?.type==="api"?J.metadata?.gatewayId:void 0);if(!X||!Q){let z=[!X?"CLOUDFLARE_ACCOUNT_ID":void 0,!Q?"CLOUDFLARE_GATEWAY_ID":void 0].filter((F)=>Boolean(F));return{autoload:!1,async getModel(){throw Error(`${z.join(" and ")} missing. Set with: ${z.map((F)=>`export ${F}=<value>`).join(" && ")}`)}}}let G=yield*T.gen(function*(){let z=Y.CLOUDFLARE_API_TOKEN||Y.CF_AIG_TOKEN;if(z)return z;if(J?.type==="api")return J.key;return});if(!G)throw Error("CLOUDFLARE_API_TOKEN (or CF_AIG_TOKEN) is required for Cloudflare AI Gateway. Set it via environment variable or run `qitqode auth cloudflare-ai-gateway`.");let{createAiGateway:W}=yield*T.promise(()=>import("./chunk-qey1efpx.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-c2kkv619.js")),U={metadata:l$(()=>{if(Z.options?.metadata)return Z.options.metadata;try{return JSON.parse(Z.options?.headers?.["cf-aig-metadata"])}catch{return}}),cacheTtl:Z.options?.cacheTtl,cacheKey:Z.options?.cacheKey,skipCache:Z.options?.skipCache,collectLog:Z.options?.collectLog,headers:{"User-Agent":`qitqode/${E$} cloudflare-ai-gateway (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},H=W({accountId:X,gateway:Q,apiKey:G,...Object.values(U).some((z)=>z!==void 0)?{options:U}:{}}),B=K();return{autoload:!0,async getModel(z,F,A){return H(B(F))},options:{}}}),cerebras:()=>T.succeed({autoload:!1,options:{headers:{"X-Cerebras-3rd-Party-Integration":"qitqode"}}}),kilo:()=>T.succeed({autoload:!1,options:{}})}}import{pathToFileURL as ZN0}from"url";var fA=E0.create({service:"provider.sdk-runtime"});async function Dl($,Z,J){try{let Y=[];try{const W=CK(Y,fA.time("getSDK",{providerID:$.providerID}),0);let K=Z.providers[$.providerID];let V={...K.options};if($.providerID==="google-vertex"&&!$.api.npm.includes("@ai-sdk/openai-compatible"))delete V.fetch;if($.api.npm.includes("@ai-sdk/openai-compatible")&&V.includeUsage!==!1)V.includeUsage=!0;let U=l$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let w=Z.varsLoaders[$.providerID];if(w){let I=w(V);for(let[_,E]of Object.entries(I)){let f="${"+_+"}";R=R.replaceAll(f,E)}}return R});if(U!==void 0)V.baseURL=U;if(V.apiKey===void 0&&typeof K.key==="string")V.apiKey=K.key;if($.headers)V.headers={...V.headers,...$.headers};let H=V.fetch;delete V.fetch;let B=V4.fast(JSON.stringify({providerID:$.providerID,npm:$.api.npm,options:V}));let z=Z.sdk.get(B);if(z)return z;let F=V.chunkTimeout;let A=typeof F==="number"?F:PK;delete V.chunkTimeout;V.fetch=async(R,w)=>{let I=H??fetch,_=w??{},E=typeof A==="number"&&A>0?new AbortController:void 0,f=[];if(_.signal)f.push(_.signal);if(E)f.push(E.signal);if(V.timeout!==void 0&&V.timeout!==null&&V.timeout!==!1)f.push(AbortSignal.timeout(V.timeout));let b=f.length===0?null:f.length===1?f[0]:AbortSignal.any(f);if(b)_.signal=b;if($.api.npm==="@ai-sdk/openai"&&_.body&&_.method==="POST"){let k=JSON.parse(_.body);if(!($.providerID.includes("azure")&&k.store===!0)&&Array.isArray(k.input)){for(let p of k.input)if("id"in p)delete p.id;_.body=JSON.stringify(k)}}let y=await I(R,{..._,timeout:!1});if(!E)return y;return zl(y,A,E)};let j=jl[$.api.npm];if(j){fA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let w=(await j())({name:$.providerID,...V});return Z.sdk.set(B,w),w}let N;if(!$.api.npm.startsWith("file://")){let R=await q6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);N=R.entrypoint}else fA.info("loading local provider",{pkg:$.api.npm}),N=$.api.npm;let L=N.startsWith("file://")?N:ZN0(N).href;let q=await import(L);let M=q[Object.keys(q).find((R)=>R.startsWith("create"))];let C=M({name:$.providerID,...V});Z.sdk.set(B,C);return C}catch(X){var Q=X,G=1}finally{EK(Y,Q,G)}}catch(W){throw new TK({providerID:$.providerID},{cause:W})}}function wl($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=N1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=N1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Ll($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Tl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Rl($){if($.type!=="api")return;return{source:"api",key:$.key}}function kA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var JN0=E0.create({service:"provider.discovery.filter"});function Pl($){for(let[Z,J]of Object.entries($.providers)){let Y=X1.make(Z);if(!$.isAllowed(Y)){delete $.providers[Y];continue}let X=$.overrides[Y];for(let[Q,G]of Object.entries(J.models)){if(G.api.id=G.api.id??G.id??Q,Q==="gpt-5-chat-latest"||Y===X1.openrouter&&Q==="openai/gpt-5-chat")delete J.models[Q];if(G.status==="alpha"&&!$.experimentalModels)delete J.models[Q];if(G.status==="deprecated")delete J.models[Q];if(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=v6(G5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=N1(G.variants,W);G.variants=v6(bK(K,(V)=>!V.disabled),(V)=>_K(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}JN0.info("found",{providerID:Y})}return $.providers}var YN0=E0.create({service:"provider.discovery.config"});function Il($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:X1.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:N1(Y?.options??{},J.options??{}),source:"config",models:Y?.models??{}};for(let[Q,G]of Object.entries(J.models??{})){let W=X.models[G.id??Q],K=G.id??W?.api.id??Q,V=G.provider?.npm??J.npm??W?.api.npm??$.modelsDev[Z]?.npm??"@ai-sdk/openai-compatible",U=l$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:s1.make(Q),api:{id:K,npm:V,url:G.provider?.api??J?.api??W?.api.url??$.modelsDev[Z]?.api??""},status:G.status??W?.status??"active",name:U,providerID:X1.make(Z),capabilities:{temperature:G.temperature??W?.capabilities.temperature??!1,reasoning:G.reasoning??W?.capabilities.reasoning??!1,attachment:G.attachment??W?.capabilities.attachment??!1,toolcall:G.tool_call??W?.capabilities.toolcall??!0,input:{text:G.modalities?.input?.includes("text")??W?.capabilities.input.text??!0,audio:G.modalities?.input?.includes("audio")??W?.capabilities.input.audio??!1,image:G.modalities?.input?.includes("image")??W?.capabilities.input.image??!1,video:G.modalities?.input?.includes("video")??W?.capabilities.input.video??!1,pdf:G.modalities?.input?.includes("pdf")??W?.capabilities.input.pdf??!1},output:{text:G.modalities?.output?.includes("text")??W?.capabilities.output.text??!0,audio:G.modalities?.output?.includes("audio")??W?.capabilities.output.audio??!1,image:G.modalities?.output?.includes("image")??W?.capabilities.output.image??!1,video:G.modalities?.output?.includes("video")??W?.capabilities.output.video??!1,pdf:G.modalities?.output?.includes("pdf")??W?.capabilities.output.pdf??!1},interleaved:G.interleaved??W?.capabilities.interleaved??(!W&&V==="@ai-sdk/openai-compatible"&&K.includes("deepseek")?{field:"reasoning_content"}:!1)},cost:{input:G?.cost?.input??W?.cost?.input??0,output:G?.cost?.output??W?.cost?.output??0,cache:{read:G?.cost?.cache_read??W?.cost?.cache.read??0,write:G?.cost?.cache_write??W?.cost?.cache.write??0}},options:N1(W?.options??{},G.options??{}),limit:{context:(()=>{let z=G.limit?.context??W?.limit?.context;if(z!==void 0)return z;let F=`${Z}/${Q}`;if(!_A.has(F))_A.add(F),YN0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:bA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return bA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:N1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=N1(G5(H),G.variants??{});H.variants=v6(bK(B,(z)=>!z.disabled),(z)=>_K(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var SK=E0.create({service:"provider.discovery"});function El($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=CK(E,SK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>Cl());let V=v6(K,wK);V[Q9.id]=Q9;let U=wl(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let j=new Map;let N={};let L={auth:(k)=>J.get(k).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(k)=>Y.get(k)};SK.info("init");let q=yield*X.list();let M=Object.entries(W.provider??{});let C=new Set(W.disabled_providers??[]);let R=W.enabled_providers?new Set(W.enabled_providers):null;let w=(k)=>Ll({providerID:k,enabled:R,disabled:C});Il({database:V,modelsDev:K,configProviders:M});if(!b0.QITQODE_DISABLE_PROVIDER_ENV){let k=yield*Y.all();for(let[g,d]of Object.entries(V)){let p=X1.make(g);if(C.has(p))continue;let t=Tl(d,k);if(t)B(p,t)}}let I=yield*J.all().pipe(T.orDie);for(let[k,g]of Object.entries(I)){let d=X1.make(k);if(C.has(d))continue;let p=Rl(g);if(p)B(d,p)}for(let k of q){if(!k.auth)continue;let g=X1.make(k.auth.provider);if(C.has(g))continue;if(!(yield*J.get(g).pipe(T.orDie)))continue;if(!k.auth.loader)continue;let t=(yield*T.promise(()=>k.auth.loader(()=>G.promise(J.get(g).pipe(T.orDie)),V[k.auth.provider])))??{};B(g,kA({options:t,hasProvider:Boolean(H[g])}))}for(let[k,g]of Object.entries(Ml(L))){let d=X1.make(k);if(C.has(d))continue;let p=V[d];if(!p){SK.error("Provider does not exist in model list "+d);continue}let t=yield*g(p);if(t&&(t.autoload||H[d])){if(t.getModel)F[d]=t.getModel;if(t.vars)A[d]=t.vars;if(t.discoverModels)N[d]=t.discoverModels;let r=t.options??{};B(d,kA({options:r,hasProvider:Boolean(H[d])}))}}for(let[k,g]of M){let d=X1.make(k),p={source:"config"};if(g.env)p.env=g.env;if(g.name)p.name=g.name;if(g.options)p.options=g.options;B(d,p)}let _=X1.make("gitlab");if(N[_]&&H[_]&&w(_))yield*T.promise(async()=>{try{let k=await N[_]();for(let[g,d]of Object.entries(k))if(!H[_].models[g])H[_].models[g]=d}catch(k){SK.warn("state discovery error",{id:"gitlab",error:k})}});for(let k of q){let g=k.provider,d=g?.models;if(!g||!d)continue;let p=X1.make(g.id);if(C.has(p))continue;let t=H[p];if(!t)continue;let r=yield*J.get(p).pipe(T.orDie);t.models=yield*T.promise(async()=>{let G0=await d(t,{auth:r});return Object.fromEntries(Object.entries(G0).map(([O0,h0])=>[O0,{...h0,id:s1.make(O0),providerID:p}]))})}Pl({providers:H,overrides:W.provider??{},isAllowed:w,experimentalModels:b0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:j,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,y=1}finally{EK(E,b,y)}})}var QN0=O.Struct({id:O.String,url:O.String,npm:O.String}),bl=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),GN0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),WN0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:bl,output:bl,interleaved:GN0}),_l=O.Struct({read:O.Number,write:O.Number}),KN0=O.Struct({input:O.Number,output:O.Number,cache:_l,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:_l}))}),VN0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),vA=O.Struct({id:s1,providerID:X1,api:QN0,name:O.String,family:O.optional(O.String),capabilities:WN0,cost:KN0,limit:VN0,status:O.Literals(["alpha","beta","deprecated","active"]),options:O.Record(O.String,O.Any),headers:O.Record(O.String,O.String),release_date:O.String,variants:O.optional(O.Record(O.String,O.Record(O.String,O.Any))),cacheTTL:O.optional(O.Number),cachePromptTTL:O.optional(O.Literals(["5m","1h"]))}).annotate({identifier:"Model"}).pipe(u0(($)=>({zod:w0($)}))),fK=O.Struct({id:X1,name:O.String,source:O.Literals(["env","config","custom","api"]),env:O.Array(O.String),key:O.optional(O.String),options:O.Record(O.String,O.Any),models:O.Record(O.String,vA)}).annotate({identifier:"Provider"}).pipe(u0(($)=>({zod:w0($)}))),Sl=O.Record(O.String,O.String),fl=O.Struct({all:O.Array(fK),default:Sl,connected:O.Array(O.String)}).pipe(u0(($)=>({zod:w0($)}))),kl=O.Struct({providers:O.Array(fK),default:Sl}).pipe(u0(($)=>({zod:w0($)})));async function xl($=yl){return F8.loadLiveRatings($)}function hl($){F8.mergeLiveTierRatings($)}class kK extends S1.Service()("@qitqode/Provider"){}var HN0=T0.effect(kK,T.gen(function*(){let $=yield*D$.Service,Z=yield*X8.Service,J=yield*k8.Service,Y=yield*l6.Service,X=yield*AZ.Service;F8.beginTierRatingsLoad();let[Q,G]=yield*T.promise(()=>Promise.all([vl(),xl()]));F8.mergeLiveTiers(Q),hl(G),Vl();let W=yield*B0.make(()=>El({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(N)=>N.providers)),V=Bl({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(UN0.join(F0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,j=T.fn("Provider.getLanguage")(function*(N){let L=yield*B0.get(W),q=yield*Y.all(),M=`${N.providerID}/${N.id}`;if(L.models.has(M))return L.models.get(M);return yield*T.promise(async()=>{let C=L.providers[N.providerID],R=await Dl(N,L,q);try{let w=L.modelLoaders[N.providerID]?await L.modelLoaders[N.providerID](R,N.api.id,{...C.options,...N.options}):R.languageModel(N.api.id);return L.models.set(M,w),w}catch(w){if(w instanceof XH)throw new KY({modelID:N.id,providerID:N.providerID},{cause:w});throw w}})});return kK.of({list:K,getProvider:U,getModel:H,getLanguage:j,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),BN0=T0.suspend(()=>HN0.pipe(T0.provide(D$.defaultLayer),T0.provide(l6.defaultLayer),T0.provide(X8.defaultLayer),T0.provide(k8.defaultLayer),T0.provide(AZ.defaultLayer)));var sl={};F1(sl,{layer:()=>ol,defaultLayer:()=>NN0,ValidationFailed:()=>nl,Service:()=>vK,OauthMissing:()=>pl,OauthCodeMissing:()=>cl,OauthCallbackFailed:()=>il,Methods:()=>ll,Method:()=>yA,CallbackInput:()=>jN0,AuthorizeInput:()=>qN0,Authorization:()=>dl});var ml=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),zN0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(ml)}),FN0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),AN0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(FN0),when:O.optional(ml)}),ON0=O.Union([zN0,AN0]);class yA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(ON0))}){static zod=w0(this)}var ll=O.Record(O.String,O.Array(yA)).pipe(u0(($)=>({zod:w0($)})));class dl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=w0(this)}var qN0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(u0(($)=>({zod:w0($)}))),jN0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(u0(($)=>({zod:w0($)}))),pl=j1.create("ProviderAuthOauthMissing",P.object({providerID:X1.zod})),cl=j1.create("ProviderAuthOauthCodeMissing",P.object({providerID:X1.zod})),il=j1.create("ProviderAuthOauthCallbackFailed",P.object({})),nl=j1.create("ProviderAuthValidationFailed",P.object({field:P.string(),message:P.string()}));class vK extends S1.Service()("@qitqode/ProviderAuth"){}var ol=T0.effect(vK,T.gen(function*(){let $=yield*k8.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:y7.fromEntries(ul.filterMap(W,(K)=>K.auth?.provider!==void 0?v7.succeed([X1.make(K.auth.provider),K.auth]):v7.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(ll),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(y7.map(W,(K)=>K.methods.map((V)=>({type:V.type,label:V.label,prompts:V.prompts?.map((U)=>{if(U.type==="select")return{type:"select",key:U.key,message:U.message,options:U.options,when:U.when};return{type:"text",key:U.key,message:U.message,placeholder:U.placeholder,when:U.when}})}))))}),Q=T.fn("ProviderAuth.authorize")(function*(W){let{hooks:K,pending:V}=yield*B0.get(J),U=K[W.providerID].methods[W.method];if(U.type!=="oauth")return;if(U.prompts&&W.inputs){for(let B of U.prompts)if(B.type==="text"&&B.validate&&W.inputs[B.key]!==void 0){let z=B.validate(W.inputs[B.key]);if(z)return yield*T.fail(new nl({field:B.key,message:z}))}}let H=yield*T.promise(()=>U.authorize(W.inputs));return V.set(W.providerID,H),{url:H.url,method:H.method,instructions:H.instructions}}),G=T.fn("ProviderAuth.callback")(function*(W){let V=(yield*B0.get(J)).pending.get(W.providerID);if(!V)return yield*T.fail(new pl({providerID:W.providerID}));if(V.method==="code"&&!W.code)return yield*T.fail(new cl({providerID:W.providerID}));let U=yield*T.promise(()=>V.method==="code"?V.callback(W.code):V.callback(W.code));if(!U||U.type!=="success")return yield*T.fail(new il({}));if("key"in U)yield*$.set(W.providerID,{type:"api",key:U.key,..."metadata"in U&&U.metadata?{metadata:U.metadata}:{}});if("refresh"in U){let{type:H,provider:B,refresh:z,access:F,expires:A,...j}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...j})}});return vK.of({methods:X,authorize:Q,callback:G})})),NN0=T0.suspend(()=>ol.pipe(T0.provide(k8.defaultLayer),T0.provide(AZ.defaultLayer)));var W9={};F1(W9,{parseStreamError:()=>RN0,parseAPICallError:()=>PN0});import{STATUS_CODES as rl}from"http";var MN0=[/prompt is too long/i,/input is too long for requested model/i,/exceeds the context window/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/model_context_window_exceeded/i];function DN0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function wN0($){if(MN0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function LN0($){if(!$||!/^\s*[\[{]/.test($))return!1;try{return JSON.parse($),!1}catch(Z){let J=0,Y=!1,X=!1;for(let Q of $){if(Y){if(X)X=!1;else if(Q==="\\")X=!0;else if(Q==='"')Y=!1;continue}if(Q==='"')Y=!0;else if(Q==="{"||Q==="[")J++;else if(Q==="}"||Q==="]")J--;if(J<0)return!1}return Y||J>0||/unexpected end|end of json|unterminated string/i.test(String(Z))}}function TN0($,Z){return l$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=rl[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==rl[Z.statusCode])return J;try{let X=JSON.parse(Z.responseBody),Q=X.message||X.detail||X.error?.message||X.error;if(Q&&typeof Q==="string")return`${J}: ${Q.slice(0,300)}`;if(Array.isArray(Q)&&Q.length>0){let G=Q[0],W=typeof G?.msg==="string"?G.msg:typeof G?.message==="string"?G.message:typeof G==="string"?G:void 0;if(W)return`${J}: ${W.slice(0,300)}`}}catch{}if(/^\s*<!doctype|^\s*<html/i.test(Z.responseBody)){if(Z.statusCode===401)return"Unauthorized: request was blocked by a gateway or proxy. Your authentication token may be missing or expired \u2014 try running `qitqode auth login <your provider URL>` to re-authenticate.";if(Z.statusCode===403)return"Forbidden: request was blocked by a gateway or proxy. You may not have permission to access this resource \u2014 check your account and provider settings.";return J}let Y=Z.responseBody.length>300?Z.responseBody.slice(0,300)+"\u2026":Z.responseBody;return`${J}: ${Y}`}).trim()}function al($){if(typeof $==="string")try{let Z=JSON.parse($);if(Z&&typeof Z==="object")return Z;return}catch{return}if(typeof $==="object"&&$!==null)return $;return}function RN0($){let Z=al($);if(!Z)return;let J=JSON.stringify(Z);if(Z.type!=="error")return;switch(Z?.error?.code){case"context_length_exceeded":return{type:"context_overflow",message:"Input exceeds context window of this model",responseBody:J};case"insufficient_quota":return{type:"api_error",message:"Quota exceeded. Check your plan and billing details.",isRetryable:!1,responseBody:J};case"usage_not_included":return{type:"api_error",message:"To use Codex with your ChatGPT plan, upgrade to Plus: https://chatgpt.com/explore/plus.",isRetryable:!1,responseBody:J};case"invalid_prompt":return{type:"api_error",message:typeof Z?.error?.message==="string"?Z?.error?.message:"Invalid prompt.",isRetryable:!1,responseBody:J}}}function PN0($){let Z=TN0($.providerID,$.error),J=al($.error.responseBody),Y=LN0($.error.responseBody);if(wN0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let X=$.error.url?{url:$.error.url}:void 0;return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:Y||($.providerID.startsWith("openai")?DN0($.error):$.error.isRetryable),category:Y?"stream_truncated":void 0,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:X}}function xA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case O4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return xA(J,Z);return new L6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case U4.isInstance($):return $;case YH.isInstance($):return new H4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new L6({message:"Connection reset by server",isRetryable:!0,metadata:{code:$.code??"",syscall:$.syscall??"",message:$.message??""}},{cause:$}).toObject();case($ instanceof Error&&$.code==="ZlibError"):if(Z.aborted)return new f5({message:$.message},{cause:$}).toObject();return new L6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case FX.isInstance($):{let J=W9.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,category:J.category,outputBudgetRecoveryAvailable:void 0,outputBudgetRecoveryTokens:void 0,diagnostic:UY($),responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata},{cause:$}).toObject()}case($ instanceof Error&&(typeof $.status==="number"||typeof $.category==="string"&&typeof $.retryable==="boolean")):{let J=$.status,Y=$.retryable===!0;return new L6({message:V6($),statusCode:J,isRetryable:Y,category:$.category,upstreamCode:$.upstreamCode,requestId:$.requestId,outputBudgetRecoveryAvailable:$.outputBudgetRecoveryAvailable,outputBudgetRecoveryTokens:$.outputBudgetRecoveryTokens,diagnostic:UY($)},{cause:$}).toObject()}case $ instanceof Error:return new j1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject();default:try{let J=W9.parseStreamError($);if(J){if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,isRetryable:J.isRetryable,diagnostic:UY($),responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new j1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject()}}var BY={};F1(BY,{layer:()=>Xd,defaultLayer:()=>kN0,Service:()=>yK,ActorRegistry:()=>BY});var _1=g6("actor_registry",{session_id:w1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:w1().notNull(),mode:w1().$type().notNull(),parent_actor_id:w1(),status:w1().$type().notNull(),last_outcome:w1().$type(),lifecycle:w1().$type().notNull(),agent:w1().notNull(),description:w1().notNull(),context_mode:w1().$type().notNull(),context_watermark:w1().$type(),background:j8({mode:"boolean"}).notNull(),tools:w1({mode:"json"}).$type(),last_turn_time:j8().notNull(),turn_count:j8().notNull().default(0),last_error:w1(),time_completed:j8(),...xY},($)=>[k9({columns:[$.session_id,$.actor_id]}),K9("actor_registry_session_agent_idx").on($.session_id,$.agent),K9("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),K9("actor_registry_status_idx").on($.status),K9("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var hA=P.enum(["pending","running","idle"]),gA=P.enum(["success","failure","cancelled"]),IN0=P.enum(["ephemeral","persistent"]),CN0=P.enum(["none","state","full"]),uA=P.enum(["peer","subagent","main"]),EN0=P.union([P.array(P.string()).readonly(),P.literal("INHERIT")]),Qd0=P.object({sessionID:r0.zod,actorID:P.string(),mode:uA,parentActorID:P.string().optional(),status:hA,lastOutcome:gA.optional(),lifecycle:IN0,agent:P.string(),description:P.string(),contextMode:CN0,contextWatermark:i1.zod.optional(),background:P.boolean(),tools:EN0.optional(),lastTurnTime:P.number(),turnCount:P.number(),lastError:P.string().optional(),time:P.object({created:P.number(),updated:P.number(),completed:P.number().optional()})}).meta({ref:"Actor"});var tl=L1.define("actor.registered",P.object({sessionID:r0.zod,actorID:P.string(),mode:uA,parentActorID:P.string().optional(),description:P.string(),agent:P.string(),background:P.boolean()})),el=L1.define("actor.status",P.object({sessionID:r0.zod,actorID:P.string(),status:hA,lastOutcome:gA.optional(),turnCount:P.number(),lastTurnTime:P.number(),error:P.string().optional()})),$d=L1.define("actor.stuck",P.object({sessionID:r0.zod,actorID:P.string(),description:P.string(),lastTurnTime:P.number(),stuckDuration:P.number()})),Hd0=L1.define("writer.cache_perf",P.object({sessionID:r0.zod,writerActorID:P.string(),status:P.enum(["completed","failed"]),total_input_tokens:P.number(),cache_read_tokens:P.number(),cache_write_tokens:P.number(),cache_hit_rate:P.number(),num_llm_calls:P.number()})),Bd0=L1.define("inbox.arrived",P.object({receiverSessionID:r0.zod,receiverActorID:P.string(),senderSessionID:r0.zod.optional(),senderActorID:P.string().optional(),inboxID:P.string(),type:P.string()}));var Zd=new Set(["checkpoint-writer","dream","distill"]);var _N0=E0.create({service:"actor.registry"}),SN0=300000,fN0=60000;function HY($){return{sessionID:$.session_id,actorID:$.actor_id,mode:$.mode,parentActorID:$.parent_actor_id??void 0,status:$.status,lastOutcome:$.last_outcome??void 0,lifecycle:$.lifecycle,agent:$.agent,description:$.description,contextMode:$.context_mode,contextWatermark:$.context_watermark??void 0,background:Boolean($.background),tools:$.tools??void 0,lastTurnTime:$.last_turn_time,turnCount:$.turn_count,lastError:$.last_error??void 0,time:{created:$.time_created,updated:$.time_updated,completed:$.time_completed??void 0}}}class yK extends S1.Service()("@qitqode/ActorRegistry"){}var Xd=T0.effect(yK,T.gen(function*(){let $=yield*l1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let j=Date.now(),N={session_id:A.sessionID,actor_id:A.actorID,mode:A.mode,parent_actor_id:A.parentActorID??null,status:"pending",last_outcome:null,lifecycle:A.lifecycle,agent:A.agent,description:A.description,context_mode:A.contextMode,context_watermark:A.contextWatermark??null,background:A.background,tools:A.tools??null,last_turn_time:j,turn_count:0,last_error:null,time_completed:null,time_created:j,time_updated:j};return yield*T.sync(()=>W1.use((L)=>{try{L.insert(_1).values(N).run()}catch(q){if(typeof q==="object"&&q!==null&&"code"in q&&typeof q.code==="string"&&(q.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||q.code==="SQLITE_CONSTRAINT_UNIQUE")||q instanceof Error&&q.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw q}})),yield*$.publish(tl,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),HY(N)}),Y=T.fnUntraced(function*(A,j){return yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,j,N){let L=Date.now(),q=N.status==="idle"&&N.lastOutcome!==void 0,M={status:N.status,time_updated:L,...q?{time_completed:L}:{}};if(N.lastOutcome!==void 0)M.last_outcome=N.lastOutcome;if(N.lastError!==void 0)M.last_error=N.lastError;else if(N.lastOutcome!==void 0&&N.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()));let C=yield*Y(A,j);if(!C)return;yield*$.publish(el,{sessionID:A,actorID:j,status:C.status,...C.last_outcome?{lastOutcome:C.last_outcome}:{},turnCount:C.turn_count,lastTurnTime:C.last_turn_time,...C.last_error?{error:C.last_error}:{}})}),Q=T.fn("ActorRegistry.updateTurn")(function*(A,j){let N=Date.now();yield*T.sync(()=>W1.use((L)=>L.update(_1).set({last_turn_time:N,turn_count:Jd`${_1.turn_count} + 1`,time_updated:N}).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,j){let N=yield*Y(A,j);return N?HY(N):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(m0(_1.session_id,A)).all()))).map(HY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((j)=>j.select().from(_1).where(O$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(HY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,j){return(yield*T.sync(()=>W1.use((L)=>L.select().from(_1).where(O$(m0(_1.session_id,A),m0(_1.parent_actor_id,j))).all()))).map(HY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let N=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(N.length===0)return"";let L=[];L.push("## Active Actors"),L.push(""),L.push(`You have ${N.length} background actor(s) registered. Interact via the \`actor\` tool.`),L.push("");let q=Date.now();for(let M of N){let C=q-M.lastTurnTime,R=C<60000?`${Math.floor(C/1000)}s`:`${Math.floor(C/60000)}m`;L.push(`- actor_id: ${M.actorID} (${M.status}, last activity ${R} ago)`),L.push(` description: ${M.description}`),L.push(` agent: ${M.agent}`)}return L.join(`
801
+ Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function Yl($,Z){if(Z=tj0(Z),$.providerID==="google"||$.api.id.includes("gemini")){let J=(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G),Y=(G)=>J(G)&&(Array.isArray(G.anyOf)||Array.isArray(G.oneOf)||Array.isArray(G.allOf)),X=(G)=>{if(!J(G))return!1;if(Y(G))return!0;return["type","properties","items","prefixItems","enum","const","$ref","additionalProperties","patternProperties","required","not","if","then","else"].some((W)=>(W in G))},Q=(G)=>{if(G===null||typeof G!=="object")return G;if(Array.isArray(G))return G.map(Q);let W={};for(let[K,V]of Object.entries(G))if(K==="enum"&&Array.isArray(V)){if(W[K]=V.map((U)=>String(U)),W.type==="integer"||W.type==="number")W.type="string"}else if(typeof V==="object"&&V!==null)W[K]=Q(V);else W[K]=V;if(W.type==="object"&&W.properties&&Array.isArray(W.required))W.required=W.required.filter((K)=>(K in W.properties));if(W.type==="array"&&!Y(W)){if(W.items==null)W.items={};if(J(W.items)&&!X(W.items))W.items.type="string"}if(W.type&&W.type!=="object"&&!Y(W))delete W.properties,delete W.required;return W};Z=Q(Z)}return Z}function Xl($,Z){return Yl($,Z)}var bA=1e6,DK=new Set(F8.tiers().map(($)=>$.id)),Wl=F8.tiers(),N7=Object.fromEntries(Wl.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),k6=F8.qlexProviderMeta();function Kl($,Z){let J=F8.tierBudgetFacts($)??F8.tierBudgetFacts("default");return{id:s1.make($),providerID:X1.make("qlex"),name:Z,family:k6.family,api:{id:$,url:"",npm:k6.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:J.context,output:J.output},capabilities:{temperature:k6.capabilities.temperature,reasoning:J.reasoning,attachment:k6.capabilities.attachment,toolcall:k6.capabilities.toolcall,input:{...k6.capabilities.input},output:{...k6.capabilities.output},interleaved:k6.capabilities.interleaved},release_date:k6.release_date,variants:{}}}var Q9={id:X1.make("qlex"),name:k6.name,source:"custom",env:[],options:{},models:Object.fromEntries(Wl.map(($)=>[$.id,Kl($.id,$.label)]))};function Vl(){let $=F8.tiers();DK.clear();for(let J of $)DK.add(J.id);for(let J of Object.keys(N7))delete N7[J];Object.assign(N7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=Q9.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(Q9.models,Object.fromEntries($.map((J)=>[J.id,Kl(J.id,J.label)])))}var _A=new Set;function Ul($){let Z={input:$?.input??0,output:$?.output??0,cache:{read:$?.cache_read??0,write:$?.cache_write??0}};if($?.context_over_200k)Z.experimentalOver200K={cache:{read:$.context_over_200k.cache_read??0,write:$.context_over_200k.cache_write??0},input:$.context_over_200k.input,output:$.context_over_200k.output};return Z}function Ql($,Z){let J={id:s1.make(Z.id),providerID:X1.make($.id),name:Z.name,family:Z.family,api:{id:Z.id,url:Z.provider?.api??$.api??"",npm:Z.provider?.npm??$.npm??"@ai-sdk/openai-compatible"},status:Z.status??"active",headers:{},options:{},cost:Ul(Z.cost),limit:{context:Z.limit.context,input:Z.limit.input,output:Z.limit.output},capabilities:{temperature:Z.temperature??!1,reasoning:Z.reasoning??!1,attachment:Z.attachment??!1,toolcall:Z.tool_call??!0,input:{text:Z.modalities?.input?.includes("text")??!1,audio:Z.modalities?.input?.includes("audio")??!1,image:Z.modalities?.input?.includes("image")??!1,video:Z.modalities?.input?.includes("video")??!1,pdf:Z.modalities?.input?.includes("pdf")??!1},output:{text:Z.modalities?.output?.includes("text")??!1,audio:Z.modalities?.output?.includes("audio")??!1,image:Z.modalities?.output?.includes("image")??!1,video:Z.modalities?.output?.includes("video")??!1,pdf:Z.modalities?.output?.includes("pdf")??!1},interleaved:Z.interleaved??!1},release_date:Z.release_date??"",variants:{}};return{...J,variants:v6(G5(J),(Y)=>Y)}}function wK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=Ql($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=Ql($,Y);Z[G]={...W,id:s1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?N1(W.cost,Ul(Q.cost)):W.cost,options:Q.provider?.body?Object.fromEntries(Object.entries(Q.provider.body).map(([K,V])=>[K.replace(/_([a-z])/g,(U,H)=>H.toUpperCase()),V])):W.options,headers:Q.provider?.headers??W.headers}}}return{id:X1.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function Hl($){return v6($,(Z)=>G9(Object.values(Z.models))[0].id)}var ej0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function G9($){return Gl($,[(Z)=>ej0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function W5($){let[Z,...J]=$.split("/");return{providerID:X1.make(Z),modelID:s1.make(J.join("/"))}}var KY=j1.create("ProviderModelNotFoundError",P.object({providerID:X1.zod,modelID:s1.zod,suggestions:P.array(P.string()).optional()})),LK=j1.create("ProviderModelGroupNotFoundError",P.object({group:P.string(),suggestions:P.array(P.string()).optional()})),TK=j1.create("ProviderInitError",P.object({providerID:X1.zod}));function Bl($){let{getState:Z,config:J,readRecent:Y}=$,X=T.fn("Provider.getProvider")((U)=>Z().pipe(T.map((H)=>H.providers[U]))),Q=T.fn("Provider.getModel")(function*(U,H){let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),j=RK.default.go(U,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),j=RK.default.go(H,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}return F}),G=T.fn("Provider.closest")(function*(U,H){let z=(yield*Z()).providers[U];if(!z)return;for(let F of H)for(let A of Object.keys(z.models))if(A.includes(F))return{providerID:U,modelID:A};return}),W=T.fn("Provider.resolveModelRef")(function*(U,H){if(U.includes("/")){let N=W5(U);return yield*Q(N.providerID,N.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(DK.has(U)){let q=N7[U];if(q){let C=yield*Q(X1.make(q.providerID),s1.make(q.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let N=Object.keys(B.model_groups??{}),L=RK.default.go(U,N,{limit:3,threshold:-1e4});throw new LK({group:U,suggestions:L.map((q)=>q.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let N of A){let L=W5(N);if(L.providerID!==H)continue;let q=yield*Q(L.providerID,L.modelID).pipe(T.exit);if(q._tag==="Success")return q.value}let j=W5(F);return yield*Q(j.providerID,j.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=W5(H.small_model);return yield*Q(B.providerID,B.modelID)}for(let B of["lite","free","economical"]){if(H.model_groups?.[B])return yield*W(B,U);let F=N7[B];if(F){let A=yield*Q(X1.make(F.providerID),s1.make(F.modelID)).pipe(T.exit);if(A._tag==="Success")return A.value}}return yield*W("economical",U)}),V=T.fn("Provider.defaultModel")(function*(){let U=yield*J.get();if(U.model)return W5(U.model);let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!J8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((j)=>{if(!J8(j))return[];if(typeof j.providerID!=="string")return[];if(typeof j.modelID!=="string")return[];return[{providerID:X1.make(j.providerID),modelID:s1.make(j.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){let j=H.providers[A.providerID];if(!j)continue;if(!j.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["default","fast","economical","power"]){let j=N7[A];if(!j)continue;let N=H.providers[X1.make(j.providerID)];if(N?.models[s1.make(j.modelID)])return{providerID:N.id,modelID:s1.make(j.modelID)}}let z=Object.values(H.providers).find((A)=>!U.provider||Object.keys(U.provider).includes(A.id));if(!z)throw Error("no providers found");let[F]=G9(Object.values(z.models));if(!F)throw Error("no models found");return{providerID:z.id,modelID:F.id}});return{getProvider:X,getModel:Q,closest:G,resolveModelRef:W,getSmallModel:K,defaultModel:V}}var PK=480000;function zl($,Z,J){if(typeof Z!=="number"||Z<=0)return $;if(!$.body)return $;if(!$.headers.get("content-type")?.includes("text/event-stream"))return $;let Y=$.body.getReader(),X=new ReadableStream({async pull(Q){let G=await new Promise((W,K)=>{let V=setTimeout(()=>{let U=Error("SSE read timed out");J.abort(U),Y.cancel(U),K(U)},Z);Y.read().then((U)=>{clearTimeout(V),W(U)},(U)=>{clearTimeout(V),K(U)})});if(G.done){Q.close();return}Q.enqueue(G.value)},async cancel(Q){J.abort(Q),await Y.cancel(Q)}});return new Response(X,{headers:new Headers($.headers),status:$.status,statusText:$.statusText})}import OZ from"os";var VY=E0.create({service:"provider/loaders"}),IK=new Map,jl={"@qitqode/qlex-provider":()=>import("./chunk-a7rp46yt.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-p169ee92.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-mn9end71.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-nty5z2cj.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-jg1ccs3j.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-05ck7acg.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-g3wvtyw3.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-bbng1cea.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-f97k17t8.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-bqn6bqws.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-0428v6mw.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-rn83r0js.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-w4brava0.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-f31yvp20.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-wwdpw27v.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-3vvd7j14.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-sh9vjnsh.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-xe69cnsk.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-y0527cg0.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-804vmbcd.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-venprxdp.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-k5q9px67.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-k4gsktts.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-y67kaj0b.js").then(($)=>$.createVenice)};function Nl($){return $.responses===void 0&&$.chat===void 0}function $N0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function Fl($,Z,J){if(Nl($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function Al($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Ml($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:Ol,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)VY.error(SA),console.error(SA);try{await ql()}catch{}}},async getModel(Y,X){return Y.languageModel(X)}}}),anthropic:()=>T.succeed({autoload:!1,options:{headers:{"anthropic-beta":"interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"}}}),opencode:T.fnUntraced(function*(Z){let J=yield*$.env(),X=l$(()=>{if(Z.env.some((Q)=>J[Q]))return!0;return!1})||Boolean(yield*$.auth(Z.id))||Boolean((yield*$.config()).provider?.opencode?.options?.apiKey);for(let[Q,G]of Object.entries(Z.models))if(!X||G.cost.input===0)delete Z.models[Q];return{autoload:Object.keys(Z.models).length>0,options:{}}}),openai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),xai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),"github-copilot":()=>T.succeed({autoload:!1,async getModel(Z,J,Y){if(Nl(Z))return Z.languageModel(J);return $N0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=l$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:Fl,options:{},vars(X){return{...Y&&{AZURE_RESOURCE_NAME:Y}}}}}),"azure-cognitive-services":T.fnUntraced(function*(){let Z=yield*$.get("AZURE_COGNITIVE_SERVICES_RESOURCE_NAME");return{autoload:!1,getModel:Fl,options:{baseURL:Z?`https://${Z}.cognitiveservices.azure.com/openai`:void 0}}}),"amazon-bedrock":T.fnUntraced(function*(){let Z=(yield*$.config()).provider?.["amazon-bedrock"],J=yield*$.auth("amazon-bedrock"),Y=yield*$.env(),X=Z?.options?.region,Q=Y.AWS_REGION,G=X??Q??"us-east-1",W=Z?.options?.profile,K=Y.AWS_PROFILE,V=W??K,U=Y.AWS_ACCESS_KEY_ID,H=l$(()=>{let N=IK.get("AWS_BEARER_TOKEN_BEDROCK");if(N)return N;if(J?.type==="api")return IK.set("AWS_BEARER_TOKEN_BEDROCK",J.key),process.env.AWS_BEARER_TOKEN_BEDROCK=J.key,J.key;return}),B=Y.AWS_WEB_IDENTITY_TOKEN_FILE,z=Boolean(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI);if(!V&&!U&&!H&&!B&&!z)return{autoload:!1};let{fromNodeProviderChain:F}=yield*T.promise(()=>import("./chunk-0xrb12s8.js")),A={region:G};if(!H){let N=V?{profile:V}:{};A.credentialProvider=F(N)}let j=Z?.options?.endpoint??Z?.options?.baseURL;if(j)A.baseURL=j;return{autoload:!0,options:A,async getModel(N,L,q){if(["global.","us.","eu.","jp.","apac.","au."].some((w)=>L.startsWith(w)))return N.languageModel(L);let C=q?.region??G,R=C.split("-")[0];switch(R){case"us":{let w=["nova-micro","nova-lite","nova-pro","nova-premier","nova-2","claude","deepseek"].some((_)=>L.includes(_)),I=C.startsWith("us-gov");if(w&&!I)L=`${R}.${L}`;break}case"eu":{let w=["eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-central-1","eu-south-1","eu-south-2"].some((_)=>C.includes(_)),I=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>L.includes(_));if(w&&I)L=`${R}.${L}`;break}case"ap":{let w=["ap-southeast-2","ap-southeast-4"].includes(C),I=C==="ap-northeast-1";if(w&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>L.includes(_)))R="au",L=`${R}.${L}`;else if(I){if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>L.includes(E)))R="jp",L=`${R}.${L}`}else if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>L.includes(E)))R="apac",L=`${R}.${L}`;break}}return N.languageModel(L)}}}),llmgateway:()=>T.succeed({autoload:!1,options:{headers:{"X-Source":"qitqode"}}}),openrouter:()=>T.succeed({autoload:!1,options:{headers:{"X-OpenRouter-Categories":"programming,programming-app,cli-agent"}}}),nvidia:()=>T.succeed({autoload:!1,options:{}}),vercel:()=>T.succeed({autoload:!1,options:{}}),"google-vertex":T.fnUntraced(function*(Z){let J=yield*$.env(),Y=Z.options?.project??J.GOOGLE_CLOUD_PROJECT??J.GCP_PROJECT??J.GCLOUD_PROJECT,X=String(Z.options?.location??J.GOOGLE_VERTEX_LOCATION??J.GOOGLE_CLOUD_LOCATION??J.VERTEX_LOCATION??"us-central1");if(!Boolean(Y))return{autoload:!1};return{autoload:!0,vars(G){let W=X==="global"?"aiplatform.googleapis.com":`${X}-aiplatform.googleapis.com`;return{...Y&&{GOOGLE_VERTEX_PROJECT:Y},GOOGLE_VERTEX_LOCATION:X,GOOGLE_VERTEX_ENDPOINT:W}},options:{project:Y,location:X,fetch:async(G,W)=>{let{GoogleAuth:K}=await import("./chunk-d6hxsfm6.js").then((m)=>m6(m.default,1)),H=await(await new K().getApplicationDefault()).credential.getAccessToken(),B=new Headers(W?.headers);return B.set("Authorization",`Bearer ${H.token}`),fetch(G,{...W,headers:B})}},async getModel(G,W){let K=String(W).trim();return G.languageModel(K)}}}),"google-vertex-anthropic":T.fnUntraced(function*(){let Z=yield*$.env(),J=Z.GOOGLE_CLOUD_PROJECT??Z.GCP_PROJECT??Z.GCLOUD_PROJECT,Y=Z.GOOGLE_CLOUD_LOCATION??Z.VERTEX_LOCATION??"global";if(!Boolean(J))return{autoload:!1};return{autoload:!0,options:{project:J,location:Y},async getModel(Q,G){let W=String(G).trim();return Q.languageModel(W)}}}),"sap-ai-core":T.fnUntraced(function*(){let Z=yield*$.auth("sap-ai-core"),J=l$(()=>{let Q=IK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return IK.set("AICORE_SERVICE_KEY",Z.key),process.env.AICORE_SERVICE_KEY=Z.key,Z.key;return}),Y=process.env.AICORE_DEPLOYMENT_ID,X=process.env.AICORE_RESOURCE_GROUP;return{autoload:!!J,options:J?{deploymentId:Y,resourceGroup:X}:{},async getModel(Q,G){return Q(G)}}}),zenmux:()=>T.succeed({autoload:!1,options:{}}),gitlab:T.fnUntraced(function*(Z){let{VERSION:J,isWorkflowModel:Y,discoverWorkflowModels:X}=yield*T.promise(()=>import("./chunk-k5q9px67.js")),Q=(yield*$.get("GITLAB_INSTANCE_URL"))||"https://gitlab.com",G=yield*$.auth(Z.id),W=yield*T.sync(()=>{if(G?.type==="oauth")return G.access;if(G?.type==="api")return G.key;return}),K=W??(yield*$.get("GITLAB_TOKEN")),V=(yield*$.config()).provider?.gitlab,U=yield*B0.directory,H={"User-Agent":`qitqode/${E$} gitlab-ai-provider/${J} (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`,"anthropic-beta":"context-1m-2025-08-07",...V?.options?.aiGatewayHeaders},B={duo_agent_platform_agentic_chat:!0,duo_agent_platform:!0,...V?.options?.featureFlags};return{autoload:!!K,options:{instanceUrl:Q,apiKey:K,aiGatewayHeaders:H,featureFlags:B},async getModel(z,F,A){if(F.startsWith("duo-workflow-")){let j=typeof A?.workflowRef==="string"?A.workflowRef:void 0,N=Y(F)?F:"duo-workflow",L=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,q=z.workflowChat(N,{featureFlags:B,workflowDefinition:L});if(j)q.selectedModelRef=j;return q}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return VY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};VY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return VY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let j={};for(let N of A.models)if(!Z.models[N.id])j[N.id]={id:s1.make(N.id),providerID:X1.make("gitlab"),name:`Agent Platform (${N.name})`,family:"",api:{id:N.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:N.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:N.context,output:N.output},capabilities:{temperature:!1,reasoning:!0,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!0},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"",variants:{}};return VY.info("gitlab model discovery complete",{count:Object.keys(j).length,models:Object.keys(j)}),j}catch(z){return VY.warn("gitlab model discovery failed",{error:z}),{}}}}}),"cloudflare-workers-ai":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Al(Y,J);if(!X)return{autoload:!1,async getModel(){throw Error("CLOUDFLARE_ACCOUNT_ID is missing. Set it with: export CLOUDFLARE_ACCOUNT_ID=<your-account-id>")}};let Q=yield*T.gen(function*(){let G=Y.CLOUDFLARE_API_KEY;if(G)return G;if(J?.type==="api")return J.key;return});return{autoload:!!Q,options:{apiKey:Q,headers:{"User-Agent":`qitqode/${E$} cloudflare-workers-ai (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},async getModel(G,W){return G.languageModel(W)},vars(G){return{CLOUDFLARE_ACCOUNT_ID:X}}}}),"cloudflare-ai-gateway":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Al(Y,J),Q=Y.CLOUDFLARE_GATEWAY_ID||(J?.type==="api"?J.metadata?.gatewayId:void 0);if(!X||!Q){let z=[!X?"CLOUDFLARE_ACCOUNT_ID":void 0,!Q?"CLOUDFLARE_GATEWAY_ID":void 0].filter((F)=>Boolean(F));return{autoload:!1,async getModel(){throw Error(`${z.join(" and ")} missing. Set with: ${z.map((F)=>`export ${F}=<value>`).join(" && ")}`)}}}let G=yield*T.gen(function*(){let z=Y.CLOUDFLARE_API_TOKEN||Y.CF_AIG_TOKEN;if(z)return z;if(J?.type==="api")return J.key;return});if(!G)throw Error("CLOUDFLARE_API_TOKEN (or CF_AIG_TOKEN) is required for Cloudflare AI Gateway. Set it via environment variable or run `qitqode auth cloudflare-ai-gateway`.");let{createAiGateway:W}=yield*T.promise(()=>import("./chunk-qey1efpx.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-c2kkv619.js")),U={metadata:l$(()=>{if(Z.options?.metadata)return Z.options.metadata;try{return JSON.parse(Z.options?.headers?.["cf-aig-metadata"])}catch{return}}),cacheTtl:Z.options?.cacheTtl,cacheKey:Z.options?.cacheKey,skipCache:Z.options?.skipCache,collectLog:Z.options?.collectLog,headers:{"User-Agent":`qitqode/${E$} cloudflare-ai-gateway (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},H=W({accountId:X,gateway:Q,apiKey:G,...Object.values(U).some((z)=>z!==void 0)?{options:U}:{}}),B=K();return{autoload:!0,async getModel(z,F,A){return H(B(F))},options:{}}}),cerebras:()=>T.succeed({autoload:!1,options:{headers:{"X-Cerebras-3rd-Party-Integration":"qitqode"}}}),kilo:()=>T.succeed({autoload:!1,options:{}})}}import{pathToFileURL as ZN0}from"url";var fA=E0.create({service:"provider.sdk-runtime"});async function Dl($,Z,J){try{let Y=[];try{const W=CK(Y,fA.time("getSDK",{providerID:$.providerID}),0);let K=Z.providers[$.providerID];let V={...K.options};if($.providerID==="google-vertex"&&!$.api.npm.includes("@ai-sdk/openai-compatible"))delete V.fetch;if($.api.npm.includes("@ai-sdk/openai-compatible")&&V.includeUsage!==!1)V.includeUsage=!0;let U=l$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let w=Z.varsLoaders[$.providerID];if(w){let I=w(V);for(let[_,E]of Object.entries(I)){let f="${"+_+"}";R=R.replaceAll(f,E)}}return R});if(U!==void 0)V.baseURL=U;if(V.apiKey===void 0&&typeof K.key==="string")V.apiKey=K.key;if($.headers)V.headers={...V.headers,...$.headers};let H=V.fetch;delete V.fetch;let B=V4.fast(JSON.stringify({providerID:$.providerID,npm:$.api.npm,options:V}));let z=Z.sdk.get(B);if(z)return z;let F=V.chunkTimeout;let A=typeof F==="number"?F:PK;delete V.chunkTimeout;V.fetch=async(R,w)=>{let I=H??fetch,_=w??{},E=typeof A==="number"&&A>0?new AbortController:void 0,f=[];if(_.signal)f.push(_.signal);if(E)f.push(E.signal);if(V.timeout!==void 0&&V.timeout!==null&&V.timeout!==!1)f.push(AbortSignal.timeout(V.timeout));let b=f.length===0?null:f.length===1?f[0]:AbortSignal.any(f);if(b)_.signal=b;if($.api.npm==="@ai-sdk/openai"&&_.body&&_.method==="POST"){let k=JSON.parse(_.body);if(!($.providerID.includes("azure")&&k.store===!0)&&Array.isArray(k.input)){for(let p of k.input)if("id"in p)delete p.id;_.body=JSON.stringify(k)}}let y=await I(R,{..._,timeout:!1});if(!E)return y;return zl(y,A,E)};let j=jl[$.api.npm];if(j){fA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let w=(await j())({name:$.providerID,...V});return Z.sdk.set(B,w),w}let N;if(!$.api.npm.startsWith("file://")){let R=await q6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);N=R.entrypoint}else fA.info("loading local provider",{pkg:$.api.npm}),N=$.api.npm;let L=N.startsWith("file://")?N:ZN0(N).href;let q=await import(L);let M=q[Object.keys(q).find((R)=>R.startsWith("create"))];let C=M({name:$.providerID,...V});Z.sdk.set(B,C);return C}catch(X){var Q=X,G=1}finally{EK(Y,Q,G)}}catch(W){throw new TK({providerID:$.providerID},{cause:W})}}function wl($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=N1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=N1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Ll($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Tl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Rl($){if($.type!=="api")return;return{source:"api",key:$.key}}function kA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var JN0=E0.create({service:"provider.discovery.filter"});function Pl($){for(let[Z,J]of Object.entries($.providers)){let Y=X1.make(Z);if(!$.isAllowed(Y)){delete $.providers[Y];continue}let X=$.overrides[Y];for(let[Q,G]of Object.entries(J.models)){if(G.api.id=G.api.id??G.id??Q,Q==="gpt-5-chat-latest"||Y===X1.openrouter&&Q==="openai/gpt-5-chat")delete J.models[Q];if(G.status==="alpha"&&!$.experimentalModels)delete J.models[Q];if(G.status==="deprecated")delete J.models[Q];if(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=v6(G5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=N1(G.variants,W);G.variants=v6(bK(K,(V)=>!V.disabled),(V)=>_K(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}JN0.info("found",{providerID:Y})}return $.providers}var YN0=E0.create({service:"provider.discovery.config"});function Il($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:X1.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:N1(Y?.options??{},J.options??{}),source:"config",models:Y?.models??{}};for(let[Q,G]of Object.entries(J.models??{})){let W=X.models[G.id??Q],K=G.id??W?.api.id??Q,V=G.provider?.npm??J.npm??W?.api.npm??$.modelsDev[Z]?.npm??"@ai-sdk/openai-compatible",U=l$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:s1.make(Q),api:{id:K,npm:V,url:G.provider?.api??J?.api??W?.api.url??$.modelsDev[Z]?.api??""},status:G.status??W?.status??"active",name:U,providerID:X1.make(Z),capabilities:{temperature:G.temperature??W?.capabilities.temperature??!1,reasoning:G.reasoning??W?.capabilities.reasoning??!1,attachment:G.attachment??W?.capabilities.attachment??!1,toolcall:G.tool_call??W?.capabilities.toolcall??!0,input:{text:G.modalities?.input?.includes("text")??W?.capabilities.input.text??!0,audio:G.modalities?.input?.includes("audio")??W?.capabilities.input.audio??!1,image:G.modalities?.input?.includes("image")??W?.capabilities.input.image??!1,video:G.modalities?.input?.includes("video")??W?.capabilities.input.video??!1,pdf:G.modalities?.input?.includes("pdf")??W?.capabilities.input.pdf??!1},output:{text:G.modalities?.output?.includes("text")??W?.capabilities.output.text??!0,audio:G.modalities?.output?.includes("audio")??W?.capabilities.output.audio??!1,image:G.modalities?.output?.includes("image")??W?.capabilities.output.image??!1,video:G.modalities?.output?.includes("video")??W?.capabilities.output.video??!1,pdf:G.modalities?.output?.includes("pdf")??W?.capabilities.output.pdf??!1},interleaved:G.interleaved??W?.capabilities.interleaved??(!W&&V==="@ai-sdk/openai-compatible"&&K.includes("deepseek")?{field:"reasoning_content"}:!1)},cost:{input:G?.cost?.input??W?.cost?.input??0,output:G?.cost?.output??W?.cost?.output??0,cache:{read:G?.cost?.cache_read??W?.cost?.cache.read??0,write:G?.cost?.cache_write??W?.cost?.cache.write??0}},options:N1(W?.options??{},G.options??{}),limit:{context:(()=>{let z=G.limit?.context??W?.limit?.context;if(z!==void 0)return z;let F=`${Z}/${Q}`;if(!_A.has(F))_A.add(F),YN0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:bA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return bA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:N1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=N1(G5(H),G.variants??{});H.variants=v6(bK(B,(z)=>!z.disabled),(z)=>_K(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var SK=E0.create({service:"provider.discovery"});function El($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=CK(E,SK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>Cl());let V=v6(K,wK);V[Q9.id]=Q9;let U=wl(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let j=new Map;let N={};let L={auth:(k)=>J.get(k).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(k)=>Y.get(k)};SK.info("init");let q=yield*X.list();let M=Object.entries(W.provider??{});let C=new Set(W.disabled_providers??[]);let R=W.enabled_providers?new Set(W.enabled_providers):null;let w=(k)=>Ll({providerID:k,enabled:R,disabled:C});Il({database:V,modelsDev:K,configProviders:M});if(!b0.QITQODE_DISABLE_PROVIDER_ENV){let k=yield*Y.all();for(let[g,d]of Object.entries(V)){let p=X1.make(g);if(C.has(p))continue;let t=Tl(d,k);if(t)B(p,t)}}let I=yield*J.all().pipe(T.orDie);for(let[k,g]of Object.entries(I)){let d=X1.make(k);if(C.has(d))continue;let p=Rl(g);if(p)B(d,p)}for(let k of q){if(!k.auth)continue;let g=X1.make(k.auth.provider);if(C.has(g))continue;if(!(yield*J.get(g).pipe(T.orDie)))continue;if(!k.auth.loader)continue;let t=(yield*T.promise(()=>k.auth.loader(()=>G.promise(J.get(g).pipe(T.orDie)),V[k.auth.provider])))??{};B(g,kA({options:t,hasProvider:Boolean(H[g])}))}for(let[k,g]of Object.entries(Ml(L))){let d=X1.make(k);if(C.has(d))continue;let p=V[d];if(!p){SK.error("Provider does not exist in model list "+d);continue}let t=yield*g(p);if(t&&(t.autoload||H[d])){if(t.getModel)F[d]=t.getModel;if(t.vars)A[d]=t.vars;if(t.discoverModels)N[d]=t.discoverModels;let r=t.options??{};B(d,kA({options:r,hasProvider:Boolean(H[d])}))}}for(let[k,g]of M){let d=X1.make(k),p={source:"config"};if(g.env)p.env=g.env;if(g.name)p.name=g.name;if(g.options)p.options=g.options;B(d,p)}let _=X1.make("gitlab");if(N[_]&&H[_]&&w(_))yield*T.promise(async()=>{try{let k=await N[_]();for(let[g,d]of Object.entries(k))if(!H[_].models[g])H[_].models[g]=d}catch(k){SK.warn("state discovery error",{id:"gitlab",error:k})}});for(let k of q){let g=k.provider,d=g?.models;if(!g||!d)continue;let p=X1.make(g.id);if(C.has(p))continue;let t=H[p];if(!t)continue;let r=yield*J.get(p).pipe(T.orDie);t.models=yield*T.promise(async()=>{let G0=await d(t,{auth:r});return Object.fromEntries(Object.entries(G0).map(([O0,h0])=>[O0,{...h0,id:s1.make(O0),providerID:p}]))})}Pl({providers:H,overrides:W.provider??{},isAllowed:w,experimentalModels:b0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:j,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,y=1}finally{EK(E,b,y)}})}var QN0=O.Struct({id:O.String,url:O.String,npm:O.String}),bl=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),GN0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),WN0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:bl,output:bl,interleaved:GN0}),_l=O.Struct({read:O.Number,write:O.Number}),KN0=O.Struct({input:O.Number,output:O.Number,cache:_l,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:_l}))}),VN0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),vA=O.Struct({id:s1,providerID:X1,api:QN0,name:O.String,family:O.optional(O.String),capabilities:WN0,cost:KN0,limit:VN0,status:O.Literals(["alpha","beta","deprecated","active"]),options:O.Record(O.String,O.Any),headers:O.Record(O.String,O.String),release_date:O.String,variants:O.optional(O.Record(O.String,O.Record(O.String,O.Any))),cacheTTL:O.optional(O.Number),cachePromptTTL:O.optional(O.Literals(["5m","1h"]))}).annotate({identifier:"Model"}).pipe(u0(($)=>({zod:w0($)}))),fK=O.Struct({id:X1,name:O.String,source:O.Literals(["env","config","custom","api"]),env:O.Array(O.String),key:O.optional(O.String),options:O.Record(O.String,O.Any),models:O.Record(O.String,vA)}).annotate({identifier:"Provider"}).pipe(u0(($)=>({zod:w0($)}))),Sl=O.Record(O.String,O.String),fl=O.Struct({all:O.Array(fK),default:Sl,connected:O.Array(O.String)}).pipe(u0(($)=>({zod:w0($)}))),kl=O.Struct({providers:O.Array(fK),default:Sl}).pipe(u0(($)=>({zod:w0($)})));async function xl($=yl){return F8.loadLiveRatings($)}function hl($){F8.mergeLiveTierRatings($)}class kK extends S1.Service()("@qitqode/Provider"){}var HN0=T0.effect(kK,T.gen(function*(){let $=yield*D$.Service,Z=yield*X8.Service,J=yield*k8.Service,Y=yield*l6.Service,X=yield*AZ.Service;F8.beginTierRatingsLoad();let[Q,G]=yield*T.promise(()=>Promise.all([vl(),xl()]));F8.mergeLiveTiers(Q),hl(G),Vl();let W=yield*B0.make(()=>El({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(N)=>N.providers)),V=Bl({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(UN0.join(F0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,j=T.fn("Provider.getLanguage")(function*(N){let L=yield*B0.get(W),q=yield*Y.all(),M=`${N.providerID}/${N.id}`;if(L.models.has(M))return L.models.get(M);return yield*T.promise(async()=>{let C=L.providers[N.providerID],R=await Dl(N,L,q);try{let w=L.modelLoaders[N.providerID]?await L.modelLoaders[N.providerID](R,N.api.id,{...C.options,...N.options}):R.languageModel(N.api.id);return L.models.set(M,w),w}catch(w){if(w instanceof XH)throw new KY({modelID:N.id,providerID:N.providerID},{cause:w});throw w}})});return kK.of({list:K,getProvider:U,getModel:H,getLanguage:j,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),BN0=T0.suspend(()=>HN0.pipe(T0.provide(D$.defaultLayer),T0.provide(l6.defaultLayer),T0.provide(X8.defaultLayer),T0.provide(k8.defaultLayer),T0.provide(AZ.defaultLayer)));var sl={};F1(sl,{layer:()=>ol,defaultLayer:()=>NN0,ValidationFailed:()=>nl,Service:()=>vK,OauthMissing:()=>pl,OauthCodeMissing:()=>cl,OauthCallbackFailed:()=>il,Methods:()=>ll,Method:()=>yA,CallbackInput:()=>jN0,AuthorizeInput:()=>qN0,Authorization:()=>dl});var ml=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),zN0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(ml)}),FN0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),AN0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(FN0),when:O.optional(ml)}),ON0=O.Union([zN0,AN0]);class yA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(ON0))}){static zod=w0(this)}var ll=O.Record(O.String,O.Array(yA)).pipe(u0(($)=>({zod:w0($)})));class dl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=w0(this)}var qN0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(u0(($)=>({zod:w0($)}))),jN0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(u0(($)=>({zod:w0($)}))),pl=j1.create("ProviderAuthOauthMissing",P.object({providerID:X1.zod})),cl=j1.create("ProviderAuthOauthCodeMissing",P.object({providerID:X1.zod})),il=j1.create("ProviderAuthOauthCallbackFailed",P.object({})),nl=j1.create("ProviderAuthValidationFailed",P.object({field:P.string(),message:P.string()}));class vK extends S1.Service()("@qitqode/ProviderAuth"){}var ol=T0.effect(vK,T.gen(function*(){let $=yield*k8.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:y7.fromEntries(ul.filterMap(W,(K)=>K.auth?.provider!==void 0?v7.succeed([X1.make(K.auth.provider),K.auth]):v7.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(ll),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(y7.map(W,(K)=>K.methods.map((V)=>({type:V.type,label:V.label,prompts:V.prompts?.map((U)=>{if(U.type==="select")return{type:"select",key:U.key,message:U.message,options:U.options,when:U.when};return{type:"text",key:U.key,message:U.message,placeholder:U.placeholder,when:U.when}})}))))}),Q=T.fn("ProviderAuth.authorize")(function*(W){let{hooks:K,pending:V}=yield*B0.get(J),U=K[W.providerID].methods[W.method];if(U.type!=="oauth")return;if(U.prompts&&W.inputs){for(let B of U.prompts)if(B.type==="text"&&B.validate&&W.inputs[B.key]!==void 0){let z=B.validate(W.inputs[B.key]);if(z)return yield*T.fail(new nl({field:B.key,message:z}))}}let H=yield*T.promise(()=>U.authorize(W.inputs));return V.set(W.providerID,H),{url:H.url,method:H.method,instructions:H.instructions}}),G=T.fn("ProviderAuth.callback")(function*(W){let V=(yield*B0.get(J)).pending.get(W.providerID);if(!V)return yield*T.fail(new pl({providerID:W.providerID}));if(V.method==="code"&&!W.code)return yield*T.fail(new cl({providerID:W.providerID}));let U=yield*T.promise(()=>V.method==="code"?V.callback(W.code):V.callback(W.code));if(!U||U.type!=="success")return yield*T.fail(new il({}));if("key"in U)yield*$.set(W.providerID,{type:"api",key:U.key,..."metadata"in U&&U.metadata?{metadata:U.metadata}:{}});if("refresh"in U){let{type:H,provider:B,refresh:z,access:F,expires:A,...j}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...j})}});return vK.of({methods:X,authorize:Q,callback:G})})),NN0=T0.suspend(()=>ol.pipe(T0.provide(k8.defaultLayer),T0.provide(AZ.defaultLayer)));var W9={};F1(W9,{parseStreamError:()=>RN0,parseAPICallError:()=>PN0});import{STATUS_CODES as rl}from"http";var MN0=[/prompt is too long/i,/input is too long for requested model/i,/exceeds the context window/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/model_context_window_exceeded/i];function DN0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function wN0($){if(MN0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function LN0($){if(!$||!/^\s*[\[{]/.test($))return!1;try{return JSON.parse($),!1}catch(Z){let J=0,Y=!1,X=!1;for(let Q of $){if(Y){if(X)X=!1;else if(Q==="\\")X=!0;else if(Q==='"')Y=!1;continue}if(Q==='"')Y=!0;else if(Q==="{"||Q==="[")J++;else if(Q==="}"||Q==="]")J--;if(J<0)return!1}return Y||J>0||/unexpected end|end of json|unterminated string/i.test(String(Z))}}function TN0($,Z){return l$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=rl[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==rl[Z.statusCode])return J;try{let X=JSON.parse(Z.responseBody),Q=X.message||X.detail||X.error?.message||X.error;if(Q&&typeof Q==="string")return`${J}: ${Q.slice(0,300)}`;if(Array.isArray(Q)&&Q.length>0){let G=Q[0],W=typeof G?.msg==="string"?G.msg:typeof G?.message==="string"?G.message:typeof G==="string"?G:void 0;if(W)return`${J}: ${W.slice(0,300)}`}}catch{}if(/^\s*<!doctype|^\s*<html/i.test(Z.responseBody)){if(Z.statusCode===401)return"Unauthorized: request was blocked by a gateway or proxy. Your authentication token may be missing or expired \u2014 try running `qitqode auth login <your provider URL>` to re-authenticate.";if(Z.statusCode===403)return"Forbidden: request was blocked by a gateway or proxy. You may not have permission to access this resource \u2014 check your account and provider settings.";return J}let Y=Z.responseBody.length>300?Z.responseBody.slice(0,300)+"\u2026":Z.responseBody;return`${J}: ${Y}`}).trim()}function al($){if(typeof $==="string")try{let Z=JSON.parse($);if(Z&&typeof Z==="object")return Z;return}catch{return}if(typeof $==="object"&&$!==null)return $;return}function RN0($){let Z=al($);if(!Z)return;let J=JSON.stringify(Z);if(Z.type!=="error")return;switch(Z?.error?.code){case"context_length_exceeded":return{type:"context_overflow",message:"Input exceeds context window of this model",responseBody:J};case"insufficient_quota":return{type:"api_error",message:"Quota exceeded. Check your plan and billing details.",isRetryable:!1,responseBody:J};case"usage_not_included":return{type:"api_error",message:"To use Codex with your ChatGPT plan, upgrade to Plus: https://chatgpt.com/explore/plus.",isRetryable:!1,responseBody:J};case"invalid_prompt":return{type:"api_error",message:typeof Z?.error?.message==="string"?Z?.error?.message:"Invalid prompt.",isRetryable:!1,responseBody:J}}}function PN0($){let Z=TN0($.providerID,$.error),J=al($.error.responseBody),Y=LN0($.error.responseBody);if(wN0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let X=$.error.url?{url:$.error.url}:void 0;return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:Y||($.providerID.startsWith("openai")?DN0($.error):$.error.isRetryable),category:Y?"stream_truncated":void 0,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:X}}function xA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case O4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return xA(J,Z);return new L6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case U4.isInstance($):return $;case YH.isInstance($):return new H4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new L6({message:"Connection reset by server",isRetryable:!0,metadata:{code:$.code??"",syscall:$.syscall??"",message:$.message??""}},{cause:$}).toObject();case($ instanceof Error&&$.code==="ZlibError"):if(Z.aborted)return new f5({message:$.message},{cause:$}).toObject();return new L6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case FX.isInstance($):{let J=W9.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,category:J.category,outputBudgetRecoveryAvailable:void 0,outputBudgetRecoveryTokens:void 0,diagnostic:UY($),responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata},{cause:$}).toObject()}case($ instanceof Error&&(typeof $.status==="number"||typeof $.category==="string"&&typeof $.retryable==="boolean")):{let J=$.status,Y=$.retryable===!0;return new L6({message:V6($),statusCode:J,isRetryable:Y,category:$.category,upstreamCode:$.upstreamCode,requestId:$.requestId,outputBudgetRecoveryAvailable:$.outputBudgetRecoveryAvailable,outputBudgetRecoveryTokens:$.outputBudgetRecoveryTokens,diagnostic:UY($)},{cause:$}).toObject()}case $ instanceof Error:return new j1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject();default:try{let J=W9.parseStreamError($);if(J){if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,isRetryable:J.isRetryable,diagnostic:UY($),responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new j1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject()}}var BY={};F1(BY,{layer:()=>Xd,defaultLayer:()=>kN0,Service:()=>yK,ActorRegistry:()=>BY});var _1=g6("actor_registry",{session_id:w1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:w1().notNull(),mode:w1().$type().notNull(),parent_actor_id:w1(),status:w1().$type().notNull(),last_outcome:w1().$type(),lifecycle:w1().$type().notNull(),agent:w1().notNull(),description:w1().notNull(),context_mode:w1().$type().notNull(),context_watermark:w1().$type(),background:j8({mode:"boolean"}).notNull(),tools:w1({mode:"json"}).$type(),last_turn_time:j8().notNull(),turn_count:j8().notNull().default(0),last_error:w1(),time_completed:j8(),...xY},($)=>[k9({columns:[$.session_id,$.actor_id]}),K9("actor_registry_session_agent_idx").on($.session_id,$.agent),K9("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),K9("actor_registry_status_idx").on($.status),K9("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var hA=P.enum(["pending","running","idle"]),gA=P.enum(["success","failure","cancelled"]),IN0=P.enum(["ephemeral","persistent"]),CN0=P.enum(["none","state","full"]),uA=P.enum(["peer","subagent","main"]),EN0=P.union([P.array(P.string()).readonly(),P.literal("INHERIT")]),Qd0=P.object({sessionID:r0.zod,actorID:P.string(),mode:uA,parentActorID:P.string().optional(),status:hA,lastOutcome:gA.optional(),lifecycle:IN0,agent:P.string(),description:P.string(),contextMode:CN0,contextWatermark:i1.zod.optional(),background:P.boolean(),tools:EN0.optional(),lastTurnTime:P.number(),turnCount:P.number(),lastError:P.string().optional(),time:P.object({created:P.number(),updated:P.number(),completed:P.number().optional()})}).meta({ref:"Actor"});var tl=L1.define("actor.registered",P.object({sessionID:r0.zod,actorID:P.string(),mode:uA,parentActorID:P.string().optional(),description:P.string(),agent:P.string(),background:P.boolean()})),el=L1.define("actor.status",P.object({sessionID:r0.zod,actorID:P.string(),status:hA,lastOutcome:gA.optional(),turnCount:P.number(),lastTurnTime:P.number(),error:P.string().optional()})),$d=L1.define("actor.stuck",P.object({sessionID:r0.zod,actorID:P.string(),description:P.string(),lastTurnTime:P.number(),stuckDuration:P.number()})),Hd0=L1.define("writer.cache_perf",P.object({sessionID:r0.zod,writerActorID:P.string(),status:P.enum(["completed","failed"]),total_input_tokens:P.number(),cache_read_tokens:P.number(),cache_write_tokens:P.number(),cache_hit_rate:P.number(),num_llm_calls:P.number()})),Bd0=L1.define("inbox.arrived",P.object({receiverSessionID:r0.zod,receiverActorID:P.string(),senderSessionID:r0.zod.optional(),senderActorID:P.string().optional(),inboxID:P.string(),type:P.string()}));var Zd=new Set(["checkpoint-writer","dream","distill"]);var _N0=E0.create({service:"actor.registry"}),SN0=300000,fN0=60000;function HY($){return{sessionID:$.session_id,actorID:$.actor_id,mode:$.mode,parentActorID:$.parent_actor_id??void 0,status:$.status,lastOutcome:$.last_outcome??void 0,lifecycle:$.lifecycle,agent:$.agent,description:$.description,contextMode:$.context_mode,contextWatermark:$.context_watermark??void 0,background:Boolean($.background),tools:$.tools??void 0,lastTurnTime:$.last_turn_time,turnCount:$.turn_count,lastError:$.last_error??void 0,time:{created:$.time_created,updated:$.time_updated,completed:$.time_completed??void 0}}}class yK extends S1.Service()("@qitqode/ActorRegistry"){}var Xd=T0.effect(yK,T.gen(function*(){let $=yield*l1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let j=Date.now(),N={session_id:A.sessionID,actor_id:A.actorID,mode:A.mode,parent_actor_id:A.parentActorID??null,status:"pending",last_outcome:null,lifecycle:A.lifecycle,agent:A.agent,description:A.description,context_mode:A.contextMode,context_watermark:A.contextWatermark??null,background:A.background,tools:A.tools??null,last_turn_time:j,turn_count:0,last_error:null,time_completed:null,time_created:j,time_updated:j};return yield*T.sync(()=>W1.use((L)=>{try{L.insert(_1).values(N).run()}catch(q){if(typeof q==="object"&&q!==null&&"code"in q&&typeof q.code==="string"&&(q.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||q.code==="SQLITE_CONSTRAINT_UNIQUE")||q instanceof Error&&q.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw q}})),yield*$.publish(tl,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),HY(N)}),Y=T.fnUntraced(function*(A,j){return yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,j,N){let L=Date.now(),q=N.status==="idle"&&N.lastOutcome!==void 0,M={status:N.status,time_updated:L,...q?{time_completed:L}:{}};if(N.lastOutcome!==void 0)M.last_outcome=N.lastOutcome;if(N.lastError!==void 0)M.last_error=N.lastError;else if(N.lastOutcome!==void 0&&N.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()));let C=yield*Y(A,j);if(!C)return;yield*$.publish(el,{sessionID:A,actorID:j,status:C.status,...C.last_outcome?{lastOutcome:C.last_outcome}:{},turnCount:C.turn_count,lastTurnTime:C.last_turn_time,...C.last_error?{error:C.last_error}:{}})}),Q=T.fn("ActorRegistry.updateTurn")(function*(A,j){let N=Date.now();yield*T.sync(()=>W1.use((L)=>L.update(_1).set({last_turn_time:N,turn_count:Jd`${_1.turn_count} + 1`,time_updated:N}).where(O$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,j){let N=yield*Y(A,j);return N?HY(N):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(m0(_1.session_id,A)).all()))).map(HY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((j)=>j.select().from(_1).where(O$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(HY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,j){return(yield*T.sync(()=>W1.use((L)=>L.select().from(_1).where(O$(m0(_1.session_id,A),m0(_1.parent_actor_id,j))).all()))).map(HY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let N=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(N.length===0)return"";let L=[];L.push("## Active Actors"),L.push(""),L.push(`You have ${N.length} background actor(s) registered. Interact via the \`actor\` tool.`),L.push("");let q=Date.now();for(let M of N){let C=q-M.lastTurnTime,R=C<60000?`${Math.floor(C/1000)}s`:`${Math.floor(C/60000)}m`;L.push(`- actor_id: ${M.actorID} (${M.status}, last activity ${R} ago)`),L.push(` description: ${M.description}`),L.push(` agent: ${M.agent}`)}return L.join(`
802
802
  `)}),H=T.fn("ActorRegistry.agentTypeFor")(function*(A,j){if(j==="main")return"main";return(yield*G(A,j))?.agent??"main"}),B=T.fn("ActorRegistry.isSystemSpawned")(function*(A,j){if(j==="main")return!1;let N=yield*G(A,j);if(!N)return!1;return Zd.has(N.agent)}),z=T.fn("ActorRegistry.allocateActorID")(function*(A,j){let N=`${A}:${j}`,L=`${j}-`;if(!Z.has(N)){let M=yield*T.sync(()=>W1.use((C)=>C.select({actor_id:_1.actor_id}).from(_1).where(O$(m0(_1.session_id,A),m0(_1.agent,j))).all()));if(!Z.has(N)){let C=0;for(let R of M)if(R.actor_id.startsWith(L)){let w=parseInt(R.actor_id.slice(L.length),10);if(Number.isFinite(w)&&w>C)C=w}Z.set(N,C)}}let q=(Z.get(N)??0)+1;return Z.set(N,q),`${j}-${q}`});return yield*T.sync(()=>W1.use((A)=>{let j=Date.now();A.update(_1).set({status:"idle",last_outcome:"failure",last_error:"orphaned: process restarted",time_updated:j,time_completed:j}).where(k5(_1.status,["pending","running"])).run()})),_N0.info("orphan recovery complete"),yield*T.gen(function*(){let A=Date.now()-SN0,j=yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(O$(m0(_1.status,"running"),Yd(_1.last_turn_time,A))).all()));for(let N of j){let L=HY(N);yield*$.publish($d,{sessionID:L.sessionID,actorID:L.actorID,description:L.description,lastTurnTime:L.lastTurnTime,stuckDuration:Date.now()-L.lastTurnTime})}}).pipe(T.repeat(W4.fixed(fN0)),T.ignore,T.forkScoped),yK.of({register:J,updateStatus:X,updateTurn:Q,get:G,listBySession:W,listActive:K,listByParent:V,renderForAgent:U,agentTypeFor:H,isSystemSpawned:B,allocateActorID:z})})),kN0=Xd.pipe(T0.provide(l1.layer));import nA from"path";/*!
803
803
  * decimal.js v10.5.0
804
804
  * An arbitrary-precision Decimal type for JavaScript.