@clawos-dev/clawd 0.2.351 → 0.2.352

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.cjs CHANGED
@@ -6139,7 +6139,13 @@ var init_feishu_auth = __esm({
6139
6139
  * 设备属性,与登录态无关、登录登出不变。UI"我的设备标识"用它拼
6140
6140
  * clawos://device/<deviceId>(替代旧的 unionId——不再向外暴露人的身份标识)。
6141
6141
  */
6142
- deviceId: external_exports.string().min(1)
6142
+ deviceId: external_exports.string().min(1),
6143
+ /**
6144
+ * TTC JWT 过期时间(unix ms)。null = 登录回调未携带 expires_at;字段缺省 = 老 daemon。
6145
+ * 仅时间戳——token 本体永不出 ws(spec §9 不变)。UI 据此派生 过期/临期 提示
6146
+ * (见 spec 2026-08-17-ttc-jwt-expiry-ux-design §2)。
6147
+ */
6148
+ ttcTokenExpiresAt: external_exports.number().nullable().optional()
6143
6149
  });
6144
6150
  AuthLogoutResponseSchema = external_exports.object({
6145
6151
  type: external_exports.literal("auth:logout:ok")
@@ -59836,7 +59842,9 @@ function buildFeishuAuthHandlers(deps) {
59836
59842
  type: "auth:getIdentity:ok",
59837
59843
  identity: record ? record.identity : null,
59838
59844
  // 决策 #15:设备属性,与登录态无关——UI"分享我的 Hub 标识"用
59839
- deviceId: deps.deviceId
59845
+ deviceId: deps.deviceId,
59846
+ // 过期时间戳(仅时间戳,token 本体永不出 ws)——UI 派生 过期/临期 提示
59847
+ ttcTokenExpiresAt: record ? record.ttcTokenExpiresAt : null
59840
59848
  }
59841
59849
  };
59842
59850
  };
@@ -59862,11 +59870,20 @@ function ensureOwner3(ctx) {
59862
59870
  throw new ClawdError(ERROR_CODES.UNAUTHORIZED, "UNAUTHORIZED: device:* requires owner ctx");
59863
59871
  }
59864
59872
  }
