@clawos-dev/clawd 0.2.246 → 0.2.247

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
@@ -67,6 +67,8 @@ var init_methods = __esm({
67
67
  "session:subscribe",
68
68
  "session:unsubscribe",
69
69
  "session:pin",
70
+ // 清共享未读标记(SessionFile.unreadAt → null)+ 广播 session:info;幂等
71
+ "session:markRead",
70
72
  "session:reorderPins",
71
73
  // mirror peer sessions (2026-05-26): owner-only RPC,写/删本机 mirror SessionFile —
72
74
  // mirror 是「**我**在朋友 daemon 上自己创建的 session」的本机持久化副本(不是朋友的会话),
@@ -4781,6 +4783,11 @@ var init_schemas = __esm({
4781
4783
  // pinned 行手动拖拽顺序;越小越靠前。session:reorderPins 整体重写所有 pinned 的此字段。
4782
4784
  // 缺失时 view-state 排序回退到 pinnedAt desc(旧数据兼容)
4783
4785
  pinSortOrder: external_exports.number().int().nullable().optional(),
4786
+ // daemon 权威的共享未读标记(spec 2026-07-20-shared-session-unread):
4787
+ // session wire status 从 running 跃迁为非 running 时 daemon 置为当时 ISO 时间戳;
4788
+ // session:markRead RPC 或新 turn 开始(→ running)时清为 null。
4789
+ // 所有客户端(desktop / mobile)共享同一份,任一端标读全端清。
4790
+ unreadAt: external_exports.string().min(1).nullable().optional(),
4784
4791
  // 用户在 NewSessionDialog 或 Edit modal 选择的 icon 标识;UI 端做 enum 兜底
4785
4792
  iconKey: external_exports.string().optional(),
4786
4793
  // 由 session:fork 派生的 session 在 create 时记录源 session 的 sessionId(稳定 key,
@@ -41881,6 +41888,25 @@ deviceId \u76F4\u63A5\u53D6\u81EA token\uFF0C\u4E0D\u8981\u6539\u5199\u6216\u731
41881
41888
  - \u5931\u8D25\uFF1A\`{ isFailure: true, reason: "..." }\`
41882
41889
  - \u62A5\u544A\u5B8C\u540E\u4F60\u7684 session \u5C31\u7ED3\u675F\u4E86\uFF0C\u4E0D\u8981\u7EE7\u7EED\u8F93\u51FA`;
41883
41890
 
41891
+ // src/session/reducer-types.ts
41892
+ function compressStatus(status) {
41893
+ switch (status) {
41894
+ case "spawning":
41895
+ case "running":
41896
+ return "running";
41897
+ case "running-idle":
41898
+ return "running-idle";
41899
+ case "stopping":
41900
+ case "stopped":
41901
+ return "stopped";
41902
+ case "error":
41903
+ return "error";
41904
+ case "idle":
41905
+ default:
41906
+ return "idle";
41907
+ }
41908
+ }
41909
+
41884
41910
  // src/session/reducer.ts
41885
41911
  function cloneState(s) {
41886
41912
  return {
@@ -42190,7 +42216,7 @@ var RUNTIME_PATCH_KEYS = [
42190
42216
  "effort",
42191
42217
  "cwd"
42192
42218
  ];
42193
- var MARKER_PATCH_KEYS = ["pinnedAt", "pinSortOrder"];
42219
+ var MARKER_PATCH_KEYS = ["pinnedAt", "pinSortOrder", "unreadAt"];
42194
42220
  function isMarkerOnlyPatch(patch) {
42195
42221
  const keys = Object.keys(patch).filter(
42196
42222
  (k2) => patch[k2] !== void 0
@@ -42435,6 +42461,24 @@ function assertNever(x) {
42435
42461
  throw new Error(`unexpected command: ${JSON.stringify(x)}`);
42436
42462
  }
42437
42463
  function reduceSession(state, input, deps) {
42464
+ const result = reduceSessionInner(state, input, deps);
42465
+ const prevWire = compressStatus(state.status);
42466
+ const nextWire = compressStatus(result.state.status);
42467
+ if (prevWire === nextWire) return result;
42468
+ let file;
42469
+ if (prevWire === "running") {
42470
+ file = { ...result.state.file, unreadAt: nowIso(deps) };
42471
+ } else if (nextWire === "running" && result.state.file.unreadAt != null) {
42472
+ file = { ...result.state.file, unreadAt: null };
42473
+ } else {
42474
+ return result;
42475
+ }
42476
+ return {
42477
+ state: { ...result.state, file },
42478
+ effects: [...result.effects, { kind: "persist-file", file }, sessionInfoFrame(file)]
42479
+ };
42480
+ }
42481
+ function reduceSessionInner(state, input, deps) {
42438
42482
  switch (input.kind) {
42439
42483
  case "stdout-line": {
42440
42484
  const events = deps.parseLine(input.line);
@@ -43216,53 +43260,13 @@ function probePtyDataThrottled(tsid, len, tail) {
43216
43260
  function compressFrameForWire(frame) {
43217
43261
  if (frame.type !== "session:status") return frame;
43218
43262
  const raw = frame;
43219
- const status = raw.status;
43220
- let compressed;
43221
- switch (status) {
43222
- case "spawning":
43223
- case "running":
43224
- compressed = "running";
43225
- break;
43226
- case "running-idle":
43227
- compressed = "running-idle";
43228
- break;
43229
- case "stopping":
43230
- case "stopped":
43231
- compressed = "stopped";
43232
- break;
43233
- case "error":
43234
- compressed = "error";
43235
- break;
43236
- case "idle":
43237
- compressed = "idle";
43238
- break;
43239
- default:
43240
- compressed = "idle";
43241
- break;
43242
- }
43263
+ const compressed = compressStatus(raw.status);
43243
43264
  return {
43244
43265
  type: "session:status",
43245
43266
  sessionId: raw.sessionId,
43246
43267
  status: compressed
43247
43268
  };
43248
43269
  }
43249
- function compressStatus(status) {
43250
- switch (status) {
43251
- case "spawning":
43252
- case "running":
43253
- return "running";
43254
- case "running-idle":
43255
- return "running-idle";
43256
- case "stopping":
43257
- case "stopped":
43258
- return "stopped";
43259
- case "error":
43260
- return "error";
43261
- case "idle":
43262
- default:
43263
- return "idle";
43264
- }
43265
- }
43266
43270
  function nowIso2(deps) {
43267
43271
  return new Date((deps.now ?? Date.now)()).toISOString();
43268
43272
  }
@@ -43808,6 +43812,29 @@ var SessionManager = class {
43808
43812
  this.writeOwned(updated);
43809
43813
  return { response: updated, broadcast: [] };
43810
43814
  }
43815
+ // 清共享未读(spec 2026-07-20-shared-session-unread)。幂等:已读直接 no-op 不广播。
43816
+ // 与 pin 的差异:no-runner 路径也要广播 session:info——跨端实时清红点是本 RPC 的核心
43817
+ // 语义,不能等下次 session:list。
43818
+ markRead(args) {
43819
+ const existing = this.getFile(args.sessionId);
43820
+ if (existing.unreadAt == null) return { response: existing, broadcast: [] };
43821
+ const runner = this.runners.get(args.sessionId);
43822
+ if (runner) {
43823
+ const { value, broadcast } = this.withCollector(() => {
43824
+ runner.input({ kind: "command", command: { kind: "update", patch: { unreadAt: null } } });
43825
+ return runner.getState().file;
43826
+ });
43827
+ return { response: value, broadcast };
43828
+ }
43829
+ const updated = { ...existing, unreadAt: null };
43830
+ this.writeOwned(updated);
43831
+ return {
43832
+ response: updated,
43833
+ broadcast: [
43834
+ { frame: { type: "session:info", ...updated }, target: "all" }
43835
+ ]
43836
+ };
43837
+ }
43811
43838
  // sidebar 拖拽完成 → 整体重写 pinned root 的 pinSortOrder(按 orderedIds 下标 0,1,2...)
43812
43839
  // orderedIds 必须正好覆盖所有当前 pinned root(既不能漏,也不能含 unpinned id)
43813
43840
  reorderPins(args) {
@@ -54136,6 +54163,12 @@ function buildSessionHandlers(deps) {
54136
54163
  const { response, broadcast } = manager.pin(args);
54137
54164
  return { response: { type: "session:info", ...response }, broadcast };
54138
54165
  };
54166
+ const markRead = async (frame, _client, ctx) => {
54167
+ const args = SessionIdArgs.parse(frame);
54168
+ ensureSessionAccess(ctx, args.sessionId, "send");
54169
+ const { response, broadcast } = manager.markRead(args);
54170
+ return { response: { type: "session:info", ...response }, broadcast };
54171
+ };
54139
54172
  const reorderPins = async (frame) => {
54140
54173
  const args = SessionReorderPinsArgs.parse(frame);
54141
54174
  const { response, broadcast } = manager.reorderPins(args);
@@ -54251,6 +54284,7 @@ function buildSessionHandlers(deps) {
54251
54284
  "session:subscribe": subscribe,
54252
54285
  "session:unsubscribe": unsubscribe,
54253
54286
  "session:pin": pin,
54287
+ "session:markRead": markRead,
54254
54288
  "session:reorderPins": reorderPins,
54255
54289
  "session:answerQuestion": answerQuestion,
54256
54290
  "session:cancelQuestion": cancelQuestion,
@@ -58007,6 +58041,7 @@ var METHOD_GRANT_MAP = {
58007
58041
  "session:subscribe": CAPABILITY_SCOPED,
58008
58042
  "session:unsubscribe": CAPABILITY_SCOPED,
58009
58043
  "session:pin": CAPABILITY_SCOPED,
58044
+ "session:markRead": CAPABILITY_SCOPED,
58010
58045
  "session:reorderPins": ADMIN_ANY,
58011
58046
  // owner 全局操作,无 personaId 维度
58012
58047
  // mirror peer sessions (2026-05-26):owner-only — guest 不应能写/删本机 mirror SessionFile
@@ -39833,6 +39833,11 @@ var SessionFileSchema = external_exports.object({
39833
39833
  // pinned 行手动拖拽顺序;越小越靠前。session:reorderPins 整体重写所有 pinned 的此字段。
39834
39834
  // 缺失时 view-state 排序回退到 pinnedAt desc(旧数据兼容)
39835
39835
  pinSortOrder: external_exports.number().int().nullable().optional(),
39836
+ // daemon 权威的共享未读标记(spec 2026-07-20-shared-session-unread):
39837
+ // session wire status 从 running 跃迁为非 running 时 daemon 置为当时 ISO 时间戳;
39838
+ // session:markRead RPC 或新 turn 开始(→ running)时清为 null。
39839
+ // 所有客户端(desktop / mobile)共享同一份,任一端标读全端清。
39840
+ unreadAt: external_exports.string().min(1).nullable().optional(),
39836
39841
  // 用户在 NewSessionDialog 或 Edit modal 选择的 icon 标识;UI 端做 enum 兜底
39837
39842
  iconKey: external_exports.string().optional(),
39838
39843
  // 由 session:fork 派生的 session 在 create 时记录源 session 的 sessionId(稳定 key,
@@ -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 nb=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 eD={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},tD={motionBase:!0,motionUnit:!0},nD={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},UE=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=nb(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=HE(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=nb(l,["theme"]);let d=u;c&&(d=UE(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function WE(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=st.useContext($E),s=`${Q4}-${t||""}`,o=n||zE,[a,l,c]=H3(o,[Ec,e],{salt:s,override:r,getComputedToken:UE,formatToken:HE,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:eD,ignore:tD,preserve:nD}});return[o,c,t?l:"",a,i]}const rD=()=>({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"}}),iD=e=>({[`.${e}`]:Object.assign(Object.assign({},rD()),{[`.${e} .${e}-icon`]:{display:"block"}})}),sD=(e,t)=>{const[n,r]=WE();return g4({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>iD(e))},oD=Object.assign({},Fa),{useId:rb}=oD,aD=()=>"",lD=typeof rb>"u"?aD:rb;function cD(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},vh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:vh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=lD();return lE(()=>{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!g3(c,d,!0)}))}var uD=["children"],VE=g.createContext({});function dD(e){var t=e.children,n=zg(e,uD);return g.createElement(VE.Provider,{value:n},t)}var hD=function(e){uE(n,e);var t=hE(n);function n(){return Wa(this,n),t.apply(this,arguments)}return Va(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function fD(e){var t=g.useReducer(function(a){return a+1},0),n=Ze(t,2),r=n[1],i=g.useRef(e),s=av(function(){return i.current}),o=av(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var Qi="none",$u="appear",Fu="enter",Hu="leave",ib="none",Tr="prepare",aa="start",la="active",O_="end",qE="prepared";function sb(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 pD(e,t){var n={animationend:sb("Animation","AnimationEnd"),transitionend:sb("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var mD=pD(Li(),typeof window<"u"?window:{}),KE={};if(Li()){var gD=document.createElement("div");KE=gD.style}var Uu={};function GE(e){if(Uu[e])return Uu[e];var t=mD[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 KE)return Uu[e]=t[s],Uu[e]}return""}var XE=GE("animationend"),YE=GE("transitionend"),ZE=!!(XE&&YE),ob=XE||"animationend",ab=YE||"transitionend";function lb(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 vD=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(ab,e),i.removeEventListener(ob,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(ab,e),i.addEventListener(ob,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var QE=Li()?g.useLayoutEffect:g.useEffect;const _D=function(){var e=g.useRef(null);function t(){Og.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Og(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 xD=[Tr,aa,la,O_],yD=[Tr,qE],JE=!1,bD=!0;function eN(e){return e===la||e===O_}const wD=function(e,t,n){var r=lv(ib),i=Ze(r,2),s=i[0],o=i[1],a=_D(),l=Ze(a,2),c=l[0],u=l[1];function d(){o(Tr,!0)}var f=t?yD:xD;return QE(function(){if(s!==ib&&s!==O_){var p=f.indexOf(s),m=f[p+1],v=n(s);v===JE?o(m,!0):m&&c(function(y){function _(){y.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function SD(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,y=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,b=r.onEnterActive,w=r.onLeaveActive,S=r.onAppearEnd,k=r.onEnterEnd,T=r.onLeaveEnd,N=r.onVisibleChanged,O=lv(),P=Ze(O,2),L=P[0],R=P[1],I=fD(Qi),j=Ze(I,2),B=j[0],$=j[1],F=lv(null),A=Ze(F,2),D=A[0],C=A[1],H=B(),q=g.useRef(!1),M=g.useRef(null);function ne(){return n()}var oe=g.useRef(!1);function V(){$(Qi),C(null,!0)}var pe=av(function(Ue){var tt=B();if(tt!==Qi){var mt=ne();if(!(Ue&&!Ue.deadline&&Ue.target!==mt)){var Xt=oe.current,pn;tt===$u&&Xt?pn=S==null?void 0:S(mt,Ue):tt===Fu&&Xt?pn=k==null?void 0:k(mt,Ue):tt===Hu&&Xt&&(pn=T==null?void 0:T(mt,Ue)),Xt&&pn!==!1&&V()}}}),Oe=vD(pe),re=Ze(Oe,1),Me=re[0],Fe=function(tt){switch(tt){case $u:return be(be(be({},Tr,f),aa,v),la,x);case Fu:return be(be(be({},Tr,p),aa,y),la,b);case Hu:return be(be(be({},Tr,m),aa,_),la,w);default:return{}}},We=g.useMemo(function(){return Fe(H)},[H]),ge=wD(H,!e,function(Ue){if(Ue===Tr){var tt=We[Tr];return tt?tt(ne()):JE}if(wt in We){var mt;C(((mt=We[wt])===null||mt===void 0?void 0:mt.call(We,ne(),null))||null)}return wt===la&&H!==Qi&&(Me(ne()),u>0&&(clearTimeout(M.current),M.current=setTimeout(function(){pe({deadline:!0})},u))),wt===qE&&V(),bD}),Ge=Ze(ge,2),Gt=Ge[0],wt=Ge[1],It=eN(wt);oe.current=It;var ln=g.useRef(null);QE(function(){if(!(q.current&&ln.current===t)){R(t);var Ue=q.current;q.current=!0;var tt;!Ue&&t&&a&&(tt=$u),Ue&&t&&s&&(tt=Fu),(Ue&&!t&&c||!Ue&&d&&!t&&c)&&(tt=Hu);var mt=Fe(tt);tt&&(e||mt[Tr])?($(tt),Gt()):$(Qi),ln.current=t}},[t]),g.useEffect(function(){(H===$u&&!a||H===Fu&&!s||H===Hu&&!c)&&$(Qi)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(M.current)}},[]);var Bt=g.useRef(!1);g.useEffect(function(){L&&(Bt.current=!0),L!==void 0&&H===Qi&&((Bt.current||L)&&(N==null||N(L)),Bt.current=!0)},[L,H]);var at=D;return We[Tr]&&wt===aa&&(at=Be({transition:"none"},at)),[H,wt,at,L??t]}function kD(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(VE),y=v.motion,_=n(i,y),x=g.useRef(),b=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:Jj(b.current)}catch{return null}}var S=SD(_,a,w,i),k=Ze(S,4),T=k[0],N=k[1],O=k[2],P=k[3],L=g.useRef(P);P&&(L.current=!0);var R=g.useCallback(function(A){x.current=A,r3(s,A)},[s]),I,j=Be(Be({},m),{},{visible:a});if(!d)I=null;else if(T===Qi)P?I=d(Be({},j),R):!c&&L.current&&p?I=d(Be(Be({},j),{},{className:p}),R):u||!c&&!p?I=d(Be(Be({},j),{},{style:{display:"none"}}),R):I=null;else{var B;N===Tr?B="prepare":eN(N)?B="active":N===aa&&(B="start");var $=lb(f,"".concat(T,"-").concat(B));I=d(Be(Be({},j),{},{className:Fj(lb(f,T),be(be({},$,$&&B),f,typeof f=="string")),style:O}),R)}if(g.isValidElement(I)&&i3(I)){var F=s3(I);F||(I=g.cloneElement(I,{ref:R}))}return g.createElement(hD,{ref:b},I)});return r.displayName="CSSMotion",r}const CD=kD(ZE);var cv="add",uv="keep",dv="remove",Up="removed";function ED(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},Be(Be({},t),{},{key:String(t.key)})}function hv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(ED)}function ND(){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=hv(e),o=hv(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 Be(Be({},p),{},{status:cv})})),r=d),n.push(Be(Be({},f),{},{status:uv})),r+=1,u=!0;break}}u||n.push(Be(Be({},c),{},{status:dv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return Be(Be({},c),{},{status:cv})})));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!==dv}),n.forEach(function(u){u.key===c&&(u.status=uv)})}),n}var TD=["component","children","onVisibleChanged","onAllRemoved"],PD=["status"],RD=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function ID(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:CD,n=function(r){uE(s,r);var i=hE(s);function s(){var o;Wa(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)),be(Dg(o),"state",{keyEntities:[]}),be(Dg(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:Be(Be({},p),{},{status:Up})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==Up}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return Va(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=zg(c,TD),m=u||g.Fragment,v={};return RD.forEach(function(y){v[y]=p[y],delete p[y]}),delete p.keys,g.createElement(m,p,l.map(function(y,_){var x=y.status,b=zg(y,PD),w=x===cv||x===uv;return g.createElement(t,ph({},v,{key:b.key,visible:w,eventProps:b,onVisibleChanged:function(k){f==null||f(k,{key:b.key}),k||a.removeKey(b.key)}}),function(S,k){return d(Be(Be({},S),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=hv(c),f=ND(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var y=v.key;return p.key===y});return!(m&&m.status===Up&&p.status===dv)})}}}]),s}(g.Component);return be(n,"defaultProps",{component:"div"}),n}ID(ZE);const cb=g.createContext(!0);function MD(e){const t=g.useContext(cb),{children:n}=e,[,r]=WE(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(cb.Provider,{value:i},g.createElement(dD,{motion:i},n)):n}const AD=()=>null;var jD=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 DD=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let tN;function LD(){return tN||sv}function OD(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const BD=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(tN=t),r&&OD(r)&&q4(LD(),r)},zD=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:y,parentContext:_,iconPrefixCls:x,theme:b,componentDisabled:w,segmented:S,statistic:k,spin:T,calendar:N,carousel:O,cascader:P,collapse:L,typography:R,checkbox:I,descriptions:j,divider:B,drawer:$,skeleton:F,steps:A,image:D,layout:C,list:H,mentions:q,modal:M,progress:ne,result:oe,slider:V,breadcrumb:pe,menu:Oe,pagination:re,input:Me,textArea:Fe,empty:We,badge:ge,radio:Ge,rate:Gt,switch:wt,transfer:It,avatar:ln,message:Bt,tag:at,table:Ue,card:tt,tabs:mt,timeline:Xt,timePicker:pn,upload:U,notification:Z,tree:ve,colorPicker:we,datePicker:Q,rangePicker:Xe,flex:Yt,wave:Zt,dropdown:ue,warning:Ne,tour:Qe,tooltip:Dn,popover:Qt,popconfirm:nl,floatButton:Ao,floatButtonGroup:gu,variant:vu,inputNumber:op,treeSelect:ap}=e,_u=g.useCallback((Tt,$t)=>{const{prefixCls:or}=e;if($t)return $t;const Ln=or||_.getPrefixCls("");return Tt?`${Ln}-${Tt}`:Ln},[_.getPrefixCls,e.prefixCls]),jo=x||_.iconPrefixCls||FE,Do=n||_.csp;sD(jo,Do);const rl=cD(b,_.theme,{prefixCls:_u("")}),il={csp:Do,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||y,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:_u,iconPrefixCls:jo,theme:rl,segmented:S,statistic:k,spin:T,calendar:N,carousel:O,cascader:P,collapse:L,typography:R,checkbox:I,descriptions:j,divider:B,drawer:$,skeleton:F,steps:A,image:D,input:Me,textArea:Fe,layout:C,list:H,mentions:q,modal:M,progress:ne,result:oe,slider:V,breadcrumb:pe,menu:Oe,pagination:re,empty:We,badge:ge,radio:Ge,rate:Gt,switch:wt,transfer:It,avatar:ln,message:Bt,tag:at,table:Ue,card:tt,tabs:mt,timeline:Xt,timePicker:pn,upload:U,notification:Z,tree:ve,colorPicker:we,datePicker:Q,rangePicker:Xe,flex:Yt,wave:Zt,dropdown:ue,warning:Ne,tour:Qe,tooltip:Dn,popover:Qt,popconfirm:nl,floatButton:Ao,floatButtonGroup:gu,variant:vu,inputNumber:op,treeSelect:ap},Ui=Object.assign({},_);Object.keys(il).forEach(Tt=>{il[Tt]!==void 0&&(Ui[Tt]=il[Tt])}),DD.forEach(Tt=>{const $t=e[Tt];$t&&(Ui[Tt]=$t)}),typeof r<"u"&&(Ui.button=Object.assign({autoInsertSpace:r},Ui.button));const Wi=lE(()=>Ui,Ui,(Tt,$t)=>{const or=Object.keys(Tt),Ln=Object.keys($t);return or.length!==Ln.length||or.some(Y=>Tt[Y]!==$t[Y])}),{layer:sl}=g.useContext(kf),xu=g.useMemo(()=>({prefixCls:jo,csp:Do,layer:sl?"antd":void 0}),[jo,Do,sl]);let zt=g.createElement(g.Fragment,null,g.createElement(AD,{dropdownMatchSelectWidth:p}),t);const ol=g.useMemo(()=>{var Tt,$t,or,Ln;return k4(((Tt=Nf.Form)===null||Tt===void 0?void 0:Tt.defaultValidateMessages)||{},((or=($t=Wi.locale)===null||$t===void 0?void 0:$t.Form)===null||or===void 0?void 0:or.defaultValidateMessages)||{},((Ln=Wi.form)===null||Ln===void 0?void 0:Ln.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[Wi,o==null?void 0:o.validateMessages]);Object.keys(ol).length>0&&(zt=g.createElement(E4.Provider,{value:ol},zt)),a&&(zt=g.createElement(P4,{locale:a,_ANT_MARK__:T4},zt)),zt=g.createElement(y4.Provider,{value:xu},zt),l&&(zt=g.createElement(G4,{size:l},zt)),zt=g.createElement(MD,null,zt);const al=g.useMemo(()=>{const Tt=rl||{},{algorithm:$t,token:or,components:Ln,cssVar:Y}=Tt,_e=jD(Tt,["algorithm","token","components","cssVar"]),xe=$t&&(!Array.isArray($t)||$t.length>0)?Fg($t):zE,Ye={};Object.entries(Ln||{}).forEach(([oA,aA])=>{const hi=Object.assign({},aA);"algorithm"in hi&&(hi.algorithm===!0?hi.theme=xe:(Array.isArray(hi.algorithm)||typeof hi.algorithm=="function")&&(hi.theme=Fg(hi.algorithm)),delete hi.algorithm),Ye[oA]=hi});const di=Object.assign(Object.assign({},Ec),or);return Object.assign(Object.assign({},_e),{theme:xe,token:di,components:Ye,override:Object.assign({override:di},Ye),cssVar:Y})},[rl]);return b&&(zt=g.createElement($E.Provider,{value:al},zt)),Wi.warning&&(zt=g.createElement(C4.Provider,{value:Wi.warning},zt)),w!==void 0&&(zt=g.createElement(K4,{disabled:w},zt)),g.createElement(Tf.Provider,{value:Wi},zt)},Ka=e=>{const t=g.useContext(Tf),n=g.useContext(DE);return g.createElement(zD,Object.assign({parentContext:t,legacyLocale:n},e))};Ka.ConfigContext=Tf;Ka.SizeContext=Nc;Ka.config=BD;Ka.useConfig=X4;Object.defineProperty(Ka,"SizeContext",{get:()=>Nc});const lr=(e,t)=>new xt(e).setA(t).toRgbString(),Bo=(e,t)=>new xt(e).lighten(t).toHexString(),$D=e=>{const t=Ma(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]}},FD=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:lr(r,.85),colorTextSecondary:lr(r,.65),colorTextTertiary:lr(r,.45),colorTextQuaternary:lr(r,.25),colorFill:lr(r,.18),colorFillSecondary:lr(r,.12),colorFillTertiary:lr(r,.08),colorFillQuaternary:lr(r,.04),colorBgSolid:lr(r,.95),colorBgSolidHover:lr(r,1),colorBgSolidActive:lr(r,.9),colorBgElevated:Bo(n,12),colorBgContainer:Bo(n,8),colorBgLayout:Bo(n,0),colorBgSpotlight:Bo(n,26),colorBgBlur:lr(r,.04),colorBorder:Bo(n,26),colorBorderSecondary:Bo(n,19)}},HD=(e,t)=>{const n=Object.keys(D_).map(s=>{const o=Ma(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??L_(e),i=BE(e,{generateColorPalettes:$D,generateNeutralColorPalettes:FD});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},ub={defaultSeed:vh.token,defaultAlgorithm:L_,darkAlgorithm:HD};function db({children:e}){const t=N_(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(Ka,{theme:{algorithm:n.mode==="dark"?ub.darkAlgorithm:ub.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}const nN=["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","capability:tokenDeleted","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"],rN=["idle","running","running-idle","stopped","error","observing"],UD=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],WD=["builtin","global","project","plugin"],VD=["builtin","global","project","policy","plugin"];var qe;(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})(qe||(qe={}));var hb;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(hb||(hb={}));const ce=qe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ns=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}},K=qe.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 Ri 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 Ri))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,qe.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()}}Ri.create=e=>new Ri(e);const fv=(e,t)=>{let n;switch(e.code){case K.invalid_type:e.received===ce.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case K.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,qe.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:n=`Unrecognized key(s) in object: ${qe.joinValues(e.keys,", ")}`;break;case K.invalid_union:n="Invalid input";break;case K.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${qe.joinValues(e.options)}`;break;case K.invalid_enum_value:n=`Invalid enum value. Expected ${qe.joinValues(e.options)}, received '${e.received}'`;break;case K.invalid_arguments:n="Invalid function arguments";break;case K.invalid_return_type:n="Invalid function return type";break;case K.invalid_date:n="Invalid date";break;case K.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}"`:qe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case K.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 K.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 K.custom:n="Invalid input";break;case K.invalid_intersection_types:n="Intersection results could not be merged";break;case K.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case K.not_finite:n="Number must be finite";break;default:n=t.defaultError,qe.assertNever(e)}return{message:n}};let qD=fv;function KD(){return qD}const GD=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 ie(e,t){const n=KD(),r=GD({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===fv?void 0:fv].filter(i=>!!i)});e.common.issues.push(r)}class Tn{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 ke;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 Tn.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 ke;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 ke=Object.freeze({status:"aborted"}),Al=e=>({status:"dirty",value:e}),Sr=e=>({status:"valid",value:e}),fb=e=>e.status==="aborted",pb=e=>e.status==="dirty",Aa=e=>e.status==="valid",_h=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 mb=(e,t)=>{if(Aa(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 Ri(e.common.issues);return this._error=n,this._error}}};function Ie(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 He{get description(){return this._def.description}_getType(t){return ns(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ns(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Tn,ctx:{common:t.parent.common,data:t.data,parsedType:ns(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(_h(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:ns(t)},i=this._parseSync({data:t,path:r.path,parent:r});return mb(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:ns(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return Aa(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=>Aa(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:ns(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(_h(i)?i:Promise.resolve(i));return mb(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:K.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 uo({schema:this,typeName:Ce.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 Ci.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ei.create(this)}promise(){return kh.create(this,this._def)}or(t){return yh.create([this,t],this._def)}and(t){return bh.create(this,t,this._def)}transform(t){return new uo({...Ie(this._def),schema:this,typeName:Ce.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ch({...Ie(this._def),innerType:this,defaultValue:n,typeName:Ce.ZodDefault})}brand(){return new aN({typeName:Ce.ZodBranded,type:this,...Ie(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Eh({...Ie(this._def),innerType:this,catchValue:n,typeName:Ce.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return z_.create(this,t)}readonly(){return Nh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const XD=/^c[^\s-]{8,}$/i,YD=/^[0-9a-z]+$/,ZD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,QD=/^[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,JD=/^[a-z0-9_-]{21}$/i,eL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,tL=/^[-+]?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)?)??$/,nL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Wp;const iL=/^(?:(?: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])$/,sL=/^(?:(?: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])$/,oL=/^(([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]))$/,aL=/^(([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])$/,lL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,cL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,iN="((\\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])))",uL=new RegExp(`^${iN}$`);function sN(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 dL(e){return new RegExp(`^${sN(e)}$`)}function hL(e){let t=`${iN}T${sN(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 fL(e,t){return!!((t==="v4"||!t)&&iL.test(e)||(t==="v6"||!t)&&oL.test(e))}function pL(e,t){if(!eL.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 mL(e,t){return!!((t==="v4"||!t)&&sL.test(e)||(t==="v6"||!t)&&aL.test(e))}class bi extends He{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ce.string){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_type,expected:ce.string,received:s.parsedType}),ke}const r=new Tn;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),ie(i,{code:K.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),ie(i,{code:K.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?ie(i,{code:K.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&ie(i,{code:K.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")nL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"email",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Wp||(Wp=new RegExp(rL,"u")),Wp.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"emoji",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")QD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"uuid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")JD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"nanoid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")XD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cuid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")YD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cuid2",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")ZD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"ulid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),ie(i,{validation:"url",code:K.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),ie(i,{validation:"regex",code:K.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),ie(i,{code:K.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),ie(i,{code:K.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?hL(s).test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?uL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?dL(s).test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?tL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"duration",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?fL(t.data,s.version)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"ip",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?pL(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"jwt",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?mL(t.data,s.version)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cidr",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?lL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?cL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64url",code:K.invalid_string,message:s.message}),r.dirty()):qe.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:K.invalid_string,...me.errToObj(r)})}_addCheck(t){return new bi({...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 bi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new bi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new bi({...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}}bi.create=e=>new bi({checks:[],typeName:Ce.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Ie(e)});function gL(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 ja extends He{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 ie(s,{code:K.invalid_type,expected:ce.number,received:s.parsedType}),ke}let r;const i=new Tn;for(const s of this._def.checks)s.kind==="int"?qe.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),ie(r,{code:K.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),ie(r,{code:K.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),ie(r,{code:K.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?gL(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),ie(r,{code:K.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),ie(r,{code:K.not_finite,message:s.message}),i.dirty()):qe.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 ja({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new ja({...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"&&qe.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)}}ja.create=e=>new ja({checks:[],typeName:Ce.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Ie(e)});class Tc extends He{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 Tn;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),ie(r,{code:K.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),ie(r,{code:K.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),ie(r,{code:K.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):qe.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return ie(n,{code:K.invalid_type,expected:ce.bigint,received:n.parsedType}),ke}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 Tc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new Tc({...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}}Tc.create=e=>new Tc({checks:[],typeName:Ce.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Ie(e)});class pv extends He{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ce.boolean){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.boolean,received:r.parsedType}),ke}return Sr(t.data)}}pv.create=e=>new pv({typeName:Ce.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Ie(e)});class xh extends He{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ce.date){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_type,expected:ce.date,received:s.parsedType}),ke}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_date}),ke}const r=new Tn;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),ie(i,{code:K.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),ie(i,{code:K.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):qe.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new xh({...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}}xh.create=e=>new xh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ce.ZodDate,...Ie(e)});class gb extends He{_parse(t){if(this._getType(t)!==ce.symbol){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.symbol,received:r.parsedType}),ke}return Sr(t.data)}}gb.create=e=>new gb({typeName:Ce.ZodSymbol,...Ie(e)});class mv extends He{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.undefined,received:r.parsedType}),ke}return Sr(t.data)}}mv.create=e=>new mv({typeName:Ce.ZodUndefined,...Ie(e)});class gv extends He{_parse(t){if(this._getType(t)!==ce.null){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.null,received:r.parsedType}),ke}return Sr(t.data)}}gv.create=e=>new gv({typeName:Ce.ZodNull,...Ie(e)});class vb extends He{constructor(){super(...arguments),this._any=!0}_parse(t){return Sr(t.data)}}vb.create=e=>new vb({typeName:Ce.ZodAny,...Ie(e)});class vv extends He{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Sr(t.data)}}vv.create=e=>new vv({typeName:Ce.ZodUnknown,...Ie(e)});class Ss extends He{_parse(t){const n=this._getOrReturnCtx(t);return ie(n,{code:K.invalid_type,expected:ce.never,received:n.parsedType}),ke}}Ss.create=e=>new Ss({typeName:Ce.ZodNever,...Ie(e)});class _b extends He{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.void,received:r.parsedType}),ke}return Sr(t.data)}}_b.create=e=>new _b({typeName:Ce.ZodVoid,...Ie(e)});class ei extends He{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==ce.array)return ie(n,{code:K.invalid_type,expected:ce.array,received:n.parsedType}),ke;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(ie(n,{code:o?K.too_big:K.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&&(ie(n,{code:K.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&&(ie(n,{code:K.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=>Tn.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new ii(n,o,n.path,a)));return Tn.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:Ce.ZodArray,...Ie(t)});function Ko(e){if(e instanceof jt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ci.create(Ko(r))}return new jt({...e._def,shape:()=>t})}else return e instanceof ei?new ei({...e._def,type:Ko(e.element)}):e instanceof Ci?Ci.create(Ko(e.unwrap())):e instanceof ho?ho.create(Ko(e.unwrap())):e instanceof lo?lo.create(e.items.map(t=>Ko(t))):e}class jt extends He{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=qe.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 ie(c,{code:K.invalid_type,expected:ce.object,received:c.parsedType}),ke}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ss&&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 Ss){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&&(ie(i,{code:K.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=>Tn.mergeObjectSync(r,c)):Tn.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:Ce.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 qe.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 qe.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}deepPartial(){return Ko(this)}partial(t){const n={};for(const r of qe.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 qe.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Ci;)s=s._def.innerType;n[r]=s}return new jt({...this._def,shape:()=>n})}keyof(){return oN(qe.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});class yh extends He{_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 Ri(a.ctx.common.issues));return ie(n,{code:K.invalid_union,unionErrors:o}),ke}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 Ri(l));return ie(n,{code:K.invalid_union,unionErrors:a}),ke}}get options(){return this._def.options}}yh.create=(e,t)=>new yh({options:e,typeName:Ce.ZodUnion,...Ie(t)});const gi=e=>e instanceof xv?gi(e.schema):e instanceof uo?gi(e.innerType()):e instanceof Sh?[e.value]:e instanceof co?e.options:e instanceof yv?qe.objectValues(e.enum):e instanceof Ch?gi(e._def.innerType):e instanceof mv?[void 0]:e instanceof gv?[null]:e instanceof Ci?[void 0,...gi(e.unwrap())]:e instanceof ho?[null,...gi(e.unwrap())]:e instanceof aN||e instanceof Nh?gi(e.unwrap()):e instanceof Eh?gi(e._def.innerType):[];class B_ extends He{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.object)return ie(n,{code:K.invalid_type,expected:ce.object,received:n.parsedType}),ke;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}):(ie(n,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ke)}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=gi(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 B_({typeName:Ce.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Ie(r)})}}function _v(e,t){const n=ns(e),r=ns(t);if(e===t)return{valid:!0,data:e};if(n===ce.object&&r===ce.object){const i=qe.objectKeys(t),s=qe.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=_v(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=_v(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 bh extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(fb(s)||fb(o))return ke;const a=_v(s.value,o.value);return a.valid?((pb(s)||pb(o))&&n.dirty(),{status:n.value,value:a.data}):(ie(r,{code:K.invalid_intersection_types}),ke)};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}))}}bh.create=(e,t,n)=>new bh({left:e,right:t,typeName:Ce.ZodIntersection,...Ie(n)});class lo extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.array)return ie(r,{code:K.invalid_type,expected:ce.array,received:r.parsedType}),ke;if(r.data.length<this._def.items.length)return ie(r,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ke;!this._def.rest&&r.data.length>this._def.items.length&&(ie(r,{code:K.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=>Tn.mergeArray(n,o)):Tn.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new lo({...this._def,rest:t})}}lo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new lo({items:e,typeName:Ce.ZodTuple,rest:null,...Ie(t)})};class wh extends He{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 ie(r,{code:K.invalid_type,expected:ce.object,received:r.parsedType}),ke;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?Tn.mergeObjectAsync(n,i):Tn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof He?new wh({keyType:t,valueType:n,typeName:Ce.ZodRecord,...Ie(r)}):new wh({keyType:bi.create(),valueType:t,typeName:Ce.ZodRecord,...Ie(n)})}}class xb extends He{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 ie(r,{code:K.invalid_type,expected:ce.map,received:r.parsedType}),ke;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 ke;(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 ke;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}xb.create=(e,t,n)=>new xb({valueType:t,keyType:e,typeName:Ce.ZodMap,...Ie(n)});class Pc extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.set)return ie(r,{code:K.invalid_type,expected:ce.set,received:r.parsedType}),ke;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(ie(r,{code:K.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&&(ie(r,{code:K.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 ke;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 Pc({...this._def,minSize:{value:t,message:me.toString(n)}})}max(t,n){return new Pc({...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)}}Pc.create=(e,t)=>new Pc({valueType:e,minSize:null,maxSize:null,typeName:Ce.ZodSet,...Ie(t)});class xv extends He{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})}}xv.create=(e,t)=>new xv({getter:e,typeName:Ce.ZodLazy,...Ie(t)});class Sh extends He{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return ie(n,{received:n.data,code:K.invalid_literal,expected:this._def.value}),ke}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sh.create=(e,t)=>new Sh({value:e,typeName:Ce.ZodLiteral,...Ie(t)});function oN(e,t){return new co({values:e,typeName:Ce.ZodEnum,...Ie(t)})}class co extends He{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return ie(n,{expected:qe.joinValues(r),received:n.parsedType,code:K.invalid_type}),ke}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 ie(n,{received:n.data,code:K.invalid_enum_value,options:r}),ke}return Sr(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 co.create(t,{...this._def,...n})}exclude(t,n=this._def){return co.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}co.create=oN;class yv extends He{_parse(t){const n=qe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ce.string&&r.parsedType!==ce.number){const i=qe.objectValues(n);return ie(r,{expected:qe.joinValues(i),received:r.parsedType,code:K.invalid_type}),ke}if(this._cache||(this._cache=new Set(qe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=qe.objectValues(n);return ie(r,{received:r.data,code:K.invalid_enum_value,options:i}),ke}return Sr(t.data)}get enum(){return this._def.values}}yv.create=(e,t)=>new yv({values:e,typeName:Ce.ZodNativeEnum,...Ie(t)});class kh extends He{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.promise&&n.common.async===!1)return ie(n,{code:K.invalid_type,expected:ce.promise,received:n.parsedType}),ke;const r=n.parsedType===ce.promise?n.data:Promise.resolve(n.data);return Sr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}kh.create=(e,t)=>new kh({type:e,typeName:Ce.ZodPromise,...Ie(t)});class uo extends He{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ce.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=>{ie(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 ke;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?ke:l.status==="dirty"||n.value==="dirty"?Al(l.value):l});{if(n.value==="aborted")return ke;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?ke:a.status==="dirty"||n.value==="dirty"?Al(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"?ke:(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"?ke:(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(!Aa(o))return ke;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=>Aa(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):ke);qe.assertNever(i)}}uo.create=(e,t,n)=>new uo({schema:e,typeName:Ce.ZodEffects,effect:t,...Ie(n)});uo.createWithPreprocess=(e,t,n)=>new uo({schema:t,effect:{type:"preprocess",transform:e},typeName:Ce.ZodEffects,...Ie(n)});class Ci extends He{_parse(t){return this._getType(t)===ce.undefined?Sr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ci.create=(e,t)=>new Ci({innerType:e,typeName:Ce.ZodOptional,...Ie(t)});class ho extends He{_parse(t){return this._getType(t)===ce.null?Sr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ho.create=(e,t)=>new ho({innerType:e,typeName:Ce.ZodNullable,...Ie(t)});class Ch extends He{_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}}Ch.create=(e,t)=>new Ch({innerType:e,typeName:Ce.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ie(t)});class Eh extends He{_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 _h(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ri(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ri(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Eh.create=(e,t)=>new Eh({innerType:e,typeName:Ce.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ie(t)});class yb extends He{_parse(t){if(this._getType(t)!==ce.nan){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.nan,received:r.parsedType}),ke}return{status:"valid",value:t.data}}}yb.create=e=>new yb({typeName:Ce.ZodNaN,...Ie(e)});class aN extends He{_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 z_ extends He{_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"?ke:s.status==="dirty"?(n.dirty(),Al(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"?ke: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 z_({in:t,out:n,typeName:Ce.ZodPipeline})}}class Nh extends He{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Aa(i)&&(i.value=Object.freeze(i.value)),i);return _h(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Nh.create=(e,t)=>new Nh({innerType:e,typeName:Ce.ZodReadonly,...Ie(t)});var Ce;(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"})(Ce||(Ce={}));const E=bi.create,J=ja.create,Pe=pv.create,ec=vv.create;Ss.create;const Ee=ei.create,z=jt.create;yh.create;const Oi=B_.create;bh.create;lo.create;const Pf=wh.create,te=Sh.create,it=co.create;kh.create;Ci.create;ho.create;const vL=["owner"],_L=["agent","owner","user-upload"],lN=z({id:E().min(1),relPath:E().min(1),from:it(_L),label:E().optional(),size:J().int().nonnegative(),mime:E().min(1),addedAt:J().int().nonnegative(),lastEditedAt:J().int().nonnegative().optional(),stale:Pe().optional()});z({sessionId:E().min(1),relPath:E().min(1),ttlSeconds:J().int().positive().nullable().optional(),view:it(["raw","md-rendered"]).optional()});z({url:E().min(1),expiresAt:J().int().nonnegative().nullable()});z({sessionId:E().min(1),relPath:E().min(1),label:E().optional()});z({entry:lN});z({sessionId:E().min(1),relPath:E().min(1)});z({removed:te(!0)});z({sessionId:E().min(1)});z({entries:Ee(lN)});z({attachmentId:E().min(1),url:E().min(1),relPath:E().min(1),sizeBytes:J().int().nonnegative(),mimeType:E().min(1)});const cN=it(["owner","guest"]);z({id:E().min(1),kind:cN,displayName:E(),feishuUnionId:E().optional()}).strict();const xL=z({did:E().min(1),displayName:E(),feishuUnionId:E().optional(),principal:cN}).strict(),yL=z({personaId:E(),label:E(),model:E().optional(),public:Pe(),iconKey:E().optional(),tool:E().optional(),createdAt:J(),updatedAt:J()}).strict(),bL=z({name:E().min(1),description:E().optional()}),wL=z({id:E().min(1)}),SL=z({permissions:z({defaultMode:E().optional(),allow:Ee(E()).optional(),deny:Ee(E()).optional()}).optional(),sandbox:z({enabled:Pe().optional(),autoAllowBashIfSandboxed:Pe().optional(),allowUnsandboxedCommands:Pe().optional(),excludedCommands:Ee(E()).optional(),filesystem:z({denyRead:Ee(E()).optional(),allowRead:Ee(E()).optional(),denyWrite:Ee(E()).optional(),allowWrite:Ee(E()).optional()}).optional(),network:z({allowedDomains:Ee(E()).optional(),allowLocalBinding:Pe().optional()}).optional()}).optional()});yL.extend({personality:E().optional(),skills:Ee(bL).optional(),plugins:Ee(wL).optional(),sandboxSettings:SL.nullable().optional()});z({label:E().min(1),personality:E(),model:E().optional(),tool:E().optional(),public:Pe().optional(),iconKey:E().optional()}).strict();z({personaId:E().min(1)});z({personaId:E().min(1),patch:z({label:E().min(1).optional(),model:E().optional(),tool:E().optional(),personality:E().optional(),public:Pe().optional(),iconKey:E().nullable().optional()}).strict()}).strict();z({writableRoots:Ee(E()).optional(),denyRead:Ee(E()).optional(),network:Pe().optional()}).strict();const kL=it(rN),CL=z({input_tokens:J().int().nonnegative().optional(),cache_read_input_tokens:J().int().nonnegative().optional(),cache_creation_input_tokens:J().int().nonnegative().optional(),output_tokens:J().int().nonnegative().optional()}),EL=z({inputTokens:J().int().nonnegative(),outputTokens:J().int().nonnegative(),cacheReadTokens:J().int().nonnegative().optional(),cacheCreateTokens:J().int().nonnegative().optional()}),uN={gitBranch:E().optional(),resolvedModel:E().optional(),contextUsage:EL.optional(),contextWindowSize:J().int().positive().optional()},NL=z(uN),TL=z({id:E().min(1),label:E().min(1),description:E().optional(),contextWindowSize:J().int().positive(),default:Pe().optional()}),PL=z({id:E().min(1),label:E().min(1),description:E().optional()}),RL=z({name:E().min(1),type:it(["string","select","toggle"]),label:E().min(1),description:E().optional(),options:Ee(z({value:E(),label:E(),description:E().optional()})).optional(),default:ec().optional(),scope:it(["core","tool-specific"])});z({tool:E().min(1)});const IL=z({rewind:Pe(),subagents:Pe(),tui:Pe(),observe:Pe(),fileSharing:Pe(),fork:Pe()});z({tool:E().min(1),toolSessionIdLabel:E().optional(),models:Ee(TL),permissionModes:Ee(PL),configSchema:Ee(RL),features:IL});const ML=z({tool:E().min(1),pattern:E().min(1),createdAt:E().min(1).optional()});z({sessionId:E().min(1),cwd:E().min(1),tool:te("claude").or(E().min(1)).default("claude"),toolSessionId:E().optional(),label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),...uN,permissionRules:Ee(ML).optional(),pinnedAt:J().int().nonnegative().nullable().optional(),pinSortOrder:J().int().nullable().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Pe().optional(),ownerPersonaId:E().min(1).optional(),appBuilderProject:E().regex(/^[a-z][a-z0-9-]{0,39}$/).optional(),chatId:E().min(1).optional(),creatorPrincipalId:E().min(1).optional(),creatorDisplayName:E().min(1).optional(),creatorFeishuUnionId:E().min(1).optional(),originOwnerPrincipalId:E().min(1).optional(),originOwnerPersonaId:E().min(1).optional(),dispatchedFromSessionId:E().min(1).optional(),shiftFiredFromSessionId:E().min(1).optional(),createdAt:E().min(1),updatedAt:E().min(1)});const On={seq:J().int().nonnegative().optional(),ts:E().optional(),uuid:E().optional()},AL=it(UD),jL=z({readCount:J().int().nonnegative().optional(),searchCount:J().int().nonnegative().optional(),bashCount:J().int().nonnegative().optional(),editFileCount:J().int().nonnegative().optional(),linesAdded:J().int().nonnegative().optional(),linesRemoved:J().int().nonnegative().optional(),otherToolCount:J().int().nonnegative().optional()}),DL=z({oldStart:J().int().nonnegative(),oldLines:J().int().nonnegative(),newStart:J().int().nonnegative(),newLines:J().int().nonnegative(),lines:Ee(E())}),LL=z({agentId:E().optional(),agentType:E().optional(),status:E().optional(),prompt:E().optional(),filePath:E().optional(),structuredPatch:Ee(DL).optional(),stats:z({durationMs:J().int().nonnegative().optional(),tokens:J().int().nonnegative().optional(),toolUseCount:J().int().nonnegative().optional(),toolStats:jL.optional(),usage:CL.optional()}).optional()}),OL=z({path:E(),content:E(),mtimeMs:J().optional()}),BL=z({label:E().min(1),description:E().optional()}),dN=z({question:E().min(1),multiSelect:Pe(),options:Ee(BL).min(1)});Oi("kind",[z({...On,kind:te("session_init"),toolSessionId:E().optional()}),z({...On,kind:te("thinking"),text:E(),partialId:E().optional()}),z({...On,kind:te("text"),text:E(),partialId:E().optional()}),z({...On,kind:te("user_text"),text:E(),meta:AL.optional(),taskId:E().optional(),parentToolUseId:E().optional(),sender:xL.optional()}),z({...On,kind:te("tool_call"),toolUseId:E(),tool:E(),toolKind:E().optional(),input:ec()}),z({...On,kind:te("tool_result"),toolUseId:E(),output:ec().optional(),error:E().optional(),toolResultExtra:LL.optional(),sourceToolAssistantUUID:E().optional(),askQuestionAnswers:Pf(E(),E()).optional()}),z({...On,kind:te("attachment_memories"),memories:Ee(OL)}),z({...On,kind:te("permission_request"),requestId:E(),tool:E(),input:ec(),toolUseId:E().optional()}),z({...On,kind:te("ask_user_question"),toolUseId:E(),questions:Ee(dN)}),z({...On,kind:te("turn_end")}),z({...On,kind:te("subagent_progress"),toolUseId:E(),agentId:E(),status:it(["started","running","completed","failed"]),description:E().optional(),lastToolName:E().optional(),prompt:E().optional(),stats:z({durationMs:J().int().nonnegative().optional(),tokens:J().int().nonnegative().optional(),toolUseCount:J().int().nonnegative().optional()}).optional()}),z({...On,kind:te("error"),message:E()}),z({...On,kind:te("meta_update"),patch:NL}),z({...On,kind:te("meta-text"),text:E(),metaSource:it(["cc","owner"]).optional()})]);z({cwd:E().min(1).optional(),tool:E().optional(),label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Pe().optional(),ownerPersonaId:E().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});z({originOnly:Pe().optional(),limit:J().int().positive().optional(),offset:J().int().nonnegative().optional()});z({sessionId:E().min(1)});z({sessionId:E().min(1),patch:z({label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),cwd:E().optional(),iconKey:E().optional()})});z({sessionId:E().min(1),text:E()});z({sessionId:E().min(1),userMessageId:E().min(1),dryRun:Pe().optional()});z({canRewind:Pe(),error:E().optional(),filesChanged:Ee(E()).optional(),insertions:J().int().nonnegative().optional(),deletions:J().int().nonnegative().optional()});z({sessionId:E().min(1),userMessageId:E().min(1)});const zL=z({oldStart:J().int().nonnegative(),oldLines:J().int().nonnegative(),newStart:J().int().nonnegative(),newLines:J().int().nonnegative(),lines:Ee(E())}),$L=z({filePath:E().min(1),hunks:Ee(zL),insertions:J().int().nonnegative(),deletions:J().int().nonnegative(),status:it(["modified","added","deleted"]).optional()});z({canRewind:Pe(),error:E().optional(),files:Ee($L),totalInsertions:J().int().nonnegative(),totalDeletions:J().int().nonnegative()});z({userMessageIds:Ee(E())});z({sessionId:E().min(1),toolSessionId:E().min(1)});z({cwd:E().min(1),toolSessionId:E().min(1),messageUuid:E().min(1)});z({forkedToolSessionId:E().min(1),forkedFilePath:E().min(1)});z({sessionId:E().min(1),toolSessionId:E().min(1),jsonlPath:E().optional()});z({sessionId:E().min(1),afterSeq:J().int().min(-1)});z({sessionId:E().min(1),permissionRequestId:E().min(1),allow:Pe(),permanent:Pe().optional(),pattern:E().optional()});z({projectPath:E().min(1)});z({sessionId:E().min(1),limit:J().int().positive().max(5e3).optional(),offset:J().int().nonnegative().optional(),slim:Pe().optional()});z({cwd:E().min(1),toolSessionId:E().min(1)});z({cwd:E().min(1),toolSessionId:E().min(1),subagentId:E().min(1)});z({cwd:E().min(1).optional(),path:E().optional(),showHidden:Pe().optional()});z({cwd:E().min(1),path:E().min(1)});z({cwd:E().min(1),tool:E().optional()});z({name:E().min(1),source:it(WD),path:E().optional(),description:E().optional(),plugin:E().optional()});const FL=z({name:E().min(1),source:it(VD),path:E().optional(),description:E().optional(),whenToUse:E().optional(),plugin:E().optional()});z({cwd:E().min(1),tool:E().optional()});z({agents:Ee(FL)});z({sessionId:E().min(1)});z({sessionId:E().min(1),pinned:Pe()});z({type:te("peerSession:upsert:ok")});z({sessionId:E().min(1)});z({type:te("peerSession:remove:ok")});z({orderedIds:Ee(E().min(1)).min(1)});z({cwd:E().min(1)});z({isGitRoot:Pe(),gitRoot:E().nullable()});z({cwd:E().min(1)});z({branch:E().nullable()});z({cwd:E().min(1)});z({branches:Ee(E()),head:E().nullable()});z({}).optional();const HL=z({cwd:E().min(1),updatedAt:E().min(1)});z({dirs:Ee(HL)});z({type:te("session:question"),sessionId:E().min(1),toolUseId:E().min(1),requestId:E().min(1),questions:Ee(dN).min(1)});z({type:te("session:question:cleared"),sessionId:E().min(1),toolUseId:E().min(1),answers:Pf(E(),E()).optional()});z({sessionId:E().min(1),toolUseId:E().min(1),answers:Pf(E(),E())});z({ok:te(!0)});z({sessionId:E().min(1),toolUseId:E().min(1)});z({ok:te(!0)});z({type:te("auth"),token:E().min(1),scheme:te("bearer").optional(),selfUrl:E().min(1).optional(),clientInfo:z({name:E().min(1),version:E().min(1),instanceId:E().min(1)}).optional()});z({type:te("auth:ok"),version:E().min(1).optional(),protocolVersion:J().int().nonnegative().optional()});z({type:te("tunnel:ready"),url:E().min(1),subdomain:E().min(1)});z({type:te("tunnel:exited"),code:J().int().nullable(),subdomain:E().nullable(),url:E().nullable()});z({type:te("tunnel:unavailable"),reason:E().min(1),failedAt:E().min(1)});const UL=z({sessionId:E().min(1),status:kL,freshSpawn:Pe(),pendingPermissionRequestIds:Ee(E().min(1)),pendingQuestionToolUseIds:Ee(E().min(1))});z({type:te("info"),version:E(),protocolVersion:J(),hostname:E(),os:E(),tools:Ee(z({id:E(),available:Pe()})),runningSessions:Ee(UL),tokenRole:it(vL).optional(),isLoopback:Pe().optional(),httpBaseUrl:E().optional(),httpToken:E().optional()});const WL=6173,VL=6272,Ga=/^[a-z][a-z0-9-]{0,39}$/,tu=z({name:E().regex(Ga,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:J().int().min(WL).max(VL),createdAt:E().datetime(),devCommand:E().min(1),prodUrl:E().url().optional(),readyPattern:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:J().int().nonnegative()}).optional()}),qL=["install-pending","installing","starting-dev-server","running","stopped","failed"],hN=it(qL),$_=tu.extend({isRunning:Pe(),boundSessionId:E().nullable(),stage:hN.optional(),stageReason:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:J().int().nonnegative(),status:it(["in-flight","interrupted"])}).optional()});z({}).strict();z({projects:Ee($_)}).strict();z({sessionId:E().min(1)}).strict();z({project:$_.nullable()}).strict();z({sessionId:E().min(1),name:E()}).strict();z({project:tu}).strict();z({name:E()}).strict();z({}).strict();z({name:E(),newPort:J().int()}).strict();z({project:tu}).strict();z({name:E().regex(Ga),url:E().url()}).strict();z({project:tu}).strict();z({sessionId:E().min(1),force:Pe().optional()}).strict();z({project:tu}).strict();const KL=["installing","failed"];z({sessionId:E().min(1),stage:it(KL),reason:E().optional()}).strict();z({ok:te(!0)}).strict();z({sessionId:E().min(1)}).strict();z({ok:te(!0)}).strict();z({type:te("appBuilder:project-updated"),project:$_,stage:hN,stageReason:E().optional()}).strict();z({name:E().regex(Ga)});z({jobId:E().min(1),status:it(["started","already-publishing"])}).strict();z({name:E().regex(Ga)});z({ok:te(!0)}).strict();z({type:te("appBuilder:publish-progress"),name:E().regex(Ga),jobId:E().min(1),stage:it(["build","deploy","verify"]),status:it(["started","completed"])}).strict();z({type:te("appBuilder:publish-failed"),name:E().regex(Ga),jobId:E().min(1),stage:it(["build","deploy","verify","unknown"]),errorSummary:E()}).strict();const bb=1,GL=Oi("type",[z({type:te("persona"),id:E().min(1)}).strict(),z({type:te("chat"),id:E().min(1)}).strict(),z({type:te("*")}).strict()]),XL=it(["read","send","admin"]),fN=z({resource:GL,actions:Ee(XL).min(1)}).strict(),YL=z({id:E().min(1),secretHash:E().regex(/^[a-f0-9]{64}$/),displayName:E(),grants:Ee(fN),issuedAt:J().int().nonnegative(),expiresAt:J().int().positive().optional(),maxUses:J().int().positive().optional(),usedCount:J().int().nonnegative(),peerOwnerId:E().min(1).optional(),firstUsedByPeerAt:J().int().positive().optional(),peerDisplayName:E().optional()}).strict(),ZL=YL.omit({secretHash:!0});it(["TOKEN_INVALID","TOKEN_REVOKED","TOKEN_EXPIRED","TOKEN_EXHAUSTED"]);z({type:te("whoami:ok"),owner:z({id:E(),kind:it(["owner","guest"]),displayName:E(),ownerId:E(),provider:E()}).strict(),capability:ZL,grantedPersonas:Ee(z({id:E().min(1),displayName:E()}).strict())}).strict();z({id:E().min(1),peerDeviceId:E().min(1),senderDeviceId:E().min(1),text:E().min(1),createdAt:J().int().nonnegative(),readBy:Pf(E().min(1),J().int().positive()).default({}),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1).optional(),id:E().min(1),text:E().min(1),createdAt:J().int().nonnegative(),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1),sinceCreatedAt:J().int().nonnegative().optional()}).strict();z({peerDeviceId:E().min(1),upToCreatedAt:J().int().nonnegative()}).strict();z({peerDeviceId:E().min(1).optional(),text:E().min(1)});const QL=z({deviceId:E().min(1),ownerId:E().min(1),provider:E().min(1),displayName:E(),remoteUrl:E().min(1),connectToken:E(),grants:Ee(fN),addedAt:J().int().nonnegative(),pinnedAt:J().int().nullable().default(null),remoteAccessAllowed:Pe().default(!1)}).strict(),pN=QL;z({deviceId:E().min(1)}).strict();z({type:te("contact:remove:ok"),deviceId:E().min(1)}).strict();z({type:te("contact:list:ok"),contacts:Ee(pN)}).strict();z({type:te("contact:added"),contact:pN}).strict();z({type:te("contact:removed"),deviceId:E().min(1)}).strict();z({deviceId:E().min(1),pinned:Pe()}).strict();z({type:te("contact:pin:ok"),deviceId:E().min(1),pinnedAt:J().int().nullable()}).strict();z({type:te("contact:pinned"),deviceId:E().min(1),pinnedAt:J().int().nullable()}).strict();z({deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({type:te("contact:setRemoteAccess:ok"),deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({type:te("contact:remote-access-updated"),deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({peerDeviceId:E().min(1).optional(),command:E().min(1),timeoutMs:J().int().positive().optional()}).strict();z({type:te("peerExec:run:ok"),stdout:E(),stderr:E(),exitCode:J().int().nullable(),timedOut:Pe(),stdoutTruncated:Pe(),stderrTruncated:Pe()}).strict();const JL=/^[a-z0-9][a-z0-9-]*$/;it(["stopped","starting","running","crashed","invalid"]);const eO=new Set(["localhost","127.0.0.1"]);function tO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&eO.has(t.hostname))}const Wu=z({id:E().regex(JL),name:E().min(1),version:E().min(1),apiVersion:te("1"),runtime:z({startCommand:E().min(1)}).passthrough().optional(),entry:z({url:E().url().refine(tO,{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:K.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:K.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),nO=Oi("kind",[z({kind:te("local"),port:J().int().min(1).max(65535)}),z({kind:te("hosted"),url:E().url()})]);Oi("state",[z({extId:E(),manifest:Wu,state:te("stopped")}),z({extId:E(),manifest:Wu,state:te("starting")}),z({extId:E(),manifest:Wu,state:te("running"),target:nO}),z({extId:E(),manifest:Wu,state:te("crashed")}),z({extId:E(),manifest:ec().nullable(),state:te("invalid"),invalidReason:E().min(1)})]);z({snapshotHash:E().min(1),version:E().min(1),publishedAt:J()});Oi("kind",[z({kind:te("p2p-tunnel"),ownerPrincipalId:E().min(1),extId:E().min(1)})]);Oi("kind",[z({kind:te("p2p-tunnel"),ownerPrincipalId:E().min(1),extId:E().min(1),snapshotHash:E().min(1)})]);z({extId:E().min(1),name:E().min(1),version:E().min(1),contentHash:E().min(1),publishedAt:J()});const rO=Oi("kind",[z({kind:te("clean")}),z({kind:te("ready-new-version"),fromVersion:E().min(1),toVersion:E().min(1)}),z({kind:te("error-same-hash"),version:E().min(1)}),z({kind:te("error-version-not-bumped"),localVersion:E().min(1),publishedVersion:E().min(1)}),z({kind:te("error-version-regression"),localVersion:E().min(1),publishedVersion:E().min(1)})]);z({localManifest:z({name:E().min(1),version:E().min(1),contentHash:E().min(1)}),publishState:Oi("kind",[z({kind:te("unpublished")}),z({kind:te("published"),version:E().min(1),contentHash:E().min(1),publishedAt:J()})]),check:rO});const iO=z({deviceId:E().min(1),name:E().min(1),url:E().min(1)});z({type:te("device:list:ok"),devices:Ee(iO)});z({deviceId:E().min(1),url:E().min(1).optional(),name:E().optional()});z({type:te("device:connect:ok"),deviceId:E(),name:E(),url:E()});const mN=z({ownerId:E().min(1),provider:E().min(1),displayName:E().min(1),avatarUrl:E().optional(),unionId:E().optional()});z({type:te("auth:login:start:ok"),authUrl:E().min(1),state:E().min(1)});z({type:te("auth:getIdentity:ok"),identity:mN.nullable(),deviceId:E().min(1)});z({type:te("auth:logout:ok")});z({type:te("auth:login:done"),identity:mN});z({type:te("auth:login:failed"),reason:E()});const sO=Oi("kind",[z({kind:te("success"),text:E(),filePaths:Ee(E()).optional()}),z({kind:te("failure"),reason:E()})]);z({targetPersona:E().min(1),prompt:E(),targetDeviceId:E().min(1).optional(),model:E().min(1).optional()});z({dispatchId:E().min(1),outcome:sO});const oO=["daemon","main","renderer"],aO=it(oO),lO=["debug","info","warn","error"],cO=it(lO);z({ts:J().int(),source:aO,level:cO,msg:E(),ownerPrincipalId:E(),deviceId:E(),appVersion:E(),daemonVersion:E().optional(),os:E(),meta_json:E().optional(),sessionId:E().optional()});z({v:te(1),visitorId:E().min(1),displayName:E(),provider:E(),iat:J(),exp:J()});const uO=z({visitorId:E(),displayName:E(),avatarUrl:E().optional(),provider:E(),firstSeen:J(),lastSeen:J()});z({visitors:Ee(uO)});const dO=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let fi=null;function hO(){if(fi!==null)return fi;if(typeof window>"u")return fi=!1,!1;if(dO.has(window.location.hostname)||window.location.protocol==="file:")return fi=!0,!0;if(new URLSearchParams(window.location.search).get("debug")==="1"){fi=!0;try{sessionStorage.setItem("debug","1")}catch{}}else try{fi=sessionStorage.getItem("debug")==="1"}catch{fi=!1}return fi}function De(e,...t){hO()&&console.log(`[${e}][${new Date().toISOString()}]`,...t)}function Vu(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 fO=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},pO=new Set(["auth:ok","pong","error"]),wb=new Set(nN.filter(e=>!pO.has(e)));let mO=0;const Sb=()=>`r${++mO}`;function gO(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??fO;let u=null,d=!1,f=0,p=null,m=null,v=null,y=null,_=!1,x="disconnected";const b=new Map,w=new Map;let S=null;const k=(D,C)=>{var H;D==="ready"&&(S=C),(H=w.get(D))==null||H.forEach(q=>{try{q(C)}catch{}})},T=D=>{x!==D&&(x=D,k("status",D))},N=(D,C)=>{const H=w.get(D)??new Set;if(H.add(C),w.set(D,H),D==="ready"&&S!==null)try{C(S)}catch{}return()=>H.delete(C)},O=()=>{m&&(clearInterval(m),m=null),v&&(clearTimeout(v),v=null),y&&(clearTimeout(y),y=null)},P=()=>{v&&clearTimeout(v),v=setTimeout(()=>{try{u==null||u.close(4e3,"pong watchdog")}catch{}},a)},L=()=>{m&&clearInterval(m),m=setInterval(()=>{(u==null?void 0:u.readyState)===1&&u.send(JSON.stringify({type:"ping",requestId:Sb()}))},o),P()},R=D=>{for(const[,C]of b)clearTimeout(C.timer),C.reject(new Error(D));b.clear()},I=[],j=()=>{if(I.length===0)return;const D=I.splice(0);for(const C of D)(u==null?void 0:u.readyState)===1&&!_?C.doSend():(clearTimeout(C.timer),C.reject(new Error("NOT_CONNECTED")))},B=D=>{if(I.length===0)return;const C=I.splice(0);for(const H of C)clearTimeout(H.timer),H.reject(new Error(D))},$=()=>{if(d)return;const D=c(f);D<0||(k("daemon:reconnecting",{attempt:f+1,nextDelayMs:D,scheduledAt:Date.now()}),p&&clearTimeout(p),p=setTimeout(()=>{f+=1,A()},D))},F=D=>{P();const C=String(D.type??"");if(C==="auth:ok"){De("daemon-client","auth:ok received → connected",{url:t}),y&&(clearTimeout(y),y=null),_=!1,f=0,T("connected"),k("daemon:connected",{url:t}),L(),j();return}if(C==="pong")return;if(C==="ready"){const q=Number(D.protocolVersion??-1);q!==bb&&k("daemon:version-mismatch",{daemonProtocol:q,supportedProtocol:bb}),k("ready",D);return}const H=D.requestId;if(typeof H=="string"&&b.has(H)){const q=b.get(H);if(b.delete(H),clearTimeout(q.timer),C==="error"){const M=String(D.code??"ERR"),ne=String(D.message??"unknown");q.reject(new Error(`${M}: ${ne}`))}else wb.has(C)&&k(C,D),q.resolve(D);return}wb.has(C)&&k(C,D)},A=()=>{p&&(clearTimeout(p),p=null),De("daemon-client","connect →",{url:t,token:Vu(n),attempt:f}),T("connecting");let D;try{D=new WebSocket(t)}catch(C){T("disconnected"),k("daemon:disconnected",{reason:(C==null?void 0:C.message)??"ws constructor failed"}),$();return}u=D,_=!!n,D.onopen=()=>{if(D!==u){De("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){De("daemon-client","onopen → send auth frame",{token:Vu(n)});const C={type:"auth",token:n};r!=null&&r.principalId&&(C.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(C.selfDisplayName=r.displayName),i&&(C.clientInfo=i),D.send(JSON.stringify(C)),y=setTimeout(()=>{try{D.close(4001,"auth handshake timeout")}catch{}},l)}else De("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),f=0,T("connected"),k("daemon:connected",{url:t}),L(),j()},D.onclose=C=>{if(D!==u){De("daemon-client","onclose → stale, ignore",{code:C.code,reason:C.reason});return}const H=C.reason||(C.code===1008?"auth failed":`close ${C.code}`);if(De("daemon-client","onclose →",{code:C.code,reason:H,awaitingAuth:_,manualStop:d}),O(),R(`connection closed: ${H}`),u=null,C.code===4401?T("revoked"):T("disconnected"),k("daemon:disconnected",{reason:H}),C.code===1008||C.code===4401){B(`connection closed: ${H}`);return}d?B(`connection closed: ${H}`):$()},D.onerror=()=>{},D.onmessage=C=>{if(D!==u)return;let H;try{H=JSON.parse(String(C.data))}catch{return}F(H)}};return{start(){d=!1,f=0,A()},stop(){d=!0,p&&(clearTimeout(p),p=null),O();try{u==null||u.close(1e3,"shutdown")}catch{}u=null,R("shutdown"),B("shutdown"),T("disconnected")},switchProfile(D){De("daemon-client","switchProfile →",{url:D.url,token:Vu(D.authToken)},"prev:",{url:t,token:Vu(n)}),t=D.url,n=D.authToken,D.selfIdentity!==void 0&&(r=D.selfIdentity),f=0,d=!0,p&&(clearTimeout(p),p=null),O(),R("switch profile"),B("switch profile");try{u==null||u.close(1e3,"switch profile")}catch{}u=null,d=!1,A()},request(D,C){return new Promise((H,q)=>{const M=Sb(),ne=setTimeout(()=>{b.delete(M);const V=I.findIndex(pe=>pe.timer===ne);V>=0&&I.splice(V,1),q(new Error(`request timeout: ${D}`))},s),oe=()=>{b.set(M,{resolve:V=>H(V),reject:q,timer:ne}),u.send(JSON.stringify({...C,type:D,requestId:M}))};(u==null?void 0:u.readyState)===1&&!_?oe():d||u==null&&p==null?(clearTimeout(ne),q(new Error("NOT_CONNECTED"))):I.push({doSend:oe,reject:q,timer:ne})})},on:N,get isOpen(){return(u==null?void 0:u.readyState)===1&&!_},get url(){return t},getStatus(){return x}}}function vO(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 _O(e){return e?{id:e.id,mode:e.mode,url:e.url,token:vO(e.token),name:e.name}:null}function qu(e){return e?Array.isArray(e)?e.map(_O):{_notArray:typeof e,_value:e}:null}function kb(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const xO="ws://127.0.0.1:18790",Cb="daemon:profiles",Eb="daemon:active-profile-id";function yO(){return Math.random().toString(36).slice(2,10)}function bO(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 wO(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 gN(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{De("profile-store","persist →",qu(t.profiles),"active:",t.activeId),await e.kv.set(Cb,t.profiles),await e.kv.set(Eb,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(Cb);c=kb(d)}catch{c=null}let u=null;try{const d=await e.kv.get(Eb);u=kb(d)??null}catch{u=null}if(De("profile-store","ensureLoaded read kv →","profiles:",qu(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(wO),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,De("profile-store","ensureLoaded → use kv profiles",qu(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:xO}],activeId:"default"},De("profile-store","ensureLoaded → fallback synthesized default (NO token)",qu(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 y;await a();let c=l.url,u=l.token;if(c&&c.includes("#")){const _=bO(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??yO(),m={id:p,name:((y=l.name)==null?void 0:y.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 Nb="clawd.client-instance-id";let SO={name:"clawd-web",version:"unknown"};function kO(){let e=null;try{e=localStorage.getItem(Nb),e||(e=crypto.randomUUID(),localStorage.setItem(Nb,e))}catch{e=e??crypto.randomUUID()}return{...SO,instanceId:e}}function Tb(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 vN=g.createContext(null);function CO({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=gN(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 De("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Tb(a.token)}),{client:gO({url:a.url,authToken:a.token,clientInfo:kO()}),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){De("daemon-context","subscribe → no active profile, skip switchProfile");return}De("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Tb(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(vN.Provider,{value:n,children:t}):null}function Rs(){const e=g.useContext(vN);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function EO(){const e=Rs(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i.mode,o=s==="tui"?"tui":"sdk";De("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}const _N=g.createContext(null);function NO({cache:e,children:t}){return g.createElement(_N.Provider,{value:e},t)}function ko(){const e=g.useContext(_N);if(!e)throw new Error("useCache must be used inside <CacheProvider>");return e}function si(e){const t=ko(),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 xN={actionsLevel:"none",httpBaseUrl:null,httpToken:null},yN=g.createContext(xN);function Rf(){return g.useContext(yN)}function TO(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:xN}function PO(){const e=si("daemon-info");return g.useMemo(()=>TO(e),[e])}function RO({children:e}){const t=PO();return st.createElement(yN.Provider,{value:t},e)}function IO(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function MO(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 AO(){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 jO(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of nN)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}}}const DO=e=>({tool:e,models:[{id:"",label:"Default",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"Default"}],configSchema:[]});function LO(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,()=>DO(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function OO(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 Rc={sessionId:null,events:[],lastSeq:-1,pendingPermissions:[],status:"idle",pendingQuestions:{}};function Vp(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 bN(e,t,n){const r=n===void 0?e.sessionId:n;switch(t.type){case"session:change":return{...Rc,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=Vp(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)=>Vp(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)=>Vp(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{...Rc,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 BO="session/";function zO(e){return{sid:e.slice(BO.length)}}const $O=new Set(rN);function wN(e){return $O.has(e)}function Pb(e){return wN(e)?e:"idle"}function FO(e,t){return{start(n){const{sid:r}=zO(n);let i=!1,s=-1;const o=f=>{t(n,p=>bN(p??Rc,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??[],y=m.latestSeq??-1;if(f==="baseline")o({type:"session:events",sessionId:r,events:v,latestSeq:y}),s=y;else{const _=m.bufferStartSeq??0,x=y<p||_>p+1;o({type:x?"session:events":"session:events:append",sessionId:r,events:v,latestSeq:y}),s=Math.max(s,y)}}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:Pb(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;De("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(!wN(m.status)){De("session-events","push session:status drop",{sid:r,status:m.status});return}De("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;De("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:Pb(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const HO=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function UO(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=>{HO.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function WO(){return{start(){return()=>{}}}}function VO(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 qO(e){const t=jO(e),n=AO();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,LO(t,i)),n.register(/^sessions$/,OO(t,i)),n.register(/^session\//,FO(t,i)),n.register(/^personas$/,VO(t,i)),n.register(/^persona-detail\//,WO()),n.register(/^daemon-info$/,UO(t,i));const s=MO({onFirstObserver:o=>{o&&n.activate(o)},onLastObserver:o=>{o&&n.deactivate(o)}});return r=s,{cache:s,channel:t}}class F_{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})}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})}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")}}function KO(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}))}),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}))}),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 GO(e){const t=ko(),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 Xa(){const e=Rs();return g.useMemo(()=>new F_(e),[e])}function SN(e){return{personaId:e.personaId,label:e.label,model:e.model,tool:e.tool,iconKey:e.iconKey,public:e.public,createdAt:e.createdAt,updatedAt:e.updatedAt}}function kN(){const e=ko(),t=Xa(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>SN(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 CN(e){const{raw:t}=kN(),n=ko(),r=Xa(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?SN(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 XO(e){const t=Xa(),n=ko(),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 EN(){const e=ko(),t=Xa();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function YO(){const e=Xa(),t=EN();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function ZO(){const e=Xa(),t=EN();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Rb="clawd:sidebar:tree-collapsed";function QO(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function JO(e){const t=QO(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 eB(){const e=N_(),[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(Rb);if(l)return;n(JO(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Rb,[...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 H_=g.createContext(null);function tB(){const e=g.useContext(H_);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 nb=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 eD={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},tD={motionBase:!0,motionUnit:!0},nD={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},UE=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=nb(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=HE(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=nb(l,["theme"]);let d=u;c&&(d=UE(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function WE(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=st.useContext($E),s=`${Q4}-${t||""}`,o=n||zE,[a,l,c]=H3(o,[Ec,e],{salt:s,override:r,getComputedToken:UE,formatToken:HE,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:eD,ignore:tD,preserve:nD}});return[o,c,t?l:"",a,i]}const rD=()=>({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"}}),iD=e=>({[`.${e}`]:Object.assign(Object.assign({},rD()),{[`.${e} .${e}-icon`]:{display:"block"}})}),sD=(e,t)=>{const[n,r]=WE();return g4({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>iD(e))},oD=Object.assign({},Fa),{useId:rb}=oD,aD=()=>"",lD=typeof rb>"u"?aD:rb;function cD(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},vh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:vh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=lD();return lE(()=>{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!g3(c,d,!0)}))}var uD=["children"],VE=g.createContext({});function dD(e){var t=e.children,n=zg(e,uD);return g.createElement(VE.Provider,{value:n},t)}var hD=function(e){uE(n,e);var t=hE(n);function n(){return Wa(this,n),t.apply(this,arguments)}return Va(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function fD(e){var t=g.useReducer(function(a){return a+1},0),n=Ze(t,2),r=n[1],i=g.useRef(e),s=av(function(){return i.current}),o=av(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var Qi="none",$u="appear",Fu="enter",Hu="leave",ib="none",Tr="prepare",aa="start",la="active",O_="end",qE="prepared";function sb(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 pD(e,t){var n={animationend:sb("Animation","AnimationEnd"),transitionend:sb("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var mD=pD(Li(),typeof window<"u"?window:{}),KE={};if(Li()){var gD=document.createElement("div");KE=gD.style}var Uu={};function GE(e){if(Uu[e])return Uu[e];var t=mD[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 KE)return Uu[e]=t[s],Uu[e]}return""}var XE=GE("animationend"),YE=GE("transitionend"),ZE=!!(XE&&YE),ob=XE||"animationend",ab=YE||"transitionend";function lb(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 vD=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(ab,e),i.removeEventListener(ob,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(ab,e),i.addEventListener(ob,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var QE=Li()?g.useLayoutEffect:g.useEffect;const _D=function(){var e=g.useRef(null);function t(){Og.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Og(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 xD=[Tr,aa,la,O_],yD=[Tr,qE],JE=!1,bD=!0;function eN(e){return e===la||e===O_}const wD=function(e,t,n){var r=lv(ib),i=Ze(r,2),s=i[0],o=i[1],a=_D(),l=Ze(a,2),c=l[0],u=l[1];function d(){o(Tr,!0)}var f=t?yD:xD;return QE(function(){if(s!==ib&&s!==O_){var p=f.indexOf(s),m=f[p+1],v=n(s);v===JE?o(m,!0):m&&c(function(y){function _(){y.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function SD(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,y=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,b=r.onEnterActive,w=r.onLeaveActive,S=r.onAppearEnd,k=r.onEnterEnd,T=r.onLeaveEnd,N=r.onVisibleChanged,O=lv(),P=Ze(O,2),L=P[0],R=P[1],I=fD(Qi),j=Ze(I,2),B=j[0],$=j[1],F=lv(null),A=Ze(F,2),D=A[0],C=A[1],H=B(),q=g.useRef(!1),M=g.useRef(null);function ne(){return n()}var oe=g.useRef(!1);function V(){$(Qi),C(null,!0)}var pe=av(function(Ue){var tt=B();if(tt!==Qi){var mt=ne();if(!(Ue&&!Ue.deadline&&Ue.target!==mt)){var Xt=oe.current,pn;tt===$u&&Xt?pn=S==null?void 0:S(mt,Ue):tt===Fu&&Xt?pn=k==null?void 0:k(mt,Ue):tt===Hu&&Xt&&(pn=T==null?void 0:T(mt,Ue)),Xt&&pn!==!1&&V()}}}),Oe=vD(pe),re=Ze(Oe,1),Me=re[0],Fe=function(tt){switch(tt){case $u:return be(be(be({},Tr,f),aa,v),la,x);case Fu:return be(be(be({},Tr,p),aa,y),la,b);case Hu:return be(be(be({},Tr,m),aa,_),la,w);default:return{}}},We=g.useMemo(function(){return Fe(H)},[H]),ge=wD(H,!e,function(Ue){if(Ue===Tr){var tt=We[Tr];return tt?tt(ne()):JE}if(wt in We){var mt;C(((mt=We[wt])===null||mt===void 0?void 0:mt.call(We,ne(),null))||null)}return wt===la&&H!==Qi&&(Me(ne()),u>0&&(clearTimeout(M.current),M.current=setTimeout(function(){pe({deadline:!0})},u))),wt===qE&&V(),bD}),Ge=Ze(ge,2),Gt=Ge[0],wt=Ge[1],It=eN(wt);oe.current=It;var ln=g.useRef(null);QE(function(){if(!(q.current&&ln.current===t)){R(t);var Ue=q.current;q.current=!0;var tt;!Ue&&t&&a&&(tt=$u),Ue&&t&&s&&(tt=Fu),(Ue&&!t&&c||!Ue&&d&&!t&&c)&&(tt=Hu);var mt=Fe(tt);tt&&(e||mt[Tr])?($(tt),Gt()):$(Qi),ln.current=t}},[t]),g.useEffect(function(){(H===$u&&!a||H===Fu&&!s||H===Hu&&!c)&&$(Qi)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(M.current)}},[]);var Bt=g.useRef(!1);g.useEffect(function(){L&&(Bt.current=!0),L!==void 0&&H===Qi&&((Bt.current||L)&&(N==null||N(L)),Bt.current=!0)},[L,H]);var at=D;return We[Tr]&&wt===aa&&(at=Be({transition:"none"},at)),[H,wt,at,L??t]}function kD(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(VE),y=v.motion,_=n(i,y),x=g.useRef(),b=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:Jj(b.current)}catch{return null}}var S=SD(_,a,w,i),k=Ze(S,4),T=k[0],N=k[1],O=k[2],P=k[3],L=g.useRef(P);P&&(L.current=!0);var R=g.useCallback(function(A){x.current=A,r3(s,A)},[s]),I,j=Be(Be({},m),{},{visible:a});if(!d)I=null;else if(T===Qi)P?I=d(Be({},j),R):!c&&L.current&&p?I=d(Be(Be({},j),{},{className:p}),R):u||!c&&!p?I=d(Be(Be({},j),{},{style:{display:"none"}}),R):I=null;else{var B;N===Tr?B="prepare":eN(N)?B="active":N===aa&&(B="start");var $=lb(f,"".concat(T,"-").concat(B));I=d(Be(Be({},j),{},{className:Fj(lb(f,T),be(be({},$,$&&B),f,typeof f=="string")),style:O}),R)}if(g.isValidElement(I)&&i3(I)){var F=s3(I);F||(I=g.cloneElement(I,{ref:R}))}return g.createElement(hD,{ref:b},I)});return r.displayName="CSSMotion",r}const CD=kD(ZE);var cv="add",uv="keep",dv="remove",Up="removed";function ED(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},Be(Be({},t),{},{key:String(t.key)})}function hv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(ED)}function ND(){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=hv(e),o=hv(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 Be(Be({},p),{},{status:cv})})),r=d),n.push(Be(Be({},f),{},{status:uv})),r+=1,u=!0;break}}u||n.push(Be(Be({},c),{},{status:dv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return Be(Be({},c),{},{status:cv})})));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!==dv}),n.forEach(function(u){u.key===c&&(u.status=uv)})}),n}var TD=["component","children","onVisibleChanged","onAllRemoved"],PD=["status"],RD=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function ID(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:CD,n=function(r){uE(s,r);var i=hE(s);function s(){var o;Wa(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)),be(Dg(o),"state",{keyEntities:[]}),be(Dg(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:Be(Be({},p),{},{status:Up})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==Up}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return Va(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=zg(c,TD),m=u||g.Fragment,v={};return RD.forEach(function(y){v[y]=p[y],delete p[y]}),delete p.keys,g.createElement(m,p,l.map(function(y,_){var x=y.status,b=zg(y,PD),w=x===cv||x===uv;return g.createElement(t,ph({},v,{key:b.key,visible:w,eventProps:b,onVisibleChanged:function(k){f==null||f(k,{key:b.key}),k||a.removeKey(b.key)}}),function(S,k){return d(Be(Be({},S),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=hv(c),f=ND(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var y=v.key;return p.key===y});return!(m&&m.status===Up&&p.status===dv)})}}}]),s}(g.Component);return be(n,"defaultProps",{component:"div"}),n}ID(ZE);const cb=g.createContext(!0);function MD(e){const t=g.useContext(cb),{children:n}=e,[,r]=WE(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(cb.Provider,{value:i},g.createElement(dD,{motion:i},n)):n}const AD=()=>null;var jD=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 DD=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let tN;function LD(){return tN||sv}function OD(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const BD=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(tN=t),r&&OD(r)&&q4(LD(),r)},zD=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:y,parentContext:_,iconPrefixCls:x,theme:b,componentDisabled:w,segmented:S,statistic:k,spin:T,calendar:N,carousel:O,cascader:P,collapse:L,typography:R,checkbox:I,descriptions:j,divider:B,drawer:$,skeleton:F,steps:A,image:D,layout:C,list:H,mentions:q,modal:M,progress:ne,result:oe,slider:V,breadcrumb:pe,menu:Oe,pagination:re,input:Me,textArea:Fe,empty:We,badge:ge,radio:Ge,rate:Gt,switch:wt,transfer:It,avatar:ln,message:Bt,tag:at,table:Ue,card:tt,tabs:mt,timeline:Xt,timePicker:pn,upload:U,notification:Z,tree:ve,colorPicker:we,datePicker:Q,rangePicker:Xe,flex:Yt,wave:Zt,dropdown:ue,warning:Ne,tour:Qe,tooltip:Dn,popover:Qt,popconfirm:nl,floatButton:Ao,floatButtonGroup:gu,variant:vu,inputNumber:op,treeSelect:ap}=e,_u=g.useCallback((Tt,$t)=>{const{prefixCls:or}=e;if($t)return $t;const Ln=or||_.getPrefixCls("");return Tt?`${Ln}-${Tt}`:Ln},[_.getPrefixCls,e.prefixCls]),jo=x||_.iconPrefixCls||FE,Do=n||_.csp;sD(jo,Do);const rl=cD(b,_.theme,{prefixCls:_u("")}),il={csp:Do,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||y,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:_u,iconPrefixCls:jo,theme:rl,segmented:S,statistic:k,spin:T,calendar:N,carousel:O,cascader:P,collapse:L,typography:R,checkbox:I,descriptions:j,divider:B,drawer:$,skeleton:F,steps:A,image:D,input:Me,textArea:Fe,layout:C,list:H,mentions:q,modal:M,progress:ne,result:oe,slider:V,breadcrumb:pe,menu:Oe,pagination:re,empty:We,badge:ge,radio:Ge,rate:Gt,switch:wt,transfer:It,avatar:ln,message:Bt,tag:at,table:Ue,card:tt,tabs:mt,timeline:Xt,timePicker:pn,upload:U,notification:Z,tree:ve,colorPicker:we,datePicker:Q,rangePicker:Xe,flex:Yt,wave:Zt,dropdown:ue,warning:Ne,tour:Qe,tooltip:Dn,popover:Qt,popconfirm:nl,floatButton:Ao,floatButtonGroup:gu,variant:vu,inputNumber:op,treeSelect:ap},Ui=Object.assign({},_);Object.keys(il).forEach(Tt=>{il[Tt]!==void 0&&(Ui[Tt]=il[Tt])}),DD.forEach(Tt=>{const $t=e[Tt];$t&&(Ui[Tt]=$t)}),typeof r<"u"&&(Ui.button=Object.assign({autoInsertSpace:r},Ui.button));const Wi=lE(()=>Ui,Ui,(Tt,$t)=>{const or=Object.keys(Tt),Ln=Object.keys($t);return or.length!==Ln.length||or.some(Y=>Tt[Y]!==$t[Y])}),{layer:sl}=g.useContext(kf),xu=g.useMemo(()=>({prefixCls:jo,csp:Do,layer:sl?"antd":void 0}),[jo,Do,sl]);let zt=g.createElement(g.Fragment,null,g.createElement(AD,{dropdownMatchSelectWidth:p}),t);const ol=g.useMemo(()=>{var Tt,$t,or,Ln;return k4(((Tt=Nf.Form)===null||Tt===void 0?void 0:Tt.defaultValidateMessages)||{},((or=($t=Wi.locale)===null||$t===void 0?void 0:$t.Form)===null||or===void 0?void 0:or.defaultValidateMessages)||{},((Ln=Wi.form)===null||Ln===void 0?void 0:Ln.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[Wi,o==null?void 0:o.validateMessages]);Object.keys(ol).length>0&&(zt=g.createElement(E4.Provider,{value:ol},zt)),a&&(zt=g.createElement(P4,{locale:a,_ANT_MARK__:T4},zt)),zt=g.createElement(y4.Provider,{value:xu},zt),l&&(zt=g.createElement(G4,{size:l},zt)),zt=g.createElement(MD,null,zt);const al=g.useMemo(()=>{const Tt=rl||{},{algorithm:$t,token:or,components:Ln,cssVar:Y}=Tt,_e=jD(Tt,["algorithm","token","components","cssVar"]),xe=$t&&(!Array.isArray($t)||$t.length>0)?Fg($t):zE,Ye={};Object.entries(Ln||{}).forEach(([oA,aA])=>{const hi=Object.assign({},aA);"algorithm"in hi&&(hi.algorithm===!0?hi.theme=xe:(Array.isArray(hi.algorithm)||typeof hi.algorithm=="function")&&(hi.theme=Fg(hi.algorithm)),delete hi.algorithm),Ye[oA]=hi});const di=Object.assign(Object.assign({},Ec),or);return Object.assign(Object.assign({},_e),{theme:xe,token:di,components:Ye,override:Object.assign({override:di},Ye),cssVar:Y})},[rl]);return b&&(zt=g.createElement($E.Provider,{value:al},zt)),Wi.warning&&(zt=g.createElement(C4.Provider,{value:Wi.warning},zt)),w!==void 0&&(zt=g.createElement(K4,{disabled:w},zt)),g.createElement(Tf.Provider,{value:Wi},zt)},Ka=e=>{const t=g.useContext(Tf),n=g.useContext(DE);return g.createElement(zD,Object.assign({parentContext:t,legacyLocale:n},e))};Ka.ConfigContext=Tf;Ka.SizeContext=Nc;Ka.config=BD;Ka.useConfig=X4;Object.defineProperty(Ka,"SizeContext",{get:()=>Nc});const lr=(e,t)=>new xt(e).setA(t).toRgbString(),Bo=(e,t)=>new xt(e).lighten(t).toHexString(),$D=e=>{const t=Ma(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]}},FD=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:lr(r,.85),colorTextSecondary:lr(r,.65),colorTextTertiary:lr(r,.45),colorTextQuaternary:lr(r,.25),colorFill:lr(r,.18),colorFillSecondary:lr(r,.12),colorFillTertiary:lr(r,.08),colorFillQuaternary:lr(r,.04),colorBgSolid:lr(r,.95),colorBgSolidHover:lr(r,1),colorBgSolidActive:lr(r,.9),colorBgElevated:Bo(n,12),colorBgContainer:Bo(n,8),colorBgLayout:Bo(n,0),colorBgSpotlight:Bo(n,26),colorBgBlur:lr(r,.04),colorBorder:Bo(n,26),colorBorderSecondary:Bo(n,19)}},HD=(e,t)=>{const n=Object.keys(D_).map(s=>{const o=Ma(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??L_(e),i=BE(e,{generateColorPalettes:$D,generateNeutralColorPalettes:FD});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},ub={defaultSeed:vh.token,defaultAlgorithm:L_,darkAlgorithm:HD};function db({children:e}){const t=N_(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(Ka,{theme:{algorithm:n.mode==="dark"?ub.darkAlgorithm:ub.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}const nN=["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","capability:tokenDeleted","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"],rN=["idle","running","running-idle","stopped","error","observing"],UD=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],WD=["builtin","global","project","plugin"],VD=["builtin","global","project","policy","plugin"];var qe;(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})(qe||(qe={}));var hb;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(hb||(hb={}));const ce=qe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ns=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}},K=qe.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 Ri 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 Ri))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,qe.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()}}Ri.create=e=>new Ri(e);const fv=(e,t)=>{let n;switch(e.code){case K.invalid_type:e.received===ce.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case K.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,qe.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:n=`Unrecognized key(s) in object: ${qe.joinValues(e.keys,", ")}`;break;case K.invalid_union:n="Invalid input";break;case K.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${qe.joinValues(e.options)}`;break;case K.invalid_enum_value:n=`Invalid enum value. Expected ${qe.joinValues(e.options)}, received '${e.received}'`;break;case K.invalid_arguments:n="Invalid function arguments";break;case K.invalid_return_type:n="Invalid function return type";break;case K.invalid_date:n="Invalid date";break;case K.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}"`:qe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case K.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 K.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 K.custom:n="Invalid input";break;case K.invalid_intersection_types:n="Intersection results could not be merged";break;case K.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case K.not_finite:n="Number must be finite";break;default:n=t.defaultError,qe.assertNever(e)}return{message:n}};let qD=fv;function KD(){return qD}const GD=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 ie(e,t){const n=KD(),r=GD({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===fv?void 0:fv].filter(i=>!!i)});e.common.issues.push(r)}class Tn{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 ke;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 Tn.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 ke;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 ke=Object.freeze({status:"aborted"}),Al=e=>({status:"dirty",value:e}),Sr=e=>({status:"valid",value:e}),fb=e=>e.status==="aborted",pb=e=>e.status==="dirty",Aa=e=>e.status==="valid",_h=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 mb=(e,t)=>{if(Aa(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 Ri(e.common.issues);return this._error=n,this._error}}};function Ie(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 He{get description(){return this._def.description}_getType(t){return ns(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ns(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Tn,ctx:{common:t.parent.common,data:t.data,parsedType:ns(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(_h(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:ns(t)},i=this._parseSync({data:t,path:r.path,parent:r});return mb(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:ns(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return Aa(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=>Aa(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:ns(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(_h(i)?i:Promise.resolve(i));return mb(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:K.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 uo({schema:this,typeName:Ce.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 Ci.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ei.create(this)}promise(){return kh.create(this,this._def)}or(t){return yh.create([this,t],this._def)}and(t){return bh.create(this,t,this._def)}transform(t){return new uo({...Ie(this._def),schema:this,typeName:Ce.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ch({...Ie(this._def),innerType:this,defaultValue:n,typeName:Ce.ZodDefault})}brand(){return new aN({typeName:Ce.ZodBranded,type:this,...Ie(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Eh({...Ie(this._def),innerType:this,catchValue:n,typeName:Ce.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return z_.create(this,t)}readonly(){return Nh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const XD=/^c[^\s-]{8,}$/i,YD=/^[0-9a-z]+$/,ZD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,QD=/^[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,JD=/^[a-z0-9_-]{21}$/i,eL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,tL=/^[-+]?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)?)??$/,nL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Wp;const iL=/^(?:(?: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])$/,sL=/^(?:(?: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])$/,oL=/^(([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]))$/,aL=/^(([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])$/,lL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,cL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,iN="((\\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])))",uL=new RegExp(`^${iN}$`);function sN(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 dL(e){return new RegExp(`^${sN(e)}$`)}function hL(e){let t=`${iN}T${sN(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 fL(e,t){return!!((t==="v4"||!t)&&iL.test(e)||(t==="v6"||!t)&&oL.test(e))}function pL(e,t){if(!eL.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 mL(e,t){return!!((t==="v4"||!t)&&sL.test(e)||(t==="v6"||!t)&&aL.test(e))}class bi extends He{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ce.string){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_type,expected:ce.string,received:s.parsedType}),ke}const r=new Tn;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),ie(i,{code:K.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),ie(i,{code:K.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?ie(i,{code:K.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&ie(i,{code:K.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")nL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"email",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Wp||(Wp=new RegExp(rL,"u")),Wp.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"emoji",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")QD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"uuid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")JD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"nanoid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")XD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cuid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")YD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cuid2",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")ZD.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"ulid",code:K.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),ie(i,{validation:"url",code:K.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),ie(i,{validation:"regex",code:K.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),ie(i,{code:K.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),ie(i,{code:K.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?hL(s).test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?uL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?dL(s).test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?tL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"duration",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?fL(t.data,s.version)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"ip",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?pL(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"jwt",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?mL(t.data,s.version)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"cidr",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?lL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?cL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64url",code:K.invalid_string,message:s.message}),r.dirty()):qe.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:K.invalid_string,...me.errToObj(r)})}_addCheck(t){return new bi({...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 bi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new bi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new bi({...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}}bi.create=e=>new bi({checks:[],typeName:Ce.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Ie(e)});function gL(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 ja extends He{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 ie(s,{code:K.invalid_type,expected:ce.number,received:s.parsedType}),ke}let r;const i=new Tn;for(const s of this._def.checks)s.kind==="int"?qe.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),ie(r,{code:K.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),ie(r,{code:K.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),ie(r,{code:K.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?gL(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),ie(r,{code:K.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),ie(r,{code:K.not_finite,message:s.message}),i.dirty()):qe.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 ja({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new ja({...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"&&qe.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)}}ja.create=e=>new ja({checks:[],typeName:Ce.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Ie(e)});class Tc extends He{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 Tn;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),ie(r,{code:K.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),ie(r,{code:K.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),ie(r,{code:K.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):qe.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return ie(n,{code:K.invalid_type,expected:ce.bigint,received:n.parsedType}),ke}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 Tc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:me.toString(i)}]})}_addCheck(t){return new Tc({...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}}Tc.create=e=>new Tc({checks:[],typeName:Ce.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Ie(e)});class pv extends He{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ce.boolean){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.boolean,received:r.parsedType}),ke}return Sr(t.data)}}pv.create=e=>new pv({typeName:Ce.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Ie(e)});class xh extends He{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ce.date){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_type,expected:ce.date,received:s.parsedType}),ke}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return ie(s,{code:K.invalid_date}),ke}const r=new Tn;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),ie(i,{code:K.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),ie(i,{code:K.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):qe.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new xh({...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}}xh.create=e=>new xh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ce.ZodDate,...Ie(e)});class gb extends He{_parse(t){if(this._getType(t)!==ce.symbol){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.symbol,received:r.parsedType}),ke}return Sr(t.data)}}gb.create=e=>new gb({typeName:Ce.ZodSymbol,...Ie(e)});class mv extends He{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.undefined,received:r.parsedType}),ke}return Sr(t.data)}}mv.create=e=>new mv({typeName:Ce.ZodUndefined,...Ie(e)});class gv extends He{_parse(t){if(this._getType(t)!==ce.null){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.null,received:r.parsedType}),ke}return Sr(t.data)}}gv.create=e=>new gv({typeName:Ce.ZodNull,...Ie(e)});class vb extends He{constructor(){super(...arguments),this._any=!0}_parse(t){return Sr(t.data)}}vb.create=e=>new vb({typeName:Ce.ZodAny,...Ie(e)});class vv extends He{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Sr(t.data)}}vv.create=e=>new vv({typeName:Ce.ZodUnknown,...Ie(e)});class Ss extends He{_parse(t){const n=this._getOrReturnCtx(t);return ie(n,{code:K.invalid_type,expected:ce.never,received:n.parsedType}),ke}}Ss.create=e=>new Ss({typeName:Ce.ZodNever,...Ie(e)});class _b extends He{_parse(t){if(this._getType(t)!==ce.undefined){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.void,received:r.parsedType}),ke}return Sr(t.data)}}_b.create=e=>new _b({typeName:Ce.ZodVoid,...Ie(e)});class ei extends He{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==ce.array)return ie(n,{code:K.invalid_type,expected:ce.array,received:n.parsedType}),ke;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(ie(n,{code:o?K.too_big:K.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&&(ie(n,{code:K.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&&(ie(n,{code:K.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=>Tn.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new ii(n,o,n.path,a)));return Tn.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:Ce.ZodArray,...Ie(t)});function Ko(e){if(e instanceof jt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ci.create(Ko(r))}return new jt({...e._def,shape:()=>t})}else return e instanceof ei?new ei({...e._def,type:Ko(e.element)}):e instanceof Ci?Ci.create(Ko(e.unwrap())):e instanceof ho?ho.create(Ko(e.unwrap())):e instanceof lo?lo.create(e.items.map(t=>Ko(t))):e}class jt extends He{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=qe.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 ie(c,{code:K.invalid_type,expected:ce.object,received:c.parsedType}),ke}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ss&&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 Ss){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&&(ie(i,{code:K.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=>Tn.mergeObjectSync(r,c)):Tn.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:Ce.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 qe.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 qe.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new jt({...this._def,shape:()=>n})}deepPartial(){return Ko(this)}partial(t){const n={};for(const r of qe.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 qe.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Ci;)s=s._def.innerType;n[r]=s}return new jt({...this._def,shape:()=>n})}keyof(){return oN(qe.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ce.ZodObject,...Ie(t)});class yh extends He{_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 Ri(a.ctx.common.issues));return ie(n,{code:K.invalid_union,unionErrors:o}),ke}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 Ri(l));return ie(n,{code:K.invalid_union,unionErrors:a}),ke}}get options(){return this._def.options}}yh.create=(e,t)=>new yh({options:e,typeName:Ce.ZodUnion,...Ie(t)});const gi=e=>e instanceof xv?gi(e.schema):e instanceof uo?gi(e.innerType()):e instanceof Sh?[e.value]:e instanceof co?e.options:e instanceof yv?qe.objectValues(e.enum):e instanceof Ch?gi(e._def.innerType):e instanceof mv?[void 0]:e instanceof gv?[null]:e instanceof Ci?[void 0,...gi(e.unwrap())]:e instanceof ho?[null,...gi(e.unwrap())]:e instanceof aN||e instanceof Nh?gi(e.unwrap()):e instanceof Eh?gi(e._def.innerType):[];class B_ extends He{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.object)return ie(n,{code:K.invalid_type,expected:ce.object,received:n.parsedType}),ke;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}):(ie(n,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ke)}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=gi(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 B_({typeName:Ce.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Ie(r)})}}function _v(e,t){const n=ns(e),r=ns(t);if(e===t)return{valid:!0,data:e};if(n===ce.object&&r===ce.object){const i=qe.objectKeys(t),s=qe.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=_v(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=_v(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 bh extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(fb(s)||fb(o))return ke;const a=_v(s.value,o.value);return a.valid?((pb(s)||pb(o))&&n.dirty(),{status:n.value,value:a.data}):(ie(r,{code:K.invalid_intersection_types}),ke)};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}))}}bh.create=(e,t,n)=>new bh({left:e,right:t,typeName:Ce.ZodIntersection,...Ie(n)});class lo extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.array)return ie(r,{code:K.invalid_type,expected:ce.array,received:r.parsedType}),ke;if(r.data.length<this._def.items.length)return ie(r,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ke;!this._def.rest&&r.data.length>this._def.items.length&&(ie(r,{code:K.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=>Tn.mergeArray(n,o)):Tn.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new lo({...this._def,rest:t})}}lo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new lo({items:e,typeName:Ce.ZodTuple,rest:null,...Ie(t)})};class wh extends He{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 ie(r,{code:K.invalid_type,expected:ce.object,received:r.parsedType}),ke;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?Tn.mergeObjectAsync(n,i):Tn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof He?new wh({keyType:t,valueType:n,typeName:Ce.ZodRecord,...Ie(r)}):new wh({keyType:bi.create(),valueType:t,typeName:Ce.ZodRecord,...Ie(n)})}}class xb extends He{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 ie(r,{code:K.invalid_type,expected:ce.map,received:r.parsedType}),ke;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 ke;(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 ke;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}xb.create=(e,t,n)=>new xb({valueType:t,keyType:e,typeName:Ce.ZodMap,...Ie(n)});class Pc extends He{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ce.set)return ie(r,{code:K.invalid_type,expected:ce.set,received:r.parsedType}),ke;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(ie(r,{code:K.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&&(ie(r,{code:K.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 ke;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 Pc({...this._def,minSize:{value:t,message:me.toString(n)}})}max(t,n){return new Pc({...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)}}Pc.create=(e,t)=>new Pc({valueType:e,minSize:null,maxSize:null,typeName:Ce.ZodSet,...Ie(t)});class xv extends He{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})}}xv.create=(e,t)=>new xv({getter:e,typeName:Ce.ZodLazy,...Ie(t)});class Sh extends He{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return ie(n,{received:n.data,code:K.invalid_literal,expected:this._def.value}),ke}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sh.create=(e,t)=>new Sh({value:e,typeName:Ce.ZodLiteral,...Ie(t)});function oN(e,t){return new co({values:e,typeName:Ce.ZodEnum,...Ie(t)})}class co extends He{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return ie(n,{expected:qe.joinValues(r),received:n.parsedType,code:K.invalid_type}),ke}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 ie(n,{received:n.data,code:K.invalid_enum_value,options:r}),ke}return Sr(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 co.create(t,{...this._def,...n})}exclude(t,n=this._def){return co.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}co.create=oN;class yv extends He{_parse(t){const n=qe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ce.string&&r.parsedType!==ce.number){const i=qe.objectValues(n);return ie(r,{expected:qe.joinValues(i),received:r.parsedType,code:K.invalid_type}),ke}if(this._cache||(this._cache=new Set(qe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=qe.objectValues(n);return ie(r,{received:r.data,code:K.invalid_enum_value,options:i}),ke}return Sr(t.data)}get enum(){return this._def.values}}yv.create=(e,t)=>new yv({values:e,typeName:Ce.ZodNativeEnum,...Ie(t)});class kh extends He{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==ce.promise&&n.common.async===!1)return ie(n,{code:K.invalid_type,expected:ce.promise,received:n.parsedType}),ke;const r=n.parsedType===ce.promise?n.data:Promise.resolve(n.data);return Sr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}kh.create=(e,t)=>new kh({type:e,typeName:Ce.ZodPromise,...Ie(t)});class uo extends He{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ce.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=>{ie(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 ke;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?ke:l.status==="dirty"||n.value==="dirty"?Al(l.value):l});{if(n.value==="aborted")return ke;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?ke:a.status==="dirty"||n.value==="dirty"?Al(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"?ke:(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"?ke:(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(!Aa(o))return ke;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=>Aa(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):ke);qe.assertNever(i)}}uo.create=(e,t,n)=>new uo({schema:e,typeName:Ce.ZodEffects,effect:t,...Ie(n)});uo.createWithPreprocess=(e,t,n)=>new uo({schema:t,effect:{type:"preprocess",transform:e},typeName:Ce.ZodEffects,...Ie(n)});class Ci extends He{_parse(t){return this._getType(t)===ce.undefined?Sr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ci.create=(e,t)=>new Ci({innerType:e,typeName:Ce.ZodOptional,...Ie(t)});class ho extends He{_parse(t){return this._getType(t)===ce.null?Sr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ho.create=(e,t)=>new ho({innerType:e,typeName:Ce.ZodNullable,...Ie(t)});class Ch extends He{_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}}Ch.create=(e,t)=>new Ch({innerType:e,typeName:Ce.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ie(t)});class Eh extends He{_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 _h(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ri(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ri(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Eh.create=(e,t)=>new Eh({innerType:e,typeName:Ce.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ie(t)});class yb extends He{_parse(t){if(this._getType(t)!==ce.nan){const r=this._getOrReturnCtx(t);return ie(r,{code:K.invalid_type,expected:ce.nan,received:r.parsedType}),ke}return{status:"valid",value:t.data}}}yb.create=e=>new yb({typeName:Ce.ZodNaN,...Ie(e)});class aN extends He{_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 z_ extends He{_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"?ke:s.status==="dirty"?(n.dirty(),Al(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"?ke: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 z_({in:t,out:n,typeName:Ce.ZodPipeline})}}class Nh extends He{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Aa(i)&&(i.value=Object.freeze(i.value)),i);return _h(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Nh.create=(e,t)=>new Nh({innerType:e,typeName:Ce.ZodReadonly,...Ie(t)});var Ce;(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"})(Ce||(Ce={}));const E=bi.create,J=ja.create,Pe=pv.create,ec=vv.create;Ss.create;const Ee=ei.create,z=jt.create;yh.create;const Oi=B_.create;bh.create;lo.create;const Pf=wh.create,te=Sh.create,it=co.create;kh.create;Ci.create;ho.create;const vL=["owner"],_L=["agent","owner","user-upload"],lN=z({id:E().min(1),relPath:E().min(1),from:it(_L),label:E().optional(),size:J().int().nonnegative(),mime:E().min(1),addedAt:J().int().nonnegative(),lastEditedAt:J().int().nonnegative().optional(),stale:Pe().optional()});z({sessionId:E().min(1),relPath:E().min(1),ttlSeconds:J().int().positive().nullable().optional(),view:it(["raw","md-rendered"]).optional()});z({url:E().min(1),expiresAt:J().int().nonnegative().nullable()});z({sessionId:E().min(1),relPath:E().min(1),label:E().optional()});z({entry:lN});z({sessionId:E().min(1),relPath:E().min(1)});z({removed:te(!0)});z({sessionId:E().min(1)});z({entries:Ee(lN)});z({attachmentId:E().min(1),url:E().min(1),relPath:E().min(1),sizeBytes:J().int().nonnegative(),mimeType:E().min(1)});const cN=it(["owner","guest"]);z({id:E().min(1),kind:cN,displayName:E(),feishuUnionId:E().optional()}).strict();const xL=z({did:E().min(1),displayName:E(),feishuUnionId:E().optional(),principal:cN}).strict(),yL=z({personaId:E(),label:E(),model:E().optional(),public:Pe(),iconKey:E().optional(),tool:E().optional(),createdAt:J(),updatedAt:J()}).strict(),bL=z({name:E().min(1),description:E().optional()}),wL=z({id:E().min(1)}),SL=z({permissions:z({defaultMode:E().optional(),allow:Ee(E()).optional(),deny:Ee(E()).optional()}).optional(),sandbox:z({enabled:Pe().optional(),autoAllowBashIfSandboxed:Pe().optional(),allowUnsandboxedCommands:Pe().optional(),excludedCommands:Ee(E()).optional(),filesystem:z({denyRead:Ee(E()).optional(),allowRead:Ee(E()).optional(),denyWrite:Ee(E()).optional(),allowWrite:Ee(E()).optional()}).optional(),network:z({allowedDomains:Ee(E()).optional(),allowLocalBinding:Pe().optional()}).optional()}).optional()});yL.extend({personality:E().optional(),skills:Ee(bL).optional(),plugins:Ee(wL).optional(),sandboxSettings:SL.nullable().optional()});z({label:E().min(1),personality:E(),model:E().optional(),tool:E().optional(),public:Pe().optional(),iconKey:E().optional()}).strict();z({personaId:E().min(1)});z({personaId:E().min(1),patch:z({label:E().min(1).optional(),model:E().optional(),tool:E().optional(),personality:E().optional(),public:Pe().optional(),iconKey:E().nullable().optional()}).strict()}).strict();z({writableRoots:Ee(E()).optional(),denyRead:Ee(E()).optional(),network:Pe().optional()}).strict();const kL=it(rN),CL=z({input_tokens:J().int().nonnegative().optional(),cache_read_input_tokens:J().int().nonnegative().optional(),cache_creation_input_tokens:J().int().nonnegative().optional(),output_tokens:J().int().nonnegative().optional()}),EL=z({inputTokens:J().int().nonnegative(),outputTokens:J().int().nonnegative(),cacheReadTokens:J().int().nonnegative().optional(),cacheCreateTokens:J().int().nonnegative().optional()}),uN={gitBranch:E().optional(),resolvedModel:E().optional(),contextUsage:EL.optional(),contextWindowSize:J().int().positive().optional()},NL=z(uN),TL=z({id:E().min(1),label:E().min(1),description:E().optional(),contextWindowSize:J().int().positive(),default:Pe().optional()}),PL=z({id:E().min(1),label:E().min(1),description:E().optional()}),RL=z({name:E().min(1),type:it(["string","select","toggle"]),label:E().min(1),description:E().optional(),options:Ee(z({value:E(),label:E(),description:E().optional()})).optional(),default:ec().optional(),scope:it(["core","tool-specific"])});z({tool:E().min(1)});const IL=z({rewind:Pe(),subagents:Pe(),tui:Pe(),observe:Pe(),fileSharing:Pe(),fork:Pe()});z({tool:E().min(1),toolSessionIdLabel:E().optional(),models:Ee(TL),permissionModes:Ee(PL),configSchema:Ee(RL),features:IL});const ML=z({tool:E().min(1),pattern:E().min(1),createdAt:E().min(1).optional()});z({sessionId:E().min(1),cwd:E().min(1),tool:te("claude").or(E().min(1)).default("claude"),toolSessionId:E().optional(),label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),...uN,permissionRules:Ee(ML).optional(),pinnedAt:J().int().nonnegative().nullable().optional(),pinSortOrder:J().int().nullable().optional(),unreadAt:E().min(1).nullable().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Pe().optional(),ownerPersonaId:E().min(1).optional(),appBuilderProject:E().regex(/^[a-z][a-z0-9-]{0,39}$/).optional(),chatId:E().min(1).optional(),creatorPrincipalId:E().min(1).optional(),creatorDisplayName:E().min(1).optional(),creatorFeishuUnionId:E().min(1).optional(),originOwnerPrincipalId:E().min(1).optional(),originOwnerPersonaId:E().min(1).optional(),dispatchedFromSessionId:E().min(1).optional(),shiftFiredFromSessionId:E().min(1).optional(),createdAt:E().min(1),updatedAt:E().min(1)});const On={seq:J().int().nonnegative().optional(),ts:E().optional(),uuid:E().optional()},AL=it(UD),jL=z({readCount:J().int().nonnegative().optional(),searchCount:J().int().nonnegative().optional(),bashCount:J().int().nonnegative().optional(),editFileCount:J().int().nonnegative().optional(),linesAdded:J().int().nonnegative().optional(),linesRemoved:J().int().nonnegative().optional(),otherToolCount:J().int().nonnegative().optional()}),DL=z({oldStart:J().int().nonnegative(),oldLines:J().int().nonnegative(),newStart:J().int().nonnegative(),newLines:J().int().nonnegative(),lines:Ee(E())}),LL=z({agentId:E().optional(),agentType:E().optional(),status:E().optional(),prompt:E().optional(),filePath:E().optional(),structuredPatch:Ee(DL).optional(),stats:z({durationMs:J().int().nonnegative().optional(),tokens:J().int().nonnegative().optional(),toolUseCount:J().int().nonnegative().optional(),toolStats:jL.optional(),usage:CL.optional()}).optional()}),OL=z({path:E(),content:E(),mtimeMs:J().optional()}),BL=z({label:E().min(1),description:E().optional()}),dN=z({question:E().min(1),multiSelect:Pe(),options:Ee(BL).min(1)});Oi("kind",[z({...On,kind:te("session_init"),toolSessionId:E().optional()}),z({...On,kind:te("thinking"),text:E(),partialId:E().optional()}),z({...On,kind:te("text"),text:E(),partialId:E().optional()}),z({...On,kind:te("user_text"),text:E(),meta:AL.optional(),taskId:E().optional(),parentToolUseId:E().optional(),sender:xL.optional()}),z({...On,kind:te("tool_call"),toolUseId:E(),tool:E(),toolKind:E().optional(),input:ec()}),z({...On,kind:te("tool_result"),toolUseId:E(),output:ec().optional(),error:E().optional(),toolResultExtra:LL.optional(),sourceToolAssistantUUID:E().optional(),askQuestionAnswers:Pf(E(),E()).optional()}),z({...On,kind:te("attachment_memories"),memories:Ee(OL)}),z({...On,kind:te("permission_request"),requestId:E(),tool:E(),input:ec(),toolUseId:E().optional()}),z({...On,kind:te("ask_user_question"),toolUseId:E(),questions:Ee(dN)}),z({...On,kind:te("turn_end")}),z({...On,kind:te("subagent_progress"),toolUseId:E(),agentId:E(),status:it(["started","running","completed","failed"]),description:E().optional(),lastToolName:E().optional(),prompt:E().optional(),stats:z({durationMs:J().int().nonnegative().optional(),tokens:J().int().nonnegative().optional(),toolUseCount:J().int().nonnegative().optional()}).optional()}),z({...On,kind:te("error"),message:E()}),z({...On,kind:te("meta_update"),patch:NL}),z({...On,kind:te("meta-text"),text:E(),metaSource:it(["cc","owner"]).optional()})]);z({cwd:E().min(1).optional(),tool:E().optional(),label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Pe().optional(),ownerPersonaId:E().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});z({originOnly:Pe().optional(),limit:J().int().positive().optional(),offset:J().int().nonnegative().optional()});z({sessionId:E().min(1)});z({sessionId:E().min(1),patch:z({label:E().optional(),model:E().optional(),permissionMode:E().optional(),effort:E().optional(),cwd:E().optional(),iconKey:E().optional()})});z({sessionId:E().min(1),text:E()});z({sessionId:E().min(1),userMessageId:E().min(1),dryRun:Pe().optional()});z({canRewind:Pe(),error:E().optional(),filesChanged:Ee(E()).optional(),insertions:J().int().nonnegative().optional(),deletions:J().int().nonnegative().optional()});z({sessionId:E().min(1),userMessageId:E().min(1)});const zL=z({oldStart:J().int().nonnegative(),oldLines:J().int().nonnegative(),newStart:J().int().nonnegative(),newLines:J().int().nonnegative(),lines:Ee(E())}),$L=z({filePath:E().min(1),hunks:Ee(zL),insertions:J().int().nonnegative(),deletions:J().int().nonnegative(),status:it(["modified","added","deleted"]).optional()});z({canRewind:Pe(),error:E().optional(),files:Ee($L),totalInsertions:J().int().nonnegative(),totalDeletions:J().int().nonnegative()});z({userMessageIds:Ee(E())});z({sessionId:E().min(1),toolSessionId:E().min(1)});z({cwd:E().min(1),toolSessionId:E().min(1),messageUuid:E().min(1)});z({forkedToolSessionId:E().min(1),forkedFilePath:E().min(1)});z({sessionId:E().min(1),toolSessionId:E().min(1),jsonlPath:E().optional()});z({sessionId:E().min(1),afterSeq:J().int().min(-1)});z({sessionId:E().min(1),permissionRequestId:E().min(1),allow:Pe(),permanent:Pe().optional(),pattern:E().optional()});z({projectPath:E().min(1)});z({sessionId:E().min(1),limit:J().int().positive().max(5e3).optional(),offset:J().int().nonnegative().optional(),slim:Pe().optional()});z({cwd:E().min(1),toolSessionId:E().min(1)});z({cwd:E().min(1),toolSessionId:E().min(1),subagentId:E().min(1)});z({cwd:E().min(1).optional(),path:E().optional(),showHidden:Pe().optional()});z({cwd:E().min(1),path:E().min(1)});z({cwd:E().min(1),tool:E().optional()});z({name:E().min(1),source:it(WD),path:E().optional(),description:E().optional(),plugin:E().optional()});const FL=z({name:E().min(1),source:it(VD),path:E().optional(),description:E().optional(),whenToUse:E().optional(),plugin:E().optional()});z({cwd:E().min(1),tool:E().optional()});z({agents:Ee(FL)});z({sessionId:E().min(1)});z({sessionId:E().min(1),pinned:Pe()});z({type:te("peerSession:upsert:ok")});z({sessionId:E().min(1)});z({type:te("peerSession:remove:ok")});z({orderedIds:Ee(E().min(1)).min(1)});z({cwd:E().min(1)});z({isGitRoot:Pe(),gitRoot:E().nullable()});z({cwd:E().min(1)});z({branch:E().nullable()});z({cwd:E().min(1)});z({branches:Ee(E()),head:E().nullable()});z({}).optional();const HL=z({cwd:E().min(1),updatedAt:E().min(1)});z({dirs:Ee(HL)});z({type:te("session:question"),sessionId:E().min(1),toolUseId:E().min(1),requestId:E().min(1),questions:Ee(dN).min(1)});z({type:te("session:question:cleared"),sessionId:E().min(1),toolUseId:E().min(1),answers:Pf(E(),E()).optional()});z({sessionId:E().min(1),toolUseId:E().min(1),answers:Pf(E(),E())});z({ok:te(!0)});z({sessionId:E().min(1),toolUseId:E().min(1)});z({ok:te(!0)});z({type:te("auth"),token:E().min(1),scheme:te("bearer").optional(),selfUrl:E().min(1).optional(),clientInfo:z({name:E().min(1),version:E().min(1),instanceId:E().min(1)}).optional()});z({type:te("auth:ok"),version:E().min(1).optional(),protocolVersion:J().int().nonnegative().optional()});z({type:te("tunnel:ready"),url:E().min(1),subdomain:E().min(1)});z({type:te("tunnel:exited"),code:J().int().nullable(),subdomain:E().nullable(),url:E().nullable()});z({type:te("tunnel:unavailable"),reason:E().min(1),failedAt:E().min(1)});const UL=z({sessionId:E().min(1),status:kL,freshSpawn:Pe(),pendingPermissionRequestIds:Ee(E().min(1)),pendingQuestionToolUseIds:Ee(E().min(1))});z({type:te("info"),version:E(),protocolVersion:J(),hostname:E(),os:E(),tools:Ee(z({id:E(),available:Pe()})),runningSessions:Ee(UL),tokenRole:it(vL).optional(),isLoopback:Pe().optional(),httpBaseUrl:E().optional(),httpToken:E().optional()});const WL=6173,VL=6272,Ga=/^[a-z][a-z0-9-]{0,39}$/,tu=z({name:E().regex(Ga,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:J().int().min(WL).max(VL),createdAt:E().datetime(),devCommand:E().min(1),prodUrl:E().url().optional(),readyPattern:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:J().int().nonnegative()}).optional()}),qL=["install-pending","installing","starting-dev-server","running","stopped","failed"],hN=it(qL),$_=tu.extend({isRunning:Pe(),boundSessionId:E().nullable(),stage:hN.optional(),stageReason:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:J().int().nonnegative(),status:it(["in-flight","interrupted"])}).optional()});z({}).strict();z({projects:Ee($_)}).strict();z({sessionId:E().min(1)}).strict();z({project:$_.nullable()}).strict();z({sessionId:E().min(1),name:E()}).strict();z({project:tu}).strict();z({name:E()}).strict();z({}).strict();z({name:E(),newPort:J().int()}).strict();z({project:tu}).strict();z({name:E().regex(Ga),url:E().url()}).strict();z({project:tu}).strict();z({sessionId:E().min(1),force:Pe().optional()}).strict();z({project:tu}).strict();const KL=["installing","failed"];z({sessionId:E().min(1),stage:it(KL),reason:E().optional()}).strict();z({ok:te(!0)}).strict();z({sessionId:E().min(1)}).strict();z({ok:te(!0)}).strict();z({type:te("appBuilder:project-updated"),project:$_,stage:hN,stageReason:E().optional()}).strict();z({name:E().regex(Ga)});z({jobId:E().min(1),status:it(["started","already-publishing"])}).strict();z({name:E().regex(Ga)});z({ok:te(!0)}).strict();z({type:te("appBuilder:publish-progress"),name:E().regex(Ga),jobId:E().min(1),stage:it(["build","deploy","verify"]),status:it(["started","completed"])}).strict();z({type:te("appBuilder:publish-failed"),name:E().regex(Ga),jobId:E().min(1),stage:it(["build","deploy","verify","unknown"]),errorSummary:E()}).strict();const bb=1,GL=Oi("type",[z({type:te("persona"),id:E().min(1)}).strict(),z({type:te("chat"),id:E().min(1)}).strict(),z({type:te("*")}).strict()]),XL=it(["read","send","admin"]),fN=z({resource:GL,actions:Ee(XL).min(1)}).strict(),YL=z({id:E().min(1),secretHash:E().regex(/^[a-f0-9]{64}$/),displayName:E(),grants:Ee(fN),issuedAt:J().int().nonnegative(),expiresAt:J().int().positive().optional(),maxUses:J().int().positive().optional(),usedCount:J().int().nonnegative(),peerOwnerId:E().min(1).optional(),firstUsedByPeerAt:J().int().positive().optional(),peerDisplayName:E().optional()}).strict(),ZL=YL.omit({secretHash:!0});it(["TOKEN_INVALID","TOKEN_REVOKED","TOKEN_EXPIRED","TOKEN_EXHAUSTED"]);z({type:te("whoami:ok"),owner:z({id:E(),kind:it(["owner","guest"]),displayName:E(),ownerId:E(),provider:E()}).strict(),capability:ZL,grantedPersonas:Ee(z({id:E().min(1),displayName:E()}).strict())}).strict();z({id:E().min(1),peerDeviceId:E().min(1),senderDeviceId:E().min(1),text:E().min(1),createdAt:J().int().nonnegative(),readBy:Pf(E().min(1),J().int().positive()).default({}),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1).optional(),id:E().min(1),text:E().min(1),createdAt:J().int().nonnegative(),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1),sinceCreatedAt:J().int().nonnegative().optional()}).strict();z({peerDeviceId:E().min(1),upToCreatedAt:J().int().nonnegative()}).strict();z({peerDeviceId:E().min(1).optional(),text:E().min(1)});const QL=z({deviceId:E().min(1),ownerId:E().min(1),provider:E().min(1),displayName:E(),remoteUrl:E().min(1),connectToken:E(),grants:Ee(fN),addedAt:J().int().nonnegative(),pinnedAt:J().int().nullable().default(null),remoteAccessAllowed:Pe().default(!1)}).strict(),pN=QL;z({deviceId:E().min(1)}).strict();z({type:te("contact:remove:ok"),deviceId:E().min(1)}).strict();z({type:te("contact:list:ok"),contacts:Ee(pN)}).strict();z({type:te("contact:added"),contact:pN}).strict();z({type:te("contact:removed"),deviceId:E().min(1)}).strict();z({deviceId:E().min(1),pinned:Pe()}).strict();z({type:te("contact:pin:ok"),deviceId:E().min(1),pinnedAt:J().int().nullable()}).strict();z({type:te("contact:pinned"),deviceId:E().min(1),pinnedAt:J().int().nullable()}).strict();z({deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({type:te("contact:setRemoteAccess:ok"),deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({type:te("contact:remote-access-updated"),deviceId:E().min(1),remoteAccessAllowed:Pe()}).strict();z({peerDeviceId:E().min(1).optional(),command:E().min(1),timeoutMs:J().int().positive().optional()}).strict();z({type:te("peerExec:run:ok"),stdout:E(),stderr:E(),exitCode:J().int().nullable(),timedOut:Pe(),stdoutTruncated:Pe(),stderrTruncated:Pe()}).strict();const JL=/^[a-z0-9][a-z0-9-]*$/;it(["stopped","starting","running","crashed","invalid"]);const eO=new Set(["localhost","127.0.0.1"]);function tO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&eO.has(t.hostname))}const Wu=z({id:E().regex(JL),name:E().min(1),version:E().min(1),apiVersion:te("1"),runtime:z({startCommand:E().min(1)}).passthrough().optional(),entry:z({url:E().url().refine(tO,{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:K.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:K.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),nO=Oi("kind",[z({kind:te("local"),port:J().int().min(1).max(65535)}),z({kind:te("hosted"),url:E().url()})]);Oi("state",[z({extId:E(),manifest:Wu,state:te("stopped")}),z({extId:E(),manifest:Wu,state:te("starting")}),z({extId:E(),manifest:Wu,state:te("running"),target:nO}),z({extId:E(),manifest:Wu,state:te("crashed")}),z({extId:E(),manifest:ec().nullable(),state:te("invalid"),invalidReason:E().min(1)})]);z({snapshotHash:E().min(1),version:E().min(1),publishedAt:J()});Oi("kind",[z({kind:te("p2p-tunnel"),ownerPrincipalId:E().min(1),extId:E().min(1)})]);Oi("kind",[z({kind:te("p2p-tunnel"),ownerPrincipalId:E().min(1),extId:E().min(1),snapshotHash:E().min(1)})]);z({extId:E().min(1),name:E().min(1),version:E().min(1),contentHash:E().min(1),publishedAt:J()});const rO=Oi("kind",[z({kind:te("clean")}),z({kind:te("ready-new-version"),fromVersion:E().min(1),toVersion:E().min(1)}),z({kind:te("error-same-hash"),version:E().min(1)}),z({kind:te("error-version-not-bumped"),localVersion:E().min(1),publishedVersion:E().min(1)}),z({kind:te("error-version-regression"),localVersion:E().min(1),publishedVersion:E().min(1)})]);z({localManifest:z({name:E().min(1),version:E().min(1),contentHash:E().min(1)}),publishState:Oi("kind",[z({kind:te("unpublished")}),z({kind:te("published"),version:E().min(1),contentHash:E().min(1),publishedAt:J()})]),check:rO});const iO=z({deviceId:E().min(1),name:E().min(1),url:E().min(1)});z({type:te("device:list:ok"),devices:Ee(iO)});z({deviceId:E().min(1),url:E().min(1).optional(),name:E().optional()});z({type:te("device:connect:ok"),deviceId:E(),name:E(),url:E()});const mN=z({ownerId:E().min(1),provider:E().min(1),displayName:E().min(1),avatarUrl:E().optional(),unionId:E().optional()});z({type:te("auth:login:start:ok"),authUrl:E().min(1),state:E().min(1)});z({type:te("auth:getIdentity:ok"),identity:mN.nullable(),deviceId:E().min(1)});z({type:te("auth:logout:ok")});z({type:te("auth:login:done"),identity:mN});z({type:te("auth:login:failed"),reason:E()});const sO=Oi("kind",[z({kind:te("success"),text:E(),filePaths:Ee(E()).optional()}),z({kind:te("failure"),reason:E()})]);z({targetPersona:E().min(1),prompt:E(),targetDeviceId:E().min(1).optional(),model:E().min(1).optional()});z({dispatchId:E().min(1),outcome:sO});const oO=["daemon","main","renderer"],aO=it(oO),lO=["debug","info","warn","error"],cO=it(lO);z({ts:J().int(),source:aO,level:cO,msg:E(),ownerPrincipalId:E(),deviceId:E(),appVersion:E(),daemonVersion:E().optional(),os:E(),meta_json:E().optional(),sessionId:E().optional()});z({v:te(1),visitorId:E().min(1),displayName:E(),provider:E(),iat:J(),exp:J()});const uO=z({visitorId:E(),displayName:E(),avatarUrl:E().optional(),provider:E(),firstSeen:J(),lastSeen:J()});z({visitors:Ee(uO)});const dO=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let fi=null;function hO(){if(fi!==null)return fi;if(typeof window>"u")return fi=!1,!1;if(dO.has(window.location.hostname)||window.location.protocol==="file:")return fi=!0,!0;if(new URLSearchParams(window.location.search).get("debug")==="1"){fi=!0;try{sessionStorage.setItem("debug","1")}catch{}}else try{fi=sessionStorage.getItem("debug")==="1"}catch{fi=!1}return fi}function De(e,...t){hO()&&console.log(`[${e}][${new Date().toISOString()}]`,...t)}function Vu(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 fO=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},pO=new Set(["auth:ok","pong","error"]),wb=new Set(nN.filter(e=>!pO.has(e)));let mO=0;const Sb=()=>`r${++mO}`;function gO(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??fO;let u=null,d=!1,f=0,p=null,m=null,v=null,y=null,_=!1,x="disconnected";const b=new Map,w=new Map;let S=null;const k=(D,C)=>{var H;D==="ready"&&(S=C),(H=w.get(D))==null||H.forEach(q=>{try{q(C)}catch{}})},T=D=>{x!==D&&(x=D,k("status",D))},N=(D,C)=>{const H=w.get(D)??new Set;if(H.add(C),w.set(D,H),D==="ready"&&S!==null)try{C(S)}catch{}return()=>H.delete(C)},O=()=>{m&&(clearInterval(m),m=null),v&&(clearTimeout(v),v=null),y&&(clearTimeout(y),y=null)},P=()=>{v&&clearTimeout(v),v=setTimeout(()=>{try{u==null||u.close(4e3,"pong watchdog")}catch{}},a)},L=()=>{m&&clearInterval(m),m=setInterval(()=>{(u==null?void 0:u.readyState)===1&&u.send(JSON.stringify({type:"ping",requestId:Sb()}))},o),P()},R=D=>{for(const[,C]of b)clearTimeout(C.timer),C.reject(new Error(D));b.clear()},I=[],j=()=>{if(I.length===0)return;const D=I.splice(0);for(const C of D)(u==null?void 0:u.readyState)===1&&!_?C.doSend():(clearTimeout(C.timer),C.reject(new Error("NOT_CONNECTED")))},B=D=>{if(I.length===0)return;const C=I.splice(0);for(const H of C)clearTimeout(H.timer),H.reject(new Error(D))},$=()=>{if(d)return;const D=c(f);D<0||(k("daemon:reconnecting",{attempt:f+1,nextDelayMs:D,scheduledAt:Date.now()}),p&&clearTimeout(p),p=setTimeout(()=>{f+=1,A()},D))},F=D=>{P();const C=String(D.type??"");if(C==="auth:ok"){De("daemon-client","auth:ok received → connected",{url:t}),y&&(clearTimeout(y),y=null),_=!1,f=0,T("connected"),k("daemon:connected",{url:t}),L(),j();return}if(C==="pong")return;if(C==="ready"){const q=Number(D.protocolVersion??-1);q!==bb&&k("daemon:version-mismatch",{daemonProtocol:q,supportedProtocol:bb}),k("ready",D);return}const H=D.requestId;if(typeof H=="string"&&b.has(H)){const q=b.get(H);if(b.delete(H),clearTimeout(q.timer),C==="error"){const M=String(D.code??"ERR"),ne=String(D.message??"unknown");q.reject(new Error(`${M}: ${ne}`))}else wb.has(C)&&k(C,D),q.resolve(D);return}wb.has(C)&&k(C,D)},A=()=>{p&&(clearTimeout(p),p=null),De("daemon-client","connect →",{url:t,token:Vu(n),attempt:f}),T("connecting");let D;try{D=new WebSocket(t)}catch(C){T("disconnected"),k("daemon:disconnected",{reason:(C==null?void 0:C.message)??"ws constructor failed"}),$();return}u=D,_=!!n,D.onopen=()=>{if(D!==u){De("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){De("daemon-client","onopen → send auth frame",{token:Vu(n)});const C={type:"auth",token:n};r!=null&&r.principalId&&(C.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(C.selfDisplayName=r.displayName),i&&(C.clientInfo=i),D.send(JSON.stringify(C)),y=setTimeout(()=>{try{D.close(4001,"auth handshake timeout")}catch{}},l)}else De("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),f=0,T("connected"),k("daemon:connected",{url:t}),L(),j()},D.onclose=C=>{if(D!==u){De("daemon-client","onclose → stale, ignore",{code:C.code,reason:C.reason});return}const H=C.reason||(C.code===1008?"auth failed":`close ${C.code}`);if(De("daemon-client","onclose →",{code:C.code,reason:H,awaitingAuth:_,manualStop:d}),O(),R(`connection closed: ${H}`),u=null,C.code===4401?T("revoked"):T("disconnected"),k("daemon:disconnected",{reason:H}),C.code===1008||C.code===4401){B(`connection closed: ${H}`);return}d?B(`connection closed: ${H}`):$()},D.onerror=()=>{},D.onmessage=C=>{if(D!==u)return;let H;try{H=JSON.parse(String(C.data))}catch{return}F(H)}};return{start(){d=!1,f=0,A()},stop(){d=!0,p&&(clearTimeout(p),p=null),O();try{u==null||u.close(1e3,"shutdown")}catch{}u=null,R("shutdown"),B("shutdown"),T("disconnected")},switchProfile(D){De("daemon-client","switchProfile →",{url:D.url,token:Vu(D.authToken)},"prev:",{url:t,token:Vu(n)}),t=D.url,n=D.authToken,D.selfIdentity!==void 0&&(r=D.selfIdentity),f=0,d=!0,p&&(clearTimeout(p),p=null),O(),R("switch profile"),B("switch profile");try{u==null||u.close(1e3,"switch profile")}catch{}u=null,d=!1,A()},request(D,C){return new Promise((H,q)=>{const M=Sb(),ne=setTimeout(()=>{b.delete(M);const V=I.findIndex(pe=>pe.timer===ne);V>=0&&I.splice(V,1),q(new Error(`request timeout: ${D}`))},s),oe=()=>{b.set(M,{resolve:V=>H(V),reject:q,timer:ne}),u.send(JSON.stringify({...C,type:D,requestId:M}))};(u==null?void 0:u.readyState)===1&&!_?oe():d||u==null&&p==null?(clearTimeout(ne),q(new Error("NOT_CONNECTED"))):I.push({doSend:oe,reject:q,timer:ne})})},on:N,get isOpen(){return(u==null?void 0:u.readyState)===1&&!_},get url(){return t},getStatus(){return x}}}function vO(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 _O(e){return e?{id:e.id,mode:e.mode,url:e.url,token:vO(e.token),name:e.name}:null}function qu(e){return e?Array.isArray(e)?e.map(_O):{_notArray:typeof e,_value:e}:null}function kb(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const xO="ws://127.0.0.1:18790",Cb="daemon:profiles",Eb="daemon:active-profile-id";function yO(){return Math.random().toString(36).slice(2,10)}function bO(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 wO(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 gN(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{De("profile-store","persist →",qu(t.profiles),"active:",t.activeId),await e.kv.set(Cb,t.profiles),await e.kv.set(Eb,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(Cb);c=kb(d)}catch{c=null}let u=null;try{const d=await e.kv.get(Eb);u=kb(d)??null}catch{u=null}if(De("profile-store","ensureLoaded read kv →","profiles:",qu(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(wO),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,De("profile-store","ensureLoaded → use kv profiles",qu(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:xO}],activeId:"default"},De("profile-store","ensureLoaded → fallback synthesized default (NO token)",qu(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 y;await a();let c=l.url,u=l.token;if(c&&c.includes("#")){const _=bO(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??yO(),m={id:p,name:((y=l.name)==null?void 0:y.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 Nb="clawd.client-instance-id";let SO={name:"clawd-web",version:"unknown"};function kO(){let e=null;try{e=localStorage.getItem(Nb),e||(e=crypto.randomUUID(),localStorage.setItem(Nb,e))}catch{e=e??crypto.randomUUID()}return{...SO,instanceId:e}}function Tb(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 vN=g.createContext(null);function CO({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=gN(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 De("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Tb(a.token)}),{client:gO({url:a.url,authToken:a.token,clientInfo:kO()}),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){De("daemon-context","subscribe → no active profile, skip switchProfile");return}De("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Tb(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(vN.Provider,{value:n,children:t}):null}function Rs(){const e=g.useContext(vN);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function EO(){const e=Rs(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i.mode,o=s==="tui"?"tui":"sdk";De("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}const _N=g.createContext(null);function NO({cache:e,children:t}){return g.createElement(_N.Provider,{value:e},t)}function ko(){const e=g.useContext(_N);if(!e)throw new Error("useCache must be used inside <CacheProvider>");return e}function si(e){const t=ko(),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 xN={actionsLevel:"none",httpBaseUrl:null,httpToken:null},yN=g.createContext(xN);function Rf(){return g.useContext(yN)}function TO(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:xN}function PO(){const e=si("daemon-info");return g.useMemo(()=>TO(e),[e])}function RO({children:e}){const t=PO();return st.createElement(yN.Provider,{value:t},e)}function IO(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function MO(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 AO(){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 jO(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of nN)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}}}const DO=e=>({tool:e,models:[{id:"",label:"Default",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"Default"}],configSchema:[]});function LO(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,()=>DO(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function OO(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 Rc={sessionId:null,events:[],lastSeq:-1,pendingPermissions:[],status:"idle",pendingQuestions:{}};function Vp(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 bN(e,t,n){const r=n===void 0?e.sessionId:n;switch(t.type){case"session:change":return{...Rc,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=Vp(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)=>Vp(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)=>Vp(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{...Rc,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 BO="session/";function zO(e){return{sid:e.slice(BO.length)}}const $O=new Set(rN);function wN(e){return $O.has(e)}function Pb(e){return wN(e)?e:"idle"}function FO(e,t){return{start(n){const{sid:r}=zO(n);let i=!1,s=-1;const o=f=>{t(n,p=>bN(p??Rc,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??[],y=m.latestSeq??-1;if(f==="baseline")o({type:"session:events",sessionId:r,events:v,latestSeq:y}),s=y;else{const _=m.bufferStartSeq??0,x=y<p||_>p+1;o({type:x?"session:events":"session:events:append",sessionId:r,events:v,latestSeq:y}),s=Math.max(s,y)}}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:Pb(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;De("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(!wN(m.status)){De("session-events","push session:status drop",{sid:r,status:m.status});return}De("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;De("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:Pb(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const HO=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function UO(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=>{HO.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function WO(){return{start(){return()=>{}}}}function VO(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 qO(e){const t=jO(e),n=AO();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,LO(t,i)),n.register(/^sessions$/,OO(t,i)),n.register(/^session\//,FO(t,i)),n.register(/^personas$/,VO(t,i)),n.register(/^persona-detail\//,WO()),n.register(/^daemon-info$/,UO(t,i));const s=MO({onFirstObserver:o=>{o&&n.activate(o)},onLastObserver:o=>{o&&n.deactivate(o)}});return r=s,{cache:s,channel:t}}class F_{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})}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})}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")}}function KO(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}))}),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}))}),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 GO(e){const t=ko(),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 Xa(){const e=Rs();return g.useMemo(()=>new F_(e),[e])}function SN(e){return{personaId:e.personaId,label:e.label,model:e.model,tool:e.tool,iconKey:e.iconKey,public:e.public,createdAt:e.createdAt,updatedAt:e.updatedAt}}function kN(){const e=ko(),t=Xa(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>SN(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 CN(e){const{raw:t}=kN(),n=ko(),r=Xa(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?SN(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 XO(e){const t=Xa(),n=ko(),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 EN(){const e=ko(),t=Xa();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function YO(){const e=Xa(),t=EN();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function ZO(){const e=Xa(),t=EN();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Rb="clawd:sidebar:tree-collapsed";function QO(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function JO(e){const t=QO(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 eB(){const e=N_(),[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(Rb);if(l)return;n(JO(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Rb,[...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 H_=g.createContext(null);function tB(){const e=g.useContext(H_);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-DCUpe97P.js"></script>
7
+ <script type="module" crossorigin src="/share-ui/assets/guest-CPSTbS2R.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-E3E4Ik_Z.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.246",
3
+ "version": "0.2.247",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",