59873
+ function rethrowLoginExpired(e) {
59874
+ if (e instanceof CentralClientError && e.code === "UNAUTHORIZED") {
59875
+ throw new ClawdError(
59876
+ ERROR_CODES.VALIDATION_ERROR,
59877
+ "LOGIN_EXPIRED: \u767B\u5F55\u51ED\u8BC1\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u5728\u8054\u7CFB\u4EBA\u9762\u677F\u91CD\u65B0\u767B\u5F55"
59878
+ );
59879
+ }
59880
+ throw e;
59881
+ }
59865
59882
  function buildDeviceHandlers(deps) {
59866
59883
  const now = deps.now ?? Date.now;
59867
59884
  const list = async (_frame, _client, ctx) => {
59868
59885
  ensureOwner3(ctx);
59869
- const devices = await deps.listDevices();
59886
+ const devices = await deps.listDevices().catch(rethrowLoginExpired);
59870
59887
  return {
59871
59888
  response: { type: "device:list:ok", devices }
59872
59889
  };
@@ -59882,7 +59899,7 @@ function buildDeviceHandlers(deps) {
59882
59899
  "TUNNEL_REQUIRED: \u672C\u673A\u672A\u5F00 tunnel\uFF0C\u5F00\u542F\u540E\u91CD\u8BD5"
59883
59900
  );
59884
59901
  }
59885
- const exchanged = await deps.exchange(args.deviceId);
59902
+ const exchanged = await deps.exchange(args.deviceId).catch(rethrowLoginExpired);
59886
59903
  const url = args.url ?? exchanged.deviceUrl;
59887
59904
  if (!url) {
59888
59905
  throw new ClawdError(
@@ -60227,7 +60244,7 @@ function computeMethodAccess(args) {
60227
60244
  }
60228
60245
 
60229
60246
  // src/version.ts
60230
- var version = "0.2.351".length > 0 ? "0.2.351" : "dev";
60247
+ var version = "0.2.352".length > 0 ? "0.2.352" : "dev";
60231
60248
 
60232
60249
  // src/cli-probe/probe.ts
60233
60250
  var fs59 = __toESM(require("fs"), 1);
@@ -21425,7 +21425,13 @@ var AuthGetIdentityResponseSchema = external_exports.object({
21425
21425
  * 设备属性,与登录态无关、登录登出不变。UI"我的设备标识"用它拼
21426
21426
  * clawos://device/<deviceId>(替代旧的 unionId——不再向外暴露人的身份标识)。
21427
21427
  */
21428
- deviceId: external_exports.string().min(1)
21428
+ deviceId: external_exports.string().min(1),
21429
+ /**
21430
+ * TTC JWT 过期时间(unix ms)。null = 登录回调未携带 expires_at;字段缺省 = 老 daemon。
21431
+ * 仅时间戳——token 本体永不出 ws(spec §9 不变)。UI 据此派生 过期/临期 提示
21432
+ * (见 spec 2026-08-17-ttc-jwt-expiry-ux-design §2)。
21433
+ */
21434
+ ttcTokenExpiresAt: external_exports.number().nullable().optional()
21429
21435
  });
21430
21436
  var AuthLogoutResponseSchema = external_exports.object({
21431
21437
  type: external_exports.literal("auth:logout:ok")
@@ -92,7 +92,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
92
92
  0 -6px 16px 0 rgba(0, 0, 0, 0.08),
93
93
  0 -3px 6px -4px rgba(0, 0, 0, 0.12),
94
94
  0 -9px 28px 8px rgba(0, 0, 0, 0.05)
95
- `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var Qb=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const kD={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},CD={motionBase:!0,motionUnit:!0},ED={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},qN=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=Qb(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=VN(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=Qb(l,["theme"]);let d=u;c&&(d=qN(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function KN(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=Ze.useContext(UN),s=`${wD}-${t||""}`,o=n||HN,[a,l,c]=hj(o,[Fc,e],{salt:s,override:r,getComputedToken:qN,formatToken:VN,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:kD,ignore:CD,preserve:ED}});return[o,c,t?l:"",a,i]}const ND=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),TD=e=>({[`.${e}`]:Object.assign(Object.assign({},ND()),{[`.${e} .${e}-icon`]:{display:"block"}})}),PD=(e,t)=>{const[n,r]=KN();return $j({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>TD(e))},ID=Object.assign({},Qa),{useId:Zb}=ID,RD=()=>"",MD=typeof Zb>"u"?RD:Zb;function AD(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},Oh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:Oh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=MD();return dN(()=>{var a,l;if(!e)return t;const c=Object.assign({},s.components);Object.keys(e.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),e.components[f])});const u=`css-var-${o.replace(/:/g,"")}`,d=((a=i.cssVar)!==null&&a!==void 0?a:s.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof s.cssVar=="object"?s.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((l=i.cssVar)===null||l===void 0?void 0:l.key)||u});return Object.assign(Object.assign(Object.assign({},s),i),{token:Object.assign(Object.assign({},s.token),i.token),components:c,cssVar:d})},[i,s],(a,l)=>a.some((c,u)=>{const d=l[u];return!$L(c,d,!0)}))}var LD=["children"],GN=g.createContext({});function jD(e){var t=e.children,n=Cv(e,LD);return g.createElement(GN.Provider,{value:n},t)}var DD=function(e){fN(n,e);var t=mN(n);function n(){return tl(this,n),t.apply(this,arguments)}return nl(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function OD(e){var t=g.useReducer(function(a){return a+1},0),n=Je(t,2),r=n[1],i=g.useRef(e),s=Kv(function(){return i.current}),o=Kv(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var ts="none",rd="appear",id="enter",sd="leave",Jb="none",Nr="prepare",fa="start",pa="active",Nx="end",YN="prepared";function ew(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}function BD(e,t){var n={animationend:ew("Animation","AnimationEnd"),transitionend:ew("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var zD=BD(Bi(),typeof window<"u"?window:{}),XN={};if(Bi()){var $D=document.createElement("div");XN=$D.style}var od={};function QN(e){if(od[e])return od[e];var t=zD[e];if(t)for(var n=Object.keys(t),r=n.length,i=0;i<r;i+=1){var s=n[i];if(Object.prototype.hasOwnProperty.call(t,s)&&s in XN)return od[e]=t[s],od[e]}return""}var ZN=QN("animationend"),JN=QN("transitionend"),eT=!!(ZN&&JN),tw=ZN||"animationend",nw=JN||"transitionend";function rw(e,t){if(!e)return null;if(Ct(e)==="object"){var n=t.replace(/-\w/g,function(r){return r[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}const FD=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(nw,e),i.removeEventListener(tw,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(nw,e),i.addEventListener(tw,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var tT=Bi()?g.useLayoutEffect:g.useEffect;const HD=function(){var e=g.useRef(null);function t(){Sv.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Sv(function(){i<=1?r({isCanceled:function(){return s!==e.current}}):n(r,i-1)});e.current=s}return g.useEffect(function(){return function(){t()}},[]),[n,t]};var UD=[Nr,fa,pa,Nx],WD=[Nr,YN],nT=!1,VD=!0;function rT(e){return e===pa||e===Nx}const qD=function(e,t,n){var r=Gv(Jb),i=Je(r,2),s=i[0],o=i[1],a=HD(),l=Je(a,2),c=l[0],u=l[1];function d(){o(Nr,!0)}var f=t?WD:UD;return tT(function(){if(s!==Jb&&s!==Nx){var p=f.indexOf(s),m=f[p+1],v=n(s);v===nT?o(m,!0):m&&c(function(b){function _(){b.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function KD(e,t,n,r){var i=r.motionEnter,s=i===void 0?!0:i,o=r.motionAppear,a=o===void 0?!0:o,l=r.motionLeave,c=l===void 0?!0:l,u=r.motionDeadline,d=r.motionLeaveImmediately,f=r.onAppearPrepare,p=r.onEnterPrepare,m=r.onLeavePrepare,v=r.onAppearStart,b=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,y=r.onEnterActive,w=r.onLeaveActive,k=r.onAppearEnd,C=r.onEnterEnd,N=r.onLeaveEnd,T=r.onVisibleChanged,B=Gv(),P=Je(B,2),A=P[0],I=P[1],R=OD(ts),j=Je(R,2),z=j[0],$=j[1],F=Gv(null),D=Je(F,2),O=D[0],E=D[1],H=z(),V=g.useRef(!1),L=g.useRef(null);function ne(){return n()}var ae=g.useRef(!1);function G(){$(ts),E(null,!0)}var ye=Kv(function(Qe){var st=z();if(st!==ts){var wt=ne();if(!(Qe&&!Qe.deadline&&Qe.target!==wt)){var pn=ae.current,on;st===rd&&pn?on=k==null?void 0:k(wt,Qe):st===id&&pn?on=C==null?void 0:C(wt,Qe):st===sd&&pn&&(on=N==null?void 0:N(wt,Qe)),pn&&on!==!1&&G()}}}),Fe=FD(ye),ue=Je(Fe,1),Ie=ue[0],Re=function(st){switch(st){case rd:return Ce(Ce(Ce({},Nr,f),fa,v),pa,x);case id:return Ce(Ce(Ce({},Nr,p),fa,b),pa,y);case sd:return Ce(Ce(Ce({},Nr,m),fa,_),pa,w);default:return{}}},Ke=g.useMemo(function(){return Re(H)},[H]),ve=qD(H,!e,function(Qe){if(Qe===Nr){var st=Ke[Nr];return st?st(ne()):nT}if(it in Ke){var wt;E(((wt=Ke[it])===null||wt===void 0?void 0:wt.call(Ke,ne(),null))||null)}return it===pa&&H!==ts&&(Ie(ne()),u>0&&(clearTimeout(L.current),L.current=setTimeout(function(){ye({deadline:!0})},u))),it===YN&&G(),VD}),ze=Je(ve,2),fn=ze[0],it=ze[1],Rt=rT(it);ae.current=Rt;var Gt=g.useRef(null);tT(function(){if(!(V.current&&Gt.current===t)){I(t);var Qe=V.current;V.current=!0;var st;!Qe&&t&&a&&(st=rd),Qe&&t&&s&&(st=id),(Qe&&!t&&c||!Qe&&d&&!t&&c)&&(st=sd);var wt=Re(st);st&&(e||wt[Nr])?($(st),fn()):$(ts),Gt.current=t}},[t]),g.useEffect(function(){(H===rd&&!a||H===id&&!s||H===sd&&!c)&&$(ts)},[a,s,c]),g.useEffect(function(){return function(){V.current=!1,clearTimeout(L.current)}},[]);var Mt=g.useRef(!1);g.useEffect(function(){A&&(Mt.current=!0),A!==void 0&&H===ts&&((Mt.current||A)&&(T==null||T(A)),Mt.current=!0)},[A,H]);var bt=O;return Ke[Nr]&&it===fa&&(bt=$e({transition:"none"},bt)),[H,it,bt,A??t]}function GD(e){var t=e;Ct(e)==="object"&&(t=e.transitionSupport);function n(i,s){return!!(i.motionName&&t&&s!==!1)}var r=g.forwardRef(function(i,s){var o=i.visible,a=o===void 0?!0:o,l=i.removeOnLeave,c=l===void 0?!0:l,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,m=i.eventProps,v=g.useContext(GN),b=v.motion,_=n(i,b),x=g.useRef(),y=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:SL(y.current)}catch{return null}}var k=KD(_,a,w,i),C=Je(k,4),N=C[0],T=C[1],B=C[2],P=C[3],A=g.useRef(P);P&&(A.current=!0);var I=g.useCallback(function(D){x.current=D,NL(s,D)},[s]),R,j=$e($e({},m),{},{visible:a});if(!d)R=null;else if(N===ts)P?R=d($e({},j),I):!c&&A.current&&p?R=d($e($e({},j),{},{className:p}),I):u||!c&&!p?R=d($e($e({},j),{},{style:{display:"none"}}),I):R=null;else{var z;T===Nr?z="prepare":rT(T)?z="active":T===fa&&(z="start");var $=rw(f,"".concat(N,"-").concat(z));R=d($e($e({},j),{},{className:dL(rw(f,N),Ce(Ce({},$,$&&z),f,typeof f=="string")),style:B}),I)}if(g.isValidElement(R)&&TL(R)){var F=PL(R);F||(R=g.cloneElement(R,{ref:I}))}return g.createElement(DD,{ref:y},R)});return r.displayName="CSSMotion",r}const YD=GD(eT);var Yv="add",Xv="keep",Qv="remove",bm="removed";function XD(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},$e($e({},t),{},{key:String(t.key)})}function Zv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(XD)}function QD(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],r=0,i=t.length,s=Zv(e),o=Zv(t);s.forEach(function(c){for(var u=!1,d=r;d<i;d+=1){var f=o[d];if(f.key===c.key){r<d&&(n=n.concat(o.slice(r,d).map(function(p){return $e($e({},p),{},{status:Yv})})),r=d),n.push($e($e({},f),{},{status:Xv})),r+=1,u=!0;break}}u||n.push($e($e({},c),{},{status:Qv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return $e($e({},c),{},{status:Yv})})));var a={};n.forEach(function(c){var u=c.key;a[u]=(a[u]||0)+1});var l=Object.keys(a).filter(function(c){return a[c]>1});return l.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==Qv}),n.forEach(function(u){u.key===c&&(u.status=Xv)})}),n}var ZD=["component","children","onVisibleChanged","onAllRemoved"],JD=["status"],eO=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function tO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:YD,n=function(r){fN(s,r);var i=mN(s);function s(){var o;tl(this,s);for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];return o=i.call.apply(i,[this].concat(l)),Ce(bv(o),"state",{keyEntities:[]}),Ce(bv(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:$e($e({},p),{},{status:bm})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==bm}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return nl(s,[{key:"render",value:function(){var a=this,l=this.state.keyEntities,c=this.props,u=c.component,d=c.children,f=c.onVisibleChanged;c.onAllRemoved;var p=Cv(c,ZD),m=u||g.Fragment,v={};return eO.forEach(function(b){v[b]=p[b],delete p[b]}),delete p.keys,g.createElement(m,p,l.map(function(b,_){var x=b.status,y=Cv(b,JD),w=x===Yv||x===Xv;return g.createElement(t,Lh({},v,{key:y.key,visible:w,eventProps:y,onVisibleChanged:function(C){f==null||f(C,{key:y.key}),C||a.removeKey(y.key)}}),function(k,C){return d($e($e({},k),{},{index:_}),C)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=Zv(c),f=QD(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var b=v.key;return p.key===b});return!(m&&m.status===bm&&p.status===Qv)})}}}]),s}(g.Component);return Ce(n,"defaultProps",{component:"div"}),n}tO(eT);const iw=g.createContext(!0);function nO(e){const t=g.useContext(iw),{children:n}=e,[,r]=KN(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(iw.Provider,{value:i},g.createElement(jD,{motion:i},n)):n}const rO=()=>null;var iO=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sO=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let iT;function oO(){return iT||Vv}function aO(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const lO=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(iT=t),r&&aO(r)&&gD(oO(),r)},cO=e=>{const{children:t,csp:n,autoInsertSpaceInButton:r,alert:i,anchor:s,form:o,locale:a,componentSize:l,direction:c,space:u,splitter:d,virtual:f,dropdownMatchSelectWidth:p,popupMatchSelectWidth:m,popupOverflow:v,legacyLocale:b,parentContext:_,iconPrefixCls:x,theme:y,componentDisabled:w,segmented:k,statistic:C,spin:N,calendar:T,carousel:B,cascader:P,collapse:A,typography:I,checkbox:R,descriptions:j,divider:z,drawer:$,skeleton:F,steps:D,image:O,layout:E,list:H,mentions:V,modal:L,progress:ne,result:ae,slider:G,breadcrumb:ye,menu:Fe,pagination:ue,input:Ie,textArea:Re,empty:Ke,badge:ve,radio:ze,rate:fn,switch:it,transfer:Rt,avatar:Gt,message:Mt,tag:bt,table:Qe,card:st,tabs:wt,timeline:pn,timePicker:on,upload:U,notification:Z,tree:_e,colorPicker:ke,datePicker:He,rangePicker:Tt,flex:Yt,wave:Xt,dropdown:se,warning:q,tour:we,tooltip:ht,popover:an,popconfirm:_l,floatButton:xl,floatButtonGroup:zo,variant:Bp,inputNumber:Lu,treeSelect:ju}=e,Du=g.useCallback((oe,de)=>{const{prefixCls:je}=e;if(de)return de;const $t=je||_.getPrefixCls("");return oe?`${$t}-${oe}`:$t},[_.getPrefixCls,e.prefixCls]),zs=x||_.iconPrefixCls||WN,Wi=n||_.csp;PD(zs,Wi);const yl=AD(y,_.theme,{prefixCls:Du("")}),Vi={csp:Wi,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||b,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:Du,iconPrefixCls:zs,theme:yl,segmented:k,statistic:C,spin:N,calendar:T,carousel:B,cascader:P,collapse:A,typography:I,checkbox:R,descriptions:j,divider:z,drawer:$,skeleton:F,steps:D,image:O,input:Ie,textArea:Re,layout:E,list:H,mentions:V,modal:L,progress:ne,result:ae,slider:G,breadcrumb:ye,menu:Fe,pagination:ue,empty:Ke,badge:ve,radio:ze,rate:fn,switch:it,transfer:Rt,avatar:Gt,message:Mt,tag:bt,table:Qe,card:st,tabs:wt,timeline:pn,timePicker:on,upload:U,notification:Z,tree:_e,colorPicker:ke,datePicker:He,rangePicker:Tt,flex:Yt,wave:Xt,dropdown:se,warning:q,tour:we,tooltip:ht,popover:an,popconfirm:_l,floatButton:xl,floatButtonGroup:zo,variant:Bp,inputNumber:Lu,treeSelect:ju},qi=Object.assign({},_);Object.keys(Vi).forEach(oe=>{Vi[oe]!==void 0&&(qi[oe]=Vi[oe])}),sO.forEach(oe=>{const de=e[oe];de&&(qi[oe]=de)}),typeof r<"u"&&(qi.button=Object.assign({autoInsertSpace:r},qi.button));const Ki=dN(()=>qi,qi,(oe,de)=>{const je=Object.keys(oe),$t=Object.keys(de);return je.length!==$t.length||je.some($s=>oe[$s]!==de[$s])}),{layer:$o}=g.useContext(Kf),Fo=g.useMemo(()=>({prefixCls:zs,csp:Wi,layer:$o?"antd":void 0}),[zs,Wi,$o]);let zt=g.createElement(g.Fragment,null,g.createElement(rO,{dropdownMatchSelectWidth:p}),t);const bl=g.useMemo(()=>{var oe,de,je,$t;return Gj(((oe=Xf.Form)===null||oe===void 0?void 0:oe.defaultValidateMessages)||{},((je=(de=Ki.locale)===null||de===void 0?void 0:de.Form)===null||je===void 0?void 0:je.defaultValidateMessages)||{},(($t=Ki.form)===null||$t===void 0?void 0:$t.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[Ki,o==null?void 0:o.validateMessages]);Object.keys(bl).length>0&&(zt=g.createElement(Xj.Provider,{value:bl},zt)),a&&(zt=g.createElement(Jj,{locale:a,_ANT_MARK__:Zj},zt)),zt=g.createElement(Wj.Provider,{value:Fo},zt),l&&(zt=g.createElement(_D,{size:l},zt)),zt=g.createElement(nO,null,zt);const te=g.useMemo(()=>{const oe=yl||{},{algorithm:de,token:je,components:$t,cssVar:$s}=oe,P5=iO(oe,["algorithm","token","components","cssVar"]),d1=de&&(!Array.isArray(de)||de.length>0)?Nv(de):HN,zp={};Object.entries($t||{}).forEach(([I5,R5])=>{const fi=Object.assign({},R5);"algorithm"in fi&&(fi.algorithm===!0?fi.theme=d1:(Array.isArray(fi.algorithm)||typeof fi.algorithm=="function")&&(fi.theme=Nv(fi.algorithm)),delete fi.algorithm),zp[I5]=fi});const h1=Object.assign(Object.assign({},Fc),je);return Object.assign(Object.assign({},P5),{theme:d1,token:h1,components:zp,override:Object.assign({override:h1},zp),cssVar:$s})},[yl]);return y&&(zt=g.createElement(UN.Provider,{value:te},zt)),Ki.warning&&(zt=g.createElement(Yj.Provider,{value:Ki.warning},zt)),w!==void 0&&(zt=g.createElement(vD,{disabled:w},zt)),g.createElement(Qf.Provider,{value:Ki},zt)},il=e=>{const t=g.useContext(Qf),n=g.useContext(BN);return g.createElement(cO,Object.assign({parentContext:t,legacyLocale:n},e))};il.ConfigContext=Qf;il.SizeContext=Hc;il.config=lO;il.useConfig=xD;Object.defineProperty(il,"SizeContext",{get:()=>Hc});const ar=(e,t)=>new _t(e).setA(t).toRgbString(),Wo=(e,t)=>new _t(e).lighten(t).toHexString(),uO=e=>{const t=Ba(e,{theme:"dark"});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},dO=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:ar(r,.85),colorTextSecondary:ar(r,.65),colorTextTertiary:ar(r,.45),colorTextQuaternary:ar(r,.25),colorFill:ar(r,.18),colorFillSecondary:ar(r,.12),colorFillTertiary:ar(r,.08),colorFillQuaternary:ar(r,.04),colorBgSolid:ar(r,.95),colorBgSolidHover:ar(r,1),colorBgSolidActive:ar(r,.9),colorBgElevated:Wo(n,12),colorBgContainer:Wo(n,8),colorBgLayout:Wo(n,0),colorBgSpotlight:Wo(n,26),colorBgBlur:ar(r,.04),colorBorder:Wo(n,26),colorBorderSecondary:Wo(n,19)}},hO=(e,t)=>{const n=Object.keys(Cx).map(s=>{const o=Ba(e[s],{theme:"dark"});return Array.from({length:10},()=>1).reduce((a,l,c)=>(a[`${s}-${c+1}`]=o[c],a[`${s}${c+1}`]=o[c],a),{})}).reduce((s,o)=>(s=Object.assign(Object.assign({},s),o),s),{}),r=t??Ex(e),i=FN(e,{generateColorPalettes:uO,generateNeutralColorPalettes:dO});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},sw={defaultSeed:Oh.token,defaultAlgorithm:Ex,darkAlgorithm:hO};function ow({children:e}){const t=vx(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(il,{theme:{algorithm:n.mode==="dark"?sw.darkAlgorithm:sw.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}var Ye;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},e.getValidEnumValues=i=>{const s=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(s){return i[s]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},e.find=(i,s)=>{for(const o of i)if(s(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(Ye||(Ye={}));var aw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(aw||(aw={}));const ce=Ye.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ss=e=>{switch(typeof e){case"undefined":return ce.undefined;case"string":return ce.string;case"number":return Number.isNaN(e)?ce.nan:ce.number;case"boolean":return ce.boolean;case"function":return ce.function;case"bigint":return ce.bigint;case"symbol":return ce.symbol;case"object":return Array.isArray(e)?ce.array:e===null?ce.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?ce.promise:typeof Map<"u"&&e instanceof Map?ce.map:typeof Set<"u"&&e instanceof Set?ce.set:typeof Date<"u"&&e instanceof Date?ce.date:ce.object;default:return ce.unknown}},Y=Ye.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Ai extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(s){return s.message},r={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,l=0;for(;l<o.path.length;){const c=o.path[l];l===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(o))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return i(this),r}static assert(t){if(!(t instanceof Ai))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ye.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},r=[];for(const i of this.issues)if(i.path.length>0){const s=i.path[0];n[s]=n[s]||[],n[s].push(t(i))}else r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Ai.create=e=>new Ai(e);const Jv=(e,t)=>{let n;switch(e.code){case Y.invalid_type:e.received===ce.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ye.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ye.joinValues(e.keys,", ")}`;break;case Y.invalid_union:n="Invalid input";break;case Y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ye.joinValues(e.options)}`;break;case Y.invalid_enum_value:n=`Invalid enum value. Expected ${Ye.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:n="Invalid function arguments";break;case Y.invalid_return_type:n="Invalid function return type";break;case Y.invalid_date:n="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ye.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case Y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case Y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case Y.custom:n="Invalid input";break;case Y.invalid_intersection_types:n="Intersection results could not be merged";break;case Y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ye.assertNever(e)}return{message:n}};let fO=Jv;function pO(){return fO}const mO=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const l=r.filter(c=>!!c).slice().reverse();for(const c of l)a=c(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}};function re(e,t){const n=pO(),r=mO({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Jv?void 0:Jv].filter(i=>!!i)});e.common.issues.push(r)}class Pn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Ne;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const s=await i.key,o=await i.value;r.push({key:s,value:o})}return Pn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Ne;s.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[s.value]=o.value)}return{status:t.value,value:r}}}const Ne=Object.freeze({status:"aborted"}),Kl=e=>({status:"dirty",value:e}),wr=e=>({status:"valid",value:e}),lw=e=>e.status==="aborted",cw=e=>e.status==="dirty",za=e=>e.status==="valid",Bh=e=>typeof Promise<"u"&&e instanceof Promise;var me;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(me||(me={}));class ii{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const uw=(e,t)=>{if(za(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Ai(e.common.issues);return this._error=n,this._error}}};function Le(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,a)=>{const{message:l}=e;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:i}}class qe{get description(){return this._def.description}_getType(t){return ss(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ss(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Pn,ctx:{common:t.parent.common,data:t.data,parsedType:ss(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Bh(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){const r={common:{issues:[],async:(n==null?void 0:n.async)??!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)},i=this._parseSync({data:t,path:r.path,parent:r});return uw(r,i)}"~validate"(t){var r,i;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return za(s)?{value:s.value}:{issues:n.common.issues}}catch(s){(i=(r=s==null?void 0:s.message)==null?void 0:r.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>za(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Bh(i)?i:Promise.resolve(i));return uw(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:Y.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new go({schema:this,typeName:Te.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ni.create(this,this._def)}nullable(){return vo.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ei.create(this)}promise(){return Wh.create(this,this._def)}or(t){return $h.create([this,t],this._def)}and(t){return Fh.create(this,t,this._def)}transform(t){return new go({...Le(this._def),schema:this,typeName:Te.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Vh({...Le(this._def),innerType:this,defaultValue:n,typeName:Te.ZodDefault})}brand(){return new lT({typeName:Te.ZodBranded,type:this,...Le(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new qh({...Le(this._def),innerType:this,catchValue:n,typeName:Te.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Px.create(this,t)}readonly(){return Kh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gO=/^c[^\s-]{8,}$/i,vO=/^[0-9a-z]+$/,_O=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xO=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,yO=/^[a-z0-9_-]{21}$/i,bO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,wO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,SO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,kO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let wm;const CO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,EO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,NO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,TO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,PO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,IO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sT="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",RO=new RegExp(`^${sT}$`);function oT(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function MO(e){return new RegExp(`^${oT(e)}$`)}function AO(e){let t=`${sT}T${oT(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function LO(e,t){return!!((t==="v4"||!t)&&CO.test(e)||(t==="v6"||!t)&&NO.test(e))}function jO(e,t){if(!bO.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function DO(e,t){return!!((t==="v4"||!t)&&EO.test(e)||(t==="v6"||!t)&&TO.test(e))}class Si extends qe{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ce.string){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.string,received:s.parsedType}),Ne}const r=new Pn;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?re(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&re(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")SO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"email",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")wm||(wm=new RegExp(kO,"u")),wm.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"emoji",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")xO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"uuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")yO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"nanoid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")gO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")vO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cuid2",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")_O.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"ulid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),re(i,{validation:"url",code:Y.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"regex",code:Y.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?AO(s).test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?RO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?MO(s).test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?wO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"duration",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?LO(t.data,s.version)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"ip",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?jO(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"jwt",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?DO(t.data,s.version)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cidr",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?PO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"base64",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?IO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"base64url",code:Y.invalid_string,message:s.message}),r.dirty()):Ye.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:Y.invalid_string,...me.errToObj(r)})}_addCheck(t){return new Si({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...me.errToObj(t)})}url(t){return this._addCheck({kind:"url",...me.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...me.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...me.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...me.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...me.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...me.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...me.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...me.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...me.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...me.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...me.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...me.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...me.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...me.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...me.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...me.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...me.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...me.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...me.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...me.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...me.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...me.errToObj(n)})}nonempty(t){return this.min(1,me.errToObj(t))}trim(){return new Si({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Si({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Si({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Si.create=e=>new Si({checks:[],typeName:Te.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Le(e)});function OO(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return s%o/10**i}class $a extends qe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==ce.number){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.number,received:s.parsedType}),Ne}let r;const i=new Pn;for(const s of this._def.checks)s.kind==="int"?Ye.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),re(r,{code:Y.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?OO(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_finite,message:s.message}),i.dirty()):Ye.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,me.toString(n))}gt(t,n){return this.setLimit("min",t,!1,me.toString(n))}lte(t,n){return this.setLimit("max",t,!0,me.toString(n))}lt(t,n){return this.setLimit("max",t,!1,me.toString(n))}setLimit(t,n,r,i){return new $a({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new $a({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:me.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:me.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:me.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:me.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:me.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:me.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:me.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:me.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:me.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Ye.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}}$a.create=e=>new $a({checks:[],typeName:Te.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Le(e)});class Uc extends qe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==ce.bigint)return this._getInvalidInput(t);let r;const i=new Pn;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Ye.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return re(n,{code:Y.invalid_type,expected:ce.bigint,received:n.parsedType}),Ne}gte(t,n){return this.setLimit("min",t,!0,me.toString(n))}gt(t,n){return this.setLimit("min",t,!1,me.toString(n))}lte(t,n){return this.setLimit("max",t,!0,me.toString(n))}lt(t,n){return this.setLimit("max",t,!1,me.toString(n))}setLimit(t,n,r,i){return new Uc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new Uc({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:me.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:me.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:me.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:me.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:me.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Uc.create=e=>new Uc({checks:[],typeName:Te.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Le(e)});class e0 extends qe{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ce.boolean){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.boolean,received:r.parsedType}),Ne}return wr(t.data)}}e0.create=e=>new e0({typeName:Te.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Le(e)});class zh extends qe{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ce.date){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.date,received:s.parsedType}),Ne}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_date}),Ne}const r=new Pn;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):Ye.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new zh({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:me.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:me.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}zh.create=e=>new zh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Te.ZodDate,...Le(e)});class dw extends qe{_parse(t){if(this._getType(t)!==ce.symbol){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.symbol,received:r.parsedType}),Ne}return wr(t.data)}}dw.create=e=>new dw({typeName:Te.ZodSymbol,...Le(e)});class t0 extends qe{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.undefined,received:r.parsedType}),Ne}return wr(t.data)}}t0.create=e=>new t0({typeName:Te.ZodUndefined,...Le(e)});class n0 extends qe{_parse(t){if(this._getType(t)!==ce.null){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.null,received:r.parsedType}),Ne}return wr(t.data)}}n0.create=e=>new n0({typeName:Te.ZodNull,...Le(e)});class hw extends qe{constructor(){super(...arguments),this._any=!0}_parse(t){return wr(t.data)}}hw.create=e=>new hw({typeName:Te.ZodAny,...Le(e)});class r0 extends qe{constructor(){super(...arguments),this._unknown=!0}_parse(t){return wr(t.data)}}r0.create=e=>new r0({typeName:Te.ZodUnknown,...Le(e)});class Ns extends qe{_parse(t){const n=this._getOrReturnCtx(t);return re(n,{code:Y.invalid_type,expected:ce.never,received:n.parsedType}),Ne}}Ns.create=e=>new Ns({typeName:Te.ZodNever,...Le(e)});class fw extends qe{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.void,received:r.parsedType}),Ne}return wr(t.data)}}fw.create=e=>new fw({typeName:Te.ZodVoid,...Le(e)});class ei extends qe{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==ce.array)return re(n,{code:Y.invalid_type,expected:ce.array,received:n.parsedType}),Ne;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(re(n,{code:o?Y.too_big:Y.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(re(n,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(re(n,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new ii(n,o,n.path,a)))).then(o=>Pn.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new ii(n,o,n.path,a)));return Pn.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new ei({...this._def,minLength:{value:t,message:me.toString(n)}})}max(t,n){return new ei({...this._def,maxLength:{value:t,message:me.toString(n)}})}length(t,n){return new ei({...this._def,exactLength:{value:t,message:me.toString(n)}})}nonempty(t){return this.min(1,t)}}ei.create=(e,t)=>new ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Te.ZodArray,...Le(t)});function Jo(e){if(e instanceof jt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ni.create(Jo(r))}return new jt({...e._def,shape:()=>t})}else return e instanceof ei?new ei({...e._def,type:Jo(e.element)}):e instanceof Ni?Ni.create(Jo(e.unwrap())):e instanceof vo?vo.create(Jo(e.unwrap())):e instanceof po?po.create(e.items.map(t=>Jo(t))):e}class jt extends qe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ye.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==ce.object){const c=this._getOrReturnCtx(t);return re(c,{code:Y.invalid_type,expected:ce.object,received:c.parsedType}),Ne}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ns&&this._def.unknownKeys==="strip"))for(const c in i.data)o.includes(c)||a.push(c);const l=[];for(const c of o){const u=s[c],d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new ii(i,d,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof Ns){const c=this._def.unknownKeys;if(c==="passthrough")for(const u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(c==="strict")a.length>0&&(re(i,{code:Y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const u of a){const d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new ii(i,d,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const c=[];for(const u of l){const d=await u.key,f=await u.value;c.push({key:d,value:f,alwaysSet:u.alwaysSet})}return c}).then(c=>Pn.mergeObjectSync(r,c)):Pn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return me.errToObj,new jt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var s,o;const i=((o=(s=this._def).errorMap)==null?void 0:o.call(s,n,r).message)??r.defaultError;return n.code==="unrecognized_keys"?{message:me.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new jt({...this._def,unknownKeys:"strip"})}passthrough(){return new jt({...this._def,unknownKeys:"passthrough"})}extend(t){return new jt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new jt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Te.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new jt({...this._def,catchall:t})}pick(t){const n={};for(const r of Ye.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}omit(t){const n={};for(const r of Ye.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}deepPartial(){return Jo(this)}partial(t){const n={};for(const r of Ye.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new jt({...this._def,shape:()=>n})}required(t){const n={};for(const r of Ye.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Ni;)s=s._def.innerType;n[r]=s}return new jt({...this._def,shape:()=>n})}keyof(){return aT(Ye.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});class $h extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new Ai(a.ctx.common.issues));return re(n,{code:Y.invalid_union,unionErrors:o}),Ne}if(n.common.async)return Promise.all(r.map(async s=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of r){const c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&o.push(c.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new Ai(l));return re(n,{code:Y.invalid_union,unionErrors:a}),Ne}}get options(){return this._def.options}}$h.create=(e,t)=>new $h({options:e,typeName:Te.ZodUnion,...Le(t)});const vi=e=>e instanceof s0?vi(e.schema):e instanceof go?vi(e.innerType()):e instanceof Uh?[e.value]:e instanceof mo?e.options:e instanceof o0?Ye.objectValues(e.enum):e instanceof Vh?vi(e._def.innerType):e instanceof t0?[void 0]:e instanceof n0?[null]:e instanceof Ni?[void 0,...vi(e.unwrap())]:e instanceof vo?[null,...vi(e.unwrap())]:e instanceof lT||e instanceof Kh?vi(e.unwrap()):e instanceof qh?vi(e._def.innerType):[];class Tx extends qe{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.object)return re(n,{code:Y.invalid_type,expected:ce.object,received:n.parsedType}),Ne;const r=this.discriminator,i=n.data[r],s=this.optionsMap.get(i);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(re(n,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ne)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const s of n){const o=vi(s.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Tx({typeName:Te.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Le(r)})}}function i0(e,t){const n=ss(e),r=ss(t);if(e===t)return{valid:!0,data:e};if(n===ce.object&&r===ce.object){const i=Ye.objectKeys(t),s=Ye.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=i0(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===ce.array&&r===ce.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s],l=i0(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===ce.date&&r===ce.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Fh extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(lw(s)||lw(o))return Ne;const a=i0(s.value,o.value);return a.valid?((cw(s)||cw(o))&&n.dirty(),{status:n.value,value:a.data}):(re(r,{code:Y.invalid_intersection_types}),Ne)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Fh.create=(e,t,n)=>new Fh({left:e,right:t,typeName:Te.ZodIntersection,...Le(n)});class po extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.array)return re(r,{code:Y.invalid_type,expected:ce.array,received:r.parsedType}),Ne;if(r.data.length<this._def.items.length)return re(r,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ne;!this._def.rest&&r.data.length>this._def.items.length&&(re(r,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new ii(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Pn.mergeArray(n,o)):Pn.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new po({...this._def,rest:t})}}po.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new po({items:e,typeName:Te.ZodTuple,rest:null,...Le(t)})};class Hh extends qe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.object)return re(r,{code:Y.invalid_type,expected:ce.object,received:r.parsedType}),Ne;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in r.data)i.push({key:s._parse(new ii(r,a,r.path,a)),value:o._parse(new ii(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Pn.mergeObjectAsync(n,i):Pn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof qe?new Hh({keyType:t,valueType:n,typeName:Te.ZodRecord,...Le(r)}):new Hh({keyType:Si.create(),valueType:t,typeName:Te.ZodRecord,...Le(n)})}}class pw extends qe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.map)return re(r,{code:Y.invalid_type,expected:ce.map,received:r.parsedType}),Ne;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],c)=>({key:i._parse(new ii(r,a,r.path,[c,"key"])),value:s._parse(new ii(r,l,r.path,[c,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return Ne;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of o){const c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return Ne;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}pw.create=(e,t,n)=>new pw({valueType:t,keyType:e,typeName:Te.ZodMap,...Le(n)});class Wc extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.set)return re(r,{code:Y.invalid_type,expected:ce.set,received:r.parsedType}),Ne;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(re(r,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(re(r,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const c=new Set;for(const u of l){if(u.status==="aborted")return Ne;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}const a=[...r.data.values()].map((l,c)=>s._parse(new ii(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new Wc({...this._def,minSize:{value:t,message:me.toString(n)}})}max(t,n){return new Wc({...this._def,maxSize:{value:t,message:me.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Wc.create=(e,t)=>new Wc({valueType:e,minSize:null,maxSize:null,typeName:Te.ZodSet,...Le(t)});class s0 extends qe{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}s0.create=(e,t)=>new s0({getter:e,typeName:Te.ZodLazy,...Le(t)});class Uh extends qe{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return re(n,{received:n.data,code:Y.invalid_literal,expected:this._def.value}),Ne}return{status:"valid",value:t.data}}get value(){return this._def.value}}Uh.create=(e,t)=>new Uh({value:e,typeName:Te.ZodLiteral,...Le(t)});function aT(e,t){return new mo({values:e,typeName:Te.ZodEnum,...Le(t)})}class mo extends qe{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return re(n,{expected:Ye.joinValues(r),received:n.parsedType,code:Y.invalid_type}),Ne}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return re(n,{received:n.data,code:Y.invalid_enum_value,options:r}),Ne}return wr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return mo.create(t,{...this._def,...n})}exclude(t,n=this._def){return mo.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}mo.create=aT;class o0 extends qe{_parse(t){const n=Ye.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ce.string&&r.parsedType!==ce.number){const i=Ye.objectValues(n);return re(r,{expected:Ye.joinValues(i),received:r.parsedType,code:Y.invalid_type}),Ne}if(this._cache||(this._cache=new Set(Ye.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=Ye.objectValues(n);return re(r,{received:r.data,code:Y.invalid_enum_value,options:i}),Ne}return wr(t.data)}get enum(){return this._def.values}}o0.create=(e,t)=>new o0({values:e,typeName:Te.ZodNativeEnum,...Le(t)});class Wh extends qe{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.promise&&n.common.async===!1)return re(n,{code:Y.invalid_type,expected:ce.promise,received:n.parsedType}),Ne;const r=n.parsedType===ce.promise?n.data:Promise.resolve(n.data);return wr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Wh.create=(e,t)=>new Wh({type:e,typeName:Te.ZodPromise,...Le(t)});class go extends qe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Te.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,s={addIssue:o=>{re(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return Ne;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?Ne:l.status==="dirty"||n.value==="dirty"?Kl(l.value):l});{if(n.value==="aborted")return Ne;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?Ne:a.status==="dirty"||n.value==="dirty"?Kl(a.value):a}}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Ne:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Ne:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!za(o))return Ne;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>za(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):Ne);Ye.assertNever(i)}}go.create=(e,t,n)=>new go({schema:e,typeName:Te.ZodEffects,effect:t,...Le(n)});go.createWithPreprocess=(e,t,n)=>new go({schema:t,effect:{type:"preprocess",transform:e},typeName:Te.ZodEffects,...Le(n)});class Ni extends qe{_parse(t){return this._getType(t)===ce.undefined?wr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ni.create=(e,t)=>new Ni({innerType:e,typeName:Te.ZodOptional,...Le(t)});class vo extends qe{_parse(t){return this._getType(t)===ce.null?wr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vo.create=(e,t)=>new vo({innerType:e,typeName:Te.ZodNullable,...Le(t)});class Vh extends qe{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===ce.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Vh.create=(e,t)=>new Vh({innerType:e,typeName:Te.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Le(t)});class qh extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Bh(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ai(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ai(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}qh.create=(e,t)=>new qh({innerType:e,typeName:Te.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Le(t)});class mw extends qe{_parse(t){if(this._getType(t)!==ce.nan){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.nan,received:r.parsedType}),Ne}return{status:"valid",value:t.data}}}mw.create=e=>new mw({typeName:Te.ZodNaN,...Le(e)});class lT extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class Px extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Ne:s.status==="dirty"?(n.dirty(),Kl(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Ne:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new Px({in:t,out:n,typeName:Te.ZodPipeline})}}class Kh extends qe{_parse(t){const n=this._def.innerType._parse(t),r=i=>(za(i)&&(i.value=Object.freeze(i.value)),i);return Bh(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Kh.create=(e,t)=>new Kh({innerType:e,typeName:Te.ZodReadonly,...Le(t)});var Te;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Te||(Te={}));const S=Si.create,K=$a.create,Se=e0.create,oo=r0.create;Ns.create;const xe=ei.create,M=jt.create;$h.create;const li=Tx.create;Fh.create;po.create;const sl=Hh.create,J=Uh.create,We=mo.create;Wh.create;Ni.create;vo.create;new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");const BO=["owner"],zO=["agent","owner","user-upload"],cT=M({id:S().min(1),relPath:S().min(1),from:We(zO),label:S().optional(),size:K().int().nonnegative(),mime:S().min(1),addedAt:K().int().nonnegative(),lastEditedAt:K().int().nonnegative().optional(),stale:Se().optional()});M({sessionId:S().min(1),relPath:S().min(1),ttlSeconds:K().int().positive().nullable().optional(),view:We(["raw","md-rendered"]).optional()});M({url:S().min(1),expiresAt:K().int().nonnegative().nullable()});M({sessionId:S().min(1),relPath:S().min(1),label:S().optional(),origin:J("agent").optional()});M({entry:cT});M({sessionId:S().min(1),relPath:S().min(1)});M({removed:J(!0)});M({sessionId:S().min(1)});M({entries:xe(cT)});M({attachmentId:S().min(1),url:S().min(1),relPath:S().min(1),sizeBytes:K().int().nonnegative(),mimeType:S().min(1)});const $O=li("type",[M({type:J("persona"),id:S().min(1)}).strict(),M({type:J("chat"),id:S().min(1)}).strict(),M({type:J("*")}).strict()]),FO=We(["read","send","admin"]),Ix=M({resource:$O,actions:xe(FO).min(1)}).strict(),HO=M({id:S().min(1),secretHash:S().regex(/^[a-f0-9]{64}$/),displayName:S(),grants:xe(Ix),issuedAt:K().int().nonnegative(),expiresAt:K().int().positive().optional(),maxUses:K().int().positive().optional(),usedCount:K().int().nonnegative(),peerOwnerId:S().min(1).optional(),firstUsedByPeerAt:K().int().positive().optional(),peerDisplayName:S().optional()}).strict(),UO=HO.omit({secretHash:!0});M({type:J("whoami:ok"),owner:M({id:S(),kind:We(["owner","guest"]),displayName:S(),ownerId:S(),provider:S()}).strict(),capability:UO,grantedPersonas:xe(M({id:S().min(1),displayName:S()}).strict())}).strict();M({selfUrl:S().min(1)});M({type:J("contact:handshake:ok"),owner:M({id:S(),ownerId:S(),provider:S(),displayName:S()}),grants:xe(Ix)});M({deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();M({type:J("contact:setRemoteAccess:ok"),deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();M({type:J("contact:remote-access-updated"),deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();const WO=M({deviceId:S().min(1),ownerId:S().min(1),provider:S().min(1),displayName:S(),remoteUrl:S().min(1),connectToken:S(),grants:xe(Ix),addedAt:K().int().nonnegative(),pinnedAt:K().int().nullable().default(null),remoteAccessAllowed:Se().default(!1)}).strict(),uT=WO;M({deviceId:S().min(1)}).strict();M({type:J("contact:remove:ok"),deviceId:S().min(1)}).strict();M({type:J("contact:list:ok"),contacts:xe(uT)}).strict();M({type:J("contact:added"),contact:uT}).strict();M({type:J("contact:removed"),deviceId:S().min(1)}).strict();M({deviceId:S().min(1),pinned:Se()}).strict();M({type:J("contact:pin:ok"),deviceId:S().min(1),pinnedAt:K().int().nullable()}).strict();M({type:J("contact:pinned"),deviceId:S().min(1),pinnedAt:K().int().nullable()}).strict();const VO=M({deviceId:S().min(1),name:S().min(1),url:S().min(1)});M({type:J("device:list:ok"),devices:xe(VO)});M({deviceId:S().min(1),url:S().min(1).optional(),name:S().optional()});M({type:J("device:connect:ok"),deviceId:S(),name:S(),url:S()});const dT=M({ownerId:S().min(1),provider:S().min(1),displayName:S().min(1),avatarUrl:S().optional(),unionId:S().optional()});M({type:J("auth:login:start:ok"),authUrl:S().min(1),state:S().min(1)});M({type:J("auth:getIdentity:ok"),identity:dT.nullable(),deviceId:S().min(1)});M({type:J("auth:logout:ok")});M({type:J("auth:login:done"),identity:dT});M({type:J("auth:login:failed"),reason:S()});const Rx=li("kind",[M({kind:J("success"),text:S(),filePaths:xe(S()).optional()}),M({kind:J("failure"),reason:S()})]);M({targetPersona:S().min(1).optional(),dispatchId:S().min(1).optional(),prompt:S(),targetDeviceId:S().min(1).optional(),model:S().min(1).optional(),sessionLabel:S().min(1).max(60).optional()}).refine(e=>e.targetPersona!==void 0||e.dispatchId!==void 0,{message:"either targetPersona (new dispatch) or dispatchId (follow-up) is required"}).refine(e=>!(e.dispatchId!==void 0&&e.targetDeviceId!==void 0),{message:"cross-device dispatch cannot be continued (dispatchId + targetDeviceId are mutually exclusive)"});M({dispatchId:S().min(1),outcome:Rx});const qO=["running","completed","failed"],hT=We(qO),KO=M({dispatchId:S().min(1),sourceSessionId:S().min(1),sourcePersonaId:S().min(1).optional(),targetPersonaId:S().min(1),workerSessionId:S().min(1).optional(),taskText:S(),status:hT,outcome:Rx.optional(),meta:sl(oo()).optional(),createdAt:S().min(1),completedAt:S().min(1).optional(),deliveredAt:S().min(1).optional()});M({sourceSessionId:S().min(1).optional()});M({records:xe(KO)});M({dispatchId:S().min(1)});M({type:J("personaDispatch:get:ok"),status:hT,outcome:Rx.optional()});const GO=/^[a-z0-9][a-z0-9-]*$/;We(["stopped","starting","running","crashed","invalid"]);const YO=new Set(["localhost","127.0.0.1"]);function XO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&YO.has(t.hostname))}const ad=M({id:S().regex(GO),name:S().min(1),version:S().min(1),apiVersion:J("1"),runtime:M({startCommand:S().min(1)}).passthrough().optional(),entry:M({url:S().url().refine(XO,{message:"INVALID_URL_SCHEME: only https or http://localhost is allowed"})}).strict().optional()}).passthrough().superRefine((e,t)=>{var i;const n=!!e.runtime,r=!!((i=e.entry)!=null&&i.url);n&&r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),QO=li("kind",[M({kind:J("local"),port:K().int().min(1).max(65535)}),M({kind:J("hosted"),url:S().url()})]);li("state",[M({extId:S(),manifest:ad,state:J("stopped")}),M({extId:S(),manifest:ad,state:J("starting")}),M({extId:S(),manifest:ad,state:J("running"),target:QO}),M({extId:S(),manifest:ad,state:J("crashed")}),M({extId:S(),manifest:oo().nullable(),state:J("invalid"),invalidReason:S().min(1)})]);M({snapshotHash:S().min(1),version:S().min(1),publishedAt:K()});const ZO=li("kind",[M({kind:J("p2p-tunnel"),ownerPrincipalId:S().min(1),extId:S().min(1)})]);li("kind",[M({kind:J("p2p-tunnel"),ownerPrincipalId:S().min(1),extId:S().min(1),snapshotHash:S().min(1)})]);M({extId:S().min(1),name:S().min(1),version:S().min(1),contentHash:S().min(1),publishedAt:K()});const JO=li("kind",[M({kind:J("clean")}),M({kind:J("ready-new-version"),fromVersion:S().min(1),toVersion:S().min(1)}),M({kind:J("error-same-hash"),version:S().min(1)}),M({kind:J("error-version-not-bumped"),localVersion:S().min(1),publishedVersion:S().min(1)}),M({kind:J("error-version-regression"),localVersion:S().min(1),publishedVersion:S().min(1)})]);M({localManifest:M({name:S().min(1),version:S().min(1),contentHash:S().min(1)}),publishState:li("kind",[M({kind:J("unpublished")}),M({kind:J("published"),version:S().min(1),contentHash:S().min(1),publishedAt:K()})]),check:JO});M({extId:S().min(1),newVersion:S().min(1).nullish()});M({extId:S().min(1)});M({extId:S().min(1),snapshotHash:S().min(1)});M({channelRef:ZO,snapshotHash:S().min(1),zipBase64:S().min(1)});M({id:S().min(1),peerDeviceId:S().min(1),senderDeviceId:S().min(1),text:S().min(1),createdAt:K().int().nonnegative(),readBy:sl(S().min(1),K().int().positive()).default({}),origin:M({kind:J("persona"),personaId:S().min(1)}).optional()}).strict();M({peerDeviceId:S().min(1).optional(),id:S().min(1),text:S().min(1),createdAt:K().int().nonnegative(),origin:M({kind:J("persona"),personaId:S().min(1)}).optional()}).strict();M({peerDeviceId:S().min(1),sinceCreatedAt:K().int().nonnegative().optional()}).strict();M({peerDeviceId:S().min(1),upToCreatedAt:K().int().nonnegative()}).strict();M({peerDeviceId:S().min(1).optional(),text:S().min(1)});M({peerDeviceId:S().min(1).optional(),command:S().min(1),timeoutMs:K().int().positive().optional()}).strict();M({type:J("peerExec:run:ok"),stdout:S(),stderr:S(),exitCode:K().int().nullable(),timedOut:Se(),stdoutTruncated:Se(),stderrTruncated:Se()}).strict();const fT=li("kind",[M({kind:J("at"),at:S().min(1)}),M({kind:J("every"),everyMs:K().int().positive(),anchorMs:K().int().nonnegative().optional()}),M({kind:J("cron"),expr:S().min(1),tz:S().min(1).optional()})]),pu=S().trim().min(1);M({personaId:pu,name:S().min(1),schedule:fT,prompt:S().min(1),targetPersona:S().min(1).optional(),timeoutMs:K().int().positive().optional()});M({personaId:pu,onlyMine:Se().optional()});M({personaId:pu,shiftId:S().min(1)});const e6=M({name:S().min(1).optional(),schedule:fT.optional(),prompt:S().min(1).optional(),targetPersona:S().min(1).optional(),timeoutMs:K().int().positive().optional(),enabled:Se().optional()});M({personaId:pu,shiftId:S().min(1),patch:e6});M({personaId:pu,shiftId:S().min(1),limit:K().int().positive().optional()});const t6=["created","review-requested"],pT=/^[A-Za-z0-9._-]+$/,ol=S().min(1).regex(pT),al=S().min(1).regex(pT),mu=K().int().positive();M({role:We(t6)});M({owner:ol,repo:al,number:mu});M({owner:ol,repo:al,number:mu,expectedHeadSha:S().min(1)});M({owner:ol,repo:al,number:mu,body:S().min(1)});M({owner:ol,repo:al,number:mu,ready:Se()});M({owner:ol,repo:al});M({owner:ol,repo:al,number:mu,reviewers:xe(S().min(1)).min(1)});M({personaId:S().min(1)});const n6=["expired","cancelled","access_denied","lark_protocol_error","cloud_unreachable","internal_error"],r6=We(n6);M({personaId:S().min(1),appId:S().min(1),appSecret:S().min(1),botName:S().min(1).optional()});const i6=M({chatId:S().min(1),chatName:S().optional(),lastActiveAt:K().int().optional()}),s6=M({state:We(["unbound","provisioning","bound","broken"]),appId:S().optional(),botName:S().optional(),brokenReason:S().optional(),qrUrl:S().optional(),errorReason:r6.optional(),groups:xe(i6)});s6.extend({personaId:S().min(1)});M({});M({onboardingCompletedAt:K()});M({});M({tools:xe(M({id:We(["claude","codex"]),available:Se(),version:S().optional(),path:S().optional()}))});M({});const o6=M({tool:We(["claude","codex"]),cwd:S(),toolSessionId:S(),label:S().optional(),createdAt:S(),updatedAt:S(),turns:K()});M({candidates:xe(o6)});M({});M({registered:Se()});const a6=M({personaId:S(),label:S(),model:S().optional(),effort:S().optional(),public:Se(),iconKey:S().optional(),tool:S().optional(),createdAt:K(),updatedAt:K()}).strict(),l6=M({name:S().min(1),description:S().optional()}),c6=M({id:S().min(1)}),u6=M({permissions:M({defaultMode:S().optional(),allow:xe(S()).optional(),deny:xe(S()).optional()}).optional(),sandbox:M({enabled:Se().optional(),autoAllowBashIfSandboxed:Se().optional(),allowUnsandboxedCommands:Se().optional(),excludedCommands:xe(S()).optional(),filesystem:M({denyRead:xe(S()).optional(),allowRead:xe(S()).optional(),denyWrite:xe(S()).optional(),allowWrite:xe(S()).optional()}).optional(),network:M({allowedDomains:xe(S()).optional(),allowLocalBinding:Se().optional()}).optional()}).optional()});a6.extend({personality:S().optional(),skills:xe(l6).optional(),plugins:xe(c6).optional(),sandboxSettings:u6.nullable().optional()});M({slug:S().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).max(32),label:S().min(1),personality:S(),model:S().optional(),effort:S().optional(),tool:S().optional(),public:Se().optional(),iconKey:S().optional()}).strict();M({personaId:S().min(1)});M({personaId:S().min(1),patch:M({label:S().min(1).optional(),model:S().optional(),effort:S().optional(),tool:S().optional(),personality:S().optional(),public:Se().optional(),iconKey:S().nullable().optional()}).strict()}).strict();M({writableRoots:xe(S()).optional(),denyRead:xe(S()).optional(),network:Se().optional()}).strict();const mT=["ready","session:info","session:status","session:event","session:deleted","session:rewound","session:cleared","permission:request","session:question","session:question:cleared","pong","error","subscribed","unsubscribed","auth:ok","tunnel:ready","tunnel:exited","tunnel:unavailable","session:control","session:pty","contact:added","contact:pinned","contact:removed","contact:remote-access-updated","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","appBuilder:project-updated","appBuilder:publish-progress","appBuilder:publish-failed","larkBot:state"],gT=["idle","running","running-idle","stopped","error","observing"],d6=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],h6=["builtin","global","project","plugin"],f6=["builtin","global","project","policy","plugin"],vT=We(["owner","guest"]);M({id:S().min(1),kind:vT,displayName:S(),feishuUnionId:S().optional()}).strict();const p6=M({did:S().min(1),displayName:S(),feishuUnionId:S().optional(),principal:vT}).strict(),m6=We(gT),g6=M({input_tokens:K().int().nonnegative().optional(),cache_read_input_tokens:K().int().nonnegative().optional(),cache_creation_input_tokens:K().int().nonnegative().optional(),output_tokens:K().int().nonnegative().optional()}),v6=M({inputTokens:K().int().nonnegative(),outputTokens:K().int().nonnegative(),cacheReadTokens:K().int().nonnegative().optional(),cacheCreateTokens:K().int().nonnegative().optional()}),_T={gitBranch:S().optional(),resolvedModel:S().optional(),resolvedEffort:S().optional(),contextUsage:v6.optional(),contextWindowSize:K().int().positive().optional(),aiLabel:S().optional()},_6=M(_T),xT=M({value:S(),label:S(),description:S().optional()}),x6=M({id:S().min(1),label:S().min(1),description:S().optional(),contextWindowSize:K().int().positive(),default:Se().optional(),efforts:xe(xT).optional(),defaultEffort:S().optional()}),y6=M({id:S().min(1),label:S().min(1),description:S().optional()}),b6=M({name:S().min(1),type:We(["string","select","toggle"]),label:S().min(1),description:S().optional(),options:xe(xT).optional(),default:oo().optional(),scope:We(["core","tool-specific"])});M({tool:S().min(1)});const w6=M({rewind:Se(),subagents:Se(),tui:Se(),observe:Se(),fileSharing:Se(),fork:Se()});M({tool:S().min(1),toolSessionIdLabel:S().optional(),models:xe(x6),permissionModes:xe(y6),configSchema:xe(b6),features:w6});const S6=M({tool:S().min(1),pattern:S().min(1),createdAt:S().min(1).optional()});M({sessionId:S().min(1),cwd:S().min(1),tool:J("claude").or(S().min(1)).default("claude"),toolSessionId:S().optional(),label:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),..._T,permissionRules:xe(S6).optional(),pinnedAt:K().int().nonnegative().nullable().optional(),archivedAt:K().int().nonnegative().nullable().optional(),pinSortOrder:K().int().nullable().optional(),unreadAt:S().min(1).nullable().optional(),iconKey:S().optional(),forkedFromSessionId:S().min(1).optional(),ephemeral:Se().optional(),ownerPersonaId:S().min(1).optional(),appBuilderProject:S().regex(/^[a-z][a-z0-9-]{0,39}$/).optional(),chatId:S().min(1).optional(),creatorPrincipalId:S().min(1).optional(),creatorDisplayName:S().min(1).optional(),creatorFeishuUnionId:S().min(1).optional(),originOwnerPrincipalId:S().min(1).optional(),originOwnerPersonaId:S().min(1).optional(),dispatchedFromSessionId:S().min(1).optional(),shiftFiredFromSessionId:S().min(1).optional(),larkChatId:S().min(1).optional(),larkChatName:S().min(1).optional(),larkChatType:We(["p2p","group"]).optional(),createdAt:S().min(1),updatedAt:S().min(1)});const jn={seq:K().int().nonnegative().optional(),ts:S().optional(),uuid:S().optional()},k6=We(d6),C6=M({readCount:K().int().nonnegative().optional(),searchCount:K().int().nonnegative().optional(),bashCount:K().int().nonnegative().optional(),editFileCount:K().int().nonnegative().optional(),linesAdded:K().int().nonnegative().optional(),linesRemoved:K().int().nonnegative().optional(),otherToolCount:K().int().nonnegative().optional()}),E6=M({oldStart:K().int().nonnegative(),oldLines:K().int().nonnegative(),newStart:K().int().nonnegative(),newLines:K().int().nonnegative(),lines:xe(S())}),N6=M({agentId:S().optional(),agentType:S().optional(),status:S().optional(),prompt:S().optional(),filePath:S().optional(),structuredPatch:xe(E6).optional(),stats:M({durationMs:K().int().nonnegative().optional(),tokens:K().int().nonnegative().optional(),toolUseCount:K().int().nonnegative().optional(),toolStats:C6.optional(),usage:g6.optional()}).optional()}),T6=M({path:S(),content:S(),mtimeMs:K().optional()}),P6=M({label:S().min(1),description:S().optional()}),yT=M({question:S().min(1),multiSelect:Se(),options:xe(P6).min(1)}),I6=["completed","interrupted"];li("kind",[M({...jn,kind:J("session_init"),toolSessionId:S().optional()}),M({...jn,kind:J("thinking"),text:S(),partialId:S().optional()}),M({...jn,kind:J("text"),text:S(),partialId:S().optional()}),M({...jn,kind:J("user_text"),text:S(),meta:k6.optional(),taskId:S().optional(),parentToolUseId:S().optional(),sender:p6.optional()}),M({...jn,kind:J("tool_call"),toolUseId:S(),tool:S(),toolKind:S().optional(),input:oo()}),M({...jn,kind:J("tool_result"),toolUseId:S(),output:oo().optional(),error:S().optional(),toolResultExtra:N6.optional(),sourceToolAssistantUUID:S().optional(),askQuestionAnswers:sl(S(),S()).optional()}),M({...jn,kind:J("attachment_memories"),memories:xe(T6)}),M({...jn,kind:J("permission_request"),requestId:S(),tool:S(),input:oo(),toolUseId:S().optional()}),M({...jn,kind:J("ask_user_question"),toolUseId:S(),questions:xe(yT)}),M({...jn,kind:J("turn_end"),durationMs:K().int().nonnegative().optional(),reason:We(I6).optional()}),M({...jn,kind:J("subagent_progress"),toolUseId:S(),agentId:S(),status:We(["started","running","completed","failed"]),description:S().optional(),lastToolName:S().optional(),prompt:S().optional(),stats:M({durationMs:K().int().nonnegative().optional(),tokens:K().int().nonnegative().optional(),toolUseCount:K().int().nonnegative().optional()}).optional()}),M({...jn,kind:J("error"),message:S()}),M({...jn,kind:J("meta_update"),patch:_6}),M({...jn,kind:J("meta-text"),text:S(),metaSource:We(["cc","owner"]).optional()})]);M({cwd:S().min(1).optional(),tool:S().optional(),label:S().optional(),aiLabel:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),iconKey:S().optional(),forkedFromSessionId:S().min(1).optional(),ephemeral:Se().optional(),ownerPersonaId:S().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});M({cwd:S().min(1),tool:S().min(1),toolSessionId:S().min(1),label:S().optional(),aiLabel:S().optional(),iconKey:S().optional(),createdAt:S().datetime(),updatedAt:S().datetime(),ownerPersonaId:S().min(1).optional()});M({originOnly:Se().optional(),ownerPersonaId:S().min(1).optional(),limit:K().int().positive().optional(),offset:K().int().nonnegative().optional()});M({sessionId:S().min(1)});M({sessionId:S().min(1),patch:M({label:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),cwd:S().optional(),iconKey:S().optional(),ephemeral:J(!1).optional()})});M({sessionId:S().min(1),text:S()});M({sessionId:S().min(1),userMessageId:S().min(1),dryRun:Se().optional()});M({canRewind:Se(),error:S().optional(),filesChanged:xe(S()).optional(),insertions:K().int().nonnegative().optional(),deletions:K().int().nonnegative().optional()});M({sessionId:S().min(1),userMessageId:S().min(1)});const R6=M({oldStart:K().int().nonnegative(),oldLines:K().int().nonnegative(),newStart:K().int().nonnegative(),newLines:K().int().nonnegative(),lines:xe(S())}),M6=M({filePath:S().min(1),hunks:xe(R6),insertions:K().int().nonnegative(),deletions:K().int().nonnegative(),status:We(["modified","added","deleted"]).optional()});M({canRewind:Se(),error:S().optional(),files:xe(M6),totalInsertions:K().int().nonnegative(),totalDeletions:K().int().nonnegative()});M({userMessageIds:xe(S())});M({sessionId:S().min(1),toolSessionId:S().min(1)});M({cwd:S().min(1),toolSessionId:S().min(1),messageUuid:S().min(1),targetCwd:S().min(1).optional()});M({forkedToolSessionId:S().min(1),forkedFilePath:S().min(1)});M({sessionId:S().min(1),toolSessionId:S().min(1),jsonlPath:S().optional()});M({sessionId:S().min(1),afterSeq:K().int().min(-1)});M({sessionId:S().min(1),permissionRequestId:S().min(1),allow:Se(),permanent:Se().optional(),pattern:S().optional()});M({projectPath:S().min(1)});M({sessionId:S().min(1),limit:K().int().positive().max(5e3).optional(),offset:K().int().nonnegative().optional(),slim:Se().optional()});M({cwd:S().min(1),toolSessionId:S().min(1)});M({cwd:S().min(1),toolSessionId:S().min(1),subagentId:S().min(1)});M({cwd:S().min(1).optional(),path:S().optional(),showHidden:Se().optional()});M({cwd:S().min(1),path:S().min(1)});M({cwd:S().min(1),tool:S().optional()});M({name:S().min(1),source:We(h6),path:S().optional(),description:S().optional(),plugin:S().optional()});const A6=M({name:S().min(1),source:We(f6),path:S().optional(),description:S().optional(),whenToUse:S().optional(),plugin:S().optional()});M({cwd:S().min(1),tool:S().optional()});M({agents:xe(A6)});M({sessionId:S().optional()});M({sessionId:S().min(1).optional()});M({sessionId:S().min(1),pinned:Se()});M({sessionId:S().min(1),archived:Se()});M({type:J("peerSession:upsert:ok")});M({sessionId:S().min(1)});M({type:J("peerSession:remove:ok")});M({orderedIds:xe(S().min(1)).min(1)});M({cwd:S().min(1)});M({isGitRoot:Se(),gitRoot:S().nullable()});M({cwd:S().min(1)});M({branch:S().nullable()});M({cwd:S().min(1)});M({branches:xe(S()),head:S().nullable()});M({}).optional();const L6=M({cwd:S().min(1),updatedAt:S().min(1)});M({dirs:xe(L6)});M({type:J("session:question"),sessionId:S().min(1),toolUseId:S().min(1),requestId:S().min(1),questions:xe(yT).min(1)});M({type:J("session:question:cleared"),sessionId:S().min(1),toolUseId:S().min(1),answers:sl(S(),S()).optional()});M({sessionId:S().min(1),toolUseId:S().min(1),answers:sl(S(),S())});M({ok:J(!0)});M({sessionId:S().min(1),toolUseId:S().min(1)});M({ok:J(!0)});const bT=M({name:S().min(1),version:S().min(1),instanceId:S().min(1),deviceLabel:S().transform(e=>e.trim().slice(0,64)).optional()});M({type:J("auth"),token:S().min(1),scheme:J("bearer").optional(),clientInfo:bT.optional()});M({type:J("auth:ok"),version:S().min(1).optional(),protocolVersion:K().int().nonnegative().optional()});const j6=M({clientId:S().min(1),connectedAt:K().int().nonnegative(),self:Se(),clientInfo:bT.optional()});M({type:J("device:connections:ok"),connections:xe(j6)});M({type:J("tunnel:ready"),url:S().min(1),subdomain:S().min(1)});M({type:J("tunnel:exited"),code:K().int().nullable(),subdomain:S().nullable(),url:S().nullable()});M({type:J("tunnel:unavailable"),reason:S().min(1),failedAt:S().min(1)});const D6=M({sessionId:S().min(1),status:m6,freshSpawn:Se(),pendingPermissionRequestIds:xe(S().min(1)),pendingQuestionToolUseIds:xe(S().min(1))});M({type:J("info"),version:S(),protocolVersion:K(),hostname:S(),os:S(),tools:xe(M({id:S(),available:Se()})),runningSessions:xe(D6),tokenRole:We(BO).optional(),isLoopback:Se().optional(),httpBaseUrl:S().optional(),httpToken:S().optional(),daemonSource:We(["ota","packaged"]).optional(),globalCliVersion:S().nullable().optional()});const O6=6173,B6=6272,ll=/^[a-z][a-z0-9-]{0,39}$/,gu=M({name:S().regex(ll,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:K().int().min(O6).max(B6),createdAt:S().datetime(),devCommand:S().min(1),prodUrl:S().url().optional(),readyPattern:S().optional(),publishJob:M({jobId:S().min(1),stage:We(["build","deploy","verify"]),startedAt:K().int().nonnegative()}).optional()}),z6=["install-pending","installing","starting-dev-server","running","stopped","failed"],wT=We(z6),Mx=gu.extend({isRunning:Se(),boundSessionId:S().nullable(),stage:wT.optional(),stageReason:S().optional(),publishJob:M({jobId:S().min(1),stage:We(["build","deploy","verify"]),startedAt:K().int().nonnegative(),status:We(["in-flight","interrupted"])}).optional()});M({}).strict();M({projects:xe(Mx)}).strict();M({sessionId:S().min(1)}).strict();M({project:Mx.nullable()}).strict();M({sessionId:S().min(1),name:S().min(1)}).strict();M({project:gu}).strict();M({name:S()}).strict();M({}).strict();M({name:S(),newPort:K().int()}).strict();M({project:gu}).strict();M({name:S().regex(ll),url:S().url()}).strict();M({project:gu}).strict();M({sessionId:S().min(1),force:Se().optional()}).strict();M({project:gu}).strict();const $6=["installing","failed"];M({sessionId:S().min(1),stage:We($6),reason:S().optional()}).strict();M({ok:J(!0)}).strict();M({sessionId:S().min(1)}).strict();M({ok:J(!0)}).strict();M({type:J("appBuilder:project-updated"),project:Mx,stage:wT,stageReason:S().optional()}).strict();M({name:S().regex(ll)});M({jobId:S().min(1),status:We(["started","already-publishing"])}).strict();M({name:S().regex(ll)});M({ok:J(!0)}).strict();M({type:J("appBuilder:publish-progress"),name:S().regex(ll),jobId:S().min(1),stage:We(["build","deploy","verify"]),status:We(["started","completed"])}).strict();M({type:J("appBuilder:publish-failed"),name:S().regex(ll),jobId:S().min(1),stage:We(["build","deploy","verify","unknown"]),errorSummary:S()}).strict();M({});M({method:S().min(1).optional()});const F6=["allowed","conditional","denied"],H6=We(F6),U6=M({name:S().min(1),status:H6,description:S().min(1),args:xe(M({name:S(),required:Se()})).nullable(),argsSchema:sl(oo()).optional(),reason:S().optional()});M({type:J("meta:methods"),methods:xe(U6)});const gw=1,W6=["daemon","main","renderer"],V6=We(W6),q6=["debug","info","warn","error"],K6=We(q6);M({ts:K().int(),source:V6,level:K6,msg:S(),ownerPrincipalId:S(),deviceId:S(),appVersion:S(),daemonVersion:S().optional(),os:S(),meta_json:S().optional(),sessionId:S().optional()});M({v:J(1),visitorId:S().min(1),displayName:S(),provider:S(),iat:K(),exp:K()});const G6=M({visitorId:S(),displayName:S(),avatarUrl:S().optional(),provider:S(),firstSeen:K(),lastSeen:K()});M({visitors:xe(G6)});const Y6=/<system-reminder>此消息来自飞书群成员 (.+?)<\/system-reminder>\s*$/,X6=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let pi=null;function Q6(){if(pi!==null)return pi;if(typeof window>"u")return pi=!1,!1;if(X6.has(window.location.hostname)||window.location.protocol==="file:")return pi=!0,!0;if(new URLSearchParams(window.location.search).get("debug")==="1"){pi=!0;try{sessionStorage.setItem("debug","1")}catch{}}else try{pi=sessionStorage.getItem("debug")==="1"}catch{pi=!1}return pi}function Ae(e,...t){Q6()&&console.log(`[${e}][${new Date().toISOString()}]`,...t)}function ld(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const Z6=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},J6=new Set(["auth:ok","pong","error"]),vw=new Set(mT.filter(e=>!J6.has(e)));let eB=0;const _w=()=>`r${++eB}`;function tB(e){let t=e.url,n=e.authToken,r=e.selfIdentity;const i=e.clientInfo,s=e.requestTimeoutMs??3e4,o=e.pingIntervalMs??3e4,a=e.watchdogMs??6e4,l=e.authTimeoutMs??1e4,c=e.backoffMs??Z6;let u=null,d=!1,f=0,p=null,m=null,v=null,b=null,_=!1,x="disconnected";const y=new Map,w=new Map;let k=null;const C=(O,E)=>{var H;O==="ready"&&(k=E),(H=w.get(O))==null||H.forEach(V=>{try{V(E)}catch{}})},N=O=>{x!==O&&(x=O,C("status",O))},T=(O,E)=>{const H=w.get(O)??new Set;if(H.add(E),w.set(O,H),O==="ready"&&k!==null)try{E(k)}catch{}return()=>H.delete(E)},B=()=>{m&&(clearInterval(m),m=null),v&&(clearTimeout(v),v=null),b&&(clearTimeout(b),b=null)},P=()=>{v&&clearTimeout(v),v=setTimeout(()=>{try{u==null||u.close(4e3,"pong watchdog")}catch{}},a)},A=()=>{m&&clearInterval(m),m=setInterval(()=>{(u==null?void 0:u.readyState)===1&&u.send(JSON.stringify({type:"ping",requestId:_w()}))},o),P()},I=O=>{for(const[,E]of y)clearTimeout(E.timer),E.reject(new Error(O));y.clear()},R=[],j=()=>{if(R.length===0)return;const O=R.splice(0);for(const E of O)(u==null?void 0:u.readyState)===1&&!_?E.doSend():(clearTimeout(E.timer),E.reject(new Error("NOT_CONNECTED")))},z=O=>{if(R.length===0)return;const E=R.splice(0);for(const H of E)clearTimeout(H.timer),H.reject(new Error(O))},$=()=>{if(d)return;const O=c(f);O<0||(C("daemon:reconnecting",{attempt:f+1,nextDelayMs:O,scheduledAt:Date.now()}),p&&clearTimeout(p),p=setTimeout(()=>{f+=1,D()},O))},F=O=>{P();const E=String(O.type??"");if(E==="auth:ok"){Ae("daemon-client","auth:ok received → connected",{url:t}),b&&(clearTimeout(b),b=null),_=!1,f=0,N("connected"),C("daemon:connected",{url:t}),A(),j();return}if(E==="pong")return;if(E==="ready"){const V=Number(O.protocolVersion??-1);V!==gw&&C("daemon:version-mismatch",{daemonProtocol:V,supportedProtocol:gw}),C("ready",O);return}const H=O.requestId;if(typeof H=="string"&&y.has(H)){const V=y.get(H);if(y.delete(H),clearTimeout(V.timer),E==="error"){const L=String(O.code??"ERR"),ne=String(O.message??"unknown");V.reject(new Error(`${L}: ${ne}`))}else vw.has(E)&&C(E,O),V.resolve(O);return}vw.has(E)&&C(E,O)},D=()=>{p&&(clearTimeout(p),p=null),Ae("daemon-client","connect →",{url:t,token:ld(n),attempt:f}),N("connecting");let O;try{O=new WebSocket(t)}catch(E){N("disconnected"),C("daemon:disconnected",{reason:(E==null?void 0:E.message)??"ws constructor failed"}),$();return}u=O,_=!!n,O.onopen=()=>{if(O!==u){Ae("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){Ae("daemon-client","onopen → send auth frame",{token:ld(n)});const E={type:"auth",token:n};r!=null&&r.principalId&&(E.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(E.selfDisplayName=r.displayName),i&&(E.clientInfo=i),O.send(JSON.stringify(E)),b=setTimeout(()=>{try{O.close(4001,"auth handshake timeout")}catch{}},l)}else Ae("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),f=0,N("connected"),C("daemon:connected",{url:t}),A(),j()},O.onclose=E=>{if(O!==u){Ae("daemon-client","onclose → stale, ignore",{code:E.code,reason:E.reason});return}const H=E.reason||(E.code===1008?"auth failed":`close ${E.code}`);if(Ae("daemon-client","onclose →",{code:E.code,reason:H,awaitingAuth:_,manualStop:d}),B(),I(`connection closed: ${H}`),u=null,E.code===4401?N("revoked"):N("disconnected"),C("daemon:disconnected",{reason:H}),E.code===1008||E.code===4401){z(`connection closed: ${H}`);return}d?z(`connection closed: ${H}`):$()},O.onerror=()=>{},O.onmessage=E=>{if(O!==u)return;let H;try{H=JSON.parse(String(E.data))}catch{return}F(H)}};return{start(){d=!1,f=0,D()},stop(){d=!0,p&&(clearTimeout(p),p=null),B();try{u==null||u.close(1e3,"shutdown")}catch{}u=null,I("shutdown"),z("shutdown"),N("disconnected")},switchProfile(O){Ae("daemon-client","switchProfile →",{url:O.url,token:ld(O.authToken)},"prev:",{url:t,token:ld(n)}),t=O.url,n=O.authToken,O.selfIdentity!==void 0&&(r=O.selfIdentity),f=0,d=!0,p&&(clearTimeout(p),p=null),B(),I("switch profile"),z("switch profile");try{u==null||u.close(1e3,"switch profile")}catch{}u=null,d=!1,D()},request(O,E){return new Promise((H,V)=>{const L=_w(),ne=setTimeout(()=>{y.delete(L);const G=R.findIndex(ye=>ye.timer===ne);G>=0&&R.splice(G,1),V(new Error(`request timeout: ${O}`))},s),ae=()=>{y.set(L,{resolve:G=>H(G),reject:V,timer:ne}),u.send(JSON.stringify({...E,type:O,requestId:L}))};(u==null?void 0:u.readyState)===1&&!_?ae():d||u==null&&p==null?(clearTimeout(ne),V(new Error("NOT_CONNECTED"))):R.push({doSend:ae,reject:V,timer:ne})})},on:T,get isOpen(){return(u==null?void 0:u.readyState)===1&&!_},get url(){return t},getStatus(){return x}}}function nB(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}function rB(e){return e?{id:e.id,mode:e.mode,url:e.url,token:nB(e.token),name:e.name}:null}function cd(e){return e?Array.isArray(e)?e.map(rB):{_notArray:typeof e,_value:e}:null}function xw(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const iB="ws://127.0.0.1:18790",yw="daemon:profiles",bw="daemon:active-profile-id";function sB(){return Math.random().toString(36).slice(2,10)}function oB(e){const t=e.trim(),n=t.indexOf("#");if(n<0)return{url:t};const r=t.slice(0,n),i=new URLSearchParams(t.slice(n+1)).get("token")??void 0;return{url:r,token:i}}function aB(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&(t.mode==="localhost"||t.mode==="remote")&&typeof t.url=="string"&&(t.token===void 0||typeof t.token=="string")}function ST(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{Ae("profile-store","persist →",cd(t.profiles),"active:",t.activeId),await e.kv.set(yw,t.profiles),await e.kv.set(bw,t.activeId)},a=async()=>{if(!n){if(r){await r;return}r=(async()=>{var l;try{let c=null;try{const d=await e.kv.get(yw);c=xw(d)}catch{c=null}let u=null;try{const d=await e.kv.get(bw);u=xw(d)??null}catch{u=null}if(Ae("profile-store","ensureLoaded read kv →","profiles:",cd(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(aB),f=u&&d.some(p=>p.id===u)?u:((l=d[0])==null?void 0:l.id)??null;t={profiles:d,activeId:f},n=!0,Ae("profile-store","ensureLoaded → use kv profiles",cd(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:iB}],activeId:"default"},Ae("profile-store","ensureLoaded → fallback synthesized default (NO token)",cd(t.profiles)),n=!0,await o()}finally{r=null}})(),await r}};return{async load(){return await a(),s(),t},async snapshot(){return await a(),t},async upsert(l){var b;await a();let c=l.url,u=l.token;if(c&&c.includes("#")){const _=oB(c);c=_.url,!u&&_.token&&(u=_.token)}const d=l.id?t.profiles.find(_=>_.id===l.id):void 0,f=u!=null&&u.trim()?u.trim():d==null?void 0:d.token;if(l.mode==="remote"&&!f)throw new Error("remote mode requires token");const p=l.id??sB(),m={id:p,name:((b=l.name)==null?void 0:b.trim())||(d==null?void 0:d.name)||(l.mode==="remote"?"远程":"本机"),mode:l.mode,url:c.trim(),token:f};return t={profiles:[...t.profiles.filter(_=>_.id!==p),m],activeId:p},await o(),s(),m},async delete(l){var d;await a();const c=t.profiles.filter(f=>f.id!==l);let u=t.activeId;u===l&&(u=((d=c[0])==null?void 0:d.id)??null),t={profiles:c,activeId:u},await o(),s()},async activate(l){await a(),t.profiles.some(c=>c.id===l)&&(t={...t,activeId:l},await o(),s())},subscribe(l){return i.add(l),()=>i.delete(l)},getActive(){return n?t.profiles.find(l=>l.id===t.activeId)??null:null}}}const ww="clawd.client-instance-id";let lB={name:"clawd-web",version:"unknown"};function cB(){let e=null;try{e=localStorage.getItem(ww),e||(e=crypto.randomUUID(),localStorage.setItem(ww,e))}catch{e=e??crypto.randomUUID()}return{...lB,instanceId:e}}function Sw(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const kT=g.createContext(null);function uB({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=ST(e),o=await s.load(),a=o.profiles.find(c=>c.id===o.activeId)??o.profiles[0];if(!a)throw new Error("DaemonProvider: profile store has no profiles after load");return Ae("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Sw(a.token)}),{client:tB({url:a.url,authToken:a.token,clientInfo:cB()}),store:s}},[e]);return g.useEffect(()=>{let s=!0,o=null,a=null;return i().then(l=>{s&&(l.client.start(),o=l,r(l),a=l.store.subscribe(()=>{const c=l.store.getActive();if(!c){Ae("daemon-context","subscribe → no active profile, skip switchProfile");return}Ae("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Sw(c.token)}),l.client.switchProfile({url:c.url,authToken:c.token})}))}),()=>{s=!1,a==null||a(),o==null||o.client.stop()}},[i]),n?h.jsx(kT.Provider,{value:n,children:t}):null}function ci(){const e=g.useContext(kT);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function dB(){const e=ci(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i.mode,o=s==="tui"?"tui":"sdk";Ae("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}function hB(){const e=ci(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i;s.version!==void 0&&n(s.principalKind==="guest"?"guest":"owner")}),[e]),t}const CT=g.createContext(null);function fB({cache:e,children:t}){return g.createElement(CT.Provider,{value:e},t)}function Io(){const e=g.useContext(CT);if(!e)throw new Error("useCache must be used inside <CacheProvider>");return e}function si(e){const t=Io(),n=g.useCallback(i=>t.observe(e,()=>i()),[t,e]),r=g.useCallback(()=>t.read(e),[t,e]);return g.useSyncExternalStore(n,r,r)}const ET={actionsLevel:"none",httpBaseUrl:null,httpToken:null},NT=g.createContext(ET);function Zf(){return g.useContext(NT)}function pB(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:ET}function mB(){const e=si("daemon-info");return g.useMemo(()=>pB(e),[e])}function gB({children:e}){const t=mB();return Ze.createElement(NT.Provider,{value:t},e)}function vB(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function _B(e){const t=new Map;return{observe(n,r){let i=t.get(n);i||(i={data:void 0,hasData:!1,listeners:new Set},t.set(n,i));const s=l=>r(l);i.listeners.add(s);const o=i.listeners.size===1;s(i.hasData?i.data:void 0),o&&e.onFirstObserver(n);let a=!1;return()=>{if(a)return;a=!0;const l=t.get(n);l&&(l.listeners.delete(s),l.listeners.size===0&&(t.delete(n),e.onLastObserver(n)))}},read(n){const r=t.get(n);return r!=null&&r.hasData?r.data:void 0},setData(n,r){const i=t.get(n);if(!i)return;const s=i.hasData?i.data:void 0,o=r(s);i.data=o,i.hasData=!0;for(const a of i.listeners)a(o)}}}function xB(){const e=[],t=new Map,n=r=>{for(const i of e)if(i.pattern.test(r))return i.source;return null};return{register(r,i){e.push({pattern:r,source:i})},activate(r){if(t.has(r))return;const i=n(r);if(!i)throw new Error(`no source registered for key: ${r}`);t.set(r,i.start(r))},deactivate(r){const i=t.get(r);i&&(t.delete(r),i())}}}function yB(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of mT)n.push(e.on(r,i=>t(r,i)));return()=>{for(const r of n)r()}},onConnect(t){return e.on("daemon:connected",()=>t())},get isConnected(){return e.isOpen}}}function TT(e){const t=(e??"claude")==="claude";return{rewind:t,subagents:t,tui:t,observe:t,fileSharing:t,fork:t}}const bB=e=>({tool:e,models:[{id:"",label:"未指定",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"未指定"}],configSchema:[],features:TT(e)});function wB(e,t){return{start(n){const r=n.replace(/^capabilities\//,"");let i=!1;const s=async()=>{try{const a=await e.request("capabilities:get",{tool:r});if(i)return;t(n,()=>a)}catch{if(i)return;t(n,()=>bB(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function SB(e,t){return{start(n){let r=!1;const i=async()=>{try{const a=await e.request("session:list",void 0);if(r)return;t(n,()=>a.sessions??[])}catch{}},s=e.onFrame((a,l)=>{if(a==="session:info"){const c=l;if(c.chatId!==void 0)return;t(n,u=>[c,...(u??[]).filter(d=>d.sessionId!==c.sessionId)])}else if(a==="session:deleted"){const c=l;t(n,u=>(u??[]).filter(d=>d.sessionId!==c.sessionId))}}),o=e.onConnect(()=>{i()});return i(),()=>{r=!0,s(),o()}}}}const Vc={sessionId:null,events:[],lastSeq:-1,pendingPermissions:[],status:"idle",pendingQuestions:{}};function Sm(e,t){const n=t;if(n.kind==="permission_request"&&typeof n.requestId=="string"){if(e.some(i=>i.requestId===n.requestId))return e;const r={requestId:n.requestId,tool:typeof n.tool=="string"?n.tool:"",input:n.input,...typeof n.toolUseId=="string"&&n.toolUseId?{toolUseId:n.toolUseId}:{}};return[...e,r]}if(n.kind==="tool_result"&&typeof n.toolUseId=="string"&&n.toolUseId){const r=e.findIndex(i=>i.toolUseId===n.toolUseId);if(r>=0)return e.filter((i,s)=>s!==r)}return e}function PT(e,t,n){const r=n===void 0?e.sessionId:n;switch(t.type){case"session:change":return{...Vc,sessionId:t.sessionId};case"session:event":{if(!r||t.sessionId!==r)return e;const i=typeof t.event.seq=="number"?t.event.seq:-1,s=[...e.events,t.event],o=i>e.lastSeq?i:e.lastSeq,a=Sm(e.pendingPermissions,t.event);return{...e,events:s,lastSeq:o,pendingPermissions:a}}case"session:status":return!r||t.sessionId!==r?e:{...e,status:t.status};case"session:events":{if(!r||t.sessionId!==r)return e;const i=t.events.map(o=>o.event),s=i.reduce((o,a)=>Sm(o,a),[]);return{...e,sessionId:t.sessionId,events:i,lastSeq:t.latestSeq,pendingPermissions:s}}case"session:events:append":{if(!r||t.sessionId!==r)return e;const i=new Set;for(const c of e.events){const u=c.seq;typeof u=="number"&&i.add(u)}const s=[];for(const c of t.events)typeof c.seq=="number"&&(i.has(c.seq)||s.push(c.event));const o=t.latestSeq>e.lastSeq?t.latestSeq:e.lastSeq;if(s.length===0)return o===e.lastSeq?e:{...e,lastSeq:o};const a=[...e.events,...s].sort((c,u)=>{const d=c.seq??-1,f=u.seq??-1;return d-f}),l=s.reduce((c,u)=>Sm(c,u),e.pendingPermissions);return{...e,events:a,lastSeq:o,pendingPermissions:l}}case"permission:request":{if(!r||t.sessionId!==r||e.pendingPermissions.some(s=>s.requestId===t.requestId))return e;const i={requestId:t.requestId,tool:t.tool,input:t.input,...t.toolUseId?{toolUseId:t.toolUseId}:{}};return{...e,pendingPermissions:[...e.pendingPermissions,i]}}case"permission:clear":{if(!r||r!==t.sessionId)return e;const i=t.requestId,s=e.pendingPermissions.findIndex(c=>c.requestId===i),o=s>=0?e.pendingPermissions.filter((c,u)=>u!==s):e.pendingPermissions;if(e.events.length===0)return o===e.pendingPermissions?e:{...e,pendingPermissions:o};const a=e.events.length-1,l=e.events[a];return l.kind==="permission_request"&&l.requestId===i?{...e,pendingPermissions:o,events:e.events.slice(0,a)}:o===e.pendingPermissions?e:{...e,pendingPermissions:o}}case"session:question":return!r||t.sessionId!==r?e:{...e,pendingQuestions:{...e.pendingQuestions,[t.toolUseId]:{toolUseId:t.toolUseId,requestId:t.requestId,questions:t.questions}}};case"session:question:clear":{if(!r||t.sessionId!==r||!(t.toolUseId in e.pendingQuestions))return e;const{[t.toolUseId]:i,...s}=e.pendingQuestions;return{...e,pendingQuestions:s}}case"session:question:submitted":{if(!r||t.sessionId!==r)return e;const i=e.pendingQuestions[t.toolUseId];return i?{...e,pendingQuestions:{...e.pendingQuestions,[t.toolUseId]:{...i,submittedAnswers:t.answers}}}:e}case"session:rewound":return!r||t.sessionId!==r?e:{...e,pendingPermissions:[],status:"idle"};case"ready":{if(!r)return e;const i=t.runningSessions.find(o=>o.sessionId===r);if(i!=null&&i.freshSpawn)return{...Vc,sessionId:r};const s=(i==null?void 0:i.status)??"idle";return s===e.status?e:{...e,status:s}}case"daemon:disconnected":return{...e,pendingPermissions:[]};default:return e}}const kB="session/";function CB(e){return{sid:e.slice(kB.length)}}const EB=new Set(gT);function IT(e){return EB.has(e)}function kw(e){return IT(e)?e:"idle"}function NB(e,t){return{start(n){const{sid:r}=CB(n);let i=!1,s=-1;const o=f=>{t(n,p=>PT(p??Vc,f,r))},a=async f=>{const p=f==="baseline"?-1:s;try{const m=await e.request("session:events",{sessionId:r,afterSeq:p});if(i)return;const v=m.events??[],b=m.latestSeq??-1;if(f==="baseline")o({type:"session:events",sessionId:r,events:v,latestSeq:b}),s=b;else{const _=m.bufferStartSeq??0,x=b<p||_>p+1;o({type:x?"session:events":"session:events:append",sessionId:r,events:v,latestSeq:b}),s=Math.max(s,b)}}catch{}},l=async()=>{try{const f=await e.request("info");if(i)return;o({type:"ready",runningSessions:(f.runningSessions??[]).map(p=>({sessionId:p.sessionId,freshSpawn:p.freshSpawn,status:kw(p.status)}))})}catch{}},c=async()=>{try{await e.request("session:subscribe",{sessionId:r})}catch{}i||(await a(s<0?"baseline":"delta"),!i&&await l())},u=e.onFrame((f,p)=>{if(!i)if(f==="session:event"){const m=p;if(m.sessionId!==r)return;const v=m.event.seq;Ae("session-events","push session:event",{sid:r,kind:m.event.kind,seq:v,lastSeqBefore:s}),o({type:"session:event",sessionId:m.sessionId,event:m.event}),typeof v=="number"&&v>s&&(s=v)}else if(f==="session:status"){const m=p;if(m.sessionId!==r)return;if(!IT(m.status)){Ae("session-events","push session:status drop",{sid:r,status:m.status});return}Ae("session-events","push session:status",{sid:r,status:m.status}),o({type:"session:status",sessionId:m.sessionId,status:m.status})}else if(f==="session:cleared"){if(p.sessionId!==r)return;Ae("session-events","push session:cleared",{sid:r}),o({type:"session:change",sessionId:r}),s=-1}else if(f==="permission:request"){const m=p;if(m.sessionId!==r)return;o({type:"permission:request",sessionId:m.sessionId,requestId:m.requestId,tool:m.tool,input:m.input,...typeof m.toolUseId=="string"&&m.toolUseId?{toolUseId:m.toolUseId}:{}})}else if(f==="session:question"){const m=p;if(m.sessionId!==r)return;o({type:"session:question",sessionId:m.sessionId,toolUseId:m.toolUseId,requestId:m.requestId,questions:m.questions})}else if(f==="session:question:cleared"){const m=p;if(m.sessionId!==r)return;m.answers&&Object.keys(m.answers).length>0?o({type:"session:question:submitted",sessionId:m.sessionId,toolUseId:m.toolUseId,answers:m.answers}):o({type:"session:question:clear",sessionId:m.sessionId,toolUseId:m.toolUseId})}else if(f==="session:rewound"){const m=p;if(m.sessionId!==r)return;o({type:"session:rewound",sessionId:m.sessionId,userMessageId:m.userMessageId})}else f==="ready"&&o({type:"ready",runningSessions:(p.runningSessions??[]).map(v=>({sessionId:v.sessionId,freshSpawn:v.freshSpawn,status:kw(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const TB=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function PB(e,t){return{start(n){let r=!1;const i=async()=>{try{const a=await e.request("info",void 0);if(r)return;t(n,()=>a)}catch{}},s=e.onConnect(()=>{i()}),o=e.onFrame(a=>{TB.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function IB(){return{start(){return()=>{}}}}function RB(e,t){return{start(n){let r=!1;const i=async()=>{try{const o=await e.request("persona:list",{});if(r)return;t(n,()=>o.personas??[])}catch{}},s=e.onConnect(()=>{i()});return i(),()=>{r=!0,s()}}}}function MB(e){const t=yB(e),n=xB();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,wB(t,i)),n.register(/^sessions$/,SB(t,i)),n.register(/^session\//,NB(t,i)),n.register(/^personas$/,RB(t,i)),n.register(/^persona-detail\//,IB()),n.register(/^daemon-info$/,PB(t,i));const s=_B({onFirstObserver:o=>{o&&n.activate(o)},onLastObserver:o=>{o&&n.deactivate(o)}});return r=s,{cache:s,channel:t}}class Ax{constructor(t){this.client=t}info(){return this.client.request("info")}attachmentSignUrl(t){return this.client.request("attachment.signUrl",t)}attachmentGroupAdd(t,n,r){return this.client.request("attachment.groupAdd",{sessionId:t,relPath:n,...r?{label:r}:{}})}attachmentGroupRemove(t,n){return this.client.request("attachment.groupRemove",{sessionId:t,relPath:n})}attachmentGroupList(t){return this.client.request("attachment.groupList",{sessionId:t})}sessionCreate(t){return this.client.request("session:create",t)}appBuilderListProjects(){return this.client.request("appBuilder:listProjects",{})}appBuilderGetProject(t){return this.client.request("appBuilder:getProject",{sessionId:t})}appBuilderUpdateProjectPort(t,n){return this.client.request("appBuilder:updateProjectPort",{name:t,newPort:n})}appBuilderStartDevServer(t,n){return this.client.request("appBuilder:startDevServer",{sessionId:t,...n!=null&&n.force?{force:!0}:{}})}appBuilderStopDevServer(t){return this.client.request("appBuilder:stopDevServer",{sessionId:t})}appBuilderPublish(t){return this.client.request("appBuilder:publish",{name:t})}appBuilderDismissPublishJob(t){return this.client.request("appBuilder:dismissPublishJob",{name:t})}sessionList(){return this.client.request("session:list")}sessionGet(t){return this.client.request("session:get",{sessionId:t})}sessionUpdate(t,n){return this.client.request("session:update",{sessionId:t,patch:n})}sessionDelete(t){return this.client.request("session:delete",{sessionId:t})}sessionSend(t,n){return this.client.request("session:send",{sessionId:t,text:n})}sessionStop(t){return this.client.request("session:stop",{sessionId:t})}sessionInterrupt(t){return this.client.request("session:interrupt",{sessionId:t})}sessionRewind(t){return this.client.request("session:rewind",t)}sessionRewindableMessageIds(t){return this.client.request("session:rewindable-message-ids",{sessionId:t})}sessionRewindDiff(t){return this.client.request("session:rewind-diff",t)}sessionNew(t){return this.client.request("session:new",{sessionId:t})}sessionFork(t){return this.client.request("session:fork",t)}sessionResume(t,n){return this.client.request("session:resume",{sessionId:t,toolSessionId:n})}sessionObserve(t){return this.client.request("session:observe",t)}sessionEvents(t,n){return this.client.request("session:events",{sessionId:t,afterSeq:n})}sessionSubscribe(t){return this.client.request("session:subscribe",{sessionId:t})}sessionUnsubscribe(t){return this.client.request("session:unsubscribe",{sessionId:t})}pinSession(t,n){return this.client.request("session:pin",{sessionId:t,pinned:n})}archiveSession(t,n){return this.client.request("session:archive",{sessionId:t,archived:n})}markSessionRead(t){return this.client.request("session:markRead",{sessionId:t})}reorderPins(t){return this.client.request("session:reorderPins",{orderedIds:t})}peerSessionUpsert(t){return this.client.request("peerSession:upsert",t)}peerSessionRemove(t){return this.client.request("peerSession:remove",{sessionId:t})}permissionRespond(t){return this.client.request("permission:respond",t)}answerQuestion(t){return this.client.request("session:answerQuestion",t)}cancelQuestion(t){return this.client.request("session:cancelQuestion",t)}historyProjects(){return this.client.request("history:projects")}historyList(t){return this.client.request("history:list",{projectPath:t})}historyRead(t){return this.client.request("history:read",t)}historySubagents(t){return this.client.request("history:subagents",t)}historySubagentRead(t){return this.client.request("history:subagent-read",t)}listRecentDirs(){return this.client.request("history:recentDirs",{})}getGitRoot(t){return this.client.request("git:root",{cwd:t})}getGitBranch(t){return this.client.request("git:branch",{cwd:t})}listGitBranches(t){return this.client.request("git:branches",{cwd:t})}personaCreate(t){return this.client.request("persona:create",t)}personaList(){return this.client.request("persona:list",{})}personaGet(t){return this.client.request("persona:get",{personaId:t})}personaUpdate(t,n){return this.client.request("persona:update",{personaId:t,patch:n})}personaDelete(t){return this.client.request("persona:delete",{personaId:t})}larkBotBindManual(t,n,r){return this.client.request("larkBot:bindManual",{personaId:t,appId:n,appSecret:r})}larkBotUnbind(t){return this.client.request("larkBot:unbind",{personaId:t})}larkBotStatus(t){return this.client.request("larkBot:status",{personaId:t})}toolsProbe(){return this.client.request("tools:probe",{})}sessionExternalScan(){return this.client.request("session:externalScan",{})}sessionImportExternal(t){return this.client.request("session:importExternal",t)}onboardingComplete(){return this.client.request("onboarding:complete",{})}onboardingIosInterest(){return this.client.request("onboarding:iosInterest",{})}visitorList(){return this.client.request("visitor:list",{})}workspaceList(t={}){return this.client.request("workspace:list",t)}workspaceRead(t){return this.client.request("workspace:read",t)}skillsList(t,n){return this.client.request("skills:list",{cwd:t,...n?{tool:n}:{}})}agentsList(t,n){return this.client.request("agents:list",{cwd:t,...n?{tool:n}:{}})}capabilitiesGet(t="claude"){return this.client.request("capabilities:get",{tool:t})}shiftList(){return this.client.request("shift:list")}githubStatus(){return this.client.request("github:status")}githubPrList(t){return this.client.request("github:prList",{role:t})}githubPrDetail(t){return this.client.request("github:prDetail",{...t})}githubPrMerge(t){return this.client.request("github:prMerge",{...t})}githubPrComment(t){return this.client.request("github:prComment",{...t})}githubPrSetReady(t){return this.client.request("github:prSetReady",{...t})}githubCollaborators(t){return this.client.request("github:collaborators",{...t})}githubPrRequestReviewers(t){return this.client.request("github:prRequestReviewers",{...t})}}function AB(e){const[t,n]=g.useState(e.isOpen?{kind:"connected",url:""}:{kind:"connecting"});return g.useEffect(()=>{const r=e.on("ready",l=>{const c=l;n(u=>({kind:"connected",url:u.kind==="connected"?u.url:"",mode:u.kind==="connected"?u.mode:void 0,daemonVersion:c.version,protocolVersion:c.protocolVersion,daemonSource:c.daemonSource,globalCliVersion:c.globalCliVersion,onboardingCompletedAt:c.onboardingCompletedAt}))}),i=e.on("daemon:connected",l=>{const c=l;n(u=>({kind:"connected",url:c.url,mode:c.mode,daemonVersion:u.kind==="connected"?u.daemonVersion:void 0,protocolVersion:u.kind==="connected"?u.protocolVersion:void 0,daemonSource:u.kind==="connected"?u.daemonSource:void 0,globalCliVersion:u.kind==="connected"?u.globalCliVersion:void 0,onboardingCompletedAt:u.kind==="connected"?u.onboardingCompletedAt:void 0}))}),s=e.on("daemon:disconnected",l=>{const c=(l==null?void 0:l.reason)??"";/auth failed|auth timeout|auth required|auth handshake timeout/i.test(c)?n({kind:"auth-failed",reason:c}):n({kind:"disconnected",reason:c})}),o=e.on("daemon:reconnecting",l=>{const c=l;n({kind:"reconnecting",attempt:c.attempt,nextDelayMs:c.nextDelayMs,scheduledAt:c.scheduledAt??Date.now()})}),a=e.on("daemon:version-mismatch",l=>{const c=l;n({kind:"version-mismatch",daemonProtocol:c.daemonProtocol,supportedProtocol:c.supportedProtocol})});return()=>{r(),i(),s(),o(),a()}},[e]),t}function LB(e){const t=Io(),n=si(e.kind==="connected"?"sessions":""),r=g.useCallback(async()=>{t.setData("sessions",i=>i??[])},[t]);return{sessions:n??[],loading:!1,loaded:n!==void 0,error:null,refresh:r}}function cl(){const e=ci();return g.useMemo(()=>new Ax(e),[e])}function RT(e){return{personaId:e.personaId,label:e.label,model:e.model,effort:e.effort,tool:e.tool,public:e.public,createdAt:e.createdAt,updatedAt:e.updatedAt}}function MT(){const e=Io(),t=cl(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>RT(s)),[n]),i=g.useCallback(async()=>{const s=await t.personaList();e.setData("personas",()=>s.personas??[])},[t,e]);return{personas:r,raw:n,loaded:si("personas")!==void 0,refresh:i}}function AT(e){const{raw:t}=MT(),n=Io(),r=cl(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?RT(i):null,o=g.useCallback(async()=>{if(!e)return;const a=await r.personaList();n.setData("personas",()=>a.personas??[])},[e,r,n]);return{persona:s,raw:i,loaded:!!s,refresh:o}}function jB(e){const t=cl(),n=Io(),r=e?`persona-detail/${e}`:"",i=si(r),s=g.useCallback(async()=>{const o={personality:"",skills:[],plugins:[],sandboxSettings:null};if(!e)return o;const a=await t.personaGet(e);let l;if("persona"in a&&a.persona===null)l=o;else{const c=a;l={personality:c.personality??"",skills:c.skills??[],plugins:c.plugins??[],sandboxSettings:c.sandboxSettings??null}}return n.setData(r,()=>l),l},[t,n,e,r]);return g.useEffect(()=>{e&&s()},[e,s]),{personality:(i==null?void 0:i.personality)??"",skills:(i==null?void 0:i.skills)??[],plugins:(i==null?void 0:i.plugins)??[],sandboxSettings:(i==null?void 0:i.sandboxSettings)??null,loaded:i!==void 0,refresh:s}}function LT(){const e=Io(),t=cl();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function DB(){const e=cl(),t=LT();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function OB(){const e=cl(),t=LT();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Cw="clawd:sidebar:tree-collapsed";function BB(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function zB(e){const t=BB(e);if(!Array.isArray(t))return new Set;const n=new Set;for(const r of t)typeof r=="string"&&n.add(r);return n}function $B(){const e=vx(),[t,n]=g.useState(()=>new Set),r=g.useRef(t);r.current=t,g.useEffect(()=>{let l=!1;return(async()=>{try{const c=await e.kv.get(Cw);if(l)return;n(zB(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Cw,[...l]).catch(()=>{})},[e]),s=g.useCallback(l=>r.current.has(l),[]),o=g.useCallback(l=>{n(c=>{const u=new Set(c);return u.has(l)?u.delete(l):u.add(l),i(u),u})},[i]),a=g.useCallback(l=>{n(c=>{let u=!1;const d=new Set;for(const f of c)l.has(f)?d.add(f):u=!0;return u?(i(d),d):c})},[i]);return{isCollapsed:s,toggle:o,prune:a}}const Lx=g.createContext(null);function FB(){const e=g.useContext(Lx);if(!e)throw new Error("SessionTreeCollapsedContext.Provider missing — wrap SessionTreeNode tree with <SessionTreeCollapsedContext.Provider value={useSessionTreeCollapsed()}>");return e}/**
95
+ `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var Qb=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const kD={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},CD={motionBase:!0,motionUnit:!0},ED={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},qN=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=Qb(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=VN(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=Qb(l,["theme"]);let d=u;c&&(d=qN(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function KN(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=Ze.useContext(UN),s=`${wD}-${t||""}`,o=n||HN,[a,l,c]=hj(o,[Fc,e],{salt:s,override:r,getComputedToken:qN,formatToken:VN,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:kD,ignore:CD,preserve:ED}});return[o,c,t?l:"",a,i]}const ND=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),TD=e=>({[`.${e}`]:Object.assign(Object.assign({},ND()),{[`.${e} .${e}-icon`]:{display:"block"}})}),PD=(e,t)=>{const[n,r]=KN();return $j({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>TD(e))},ID=Object.assign({},Qa),{useId:Zb}=ID,RD=()=>"",MD=typeof Zb>"u"?RD:Zb;function AD(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},Oh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:Oh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=MD();return dN(()=>{var a,l;if(!e)return t;const c=Object.assign({},s.components);Object.keys(e.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),e.components[f])});const u=`css-var-${o.replace(/:/g,"")}`,d=((a=i.cssVar)!==null&&a!==void 0?a:s.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof s.cssVar=="object"?s.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((l=i.cssVar)===null||l===void 0?void 0:l.key)||u});return Object.assign(Object.assign(Object.assign({},s),i),{token:Object.assign(Object.assign({},s.token),i.token),components:c,cssVar:d})},[i,s],(a,l)=>a.some((c,u)=>{const d=l[u];return!$L(c,d,!0)}))}var LD=["children"],GN=g.createContext({});function jD(e){var t=e.children,n=Cv(e,LD);return g.createElement(GN.Provider,{value:n},t)}var DD=function(e){fN(n,e);var t=mN(n);function n(){return tl(this,n),t.apply(this,arguments)}return nl(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function OD(e){var t=g.useReducer(function(a){return a+1},0),n=Je(t,2),r=n[1],i=g.useRef(e),s=Kv(function(){return i.current}),o=Kv(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var ts="none",rd="appear",id="enter",sd="leave",Jb="none",Nr="prepare",fa="start",pa="active",Nx="end",YN="prepared";function ew(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}function BD(e,t){var n={animationend:ew("Animation","AnimationEnd"),transitionend:ew("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var zD=BD(Bi(),typeof window<"u"?window:{}),XN={};if(Bi()){var $D=document.createElement("div");XN=$D.style}var od={};function QN(e){if(od[e])return od[e];var t=zD[e];if(t)for(var n=Object.keys(t),r=n.length,i=0;i<r;i+=1){var s=n[i];if(Object.prototype.hasOwnProperty.call(t,s)&&s in XN)return od[e]=t[s],od[e]}return""}var ZN=QN("animationend"),JN=QN("transitionend"),eT=!!(ZN&&JN),tw=ZN||"animationend",nw=JN||"transitionend";function rw(e,t){if(!e)return null;if(Ct(e)==="object"){var n=t.replace(/-\w/g,function(r){return r[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}const FD=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(nw,e),i.removeEventListener(tw,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(nw,e),i.addEventListener(tw,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var tT=Bi()?g.useLayoutEffect:g.useEffect;const HD=function(){var e=g.useRef(null);function t(){Sv.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Sv(function(){i<=1?r({isCanceled:function(){return s!==e.current}}):n(r,i-1)});e.current=s}return g.useEffect(function(){return function(){t()}},[]),[n,t]};var UD=[Nr,fa,pa,Nx],WD=[Nr,YN],nT=!1,VD=!0;function rT(e){return e===pa||e===Nx}const qD=function(e,t,n){var r=Gv(Jb),i=Je(r,2),s=i[0],o=i[1],a=HD(),l=Je(a,2),c=l[0],u=l[1];function d(){o(Nr,!0)}var f=t?WD:UD;return tT(function(){if(s!==Jb&&s!==Nx){var p=f.indexOf(s),m=f[p+1],v=n(s);v===nT?o(m,!0):m&&c(function(b){function _(){b.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function KD(e,t,n,r){var i=r.motionEnter,s=i===void 0?!0:i,o=r.motionAppear,a=o===void 0?!0:o,l=r.motionLeave,c=l===void 0?!0:l,u=r.motionDeadline,d=r.motionLeaveImmediately,f=r.onAppearPrepare,p=r.onEnterPrepare,m=r.onLeavePrepare,v=r.onAppearStart,b=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,y=r.onEnterActive,w=r.onLeaveActive,k=r.onAppearEnd,C=r.onEnterEnd,N=r.onLeaveEnd,T=r.onVisibleChanged,B=Gv(),P=Je(B,2),A=P[0],I=P[1],R=OD(ts),j=Je(R,2),z=j[0],$=j[1],F=Gv(null),D=Je(F,2),O=D[0],E=D[1],H=z(),V=g.useRef(!1),L=g.useRef(null);function ne(){return n()}var ae=g.useRef(!1);function G(){$(ts),E(null,!0)}var ye=Kv(function(Qe){var st=z();if(st!==ts){var wt=ne();if(!(Qe&&!Qe.deadline&&Qe.target!==wt)){var pn=ae.current,on;st===rd&&pn?on=k==null?void 0:k(wt,Qe):st===id&&pn?on=C==null?void 0:C(wt,Qe):st===sd&&pn&&(on=N==null?void 0:N(wt,Qe)),pn&&on!==!1&&G()}}}),Fe=FD(ye),ue=Je(Fe,1),Ie=ue[0],Re=function(st){switch(st){case rd:return Ce(Ce(Ce({},Nr,f),fa,v),pa,x);case id:return Ce(Ce(Ce({},Nr,p),fa,b),pa,y);case sd:return Ce(Ce(Ce({},Nr,m),fa,_),pa,w);default:return{}}},Ke=g.useMemo(function(){return Re(H)},[H]),ve=qD(H,!e,function(Qe){if(Qe===Nr){var st=Ke[Nr];return st?st(ne()):nT}if(it in Ke){var wt;E(((wt=Ke[it])===null||wt===void 0?void 0:wt.call(Ke,ne(),null))||null)}return it===pa&&H!==ts&&(Ie(ne()),u>0&&(clearTimeout(L.current),L.current=setTimeout(function(){ye({deadline:!0})},u))),it===YN&&G(),VD}),ze=Je(ve,2),fn=ze[0],it=ze[1],Rt=rT(it);ae.current=Rt;var Gt=g.useRef(null);tT(function(){if(!(V.current&&Gt.current===t)){I(t);var Qe=V.current;V.current=!0;var st;!Qe&&t&&a&&(st=rd),Qe&&t&&s&&(st=id),(Qe&&!t&&c||!Qe&&d&&!t&&c)&&(st=sd);var wt=Re(st);st&&(e||wt[Nr])?($(st),fn()):$(ts),Gt.current=t}},[t]),g.useEffect(function(){(H===rd&&!a||H===id&&!s||H===sd&&!c)&&$(ts)},[a,s,c]),g.useEffect(function(){return function(){V.current=!1,clearTimeout(L.current)}},[]);var Mt=g.useRef(!1);g.useEffect(function(){A&&(Mt.current=!0),A!==void 0&&H===ts&&((Mt.current||A)&&(T==null||T(A)),Mt.current=!0)},[A,H]);var bt=O;return Ke[Nr]&&it===fa&&(bt=$e({transition:"none"},bt)),[H,it,bt,A??t]}function GD(e){var t=e;Ct(e)==="object"&&(t=e.transitionSupport);function n(i,s){return!!(i.motionName&&t&&s!==!1)}var r=g.forwardRef(function(i,s){var o=i.visible,a=o===void 0?!0:o,l=i.removeOnLeave,c=l===void 0?!0:l,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,m=i.eventProps,v=g.useContext(GN),b=v.motion,_=n(i,b),x=g.useRef(),y=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:SL(y.current)}catch{return null}}var k=KD(_,a,w,i),C=Je(k,4),N=C[0],T=C[1],B=C[2],P=C[3],A=g.useRef(P);P&&(A.current=!0);var I=g.useCallback(function(D){x.current=D,NL(s,D)},[s]),R,j=$e($e({},m),{},{visible:a});if(!d)R=null;else if(N===ts)P?R=d($e({},j),I):!c&&A.current&&p?R=d($e($e({},j),{},{className:p}),I):u||!c&&!p?R=d($e($e({},j),{},{style:{display:"none"}}),I):R=null;else{var z;T===Nr?z="prepare":rT(T)?z="active":T===fa&&(z="start");var $=rw(f,"".concat(N,"-").concat(z));R=d($e($e({},j),{},{className:dL(rw(f,N),Ce(Ce({},$,$&&z),f,typeof f=="string")),style:B}),I)}if(g.isValidElement(R)&&TL(R)){var F=PL(R);F||(R=g.cloneElement(R,{ref:I}))}return g.createElement(DD,{ref:y},R)});return r.displayName="CSSMotion",r}const YD=GD(eT);var Yv="add",Xv="keep",Qv="remove",bm="removed";function XD(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},$e($e({},t),{},{key:String(t.key)})}function Zv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(XD)}function QD(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],r=0,i=t.length,s=Zv(e),o=Zv(t);s.forEach(function(c){for(var u=!1,d=r;d<i;d+=1){var f=o[d];if(f.key===c.key){r<d&&(n=n.concat(o.slice(r,d).map(function(p){return $e($e({},p),{},{status:Yv})})),r=d),n.push($e($e({},f),{},{status:Xv})),r+=1,u=!0;break}}u||n.push($e($e({},c),{},{status:Qv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return $e($e({},c),{},{status:Yv})})));var a={};n.forEach(function(c){var u=c.key;a[u]=(a[u]||0)+1});var l=Object.keys(a).filter(function(c){return a[c]>1});return l.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==Qv}),n.forEach(function(u){u.key===c&&(u.status=Xv)})}),n}var ZD=["component","children","onVisibleChanged","onAllRemoved"],JD=["status"],eO=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function tO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:YD,n=function(r){fN(s,r);var i=mN(s);function s(){var o;tl(this,s);for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];return o=i.call.apply(i,[this].concat(l)),Ce(bv(o),"state",{keyEntities:[]}),Ce(bv(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:$e($e({},p),{},{status:bm})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==bm}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return nl(s,[{key:"render",value:function(){var a=this,l=this.state.keyEntities,c=this.props,u=c.component,d=c.children,f=c.onVisibleChanged;c.onAllRemoved;var p=Cv(c,ZD),m=u||g.Fragment,v={};return eO.forEach(function(b){v[b]=p[b],delete p[b]}),delete p.keys,g.createElement(m,p,l.map(function(b,_){var x=b.status,y=Cv(b,JD),w=x===Yv||x===Xv;return g.createElement(t,Lh({},v,{key:y.key,visible:w,eventProps:y,onVisibleChanged:function(C){f==null||f(C,{key:y.key}),C||a.removeKey(y.key)}}),function(k,C){return d($e($e({},k),{},{index:_}),C)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=Zv(c),f=QD(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var b=v.key;return p.key===b});return!(m&&m.status===bm&&p.status===Qv)})}}}]),s}(g.Component);return Ce(n,"defaultProps",{component:"div"}),n}tO(eT);const iw=g.createContext(!0);function nO(e){const t=g.useContext(iw),{children:n}=e,[,r]=KN(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(iw.Provider,{value:i},g.createElement(jD,{motion:i},n)):n}const rO=()=>null;var iO=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sO=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let iT;function oO(){return iT||Vv}function aO(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const lO=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(iT=t),r&&aO(r)&&gD(oO(),r)},cO=e=>{const{children:t,csp:n,autoInsertSpaceInButton:r,alert:i,anchor:s,form:o,locale:a,componentSize:l,direction:c,space:u,splitter:d,virtual:f,dropdownMatchSelectWidth:p,popupMatchSelectWidth:m,popupOverflow:v,legacyLocale:b,parentContext:_,iconPrefixCls:x,theme:y,componentDisabled:w,segmented:k,statistic:C,spin:N,calendar:T,carousel:B,cascader:P,collapse:A,typography:I,checkbox:R,descriptions:j,divider:z,drawer:$,skeleton:F,steps:D,image:O,layout:E,list:H,mentions:V,modal:L,progress:ne,result:ae,slider:G,breadcrumb:ye,menu:Fe,pagination:ue,input:Ie,textArea:Re,empty:Ke,badge:ve,radio:ze,rate:fn,switch:it,transfer:Rt,avatar:Gt,message:Mt,tag:bt,table:Qe,card:st,tabs:wt,timeline:pn,timePicker:on,upload:U,notification:Z,tree:_e,colorPicker:ke,datePicker:He,rangePicker:Tt,flex:Yt,wave:Xt,dropdown:se,warning:q,tour:we,tooltip:ht,popover:an,popconfirm:_l,floatButton:xl,floatButtonGroup:zo,variant:Bp,inputNumber:Lu,treeSelect:ju}=e,Du=g.useCallback((oe,de)=>{const{prefixCls:je}=e;if(de)return de;const $t=je||_.getPrefixCls("");return oe?`${$t}-${oe}`:$t},[_.getPrefixCls,e.prefixCls]),zs=x||_.iconPrefixCls||WN,Wi=n||_.csp;PD(zs,Wi);const yl=AD(y,_.theme,{prefixCls:Du("")}),Vi={csp:Wi,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||b,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:Du,iconPrefixCls:zs,theme:yl,segmented:k,statistic:C,spin:N,calendar:T,carousel:B,cascader:P,collapse:A,typography:I,checkbox:R,descriptions:j,divider:z,drawer:$,skeleton:F,steps:D,image:O,input:Ie,textArea:Re,layout:E,list:H,mentions:V,modal:L,progress:ne,result:ae,slider:G,breadcrumb:ye,menu:Fe,pagination:ue,empty:Ke,badge:ve,radio:ze,rate:fn,switch:it,transfer:Rt,avatar:Gt,message:Mt,tag:bt,table:Qe,card:st,tabs:wt,timeline:pn,timePicker:on,upload:U,notification:Z,tree:_e,colorPicker:ke,datePicker:He,rangePicker:Tt,flex:Yt,wave:Xt,dropdown:se,warning:q,tour:we,tooltip:ht,popover:an,popconfirm:_l,floatButton:xl,floatButtonGroup:zo,variant:Bp,inputNumber:Lu,treeSelect:ju},qi=Object.assign({},_);Object.keys(Vi).forEach(oe=>{Vi[oe]!==void 0&&(qi[oe]=Vi[oe])}),sO.forEach(oe=>{const de=e[oe];de&&(qi[oe]=de)}),typeof r<"u"&&(qi.button=Object.assign({autoInsertSpace:r},qi.button));const Ki=dN(()=>qi,qi,(oe,de)=>{const je=Object.keys(oe),$t=Object.keys(de);return je.length!==$t.length||je.some($s=>oe[$s]!==de[$s])}),{layer:$o}=g.useContext(Kf),Fo=g.useMemo(()=>({prefixCls:zs,csp:Wi,layer:$o?"antd":void 0}),[zs,Wi,$o]);let zt=g.createElement(g.Fragment,null,g.createElement(rO,{dropdownMatchSelectWidth:p}),t);const bl=g.useMemo(()=>{var oe,de,je,$t;return Gj(((oe=Xf.Form)===null||oe===void 0?void 0:oe.defaultValidateMessages)||{},((je=(de=Ki.locale)===null||de===void 0?void 0:de.Form)===null||je===void 0?void 0:je.defaultValidateMessages)||{},(($t=Ki.form)===null||$t===void 0?void 0:$t.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[Ki,o==null?void 0:o.validateMessages]);Object.keys(bl).length>0&&(zt=g.createElement(Xj.Provider,{value:bl},zt)),a&&(zt=g.createElement(Jj,{locale:a,_ANT_MARK__:Zj},zt)),zt=g.createElement(Wj.Provider,{value:Fo},zt),l&&(zt=g.createElement(_D,{size:l},zt)),zt=g.createElement(nO,null,zt);const te=g.useMemo(()=>{const oe=yl||{},{algorithm:de,token:je,components:$t,cssVar:$s}=oe,P5=iO(oe,["algorithm","token","components","cssVar"]),d1=de&&(!Array.isArray(de)||de.length>0)?Nv(de):HN,zp={};Object.entries($t||{}).forEach(([I5,R5])=>{const fi=Object.assign({},R5);"algorithm"in fi&&(fi.algorithm===!0?fi.theme=d1:(Array.isArray(fi.algorithm)||typeof fi.algorithm=="function")&&(fi.theme=Nv(fi.algorithm)),delete fi.algorithm),zp[I5]=fi});const h1=Object.assign(Object.assign({},Fc),je);return Object.assign(Object.assign({},P5),{theme:d1,token:h1,components:zp,override:Object.assign({override:h1},zp),cssVar:$s})},[yl]);return y&&(zt=g.createElement(UN.Provider,{value:te},zt)),Ki.warning&&(zt=g.createElement(Yj.Provider,{value:Ki.warning},zt)),w!==void 0&&(zt=g.createElement(vD,{disabled:w},zt)),g.createElement(Qf.Provider,{value:Ki},zt)},il=e=>{const t=g.useContext(Qf),n=g.useContext(BN);return g.createElement(cO,Object.assign({parentContext:t,legacyLocale:n},e))};il.ConfigContext=Qf;il.SizeContext=Hc;il.config=lO;il.useConfig=xD;Object.defineProperty(il,"SizeContext",{get:()=>Hc});const ar=(e,t)=>new _t(e).setA(t).toRgbString(),Wo=(e,t)=>new _t(e).lighten(t).toHexString(),uO=e=>{const t=Ba(e,{theme:"dark"});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},dO=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:ar(r,.85),colorTextSecondary:ar(r,.65),colorTextTertiary:ar(r,.45),colorTextQuaternary:ar(r,.25),colorFill:ar(r,.18),colorFillSecondary:ar(r,.12),colorFillTertiary:ar(r,.08),colorFillQuaternary:ar(r,.04),colorBgSolid:ar(r,.95),colorBgSolidHover:ar(r,1),colorBgSolidActive:ar(r,.9),colorBgElevated:Wo(n,12),colorBgContainer:Wo(n,8),colorBgLayout:Wo(n,0),colorBgSpotlight:Wo(n,26),colorBgBlur:ar(r,.04),colorBorder:Wo(n,26),colorBorderSecondary:Wo(n,19)}},hO=(e,t)=>{const n=Object.keys(Cx).map(s=>{const o=Ba(e[s],{theme:"dark"});return Array.from({length:10},()=>1).reduce((a,l,c)=>(a[`${s}-${c+1}`]=o[c],a[`${s}${c+1}`]=o[c],a),{})}).reduce((s,o)=>(s=Object.assign(Object.assign({},s),o),s),{}),r=t??Ex(e),i=FN(e,{generateColorPalettes:uO,generateNeutralColorPalettes:dO});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},sw={defaultSeed:Oh.token,defaultAlgorithm:Ex,darkAlgorithm:hO};function ow({children:e}){const t=vx(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(il,{theme:{algorithm:n.mode==="dark"?sw.darkAlgorithm:sw.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}var Ye;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},e.getValidEnumValues=i=>{const s=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(s){return i[s]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},e.find=(i,s)=>{for(const o of i)if(s(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(Ye||(Ye={}));var aw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(aw||(aw={}));const ce=Ye.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ss=e=>{switch(typeof e){case"undefined":return ce.undefined;case"string":return ce.string;case"number":return Number.isNaN(e)?ce.nan:ce.number;case"boolean":return ce.boolean;case"function":return ce.function;case"bigint":return ce.bigint;case"symbol":return ce.symbol;case"object":return Array.isArray(e)?ce.array:e===null?ce.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?ce.promise:typeof Map<"u"&&e instanceof Map?ce.map:typeof Set<"u"&&e instanceof Set?ce.set:typeof Date<"u"&&e instanceof Date?ce.date:ce.object;default:return ce.unknown}},Y=Ye.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Ai extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(s){return s.message},r={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,l=0;for(;l<o.path.length;){const c=o.path[l];l===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(o))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return i(this),r}static assert(t){if(!(t instanceof Ai))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ye.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},r=[];for(const i of this.issues)if(i.path.length>0){const s=i.path[0];n[s]=n[s]||[],n[s].push(t(i))}else r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Ai.create=e=>new Ai(e);const Jv=(e,t)=>{let n;switch(e.code){case Y.invalid_type:e.received===ce.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ye.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ye.joinValues(e.keys,", ")}`;break;case Y.invalid_union:n="Invalid input";break;case Y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ye.joinValues(e.options)}`;break;case Y.invalid_enum_value:n=`Invalid enum value. Expected ${Ye.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:n="Invalid function arguments";break;case Y.invalid_return_type:n="Invalid function return type";break;case Y.invalid_date:n="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ye.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case Y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case Y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case Y.custom:n="Invalid input";break;case Y.invalid_intersection_types:n="Intersection results could not be merged";break;case Y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ye.assertNever(e)}return{message:n}};let fO=Jv;function pO(){return fO}const mO=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const l=r.filter(c=>!!c).slice().reverse();for(const c of l)a=c(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}};function re(e,t){const n=pO(),r=mO({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Jv?void 0:Jv].filter(i=>!!i)});e.common.issues.push(r)}class Pn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Ne;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const s=await i.key,o=await i.value;r.push({key:s,value:o})}return Pn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Ne;s.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[s.value]=o.value)}return{status:t.value,value:r}}}const Ne=Object.freeze({status:"aborted"}),Kl=e=>({status:"dirty",value:e}),wr=e=>({status:"valid",value:e}),lw=e=>e.status==="aborted",cw=e=>e.status==="dirty",za=e=>e.status==="valid",Bh=e=>typeof Promise<"u"&&e instanceof Promise;var me;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(me||(me={}));class ii{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const uw=(e,t)=>{if(za(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Ai(e.common.issues);return this._error=n,this._error}}};function Le(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,a)=>{const{message:l}=e;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:i}}class qe{get description(){return this._def.description}_getType(t){return ss(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ss(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Pn,ctx:{common:t.parent.common,data:t.data,parsedType:ss(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Bh(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){const r={common:{issues:[],async:(n==null?void 0:n.async)??!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)},i=this._parseSync({data:t,path:r.path,parent:r});return uw(r,i)}"~validate"(t){var r,i;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return za(s)?{value:s.value}:{issues:n.common.issues}}catch(s){(i=(r=s==null?void 0:s.message)==null?void 0:r.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>za(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ss(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Bh(i)?i:Promise.resolve(i));return uw(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:Y.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new go({schema:this,typeName:Te.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ni.create(this,this._def)}nullable(){return vo.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ei.create(this)}promise(){return Wh.create(this,this._def)}or(t){return $h.create([this,t],this._def)}and(t){return Fh.create(this,t,this._def)}transform(t){return new go({...Le(this._def),schema:this,typeName:Te.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Vh({...Le(this._def),innerType:this,defaultValue:n,typeName:Te.ZodDefault})}brand(){return new lT({typeName:Te.ZodBranded,type:this,...Le(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new qh({...Le(this._def),innerType:this,catchValue:n,typeName:Te.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Px.create(this,t)}readonly(){return Kh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gO=/^c[^\s-]{8,}$/i,vO=/^[0-9a-z]+$/,_O=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xO=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,yO=/^[a-z0-9_-]{21}$/i,bO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,wO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,SO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,kO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let wm;const CO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,EO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,NO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,TO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,PO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,IO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sT="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",RO=new RegExp(`^${sT}$`);function oT(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function MO(e){return new RegExp(`^${oT(e)}$`)}function AO(e){let t=`${sT}T${oT(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function LO(e,t){return!!((t==="v4"||!t)&&CO.test(e)||(t==="v6"||!t)&&NO.test(e))}function jO(e,t){if(!bO.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function DO(e,t){return!!((t==="v4"||!t)&&EO.test(e)||(t==="v6"||!t)&&TO.test(e))}class Si extends qe{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ce.string){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.string,received:s.parsedType}),Ne}const r=new Pn;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?re(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&re(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")SO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"email",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")wm||(wm=new RegExp(kO,"u")),wm.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"emoji",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")xO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"uuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")yO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"nanoid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")gO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")vO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cuid2",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")_O.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"ulid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),re(i,{validation:"url",code:Y.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"regex",code:Y.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?AO(s).test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?RO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?MO(s).test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{code:Y.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?wO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"duration",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?LO(t.data,s.version)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"ip",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?jO(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"jwt",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?DO(t.data,s.version)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"cidr",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?PO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"base64",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?IO.test(t.data)||(i=this._getOrReturnCtx(t,i),re(i,{validation:"base64url",code:Y.invalid_string,message:s.message}),r.dirty()):Ye.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:Y.invalid_string,...me.errToObj(r)})}_addCheck(t){return new Si({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...me.errToObj(t)})}url(t){return this._addCheck({kind:"url",...me.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...me.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...me.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...me.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...me.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...me.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...me.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...me.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...me.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...me.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...me.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...me.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...me.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...me.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...me.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...me.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...me.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...me.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...me.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...me.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...me.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...me.errToObj(n)})}nonempty(t){return this.min(1,me.errToObj(t))}trim(){return new Si({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Si({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Si({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Si.create=e=>new Si({checks:[],typeName:Te.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Le(e)});function OO(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return s%o/10**i}class $a extends qe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==ce.number){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.number,received:s.parsedType}),Ne}let r;const i=new Pn;for(const s of this._def.checks)s.kind==="int"?Ye.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),re(r,{code:Y.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?OO(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_finite,message:s.message}),i.dirty()):Ye.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,me.toString(n))}gt(t,n){return this.setLimit("min",t,!1,me.toString(n))}lte(t,n){return this.setLimit("max",t,!0,me.toString(n))}lt(t,n){return this.setLimit("max",t,!1,me.toString(n))}setLimit(t,n,r,i){return new $a({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new $a({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:me.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:me.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:me.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:me.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:me.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:me.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:me.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:me.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:me.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Ye.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}}$a.create=e=>new $a({checks:[],typeName:Te.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Le(e)});class Uc extends qe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==ce.bigint)return this._getInvalidInput(t);let r;const i=new Pn;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),re(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Ye.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return re(n,{code:Y.invalid_type,expected:ce.bigint,received:n.parsedType}),Ne}gte(t,n){return this.setLimit("min",t,!0,me.toString(n))}gt(t,n){return this.setLimit("min",t,!1,me.toString(n))}lte(t,n){return this.setLimit("max",t,!0,me.toString(n))}lt(t,n){return this.setLimit("max",t,!1,me.toString(n))}setLimit(t,n,r,i){return new Uc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new Uc({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:me.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:me.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:me.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:me.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:me.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Uc.create=e=>new Uc({checks:[],typeName:Te.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Le(e)});class e0 extends qe{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ce.boolean){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.boolean,received:r.parsedType}),Ne}return wr(t.data)}}e0.create=e=>new e0({typeName:Te.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Le(e)});class zh extends qe{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ce.date){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_type,expected:ce.date,received:s.parsedType}),Ne}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return re(s,{code:Y.invalid_date}),Ne}const r=new Pn;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),re(i,{code:Y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):Ye.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new zh({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:me.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:me.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}zh.create=e=>new zh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Te.ZodDate,...Le(e)});class dw extends qe{_parse(t){if(this._getType(t)!==ce.symbol){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.symbol,received:r.parsedType}),Ne}return wr(t.data)}}dw.create=e=>new dw({typeName:Te.ZodSymbol,...Le(e)});class t0 extends qe{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.undefined,received:r.parsedType}),Ne}return wr(t.data)}}t0.create=e=>new t0({typeName:Te.ZodUndefined,...Le(e)});class n0 extends qe{_parse(t){if(this._getType(t)!==ce.null){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.null,received:r.parsedType}),Ne}return wr(t.data)}}n0.create=e=>new n0({typeName:Te.ZodNull,...Le(e)});class hw extends qe{constructor(){super(...arguments),this._any=!0}_parse(t){return wr(t.data)}}hw.create=e=>new hw({typeName:Te.ZodAny,...Le(e)});class r0 extends qe{constructor(){super(...arguments),this._unknown=!0}_parse(t){return wr(t.data)}}r0.create=e=>new r0({typeName:Te.ZodUnknown,...Le(e)});class Ns extends qe{_parse(t){const n=this._getOrReturnCtx(t);return re(n,{code:Y.invalid_type,expected:ce.never,received:n.parsedType}),Ne}}Ns.create=e=>new Ns({typeName:Te.ZodNever,...Le(e)});class fw extends qe{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.void,received:r.parsedType}),Ne}return wr(t.data)}}fw.create=e=>new fw({typeName:Te.ZodVoid,...Le(e)});class ei extends qe{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==ce.array)return re(n,{code:Y.invalid_type,expected:ce.array,received:n.parsedType}),Ne;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(re(n,{code:o?Y.too_big:Y.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(re(n,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(re(n,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new ii(n,o,n.path,a)))).then(o=>Pn.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new ii(n,o,n.path,a)));return Pn.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new ei({...this._def,minLength:{value:t,message:me.toString(n)}})}max(t,n){return new ei({...this._def,maxLength:{value:t,message:me.toString(n)}})}length(t,n){return new ei({...this._def,exactLength:{value:t,message:me.toString(n)}})}nonempty(t){return this.min(1,t)}}ei.create=(e,t)=>new ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Te.ZodArray,...Le(t)});function Jo(e){if(e instanceof jt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ni.create(Jo(r))}return new jt({...e._def,shape:()=>t})}else return e instanceof ei?new ei({...e._def,type:Jo(e.element)}):e instanceof Ni?Ni.create(Jo(e.unwrap())):e instanceof vo?vo.create(Jo(e.unwrap())):e instanceof po?po.create(e.items.map(t=>Jo(t))):e}class jt extends qe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ye.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==ce.object){const c=this._getOrReturnCtx(t);return re(c,{code:Y.invalid_type,expected:ce.object,received:c.parsedType}),Ne}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ns&&this._def.unknownKeys==="strip"))for(const c in i.data)o.includes(c)||a.push(c);const l=[];for(const c of o){const u=s[c],d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new ii(i,d,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof Ns){const c=this._def.unknownKeys;if(c==="passthrough")for(const u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(c==="strict")a.length>0&&(re(i,{code:Y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const u of a){const d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new ii(i,d,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const c=[];for(const u of l){const d=await u.key,f=await u.value;c.push({key:d,value:f,alwaysSet:u.alwaysSet})}return c}).then(c=>Pn.mergeObjectSync(r,c)):Pn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return me.errToObj,new jt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var s,o;const i=((o=(s=this._def).errorMap)==null?void 0:o.call(s,n,r).message)??r.defaultError;return n.code==="unrecognized_keys"?{message:me.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new jt({...this._def,unknownKeys:"strip"})}passthrough(){return new jt({...this._def,unknownKeys:"passthrough"})}extend(t){return new jt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new jt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Te.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new jt({...this._def,catchall:t})}pick(t){const n={};for(const r of Ye.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}omit(t){const n={};for(const r of Ye.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}deepPartial(){return Jo(this)}partial(t){const n={};for(const r of Ye.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new jt({...this._def,shape:()=>n})}required(t){const n={};for(const r of Ye.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Ni;)s=s._def.innerType;n[r]=s}return new jt({...this._def,shape:()=>n})}keyof(){return aT(Ye.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ns.create(),typeName:Te.ZodObject,...Le(t)});class $h extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new Ai(a.ctx.common.issues));return re(n,{code:Y.invalid_union,unionErrors:o}),Ne}if(n.common.async)return Promise.all(r.map(async s=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of r){const c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&o.push(c.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new Ai(l));return re(n,{code:Y.invalid_union,unionErrors:a}),Ne}}get options(){return this._def.options}}$h.create=(e,t)=>new $h({options:e,typeName:Te.ZodUnion,...Le(t)});const vi=e=>e instanceof s0?vi(e.schema):e instanceof go?vi(e.innerType()):e instanceof Uh?[e.value]:e instanceof mo?e.options:e instanceof o0?Ye.objectValues(e.enum):e instanceof Vh?vi(e._def.innerType):e instanceof t0?[void 0]:e instanceof n0?[null]:e instanceof Ni?[void 0,...vi(e.unwrap())]:e instanceof vo?[null,...vi(e.unwrap())]:e instanceof lT||e instanceof Kh?vi(e.unwrap()):e instanceof qh?vi(e._def.innerType):[];class Tx extends qe{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.object)return re(n,{code:Y.invalid_type,expected:ce.object,received:n.parsedType}),Ne;const r=this.discriminator,i=n.data[r],s=this.optionsMap.get(i);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(re(n,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ne)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const s of n){const o=vi(s.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Tx({typeName:Te.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Le(r)})}}function i0(e,t){const n=ss(e),r=ss(t);if(e===t)return{valid:!0,data:e};if(n===ce.object&&r===ce.object){const i=Ye.objectKeys(t),s=Ye.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=i0(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===ce.array&&r===ce.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s],l=i0(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===ce.date&&r===ce.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Fh extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(lw(s)||lw(o))return Ne;const a=i0(s.value,o.value);return a.valid?((cw(s)||cw(o))&&n.dirty(),{status:n.value,value:a.data}):(re(r,{code:Y.invalid_intersection_types}),Ne)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Fh.create=(e,t,n)=>new Fh({left:e,right:t,typeName:Te.ZodIntersection,...Le(n)});class po extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.array)return re(r,{code:Y.invalid_type,expected:ce.array,received:r.parsedType}),Ne;if(r.data.length<this._def.items.length)return re(r,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ne;!this._def.rest&&r.data.length>this._def.items.length&&(re(r,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new ii(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Pn.mergeArray(n,o)):Pn.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new po({...this._def,rest:t})}}po.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new po({items:e,typeName:Te.ZodTuple,rest:null,...Le(t)})};class Hh extends qe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.object)return re(r,{code:Y.invalid_type,expected:ce.object,received:r.parsedType}),Ne;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in r.data)i.push({key:s._parse(new ii(r,a,r.path,a)),value:o._parse(new ii(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Pn.mergeObjectAsync(n,i):Pn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof qe?new Hh({keyType:t,valueType:n,typeName:Te.ZodRecord,...Le(r)}):new Hh({keyType:Si.create(),valueType:t,typeName:Te.ZodRecord,...Le(n)})}}class pw extends qe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.map)return re(r,{code:Y.invalid_type,expected:ce.map,received:r.parsedType}),Ne;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],c)=>({key:i._parse(new ii(r,a,r.path,[c,"key"])),value:s._parse(new ii(r,l,r.path,[c,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return Ne;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of o){const c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return Ne;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}pw.create=(e,t,n)=>new pw({valueType:t,keyType:e,typeName:Te.ZodMap,...Le(n)});class Wc extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.set)return re(r,{code:Y.invalid_type,expected:ce.set,received:r.parsedType}),Ne;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(re(r,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(re(r,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const c=new Set;for(const u of l){if(u.status==="aborted")return Ne;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}const a=[...r.data.values()].map((l,c)=>s._parse(new ii(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new Wc({...this._def,minSize:{value:t,message:me.toString(n)}})}max(t,n){return new Wc({...this._def,maxSize:{value:t,message:me.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Wc.create=(e,t)=>new Wc({valueType:e,minSize:null,maxSize:null,typeName:Te.ZodSet,...Le(t)});class s0 extends qe{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}s0.create=(e,t)=>new s0({getter:e,typeName:Te.ZodLazy,...Le(t)});class Uh extends qe{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return re(n,{received:n.data,code:Y.invalid_literal,expected:this._def.value}),Ne}return{status:"valid",value:t.data}}get value(){return this._def.value}}Uh.create=(e,t)=>new Uh({value:e,typeName:Te.ZodLiteral,...Le(t)});function aT(e,t){return new mo({values:e,typeName:Te.ZodEnum,...Le(t)})}class mo extends qe{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return re(n,{expected:Ye.joinValues(r),received:n.parsedType,code:Y.invalid_type}),Ne}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return re(n,{received:n.data,code:Y.invalid_enum_value,options:r}),Ne}return wr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return mo.create(t,{...this._def,...n})}exclude(t,n=this._def){return mo.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}mo.create=aT;class o0 extends qe{_parse(t){const n=Ye.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ce.string&&r.parsedType!==ce.number){const i=Ye.objectValues(n);return re(r,{expected:Ye.joinValues(i),received:r.parsedType,code:Y.invalid_type}),Ne}if(this._cache||(this._cache=new Set(Ye.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=Ye.objectValues(n);return re(r,{received:r.data,code:Y.invalid_enum_value,options:i}),Ne}return wr(t.data)}get enum(){return this._def.values}}o0.create=(e,t)=>new o0({values:e,typeName:Te.ZodNativeEnum,...Le(t)});class Wh extends qe{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.promise&&n.common.async===!1)return re(n,{code:Y.invalid_type,expected:ce.promise,received:n.parsedType}),Ne;const r=n.parsedType===ce.promise?n.data:Promise.resolve(n.data);return wr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Wh.create=(e,t)=>new Wh({type:e,typeName:Te.ZodPromise,...Le(t)});class go extends qe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Te.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,s={addIssue:o=>{re(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return Ne;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?Ne:l.status==="dirty"||n.value==="dirty"?Kl(l.value):l});{if(n.value==="aborted")return Ne;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?Ne:a.status==="dirty"||n.value==="dirty"?Kl(a.value):a}}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Ne:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Ne:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!za(o))return Ne;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>za(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):Ne);Ye.assertNever(i)}}go.create=(e,t,n)=>new go({schema:e,typeName:Te.ZodEffects,effect:t,...Le(n)});go.createWithPreprocess=(e,t,n)=>new go({schema:t,effect:{type:"preprocess",transform:e},typeName:Te.ZodEffects,...Le(n)});class Ni extends qe{_parse(t){return this._getType(t)===ce.undefined?wr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ni.create=(e,t)=>new Ni({innerType:e,typeName:Te.ZodOptional,...Le(t)});class vo extends qe{_parse(t){return this._getType(t)===ce.null?wr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vo.create=(e,t)=>new vo({innerType:e,typeName:Te.ZodNullable,...Le(t)});class Vh extends qe{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===ce.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Vh.create=(e,t)=>new Vh({innerType:e,typeName:Te.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Le(t)});class qh extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Bh(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ai(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ai(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}qh.create=(e,t)=>new qh({innerType:e,typeName:Te.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Le(t)});class mw extends qe{_parse(t){if(this._getType(t)!==ce.nan){const r=this._getOrReturnCtx(t);return re(r,{code:Y.invalid_type,expected:ce.nan,received:r.parsedType}),Ne}return{status:"valid",value:t.data}}}mw.create=e=>new mw({typeName:Te.ZodNaN,...Le(e)});class lT extends qe{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class Px extends qe{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Ne:s.status==="dirty"?(n.dirty(),Kl(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Ne:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new Px({in:t,out:n,typeName:Te.ZodPipeline})}}class Kh extends qe{_parse(t){const n=this._def.innerType._parse(t),r=i=>(za(i)&&(i.value=Object.freeze(i.value)),i);return Bh(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Kh.create=(e,t)=>new Kh({innerType:e,typeName:Te.ZodReadonly,...Le(t)});var Te;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Te||(Te={}));const S=Si.create,K=$a.create,Se=e0.create,oo=r0.create;Ns.create;const xe=ei.create,M=jt.create;$h.create;const li=Tx.create;Fh.create;po.create;const sl=Hh.create,J=Uh.create,We=mo.create;Wh.create;Ni.create;vo.create;new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");const BO=["owner"],zO=["agent","owner","user-upload"],cT=M({id:S().min(1),relPath:S().min(1),from:We(zO),label:S().optional(),size:K().int().nonnegative(),mime:S().min(1),addedAt:K().int().nonnegative(),lastEditedAt:K().int().nonnegative().optional(),stale:Se().optional()});M({sessionId:S().min(1),relPath:S().min(1),ttlSeconds:K().int().positive().nullable().optional(),view:We(["raw","md-rendered"]).optional()});M({url:S().min(1),expiresAt:K().int().nonnegative().nullable()});M({sessionId:S().min(1),relPath:S().min(1),label:S().optional(),origin:J("agent").optional()});M({entry:cT});M({sessionId:S().min(1),relPath:S().min(1)});M({removed:J(!0)});M({sessionId:S().min(1)});M({entries:xe(cT)});M({attachmentId:S().min(1),url:S().min(1),relPath:S().min(1),sizeBytes:K().int().nonnegative(),mimeType:S().min(1)});const $O=li("type",[M({type:J("persona"),id:S().min(1)}).strict(),M({type:J("chat"),id:S().min(1)}).strict(),M({type:J("*")}).strict()]),FO=We(["read","send","admin"]),Ix=M({resource:$O,actions:xe(FO).min(1)}).strict(),HO=M({id:S().min(1),secretHash:S().regex(/^[a-f0-9]{64}$/),displayName:S(),grants:xe(Ix),issuedAt:K().int().nonnegative(),expiresAt:K().int().positive().optional(),maxUses:K().int().positive().optional(),usedCount:K().int().nonnegative(),peerOwnerId:S().min(1).optional(),firstUsedByPeerAt:K().int().positive().optional(),peerDisplayName:S().optional()}).strict(),UO=HO.omit({secretHash:!0});M({type:J("whoami:ok"),owner:M({id:S(),kind:We(["owner","guest"]),displayName:S(),ownerId:S(),provider:S()}).strict(),capability:UO,grantedPersonas:xe(M({id:S().min(1),displayName:S()}).strict())}).strict();M({selfUrl:S().min(1)});M({type:J("contact:handshake:ok"),owner:M({id:S(),ownerId:S(),provider:S(),displayName:S()}),grants:xe(Ix)});M({deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();M({type:J("contact:setRemoteAccess:ok"),deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();M({type:J("contact:remote-access-updated"),deviceId:S().min(1),remoteAccessAllowed:Se()}).strict();const WO=M({deviceId:S().min(1),ownerId:S().min(1),provider:S().min(1),displayName:S(),remoteUrl:S().min(1),connectToken:S(),grants:xe(Ix),addedAt:K().int().nonnegative(),pinnedAt:K().int().nullable().default(null),remoteAccessAllowed:Se().default(!1)}).strict(),uT=WO;M({deviceId:S().min(1)}).strict();M({type:J("contact:remove:ok"),deviceId:S().min(1)}).strict();M({type:J("contact:list:ok"),contacts:xe(uT)}).strict();M({type:J("contact:added"),contact:uT}).strict();M({type:J("contact:removed"),deviceId:S().min(1)}).strict();M({deviceId:S().min(1),pinned:Se()}).strict();M({type:J("contact:pin:ok"),deviceId:S().min(1),pinnedAt:K().int().nullable()}).strict();M({type:J("contact:pinned"),deviceId:S().min(1),pinnedAt:K().int().nullable()}).strict();const VO=M({deviceId:S().min(1),name:S().min(1),url:S().min(1)});M({type:J("device:list:ok"),devices:xe(VO)});M({deviceId:S().min(1),url:S().min(1).optional(),name:S().optional()});M({type:J("device:connect:ok"),deviceId:S(),name:S(),url:S()});const dT=M({ownerId:S().min(1),provider:S().min(1),displayName:S().min(1),avatarUrl:S().optional(),unionId:S().optional()});M({type:J("auth:login:start:ok"),authUrl:S().min(1),state:S().min(1)});M({type:J("auth:getIdentity:ok"),identity:dT.nullable(),deviceId:S().min(1),ttcTokenExpiresAt:K().nullable().optional()});M({type:J("auth:logout:ok")});M({type:J("auth:login:done"),identity:dT});M({type:J("auth:login:failed"),reason:S()});const Rx=li("kind",[M({kind:J("success"),text:S(),filePaths:xe(S()).optional()}),M({kind:J("failure"),reason:S()})]);M({targetPersona:S().min(1).optional(),dispatchId:S().min(1).optional(),prompt:S(),targetDeviceId:S().min(1).optional(),model:S().min(1).optional(),sessionLabel:S().min(1).max(60).optional()}).refine(e=>e.targetPersona!==void 0||e.dispatchId!==void 0,{message:"either targetPersona (new dispatch) or dispatchId (follow-up) is required"}).refine(e=>!(e.dispatchId!==void 0&&e.targetDeviceId!==void 0),{message:"cross-device dispatch cannot be continued (dispatchId + targetDeviceId are mutually exclusive)"});M({dispatchId:S().min(1),outcome:Rx});const qO=["running","completed","failed"],hT=We(qO),KO=M({dispatchId:S().min(1),sourceSessionId:S().min(1),sourcePersonaId:S().min(1).optional(),targetPersonaId:S().min(1),workerSessionId:S().min(1).optional(),taskText:S(),status:hT,outcome:Rx.optional(),meta:sl(oo()).optional(),createdAt:S().min(1),completedAt:S().min(1).optional(),deliveredAt:S().min(1).optional()});M({sourceSessionId:S().min(1).optional()});M({records:xe(KO)});M({dispatchId:S().min(1)});M({type:J("personaDispatch:get:ok"),status:hT,outcome:Rx.optional()});const GO=/^[a-z0-9][a-z0-9-]*$/;We(["stopped","starting","running","crashed","invalid"]);const YO=new Set(["localhost","127.0.0.1"]);function XO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&YO.has(t.hostname))}const ad=M({id:S().regex(GO),name:S().min(1),version:S().min(1),apiVersion:J("1"),runtime:M({startCommand:S().min(1)}).passthrough().optional(),entry:M({url:S().url().refine(XO,{message:"INVALID_URL_SCHEME: only https or http://localhost is allowed"})}).strict().optional()}).passthrough().superRefine((e,t)=>{var i;const n=!!e.runtime,r=!!((i=e.entry)!=null&&i.url);n&&r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),QO=li("kind",[M({kind:J("local"),port:K().int().min(1).max(65535)}),M({kind:J("hosted"),url:S().url()})]);li("state",[M({extId:S(),manifest:ad,state:J("stopped")}),M({extId:S(),manifest:ad,state:J("starting")}),M({extId:S(),manifest:ad,state:J("running"),target:QO}),M({extId:S(),manifest:ad,state:J("crashed")}),M({extId:S(),manifest:oo().nullable(),state:J("invalid"),invalidReason:S().min(1)})]);M({snapshotHash:S().min(1),version:S().min(1),publishedAt:K()});const ZO=li("kind",[M({kind:J("p2p-tunnel"),ownerPrincipalId:S().min(1),extId:S().min(1)})]);li("kind",[M({kind:J("p2p-tunnel"),ownerPrincipalId:S().min(1),extId:S().min(1),snapshotHash:S().min(1)})]);M({extId:S().min(1),name:S().min(1),version:S().min(1),contentHash:S().min(1),publishedAt:K()});const JO=li("kind",[M({kind:J("clean")}),M({kind:J("ready-new-version"),fromVersion:S().min(1),toVersion:S().min(1)}),M({kind:J("error-same-hash"),version:S().min(1)}),M({kind:J("error-version-not-bumped"),localVersion:S().min(1),publishedVersion:S().min(1)}),M({kind:J("error-version-regression"),localVersion:S().min(1),publishedVersion:S().min(1)})]);M({localManifest:M({name:S().min(1),version:S().min(1),contentHash:S().min(1)}),publishState:li("kind",[M({kind:J("unpublished")}),M({kind:J("published"),version:S().min(1),contentHash:S().min(1),publishedAt:K()})]),check:JO});M({extId:S().min(1),newVersion:S().min(1).nullish()});M({extId:S().min(1)});M({extId:S().min(1),snapshotHash:S().min(1)});M({channelRef:ZO,snapshotHash:S().min(1),zipBase64:S().min(1)});M({id:S().min(1),peerDeviceId:S().min(1),senderDeviceId:S().min(1),text:S().min(1),createdAt:K().int().nonnegative(),readBy:sl(S().min(1),K().int().positive()).default({}),origin:M({kind:J("persona"),personaId:S().min(1)}).optional()}).strict();M({peerDeviceId:S().min(1).optional(),id:S().min(1),text:S().min(1),createdAt:K().int().nonnegative(),origin:M({kind:J("persona"),personaId:S().min(1)}).optional()}).strict();M({peerDeviceId:S().min(1),sinceCreatedAt:K().int().nonnegative().optional()}).strict();M({peerDeviceId:S().min(1),upToCreatedAt:K().int().nonnegative()}).strict();M({peerDeviceId:S().min(1).optional(),text:S().min(1)});M({peerDeviceId:S().min(1).optional(),command:S().min(1),timeoutMs:K().int().positive().optional()}).strict();M({type:J("peerExec:run:ok"),stdout:S(),stderr:S(),exitCode:K().int().nullable(),timedOut:Se(),stdoutTruncated:Se(),stderrTruncated:Se()}).strict();const fT=li("kind",[M({kind:J("at"),at:S().min(1)}),M({kind:J("every"),everyMs:K().int().positive(),anchorMs:K().int().nonnegative().optional()}),M({kind:J("cron"),expr:S().min(1),tz:S().min(1).optional()})]),pu=S().trim().min(1);M({personaId:pu,name:S().min(1),schedule:fT,prompt:S().min(1),targetPersona:S().min(1).optional(),timeoutMs:K().int().positive().optional()});M({personaId:pu,onlyMine:Se().optional()});M({personaId:pu,shiftId:S().min(1)});const e6=M({name:S().min(1).optional(),schedule:fT.optional(),prompt:S().min(1).optional(),targetPersona:S().min(1).optional(),timeoutMs:K().int().positive().optional(),enabled:Se().optional()});M({personaId:pu,shiftId:S().min(1),patch:e6});M({personaId:pu,shiftId:S().min(1),limit:K().int().positive().optional()});const t6=["created","review-requested"],pT=/^[A-Za-z0-9._-]+$/,ol=S().min(1).regex(pT),al=S().min(1).regex(pT),mu=K().int().positive();M({role:We(t6)});M({owner:ol,repo:al,number:mu});M({owner:ol,repo:al,number:mu,expectedHeadSha:S().min(1)});M({owner:ol,repo:al,number:mu,body:S().min(1)});M({owner:ol,repo:al,number:mu,ready:Se()});M({owner:ol,repo:al});M({owner:ol,repo:al,number:mu,reviewers:xe(S().min(1)).min(1)});M({personaId:S().min(1)});const n6=["expired","cancelled","access_denied","lark_protocol_error","cloud_unreachable","internal_error"],r6=We(n6);M({personaId:S().min(1),appId:S().min(1),appSecret:S().min(1),botName:S().min(1).optional()});const i6=M({chatId:S().min(1),chatName:S().optional(),lastActiveAt:K().int().optional()}),s6=M({state:We(["unbound","provisioning","bound","broken"]),appId:S().optional(),botName:S().optional(),brokenReason:S().optional(),qrUrl:S().optional(),errorReason:r6.optional(),groups:xe(i6)});s6.extend({personaId:S().min(1)});M({});M({onboardingCompletedAt:K()});M({});M({tools:xe(M({id:We(["claude","codex"]),available:Se(),version:S().optional(),path:S().optional()}))});M({});const o6=M({tool:We(["claude","codex"]),cwd:S(),toolSessionId:S(),label:S().optional(),createdAt:S(),updatedAt:S(),turns:K()});M({candidates:xe(o6)});M({});M({registered:Se()});const a6=M({personaId:S(),label:S(),model:S().optional(),effort:S().optional(),public:Se(),iconKey:S().optional(),tool:S().optional(),createdAt:K(),updatedAt:K()}).strict(),l6=M({name:S().min(1),description:S().optional()}),c6=M({id:S().min(1)}),u6=M({permissions:M({defaultMode:S().optional(),allow:xe(S()).optional(),deny:xe(S()).optional()}).optional(),sandbox:M({enabled:Se().optional(),autoAllowBashIfSandboxed:Se().optional(),allowUnsandboxedCommands:Se().optional(),excludedCommands:xe(S()).optional(),filesystem:M({denyRead:xe(S()).optional(),allowRead:xe(S()).optional(),denyWrite:xe(S()).optional(),allowWrite:xe(S()).optional()}).optional(),network:M({allowedDomains:xe(S()).optional(),allowLocalBinding:Se().optional()}).optional()}).optional()});a6.extend({personality:S().optional(),skills:xe(l6).optional(),plugins:xe(c6).optional(),sandboxSettings:u6.nullable().optional()});M({slug:S().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).max(32),label:S().min(1),personality:S(),model:S().optional(),effort:S().optional(),tool:S().optional(),public:Se().optional(),iconKey:S().optional()}).strict();M({personaId:S().min(1)});M({personaId:S().min(1),patch:M({label:S().min(1).optional(),model:S().optional(),effort:S().optional(),tool:S().optional(),personality:S().optional(),public:Se().optional(),iconKey:S().nullable().optional()}).strict()}).strict();M({writableRoots:xe(S()).optional(),denyRead:xe(S()).optional(),network:Se().optional()}).strict();const mT=["ready","session:info","session:status","session:event","session:deleted","session:rewound","session:cleared","permission:request","session:question","session:question:cleared","pong","error","subscribed","unsubscribed","auth:ok","tunnel:ready","tunnel:exited","tunnel:unavailable","session:control","session:pty","contact:added","contact:pinned","contact:removed","contact:remote-access-updated","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","appBuilder:project-updated","appBuilder:publish-progress","appBuilder:publish-failed","larkBot:state"],gT=["idle","running","running-idle","stopped","error","observing"],d6=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],h6=["builtin","global","project","plugin"],f6=["builtin","global","project","policy","plugin"],vT=We(["owner","guest"]);M({id:S().min(1),kind:vT,displayName:S(),feishuUnionId:S().optional()}).strict();const p6=M({did:S().min(1),displayName:S(),feishuUnionId:S().optional(),principal:vT}).strict(),m6=We(gT),g6=M({input_tokens:K().int().nonnegative().optional(),cache_read_input_tokens:K().int().nonnegative().optional(),cache_creation_input_tokens:K().int().nonnegative().optional(),output_tokens:K().int().nonnegative().optional()}),v6=M({inputTokens:K().int().nonnegative(),outputTokens:K().int().nonnegative(),cacheReadTokens:K().int().nonnegative().optional(),cacheCreateTokens:K().int().nonnegative().optional()}),_T={gitBranch:S().optional(),resolvedModel:S().optional(),resolvedEffort:S().optional(),contextUsage:v6.optional(),contextWindowSize:K().int().positive().optional(),aiLabel:S().optional()},_6=M(_T),xT=M({value:S(),label:S(),description:S().optional()}),x6=M({id:S().min(1),label:S().min(1),description:S().optional(),contextWindowSize:K().int().positive(),default:Se().optional(),efforts:xe(xT).optional(),defaultEffort:S().optional()}),y6=M({id:S().min(1),label:S().min(1),description:S().optional()}),b6=M({name:S().min(1),type:We(["string","select","toggle"]),label:S().min(1),description:S().optional(),options:xe(xT).optional(),default:oo().optional(),scope:We(["core","tool-specific"])});M({tool:S().min(1)});const w6=M({rewind:Se(),subagents:Se(),tui:Se(),observe:Se(),fileSharing:Se(),fork:Se()});M({tool:S().min(1),toolSessionIdLabel:S().optional(),models:xe(x6),permissionModes:xe(y6),configSchema:xe(b6),features:w6});const S6=M({tool:S().min(1),pattern:S().min(1),createdAt:S().min(1).optional()});M({sessionId:S().min(1),cwd:S().min(1),tool:J("claude").or(S().min(1)).default("claude"),toolSessionId:S().optional(),label:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),..._T,permissionRules:xe(S6).optional(),pinnedAt:K().int().nonnegative().nullable().optional(),archivedAt:K().int().nonnegative().nullable().optional(),pinSortOrder:K().int().nullable().optional(),unreadAt:S().min(1).nullable().optional(),iconKey:S().optional(),forkedFromSessionId:S().min(1).optional(),ephemeral:Se().optional(),ownerPersonaId:S().min(1).optional(),appBuilderProject:S().regex(/^[a-z][a-z0-9-]{0,39}$/).optional(),chatId:S().min(1).optional(),creatorPrincipalId:S().min(1).optional(),creatorDisplayName:S().min(1).optional(),creatorFeishuUnionId:S().min(1).optional(),originOwnerPrincipalId:S().min(1).optional(),originOwnerPersonaId:S().min(1).optional(),dispatchedFromSessionId:S().min(1).optional(),shiftFiredFromSessionId:S().min(1).optional(),larkChatId:S().min(1).optional(),larkChatName:S().min(1).optional(),larkChatType:We(["p2p","group"]).optional(),createdAt:S().min(1),updatedAt:S().min(1)});const jn={seq:K().int().nonnegative().optional(),ts:S().optional(),uuid:S().optional()},k6=We(d6),C6=M({readCount:K().int().nonnegative().optional(),searchCount:K().int().nonnegative().optional(),bashCount:K().int().nonnegative().optional(),editFileCount:K().int().nonnegative().optional(),linesAdded:K().int().nonnegative().optional(),linesRemoved:K().int().nonnegative().optional(),otherToolCount:K().int().nonnegative().optional()}),E6=M({oldStart:K().int().nonnegative(),oldLines:K().int().nonnegative(),newStart:K().int().nonnegative(),newLines:K().int().nonnegative(),lines:xe(S())}),N6=M({agentId:S().optional(),agentType:S().optional(),status:S().optional(),prompt:S().optional(),filePath:S().optional(),structuredPatch:xe(E6).optional(),stats:M({durationMs:K().int().nonnegative().optional(),tokens:K().int().nonnegative().optional(),toolUseCount:K().int().nonnegative().optional(),toolStats:C6.optional(),usage:g6.optional()}).optional()}),T6=M({path:S(),content:S(),mtimeMs:K().optional()}),P6=M({label:S().min(1),description:S().optional()}),yT=M({question:S().min(1),multiSelect:Se(),options:xe(P6).min(1)}),I6=["completed","interrupted"];li("kind",[M({...jn,kind:J("session_init"),toolSessionId:S().optional()}),M({...jn,kind:J("thinking"),text:S(),partialId:S().optional()}),M({...jn,kind:J("text"),text:S(),partialId:S().optional()}),M({...jn,kind:J("user_text"),text:S(),meta:k6.optional(),taskId:S().optional(),parentToolUseId:S().optional(),sender:p6.optional()}),M({...jn,kind:J("tool_call"),toolUseId:S(),tool:S(),toolKind:S().optional(),input:oo()}),M({...jn,kind:J("tool_result"),toolUseId:S(),output:oo().optional(),error:S().optional(),toolResultExtra:N6.optional(),sourceToolAssistantUUID:S().optional(),askQuestionAnswers:sl(S(),S()).optional()}),M({...jn,kind:J("attachment_memories"),memories:xe(T6)}),M({...jn,kind:J("permission_request"),requestId:S(),tool:S(),input:oo(),toolUseId:S().optional()}),M({...jn,kind:J("ask_user_question"),toolUseId:S(),questions:xe(yT)}),M({...jn,kind:J("turn_end"),durationMs:K().int().nonnegative().optional(),reason:We(I6).optional()}),M({...jn,kind:J("subagent_progress"),toolUseId:S(),agentId:S(),status:We(["started","running","completed","failed"]),description:S().optional(),lastToolName:S().optional(),prompt:S().optional(),stats:M({durationMs:K().int().nonnegative().optional(),tokens:K().int().nonnegative().optional(),toolUseCount:K().int().nonnegative().optional()}).optional()}),M({...jn,kind:J("error"),message:S()}),M({...jn,kind:J("meta_update"),patch:_6}),M({...jn,kind:J("meta-text"),text:S(),metaSource:We(["cc","owner"]).optional()})]);M({cwd:S().min(1).optional(),tool:S().optional(),label:S().optional(),aiLabel:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),iconKey:S().optional(),forkedFromSessionId:S().min(1).optional(),ephemeral:Se().optional(),ownerPersonaId:S().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});M({cwd:S().min(1),tool:S().min(1),toolSessionId:S().min(1),label:S().optional(),aiLabel:S().optional(),iconKey:S().optional(),createdAt:S().datetime(),updatedAt:S().datetime(),ownerPersonaId:S().min(1).optional()});M({originOnly:Se().optional(),ownerPersonaId:S().min(1).optional(),limit:K().int().positive().optional(),offset:K().int().nonnegative().optional()});M({sessionId:S().min(1)});M({sessionId:S().min(1),patch:M({label:S().optional(),model:S().optional(),permissionMode:S().optional(),effort:S().optional(),cwd:S().optional(),iconKey:S().optional(),ephemeral:J(!1).optional()})});M({sessionId:S().min(1),text:S()});M({sessionId:S().min(1),userMessageId:S().min(1),dryRun:Se().optional()});M({canRewind:Se(),error:S().optional(),filesChanged:xe(S()).optional(),insertions:K().int().nonnegative().optional(),deletions:K().int().nonnegative().optional()});M({sessionId:S().min(1),userMessageId:S().min(1)});const R6=M({oldStart:K().int().nonnegative(),oldLines:K().int().nonnegative(),newStart:K().int().nonnegative(),newLines:K().int().nonnegative(),lines:xe(S())}),M6=M({filePath:S().min(1),hunks:xe(R6),insertions:K().int().nonnegative(),deletions:K().int().nonnegative(),status:We(["modified","added","deleted"]).optional()});M({canRewind:Se(),error:S().optional(),files:xe(M6),totalInsertions:K().int().nonnegative(),totalDeletions:K().int().nonnegative()});M({userMessageIds:xe(S())});M({sessionId:S().min(1),toolSessionId:S().min(1)});M({cwd:S().min(1),toolSessionId:S().min(1),messageUuid:S().min(1),targetCwd:S().min(1).optional()});M({forkedToolSessionId:S().min(1),forkedFilePath:S().min(1)});M({sessionId:S().min(1),toolSessionId:S().min(1),jsonlPath:S().optional()});M({sessionId:S().min(1),afterSeq:K().int().min(-1)});M({sessionId:S().min(1),permissionRequestId:S().min(1),allow:Se(),permanent:Se().optional(),pattern:S().optional()});M({projectPath:S().min(1)});M({sessionId:S().min(1),limit:K().int().positive().max(5e3).optional(),offset:K().int().nonnegative().optional(),slim:Se().optional()});M({cwd:S().min(1),toolSessionId:S().min(1)});M({cwd:S().min(1),toolSessionId:S().min(1),subagentId:S().min(1)});M({cwd:S().min(1).optional(),path:S().optional(),showHidden:Se().optional()});M({cwd:S().min(1),path:S().min(1)});M({cwd:S().min(1),tool:S().optional()});M({name:S().min(1),source:We(h6),path:S().optional(),description:S().optional(),plugin:S().optional()});const A6=M({name:S().min(1),source:We(f6),path:S().optional(),description:S().optional(),whenToUse:S().optional(),plugin:S().optional()});M({cwd:S().min(1),tool:S().optional()});M({agents:xe(A6)});M({sessionId:S().optional()});M({sessionId:S().min(1).optional()});M({sessionId:S().min(1),pinned:Se()});M({sessionId:S().min(1),archived:Se()});M({type:J("peerSession:upsert:ok")});M({sessionId:S().min(1)});M({type:J("peerSession:remove:ok")});M({orderedIds:xe(S().min(1)).min(1)});M({cwd:S().min(1)});M({isGitRoot:Se(),gitRoot:S().nullable()});M({cwd:S().min(1)});M({branch:S().nullable()});M({cwd:S().min(1)});M({branches:xe(S()),head:S().nullable()});M({}).optional();const L6=M({cwd:S().min(1),updatedAt:S().min(1)});M({dirs:xe(L6)});M({type:J("session:question"),sessionId:S().min(1),toolUseId:S().min(1),requestId:S().min(1),questions:xe(yT).min(1)});M({type:J("session:question:cleared"),sessionId:S().min(1),toolUseId:S().min(1),answers:sl(S(),S()).optional()});M({sessionId:S().min(1),toolUseId:S().min(1),answers:sl(S(),S())});M({ok:J(!0)});M({sessionId:S().min(1),toolUseId:S().min(1)});M({ok:J(!0)});const bT=M({name:S().min(1),version:S().min(1),instanceId:S().min(1),deviceLabel:S().transform(e=>e.trim().slice(0,64)).optional()});M({type:J("auth"),token:S().min(1),scheme:J("bearer").optional(),clientInfo:bT.optional()});M({type:J("auth:ok"),version:S().min(1).optional(),protocolVersion:K().int().nonnegative().optional()});const j6=M({clientId:S().min(1),connectedAt:K().int().nonnegative(),self:Se(),clientInfo:bT.optional()});M({type:J("device:connections:ok"),connections:xe(j6)});M({type:J("tunnel:ready"),url:S().min(1),subdomain:S().min(1)});M({type:J("tunnel:exited"),code:K().int().nullable(),subdomain:S().nullable(),url:S().nullable()});M({type:J("tunnel:unavailable"),reason:S().min(1),failedAt:S().min(1)});const D6=M({sessionId:S().min(1),status:m6,freshSpawn:Se(),pendingPermissionRequestIds:xe(S().min(1)),pendingQuestionToolUseIds:xe(S().min(1))});M({type:J("info"),version:S(),protocolVersion:K(),hostname:S(),os:S(),tools:xe(M({id:S(),available:Se()})),runningSessions:xe(D6),tokenRole:We(BO).optional(),isLoopback:Se().optional(),httpBaseUrl:S().optional(),httpToken:S().optional(),daemonSource:We(["ota","packaged"]).optional(),globalCliVersion:S().nullable().optional()});const O6=6173,B6=6272,ll=/^[a-z][a-z0-9-]{0,39}$/,gu=M({name:S().regex(ll,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:K().int().min(O6).max(B6),createdAt:S().datetime(),devCommand:S().min(1),prodUrl:S().url().optional(),readyPattern:S().optional(),publishJob:M({jobId:S().min(1),stage:We(["build","deploy","verify"]),startedAt:K().int().nonnegative()}).optional()}),z6=["install-pending","installing","starting-dev-server","running","stopped","failed"],wT=We(z6),Mx=gu.extend({isRunning:Se(),boundSessionId:S().nullable(),stage:wT.optional(),stageReason:S().optional(),publishJob:M({jobId:S().min(1),stage:We(["build","deploy","verify"]),startedAt:K().int().nonnegative(),status:We(["in-flight","interrupted"])}).optional()});M({}).strict();M({projects:xe(Mx)}).strict();M({sessionId:S().min(1)}).strict();M({project:Mx.nullable()}).strict();M({sessionId:S().min(1),name:S().min(1)}).strict();M({project:gu}).strict();M({name:S()}).strict();M({}).strict();M({name:S(),newPort:K().int()}).strict();M({project:gu}).strict();M({name:S().regex(ll),url:S().url()}).strict();M({project:gu}).strict();M({sessionId:S().min(1),force:Se().optional()}).strict();M({project:gu}).strict();const $6=["installing","failed"];M({sessionId:S().min(1),stage:We($6),reason:S().optional()}).strict();M({ok:J(!0)}).strict();M({sessionId:S().min(1)}).strict();M({ok:J(!0)}).strict();M({type:J("appBuilder:project-updated"),project:Mx,stage:wT,stageReason:S().optional()}).strict();M({name:S().regex(ll)});M({jobId:S().min(1),status:We(["started","already-publishing"])}).strict();M({name:S().regex(ll)});M({ok:J(!0)}).strict();M({type:J("appBuilder:publish-progress"),name:S().regex(ll),jobId:S().min(1),stage:We(["build","deploy","verify"]),status:We(["started","completed"])}).strict();M({type:J("appBuilder:publish-failed"),name:S().regex(ll),jobId:S().min(1),stage:We(["build","deploy","verify","unknown"]),errorSummary:S()}).strict();M({});M({method:S().min(1).optional()});const F6=["allowed","conditional","denied"],H6=We(F6),U6=M({name:S().min(1),status:H6,description:S().min(1),args:xe(M({name:S(),required:Se()})).nullable(),argsSchema:sl(oo()).optional(),reason:S().optional()});M({type:J("meta:methods"),methods:xe(U6)});const gw=1,W6=["daemon","main","renderer"],V6=We(W6),q6=["debug","info","warn","error"],K6=We(q6);M({ts:K().int(),source:V6,level:K6,msg:S(),ownerPrincipalId:S(),deviceId:S(),appVersion:S(),daemonVersion:S().optional(),os:S(),meta_json:S().optional(),sessionId:S().optional()});M({v:J(1),visitorId:S().min(1),displayName:S(),provider:S(),iat:K(),exp:K()});const G6=M({visitorId:S(),displayName:S(),avatarUrl:S().optional(),provider:S(),firstSeen:K(),lastSeen:K()});M({visitors:xe(G6)});const Y6=/<system-reminder>此消息来自飞书群成员 (.+?)<\/system-reminder>\s*$/,X6=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let pi=null;function Q6(){if(pi!==null)return pi;if(typeof window>"u")return pi=!1,!1;if(X6.has(window.location.hostname)||window.location.protocol==="file:")return pi=!0,!0;if(new URLSearchParams(window.location.search).get("debug")==="1"){pi=!0;try{sessionStorage.setItem("debug","1")}catch{}}else try{pi=sessionStorage.getItem("debug")==="1"}catch{pi=!1}return pi}function Ae(e,...t){Q6()&&console.log(`[${e}][${new Date().toISOString()}]`,...t)}function ld(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const Z6=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},J6=new Set(["auth:ok","pong","error"]),vw=new Set(mT.filter(e=>!J6.has(e)));let eB=0;const _w=()=>`r${++eB}`;function tB(e){let t=e.url,n=e.authToken,r=e.selfIdentity;const i=e.clientInfo,s=e.requestTimeoutMs??3e4,o=e.pingIntervalMs??3e4,a=e.watchdogMs??6e4,l=e.authTimeoutMs??1e4,c=e.backoffMs??Z6;let u=null,d=!1,f=0,p=null,m=null,v=null,b=null,_=!1,x="disconnected";const y=new Map,w=new Map;let k=null;const C=(O,E)=>{var H;O==="ready"&&(k=E),(H=w.get(O))==null||H.forEach(V=>{try{V(E)}catch{}})},N=O=>{x!==O&&(x=O,C("status",O))},T=(O,E)=>{const H=w.get(O)??new Set;if(H.add(E),w.set(O,H),O==="ready"&&k!==null)try{E(k)}catch{}return()=>H.delete(E)},B=()=>{m&&(clearInterval(m),m=null),v&&(clearTimeout(v),v=null),b&&(clearTimeout(b),b=null)},P=()=>{v&&clearTimeout(v),v=setTimeout(()=>{try{u==null||u.close(4e3,"pong watchdog")}catch{}},a)},A=()=>{m&&clearInterval(m),m=setInterval(()=>{(u==null?void 0:u.readyState)===1&&u.send(JSON.stringify({type:"ping",requestId:_w()}))},o),P()},I=O=>{for(const[,E]of y)clearTimeout(E.timer),E.reject(new Error(O));y.clear()},R=[],j=()=>{if(R.length===0)return;const O=R.splice(0);for(const E of O)(u==null?void 0:u.readyState)===1&&!_?E.doSend():(clearTimeout(E.timer),E.reject(new Error("NOT_CONNECTED")))},z=O=>{if(R.length===0)return;const E=R.splice(0);for(const H of E)clearTimeout(H.timer),H.reject(new Error(O))},$=()=>{if(d)return;const O=c(f);O<0||(C("daemon:reconnecting",{attempt:f+1,nextDelayMs:O,scheduledAt:Date.now()}),p&&clearTimeout(p),p=setTimeout(()=>{f+=1,D()},O))},F=O=>{P();const E=String(O.type??"");if(E==="auth:ok"){Ae("daemon-client","auth:ok received → connected",{url:t}),b&&(clearTimeout(b),b=null),_=!1,f=0,N("connected"),C("daemon:connected",{url:t}),A(),j();return}if(E==="pong")return;if(E==="ready"){const V=Number(O.protocolVersion??-1);V!==gw&&C("daemon:version-mismatch",{daemonProtocol:V,supportedProtocol:gw}),C("ready",O);return}const H=O.requestId;if(typeof H=="string"&&y.has(H)){const V=y.get(H);if(y.delete(H),clearTimeout(V.timer),E==="error"){const L=String(O.code??"ERR"),ne=String(O.message??"unknown");V.reject(new Error(`${L}: ${ne}`))}else vw.has(E)&&C(E,O),V.resolve(O);return}vw.has(E)&&C(E,O)},D=()=>{p&&(clearTimeout(p),p=null),Ae("daemon-client","connect →",{url:t,token:ld(n),attempt:f}),N("connecting");let O;try{O=new WebSocket(t)}catch(E){N("disconnected"),C("daemon:disconnected",{reason:(E==null?void 0:E.message)??"ws constructor failed"}),$();return}u=O,_=!!n,O.onopen=()=>{if(O!==u){Ae("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){Ae("daemon-client","onopen → send auth frame",{token:ld(n)});const E={type:"auth",token:n};r!=null&&r.principalId&&(E.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(E.selfDisplayName=r.displayName),i&&(E.clientInfo=i),O.send(JSON.stringify(E)),b=setTimeout(()=>{try{O.close(4001,"auth handshake timeout")}catch{}},l)}else Ae("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),f=0,N("connected"),C("daemon:connected",{url:t}),A(),j()},O.onclose=E=>{if(O!==u){Ae("daemon-client","onclose → stale, ignore",{code:E.code,reason:E.reason});return}const H=E.reason||(E.code===1008?"auth failed":`close ${E.code}`);if(Ae("daemon-client","onclose →",{code:E.code,reason:H,awaitingAuth:_,manualStop:d}),B(),I(`connection closed: ${H}`),u=null,E.code===4401?N("revoked"):N("disconnected"),C("daemon:disconnected",{reason:H}),E.code===1008||E.code===4401){z(`connection closed: ${H}`);return}d?z(`connection closed: ${H}`):$()},O.onerror=()=>{},O.onmessage=E=>{if(O!==u)return;let H;try{H=JSON.parse(String(E.data))}catch{return}F(H)}};return{start(){d=!1,f=0,D()},stop(){d=!0,p&&(clearTimeout(p),p=null),B();try{u==null||u.close(1e3,"shutdown")}catch{}u=null,I("shutdown"),z("shutdown"),N("disconnected")},switchProfile(O){Ae("daemon-client","switchProfile →",{url:O.url,token:ld(O.authToken)},"prev:",{url:t,token:ld(n)}),t=O.url,n=O.authToken,O.selfIdentity!==void 0&&(r=O.selfIdentity),f=0,d=!0,p&&(clearTimeout(p),p=null),B(),I("switch profile"),z("switch profile");try{u==null||u.close(1e3,"switch profile")}catch{}u=null,d=!1,D()},request(O,E){return new Promise((H,V)=>{const L=_w(),ne=setTimeout(()=>{y.delete(L);const G=R.findIndex(ye=>ye.timer===ne);G>=0&&R.splice(G,1),V(new Error(`request timeout: ${O}`))},s),ae=()=>{y.set(L,{resolve:G=>H(G),reject:V,timer:ne}),u.send(JSON.stringify({...E,type:O,requestId:L}))};(u==null?void 0:u.readyState)===1&&!_?ae():d||u==null&&p==null?(clearTimeout(ne),V(new Error("NOT_CONNECTED"))):R.push({doSend:ae,reject:V,timer:ne})})},on:T,get isOpen(){return(u==null?void 0:u.readyState)===1&&!_},get url(){return t},getStatus(){return x}}}function nB(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}function rB(e){return e?{id:e.id,mode:e.mode,url:e.url,token:nB(e.token),name:e.name}:null}function cd(e){return e?Array.isArray(e)?e.map(rB):{_notArray:typeof e,_value:e}:null}function xw(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const iB="ws://127.0.0.1:18790",yw="daemon:profiles",bw="daemon:active-profile-id";function sB(){return Math.random().toString(36).slice(2,10)}function oB(e){const t=e.trim(),n=t.indexOf("#");if(n<0)return{url:t};const r=t.slice(0,n),i=new URLSearchParams(t.slice(n+1)).get("token")??void 0;return{url:r,token:i}}function aB(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&(t.mode==="localhost"||t.mode==="remote")&&typeof t.url=="string"&&(t.token===void 0||typeof t.token=="string")}function ST(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{Ae("profile-store","persist →",cd(t.profiles),"active:",t.activeId),await e.kv.set(yw,t.profiles),await e.kv.set(bw,t.activeId)},a=async()=>{if(!n){if(r){await r;return}r=(async()=>{var l;try{let c=null;try{const d=await e.kv.get(yw);c=xw(d)}catch{c=null}let u=null;try{const d=await e.kv.get(bw);u=xw(d)??null}catch{u=null}if(Ae("profile-store","ensureLoaded read kv →","profiles:",cd(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(aB),f=u&&d.some(p=>p.id===u)?u:((l=d[0])==null?void 0:l.id)??null;t={profiles:d,activeId:f},n=!0,Ae("profile-store","ensureLoaded → use kv profiles",cd(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:iB}],activeId:"default"},Ae("profile-store","ensureLoaded → fallback synthesized default (NO token)",cd(t.profiles)),n=!0,await o()}finally{r=null}})(),await r}};return{async load(){return await a(),s(),t},async snapshot(){return await a(),t},async upsert(l){var b;await a();let c=l.url,u=l.token;if(c&&c.includes("#")){const _=oB(c);c=_.url,!u&&_.token&&(u=_.token)}const d=l.id?t.profiles.find(_=>_.id===l.id):void 0,f=u!=null&&u.trim()?u.trim():d==null?void 0:d.token;if(l.mode==="remote"&&!f)throw new Error("remote mode requires token");const p=l.id??sB(),m={id:p,name:((b=l.name)==null?void 0:b.trim())||(d==null?void 0:d.name)||(l.mode==="remote"?"远程":"本机"),mode:l.mode,url:c.trim(),token:f};return t={profiles:[...t.profiles.filter(_=>_.id!==p),m],activeId:p},await o(),s(),m},async delete(l){var d;await a();const c=t.profiles.filter(f=>f.id!==l);let u=t.activeId;u===l&&(u=((d=c[0])==null?void 0:d.id)??null),t={profiles:c,activeId:u},await o(),s()},async activate(l){await a(),t.profiles.some(c=>c.id===l)&&(t={...t,activeId:l},await o(),s())},subscribe(l){return i.add(l),()=>i.delete(l)},getActive(){return n?t.profiles.find(l=>l.id===t.activeId)??null:null}}}const ww="clawd.client-instance-id";let lB={name:"clawd-web",version:"unknown"};function cB(){let e=null;try{e=localStorage.getItem(ww),e||(e=crypto.randomUUID(),localStorage.setItem(ww,e))}catch{e=e??crypto.randomUUID()}return{...lB,instanceId:e}}function Sw(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const kT=g.createContext(null);function uB({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=ST(e),o=await s.load(),a=o.profiles.find(c=>c.id===o.activeId)??o.profiles[0];if(!a)throw new Error("DaemonProvider: profile store has no profiles after load");return Ae("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Sw(a.token)}),{client:tB({url:a.url,authToken:a.token,clientInfo:cB()}),store:s}},[e]);return g.useEffect(()=>{let s=!0,o=null,a=null;return i().then(l=>{s&&(l.client.start(),o=l,r(l),a=l.store.subscribe(()=>{const c=l.store.getActive();if(!c){Ae("daemon-context","subscribe → no active profile, skip switchProfile");return}Ae("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Sw(c.token)}),l.client.switchProfile({url:c.url,authToken:c.token})}))}),()=>{s=!1,a==null||a(),o==null||o.client.stop()}},[i]),n?h.jsx(kT.Provider,{value:n,children:t}):null}function ci(){const e=g.useContext(kT);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function dB(){const e=ci(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i.mode,o=s==="tui"?"tui":"sdk";Ae("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}function hB(){const e=ci(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i;s.version!==void 0&&n(s.principalKind==="guest"?"guest":"owner")}),[e]),t}const CT=g.createContext(null);function fB({cache:e,children:t}){return g.createElement(CT.Provider,{value:e},t)}function Io(){const e=g.useContext(CT);if(!e)throw new Error("useCache must be used inside <CacheProvider>");return e}function si(e){const t=Io(),n=g.useCallback(i=>t.observe(e,()=>i()),[t,e]),r=g.useCallback(()=>t.read(e),[t,e]);return g.useSyncExternalStore(n,r,r)}const ET={actionsLevel:"none",httpBaseUrl:null,httpToken:null},NT=g.createContext(ET);function Zf(){return g.useContext(NT)}function pB(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:ET}function mB(){const e=si("daemon-info");return g.useMemo(()=>pB(e),[e])}function gB({children:e}){const t=mB();return Ze.createElement(NT.Provider,{value:t},e)}function vB(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function _B(e){const t=new Map;return{observe(n,r){let i=t.get(n);i||(i={data:void 0,hasData:!1,listeners:new Set},t.set(n,i));const s=l=>r(l);i.listeners.add(s);const o=i.listeners.size===1;s(i.hasData?i.data:void 0),o&&e.onFirstObserver(n);let a=!1;return()=>{if(a)return;a=!0;const l=t.get(n);l&&(l.listeners.delete(s),l.listeners.size===0&&(t.delete(n),e.onLastObserver(n)))}},read(n){const r=t.get(n);return r!=null&&r.hasData?r.data:void 0},setData(n,r){const i=t.get(n);if(!i)return;const s=i.hasData?i.data:void 0,o=r(s);i.data=o,i.hasData=!0;for(const a of i.listeners)a(o)}}}function xB(){const e=[],t=new Map,n=r=>{for(const i of e)if(i.pattern.test(r))return i.source;return null};return{register(r,i){e.push({pattern:r,source:i})},activate(r){if(t.has(r))return;const i=n(r);if(!i)throw new Error(`no source registered for key: ${r}`);t.set(r,i.start(r))},deactivate(r){const i=t.get(r);i&&(t.delete(r),i())}}}function yB(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of mT)n.push(e.on(r,i=>t(r,i)));return()=>{for(const r of n)r()}},onConnect(t){return e.on("daemon:connected",()=>t())},get isConnected(){return e.isOpen}}}function TT(e){const t=(e??"claude")==="claude";return{rewind:t,subagents:t,tui:t,observe:t,fileSharing:t,fork:t}}const bB=e=>({tool:e,models:[{id:"",label:"未指定",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"未指定"}],configSchema:[],features:TT(e)});function wB(e,t){return{start(n){const r=n.replace(/^capabilities\//,"");let i=!1;const s=async()=>{try{const a=await e.request("capabilities:get",{tool:r});if(i)return;t(n,()=>a)}catch{if(i)return;t(n,()=>bB(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function SB(e,t){return{start(n){let r=!1;const i=async()=>{try{const a=await e.request("session:list",void 0);if(r)return;t(n,()=>a.sessions??[])}catch{}},s=e.onFrame((a,l)=>{if(a==="session:info"){const c=l;if(c.chatId!==void 0)return;t(n,u=>[c,...(u??[]).filter(d=>d.sessionId!==c.sessionId)])}else if(a==="session:deleted"){const c=l;t(n,u=>(u??[]).filter(d=>d.sessionId!==c.sessionId))}}),o=e.onConnect(()=>{i()});return i(),()=>{r=!0,s(),o()}}}}const Vc={sessionId:null,events:[],lastSeq:-1,pendingPermissions:[],status:"idle",pendingQuestions:{}};function Sm(e,t){const n=t;if(n.kind==="permission_request"&&typeof n.requestId=="string"){if(e.some(i=>i.requestId===n.requestId))return e;const r={requestId:n.requestId,tool:typeof n.tool=="string"?n.tool:"",input:n.input,...typeof n.toolUseId=="string"&&n.toolUseId?{toolUseId:n.toolUseId}:{}};return[...e,r]}if(n.kind==="tool_result"&&typeof n.toolUseId=="string"&&n.toolUseId){const r=e.findIndex(i=>i.toolUseId===n.toolUseId);if(r>=0)return e.filter((i,s)=>s!==r)}return e}function PT(e,t,n){const r=n===void 0?e.sessionId:n;switch(t.type){case"session:change":return{...Vc,sessionId:t.sessionId};case"session:event":{if(!r||t.sessionId!==r)return e;const i=typeof t.event.seq=="number"?t.event.seq:-1,s=[...e.events,t.event],o=i>e.lastSeq?i:e.lastSeq,a=Sm(e.pendingPermissions,t.event);return{...e,events:s,lastSeq:o,pendingPermissions:a}}case"session:status":return!r||t.sessionId!==r?e:{...e,status:t.status};case"session:events":{if(!r||t.sessionId!==r)return e;const i=t.events.map(o=>o.event),s=i.reduce((o,a)=>Sm(o,a),[]);return{...e,sessionId:t.sessionId,events:i,lastSeq:t.latestSeq,pendingPermissions:s}}case"session:events:append":{if(!r||t.sessionId!==r)return e;const i=new Set;for(const c of e.events){const u=c.seq;typeof u=="number"&&i.add(u)}const s=[];for(const c of t.events)typeof c.seq=="number"&&(i.has(c.seq)||s.push(c.event));const o=t.latestSeq>e.lastSeq?t.latestSeq:e.lastSeq;if(s.length===0)return o===e.lastSeq?e:{...e,lastSeq:o};const a=[...e.events,...s].sort((c,u)=>{const d=c.seq??-1,f=u.seq??-1;return d-f}),l=s.reduce((c,u)=>Sm(c,u),e.pendingPermissions);return{...e,events:a,lastSeq:o,pendingPermissions:l}}case"permission:request":{if(!r||t.sessionId!==r||e.pendingPermissions.some(s=>s.requestId===t.requestId))return e;const i={requestId:t.requestId,tool:t.tool,input:t.input,...t.toolUseId?{toolUseId:t.toolUseId}:{}};return{...e,pendingPermissions:[...e.pendingPermissions,i]}}case"permission:clear":{if(!r||r!==t.sessionId)return e;const i=t.requestId,s=e.pendingPermissions.findIndex(c=>c.requestId===i),o=s>=0?e.pendingPermissions.filter((c,u)=>u!==s):e.pendingPermissions;if(e.events.length===0)return o===e.pendingPermissions?e:{...e,pendingPermissions:o};const a=e.events.length-1,l=e.events[a];return l.kind==="permission_request"&&l.requestId===i?{...e,pendingPermissions:o,events:e.events.slice(0,a)}:o===e.pendingPermissions?e:{...e,pendingPermissions:o}}case"session:question":return!r||t.sessionId!==r?e:{...e,pendingQuestions:{...e.pendingQuestions,[t.toolUseId]:{toolUseId:t.toolUseId,requestId:t.requestId,questions:t.questions}}};case"session:question:clear":{if(!r||t.sessionId!==r||!(t.toolUseId in e.pendingQuestions))return e;const{[t.toolUseId]:i,...s}=e.pendingQuestions;return{...e,pendingQuestions:s}}case"session:question:submitted":{if(!r||t.sessionId!==r)return e;const i=e.pendingQuestions[t.toolUseId];return i?{...e,pendingQuestions:{...e.pendingQuestions,[t.toolUseId]:{...i,submittedAnswers:t.answers}}}:e}case"session:rewound":return!r||t.sessionId!==r?e:{...e,pendingPermissions:[],status:"idle"};case"ready":{if(!r)return e;const i=t.runningSessions.find(o=>o.sessionId===r);if(i!=null&&i.freshSpawn)return{...Vc,sessionId:r};const s=(i==null?void 0:i.status)??"idle";return s===e.status?e:{...e,status:s}}case"daemon:disconnected":return{...e,pendingPermissions:[]};default:return e}}const kB="session/";function CB(e){return{sid:e.slice(kB.length)}}const EB=new Set(gT);function IT(e){return EB.has(e)}function kw(e){return IT(e)?e:"idle"}function NB(e,t){return{start(n){const{sid:r}=CB(n);let i=!1,s=-1;const o=f=>{t(n,p=>PT(p??Vc,f,r))},a=async f=>{const p=f==="baseline"?-1:s;try{const m=await e.request("session:events",{sessionId:r,afterSeq:p});if(i)return;const v=m.events??[],b=m.latestSeq??-1;if(f==="baseline")o({type:"session:events",sessionId:r,events:v,latestSeq:b}),s=b;else{const _=m.bufferStartSeq??0,x=b<p||_>p+1;o({type:x?"session:events":"session:events:append",sessionId:r,events:v,latestSeq:b}),s=Math.max(s,b)}}catch{}},l=async()=>{try{const f=await e.request("info");if(i)return;o({type:"ready",runningSessions:(f.runningSessions??[]).map(p=>({sessionId:p.sessionId,freshSpawn:p.freshSpawn,status:kw(p.status)}))})}catch{}},c=async()=>{try{await e.request("session:subscribe",{sessionId:r})}catch{}i||(await a(s<0?"baseline":"delta"),!i&&await l())},u=e.onFrame((f,p)=>{if(!i)if(f==="session:event"){const m=p;if(m.sessionId!==r)return;const v=m.event.seq;Ae("session-events","push session:event",{sid:r,kind:m.event.kind,seq:v,lastSeqBefore:s}),o({type:"session:event",sessionId:m.sessionId,event:m.event}),typeof v=="number"&&v>s&&(s=v)}else if(f==="session:status"){const m=p;if(m.sessionId!==r)return;if(!IT(m.status)){Ae("session-events","push session:status drop",{sid:r,status:m.status});return}Ae("session-events","push session:status",{sid:r,status:m.status}),o({type:"session:status",sessionId:m.sessionId,status:m.status})}else if(f==="session:cleared"){if(p.sessionId!==r)return;Ae("session-events","push session:cleared",{sid:r}),o({type:"session:change",sessionId:r}),s=-1}else if(f==="permission:request"){const m=p;if(m.sessionId!==r)return;o({type:"permission:request",sessionId:m.sessionId,requestId:m.requestId,tool:m.tool,input:m.input,...typeof m.toolUseId=="string"&&m.toolUseId?{toolUseId:m.toolUseId}:{}})}else if(f==="session:question"){const m=p;if(m.sessionId!==r)return;o({type:"session:question",sessionId:m.sessionId,toolUseId:m.toolUseId,requestId:m.requestId,questions:m.questions})}else if(f==="session:question:cleared"){const m=p;if(m.sessionId!==r)return;m.answers&&Object.keys(m.answers).length>0?o({type:"session:question:submitted",sessionId:m.sessionId,toolUseId:m.toolUseId,answers:m.answers}):o({type:"session:question:clear",sessionId:m.sessionId,toolUseId:m.toolUseId})}else if(f==="session:rewound"){const m=p;if(m.sessionId!==r)return;o({type:"session:rewound",sessionId:m.sessionId,userMessageId:m.userMessageId})}else f==="ready"&&o({type:"ready",runningSessions:(p.runningSessions??[]).map(v=>({sessionId:v.sessionId,freshSpawn:v.freshSpawn,status:kw(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const TB=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function PB(e,t){return{start(n){let r=!1;const i=async()=>{try{const a=await e.request("info",void 0);if(r)return;t(n,()=>a)}catch{}},s=e.onConnect(()=>{i()}),o=e.onFrame(a=>{TB.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function IB(){return{start(){return()=>{}}}}function RB(e,t){return{start(n){let r=!1;const i=async()=>{try{const o=await e.request("persona:list",{});if(r)return;t(n,()=>o.personas??[])}catch{}},s=e.onConnect(()=>{i()});return i(),()=>{r=!0,s()}}}}function MB(e){const t=yB(e),n=xB();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,wB(t,i)),n.register(/^sessions$/,SB(t,i)),n.register(/^session\//,NB(t,i)),n.register(/^personas$/,RB(t,i)),n.register(/^persona-detail\//,IB()),n.register(/^daemon-info$/,PB(t,i));const s=_B({onFirstObserver:o=>{o&&n.activate(o)},onLastObserver:o=>{o&&n.deactivate(o)}});return r=s,{cache:s,channel:t}}class Ax{constructor(t){this.client=t}info(){return this.client.request("info")}attachmentSignUrl(t){return this.client.request("attachment.signUrl",t)}attachmentGroupAdd(t,n,r){return this.client.request("attachment.groupAdd",{sessionId:t,relPath:n,...r?{label:r}:{}})}attachmentGroupRemove(t,n){return this.client.request("attachment.groupRemove",{sessionId:t,relPath:n})}attachmentGroupList(t){return this.client.request("attachment.groupList",{sessionId:t})}sessionCreate(t){return this.client.request("session:create",t)}appBuilderListProjects(){return this.client.request("appBuilder:listProjects",{})}appBuilderGetProject(t){return this.client.request("appBuilder:getProject",{sessionId:t})}appBuilderUpdateProjectPort(t,n){return this.client.request("appBuilder:updateProjectPort",{name:t,newPort:n})}appBuilderStartDevServer(t,n){return this.client.request("appBuilder:startDevServer",{sessionId:t,...n!=null&&n.force?{force:!0}:{}})}appBuilderStopDevServer(t){return this.client.request("appBuilder:stopDevServer",{sessionId:t})}appBuilderPublish(t){return this.client.request("appBuilder:publish",{name:t})}appBuilderDismissPublishJob(t){return this.client.request("appBuilder:dismissPublishJob",{name:t})}sessionList(){return this.client.request("session:list")}sessionGet(t){return this.client.request("session:get",{sessionId:t})}sessionUpdate(t,n){return this.client.request("session:update",{sessionId:t,patch:n})}sessionDelete(t){return this.client.request("session:delete",{sessionId:t})}sessionSend(t,n){return this.client.request("session:send",{sessionId:t,text:n})}sessionStop(t){return this.client.request("session:stop",{sessionId:t})}sessionInterrupt(t){return this.client.request("session:interrupt",{sessionId:t})}sessionRewind(t){return this.client.request("session:rewind",t)}sessionRewindableMessageIds(t){return this.client.request("session:rewindable-message-ids",{sessionId:t})}sessionRewindDiff(t){return this.client.request("session:rewind-diff",t)}sessionNew(t){return this.client.request("session:new",{sessionId:t})}sessionFork(t){return this.client.request("session:fork",t)}sessionResume(t,n){return this.client.request("session:resume",{sessionId:t,toolSessionId:n})}sessionObserve(t){return this.client.request("session:observe",t)}sessionEvents(t,n){return this.client.request("session:events",{sessionId:t,afterSeq:n})}sessionSubscribe(t){return this.client.request("session:subscribe",{sessionId:t})}sessionUnsubscribe(t){return this.client.request("session:unsubscribe",{sessionId:t})}pinSession(t,n){return this.client.request("session:pin",{sessionId:t,pinned:n})}archiveSession(t,n){return this.client.request("session:archive",{sessionId:t,archived:n})}markSessionRead(t){return this.client.request("session:markRead",{sessionId:t})}reorderPins(t){return this.client.request("session:reorderPins",{orderedIds:t})}peerSessionUpsert(t){return this.client.request("peerSession:upsert",t)}peerSessionRemove(t){return this.client.request("peerSession:remove",{sessionId:t})}permissionRespond(t){return this.client.request("permission:respond",t)}answerQuestion(t){return this.client.request("session:answerQuestion",t)}cancelQuestion(t){return this.client.request("session:cancelQuestion",t)}historyProjects(){return this.client.request("history:projects")}historyList(t){return this.client.request("history:list",{projectPath:t})}historyRead(t){return this.client.request("history:read",t)}historySubagents(t){return this.client.request("history:subagents",t)}historySubagentRead(t){return this.client.request("history:subagent-read",t)}listRecentDirs(){return this.client.request("history:recentDirs",{})}getGitRoot(t){return this.client.request("git:root",{cwd:t})}getGitBranch(t){return this.client.request("git:branch",{cwd:t})}listGitBranches(t){return this.client.request("git:branches",{cwd:t})}personaCreate(t){return this.client.request("persona:create",t)}personaList(){return this.client.request("persona:list",{})}personaGet(t){return this.client.request("persona:get",{personaId:t})}personaUpdate(t,n){return this.client.request("persona:update",{personaId:t,patch:n})}personaDelete(t){return this.client.request("persona:delete",{personaId:t})}larkBotBindManual(t,n,r){return this.client.request("larkBot:bindManual",{personaId:t,appId:n,appSecret:r})}larkBotUnbind(t){return this.client.request("larkBot:unbind",{personaId:t})}larkBotStatus(t){return this.client.request("larkBot:status",{personaId:t})}toolsProbe(){return this.client.request("tools:probe",{})}sessionExternalScan(){return this.client.request("session:externalScan",{})}sessionImportExternal(t){return this.client.request("session:importExternal",t)}onboardingComplete(){return this.client.request("onboarding:complete",{})}onboardingIosInterest(){return this.client.request("onboarding:iosInterest",{})}visitorList(){return this.client.request("visitor:list",{})}workspaceList(t={}){return this.client.request("workspace:list",t)}workspaceRead(t){return this.client.request("workspace:read",t)}skillsList(t,n){return this.client.request("skills:list",{cwd:t,...n?{tool:n}:{}})}agentsList(t,n){return this.client.request("agents:list",{cwd:t,...n?{tool:n}:{}})}capabilitiesGet(t="claude"){return this.client.request("capabilities:get",{tool:t})}shiftList(){return this.client.request("shift:list")}githubStatus(){return this.client.request("github:status")}githubPrList(t){return this.client.request("github:prList",{role:t})}githubPrDetail(t){return this.client.request("github:prDetail",{...t})}githubPrMerge(t){return this.client.request("github:prMerge",{...t})}githubPrComment(t){return this.client.request("github:prComment",{...t})}githubPrSetReady(t){return this.client.request("github:prSetReady",{...t})}githubCollaborators(t){return this.client.request("github:collaborators",{...t})}githubPrRequestReviewers(t){return this.client.request("github:prRequestReviewers",{...t})}}function AB(e){const[t,n]=g.useState(e.isOpen?{kind:"connected",url:""}:{kind:"connecting"});return g.useEffect(()=>{const r=e.on("ready",l=>{const c=l;n(u=>({kind:"connected",url:u.kind==="connected"?u.url:"",mode:u.kind==="connected"?u.mode:void 0,daemonVersion:c.version,protocolVersion:c.protocolVersion,daemonSource:c.daemonSource,globalCliVersion:c.globalCliVersion,onboardingCompletedAt:c.onboardingCompletedAt}))}),i=e.on("daemon:connected",l=>{const c=l;n(u=>({kind:"connected",url:c.url,mode:c.mode,daemonVersion:u.kind==="connected"?u.daemonVersion:void 0,protocolVersion:u.kind==="connected"?u.protocolVersion:void 0,daemonSource:u.kind==="connected"?u.daemonSource:void 0,globalCliVersion:u.kind==="connected"?u.globalCliVersion:void 0,onboardingCompletedAt:u.kind==="connected"?u.onboardingCompletedAt:void 0}))}),s=e.on("daemon:disconnected",l=>{const c=(l==null?void 0:l.reason)??"";/auth failed|auth timeout|auth required|auth handshake timeout/i.test(c)?n({kind:"auth-failed",reason:c}):n({kind:"disconnected",reason:c})}),o=e.on("daemon:reconnecting",l=>{const c=l;n({kind:"reconnecting",attempt:c.attempt,nextDelayMs:c.nextDelayMs,scheduledAt:c.scheduledAt??Date.now()})}),a=e.on("daemon:version-mismatch",l=>{const c=l;n({kind:"version-mismatch",daemonProtocol:c.daemonProtocol,supportedProtocol:c.supportedProtocol})});return()=>{r(),i(),s(),o(),a()}},[e]),t}function LB(e){const t=Io(),n=si(e.kind==="connected"?"sessions":""),r=g.useCallback(async()=>{t.setData("sessions",i=>i??[])},[t]);return{sessions:n??[],loading:!1,loaded:n!==void 0,error:null,refresh:r}}function cl(){const e=ci();return g.useMemo(()=>new Ax(e),[e])}function RT(e){return{personaId:e.personaId,label:e.label,model:e.model,effort:e.effort,tool:e.tool,public:e.public,createdAt:e.createdAt,updatedAt:e.updatedAt}}function MT(){const e=Io(),t=cl(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>RT(s)),[n]),i=g.useCallback(async()=>{const s=await t.personaList();e.setData("personas",()=>s.personas??[])},[t,e]);return{personas:r,raw:n,loaded:si("personas")!==void 0,refresh:i}}function AT(e){const{raw:t}=MT(),n=Io(),r=cl(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?RT(i):null,o=g.useCallback(async()=>{if(!e)return;const a=await r.personaList();n.setData("personas",()=>a.personas??[])},[e,r,n]);return{persona:s,raw:i,loaded:!!s,refresh:o}}function jB(e){const t=cl(),n=Io(),r=e?`persona-detail/${e}`:"",i=si(r),s=g.useCallback(async()=>{const o={personality:"",skills:[],plugins:[],sandboxSettings:null};if(!e)return o;const a=await t.personaGet(e);let l;if("persona"in a&&a.persona===null)l=o;else{const c=a;l={personality:c.personality??"",skills:c.skills??[],plugins:c.plugins??[],sandboxSettings:c.sandboxSettings??null}}return n.setData(r,()=>l),l},[t,n,e,r]);return g.useEffect(()=>{e&&s()},[e,s]),{personality:(i==null?void 0:i.personality)??"",skills:(i==null?void 0:i.skills)??[],plugins:(i==null?void 0:i.plugins)??[],sandboxSettings:(i==null?void 0:i.sandboxSettings)??null,loaded:i!==void 0,refresh:s}}function LT(){const e=Io(),t=cl();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function DB(){const e=cl(),t=LT();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function OB(){const e=cl(),t=LT();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Cw="clawd:sidebar:tree-collapsed";function BB(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function zB(e){const t=BB(e);if(!Array.isArray(t))return new Set;const n=new Set;for(const r of t)typeof r=="string"&&n.add(r);return n}function $B(){const e=vx(),[t,n]=g.useState(()=>new Set),r=g.useRef(t);r.current=t,g.useEffect(()=>{let l=!1;return(async()=>{try{const c=await e.kv.get(Cw);if(l)return;n(zB(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Cw,[...l]).catch(()=>{})},[e]),s=g.useCallback(l=>r.current.has(l),[]),o=g.useCallback(l=>{n(c=>{const u=new Set(c);return u.has(l)?u.delete(l):u.add(l),i(u),u})},[i]),a=g.useCallback(l=>{n(c=>{let u=!1;const d=new Set;for(const f of c)l.has(f)?d.add(f):u=!0;return u?(i(d),d):c})},[i]);return{isCollapsed:s,toggle:o,prune:a}}const Lx=g.createContext(null);function FB(){const e=g.useContext(Lx);if(!e)throw new Error("SessionTreeCollapsedContext.Provider missing — wrap SessionTreeNode tree with <SessionTreeCollapsedContext.Provider value={useSessionTreeCollapsed()}>");return e}/**
96
96
  * @license lucide-react v0.577.0 - ISC
97
97
  *
98
98
  * This source code is licensed under the ISC license.
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Clawd 分享</title>
7
- <script type="module" crossorigin src="/share-ui/assets/guest-DzxzIoVO.js"></script>
7
+ <script type="module" crossorigin src="/share-ui/assets/guest-D_dd0bzx.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-Dd5QCK4c.css">
9
9
  </head>
10
10
  <body style="margin: 0">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.351",
3
+ "version": "0.2.352",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",