@clawos-dev/clawd 0.2.236 → 0.2.237

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
@@ -5326,13 +5326,10 @@ var init_schemas = __esm({
5326
5326
  * 反向连通性,不构成伪造风险,且 url 不在 token 里(token 只签身份不签地址)。
5327
5327
  */
5328
5328
  selfUrl: external_exports.string().min(1).optional(),
5329
- /**
5330
- * ssh identity 互换(spec 2026-07-15):连接方自报本机 SSH identity pubkey
5331
- * (一行 `ssh-ed25519 AAAA... comment`)。跟 selfUrl 同理不是身份——pubkey 是公开
5332
- * 材料,报假只会让自己连不上(拨号还要对应 privkey 签名验证),被连方 auto-reverse
5333
- * 落 contact.sshPublicKey。缺省 = 老客户端 / identity 未生成。
5334
- */
5335
- selfSshPublicKey: external_exports.string().min(1).optional()
5329
+ /** 连接方自报本机 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
5330
+ selfSshPublicKey: external_exports.string().min(1).optional(),
5331
+ /** 连接方自报本机 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
5332
+ selfOsUser: external_exports.string().min(1).optional()
5336
5333
  });
5337
5334
  AuthOkFrameSchema = external_exports.object({
5338
5335
  type: external_exports.literal("auth:ok"),
@@ -5656,11 +5653,10 @@ var init_capability = __esm({
5656
5653
  displayName: external_exports.string()
5657
5654
  }).strict()
5658
5655
  ),
5659
- /**
5660
- * 被连方设备 SSH identity pubkey(spec 2026-07-15 ssh identity 互换):
5661
- * 连接方 device:connect 读走落 contact.sshPublicKey。identity 未生成时省略。
5662
- */
5663
- sshPublicKey: external_exports.string().min(1).optional()
5656
+ /** 被连方 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
5657
+ sshPublicKey: external_exports.string().min(1).optional(),
5658
+ /** 被连方 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
5659
+ osUser: external_exports.string().min(1).optional()
5664
5660
  }).strict();
5665
5661
  PERSONAL_CAP_GRANTS = Object.freeze([
5666
5662
  Object.freeze({
@@ -5755,14 +5751,10 @@ var init_contact = __esm({
5755
5751
  * 极端场景(区别对方多个 persona)留 per-persona override 演进空间。
5756
5752
  */
5757
5753
  sshAllowed: external_exports.boolean().default(false),
5758
- /**
5759
- * 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`,spec 2026-07-15)。
5760
- * 建联握手双向交换写入(连入方 auth 帧自报 / 被连方 whoami:ok 下发),
5761
- * setSshAccess=true 时由 rebuildAuthorizedKeys 写进 authorized_keys。
5762
- * pubkey 公开可自报无伪造风险——拨号还要 privkey 签名验证。
5763
- * 缺省 = 老 contact / 对方老版本未重连,授权时写不出 authorized_keys 行。
5764
- */
5754
+ /** 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`);见 doc/glossary/peer-mesh.md#建联交换清单 */
5765
5755
  sshPublicKey: external_exports.string().optional(),
5756
+ /** 对端 OS 登录账号名,SSH 拨号登录名(`<osUser>@127.0.0.1`);见 doc/glossary/peer-mesh.md#建联交换清单 */
5757
+ osUser: external_exports.string().optional(),
5766
5758
  /**
5767
5759
  * @deprecated T-29 去沙箱后废弃。原为授权访问的目录白名单(clawd-ssh-jail 生成 sbpl/bwrap
5768
5760
  * policy 用);去掉 OS 沙箱后不再有目录级限制,SSH 授权即 on/off(见 sshAllowed)。
@@ -40772,7 +40764,11 @@ Options:
40772
40764
  Example:
40773
40765
  ssh -o ProxyCommand='~/.clawd/bin/clawd ssh-relay <peer-device-id>' \\
40774
40766
  -i ~/.clawd/ssh-identity/id_ed25519 \\
40775
- $USER@127.0.0.1
40767
+ <peer-os-user>@127.0.0.1
40768
+
40769
+ \u767B\u5F55\u540D\u7528\u5BF9\u7AEF\u8D26\u53F7\uFF08Contact.osUser\uFF0C\u5EFA\u8054\u63E1\u624B\u4EA4\u6362\uFF09\u2014\u2014\u4E0D\u662F\u672C\u673A $USER\u3002
40770
+ \u4E24\u673A\u8D26\u53F7\u540D\u4E0D\u540C\u65F6\u7528 $USER \u4F1A Permission denied (publickey)\u3002
40771
+ \u89C1 doc/glossary/peer-mesh.md#\u5EFA\u8054\u4EA4\u6362\u6E05\u5355
40776
40772
  `;
40777
40773
  }
40778
40774
  });
@@ -50600,7 +50596,8 @@ var AuthGate = class {
50600
50596
  r = await this.opts.authenticate(
50601
50597
  parsed.data.token,
50602
50598
  parsed.data.selfUrl,
50603
- parsed.data.selfSshPublicKey
50599
+ parsed.data.selfSshPublicKey,
50600
+ parsed.data.selfOsUser
50604
50601
  );
50605
50602
  } finally {
50606
50603
  st.pending = false;
@@ -51247,9 +51244,10 @@ async function connectRemote(args) {
51247
51244
  // 决策 #16:身份字段(selfPrincipalId/selfDisplayName/selfDeviceId)已删——
51248
51245
  // 对方从 connect token 签名背书取 deviceId/ownerId/provider,不信自报。
51249
51246
  ...args.selfUrl ? { selfUrl: args.selfUrl } : {},
51250
- // ssh identity 互换(spec 2026-07-15):自报本机 identity pubkey;缺省省略字段
51251
- // (对方 schema selfSshPublicKey 是 .min(1).optional(),不发空串)。
51252
- ...args.selfSshPublicKey ? { selfSshPublicKey: args.selfSshPublicKey } : {}
51247
+ // 建联交换:自报本机 SSH pubkey + OS 账号名;缺省省略字段(不发空串)。
51248
+ // doc/glossary/peer-mesh.md#建联交换清单
51249
+ ...args.selfSshPublicKey ? { selfSshPublicKey: args.selfSshPublicKey } : {},
51250
+ ...args.selfOsUser ? { selfOsUser: args.selfOsUser } : {}
51253
51251
  })
51254
51252
  );
51255
51253
  await new Promise((resolve6, reject) => {
@@ -51325,8 +51323,9 @@ async function connectRemote(args) {
51325
51323
  provider: f.owner.provider,
51326
51324
  displayName: f.owner.displayName,
51327
51325
  grants: f.capability.grants,
51328
- // ssh identity 互换(spec 2026-07-15):对方老版本不带 → 省略(不落 undefined 占位)
51329
- ...f.sshPublicKey ? { sshPublicKey: f.sshPublicKey } : {}
51326
+ // 建联交换:对方老版本不带 → 省略(不落 undefined 占位)。见 …#建联交换清单
51327
+ ...f.sshPublicKey ? { sshPublicKey: f.sshPublicKey } : {},
51328
+ ...f.osUser ? { osUser: f.osUser } : {}
51330
51329
  };
51331
51330
  },
51332
51331
  close: () => {
@@ -51349,6 +51348,7 @@ async function autoReverseContact(args) {
51349
51348
  }));
51350
51349
  const existing = args.store.get(args.deviceId) ?? void 0;
51351
51350
  const sshPublicKey = args.sshPublicKey ?? existing?.sshPublicKey;
51351
+ const osUser = args.osUser ?? existing?.osUser;
51352
51352
  const base = {
51353
51353
  deviceId: args.deviceId,
51354
51354
  ownerId: args.ownerId,
@@ -51360,8 +51360,9 @@ async function autoReverseContact(args) {
51360
51360
  addedAt: now(),
51361
51361
  pinnedAt: existing?.pinnedAt ?? null,
51362
51362
  sshAllowed: existing?.sshAllowed ?? false,
51363
- // ssh identity 互换(spec 2026-07-15):缺省不落 undefined 占位(JSON 持久化干净)
51363
+ // 建联交换:缺省不落 undefined 占位(JSON 持久化干净)。见 …#建联交换清单
51364
51364
  ...sshPublicKey ? { sshPublicKey } : {},
51365
+ ...osUser ? { osUser } : {},
51365
51366
  exposedDirs: []
51366
51367
  };
51367
51368
  args.store.upsert(base);
@@ -55992,13 +55993,15 @@ function buildWhoamiHandler(deps) {
55992
55993
  }
55993
55994
  }
55994
55995
  const sshPublicKey = deps.sshIdentityPublicKey();
55996
+ const osUser = deps.selfOsUser();
55995
55997
  return {
55996
55998
  response: {
55997
55999
  type: "whoami:ok",
55998
56000
  owner,
55999
56001
  capability,
56000
56002
  grantedPersonas,
56001
- ...sshPublicKey ? { sshPublicKey } : {}
56003
+ ...sshPublicKey ? { sshPublicKey } : {},
56004
+ ...osUser ? { osUser } : {}
56002
56005
  }
56003
56006
  };
56004
56007
  };
@@ -56075,8 +56078,9 @@ function buildDeviceHandlers(deps) {
56075
56078
  // 本机无 tunnel → null → connectRemote 省略 selfUrl 字段(不造假数据)。
56076
56079
  // 身份不自报:对方从 token 签名背书取我的 deviceId/ownerId/provider(决策 #16)。
56077
56080
  selfUrl: deps.selfUrl() ?? void 0,
56078
- // ssh identity 互换(spec 2026-07-15):自报本机 pubkey;未生成省略
56079
- selfSshPublicKey: deps.selfSshPublicKey() ?? void 0
56081
+ // 建联交换:自报本机 SSH pubkey + OS 账号名;未生成 省略。见 …#建联交换清单
56082
+ selfSshPublicKey: deps.selfSshPublicKey() ?? void 0,
56083
+ selfOsUser: deps.selfOsUser() ?? void 0
56080
56084
  });
56081
56085
  } catch (e) {
56082
56086
  throw new ClawdError(
@@ -56088,6 +56092,7 @@ function buildDeviceHandlers(deps) {
56088
56092
  const wh = await conn.whoami();
56089
56093
  const existing = deps.store.get(args.deviceId) ?? void 0;
56090
56094
  const sshPublicKey = wh.sshPublicKey ?? existing?.sshPublicKey;
56095
+ const osUser = wh.osUser ?? existing?.osUser;
56091
56096
  const contact = {
56092
56097
  deviceId: args.deviceId,
56093
56098
  ownerId: wh.ownerId,
@@ -56104,9 +56109,10 @@ function buildDeviceHandlers(deps) {
56104
56109
  addedAt: now(),
56105
56110
  pinnedAt: existing?.pinnedAt ?? null,
56106
56111
  sshAllowed: existing?.sshAllowed ?? false,
56107
- // ssh identity 互换(spec 2026-07-15):对方 whoami:ok 下发的 pubkey 落库;
56108
- // 对方老版本不带 → 保留既有值 / 不落 undefined 占位
56112
+ // 建联交换:对方 whoami:ok 下发的 pubkey / osUser 落库;对方老版本不带 →
56113
+ // 保留既有值 / 不落 undefined 占位。见 doc/glossary/peer-mesh.md#建联交换清单
56109
56114
  ...sshPublicKey ? { sshPublicKey } : {},
56115
+ ...osUser ? { osUser } : {},
56110
56116
  exposedDirs: []
56111
56117
  };
56112
56118
  deps.store.upsert(contact);
@@ -58445,7 +58451,8 @@ function buildMethodHandlers(deps) {
58445
58451
  ownerProvider: deps.ownerProvider,
58446
58452
  personaStore: deps.personaStore,
58447
58453
  capabilityManager: deps.capabilityManager,
58448
- sshIdentityPublicKey: deps.sshIdentityPublicKey
58454
+ sshIdentityPublicKey: deps.sshIdentityPublicKey,
58455
+ selfOsUser: deps.selfOsUser
58449
58456
  }),
58450
58457
  ...buildFeishuAuthHandlers(deps.feishuAuth),
58451
58458
  ...buildDeviceHandlers(deps.feishuDevice),
@@ -59318,6 +59325,13 @@ var BundleCache = class {
59318
59325
 
59319
59326
  // src/index.ts
59320
59327
  var import_meta6 = {};
59328
+ function currentOsUser() {
59329
+ try {
59330
+ return import_node_os21.default.userInfo().username;
59331
+ } catch {
59332
+ return "";
59333
+ }
59334
+ }
59321
59335
  async function startDaemon(config) {
59322
59336
  const authFile = loadOrCreateAuthFile({ dataDir: config.dataDir });
59323
59337
  const logShippingCfg = config.logShipping ?? { endpoint: null, sampling: {}, mode: "off" };
@@ -59447,7 +59461,7 @@ async function startDaemon(config) {
59447
59461
  // Task 1.7:authenticate 注入路径替代 expectedToken 单 token 比对。
59448
59462
  // owner 路径 constantTimeEqual 防侧信道;guest 路径走 capabilityRegistry.
59449
59463
  expectedToken: resolvedAuthToken,
59450
- authenticate: async (t, selfUrl, selfSshPublicKey) => {
59464
+ authenticate: async (t, selfUrl, selfSshPublicKey, selfOsUser) => {
59451
59465
  const result = await authenticate(t, buildConnectAuthDeps());
59452
59466
  if (result.ok && result.context.principal.kind === "guest") {
59453
59467
  void autoReverseContact({
@@ -59458,9 +59472,10 @@ async function startDaemon(config) {
59458
59472
  provider: result.context.provider ?? "",
59459
59473
  displayName: result.context.principal.displayName ?? result.context.principal.id,
59460
59474
  selfUrl,
59461
- // ssh identity 互换(spec 2026-07-15):guest auth 帧自报的 pubkey 落 contact;
59462
- // pubkey 变化且已授权时立即重建 authorized_keys(重新握手 = 迁移路径)
59475
+ // 建联交换:guest auth 帧自报的 pubkey / osUser 落 contact;pubkey 变化且已授权时
59476
+ // 立即重建 authorized_keys(重新握手 = 迁移路径)。见 …#建联交换清单
59463
59477
  sshPublicKey: selfSshPublicKey,
59478
+ osUser: selfOsUser,
59464
59479
  rebuildAuthorizedKeys: () => rebuildAuthorizedKeys(contactStore, import_node_path63.default.join(config.dataDir, "sshd")),
59465
59480
  // 决策 #16 换票补全:用 owner 当前 jwt 换 aud=对方设备 的票(本机主动连对方用)。
59466
59481
  // 现读 ownerIdentityStore(热切换后用新身份);失败 → null → 保持空票。
@@ -59951,6 +59966,8 @@ async function startDaemon(config) {
59951
59966
  // ssh identity 互换(spec 2026-07-15):whoami:ok 下发本机 identity pubkey。
59952
59967
  // 惰性读盘,不依赖 ensureSshIdentity 完成时序(未生成 → null → 帧省略字段)。
59953
59968
  sshIdentityPublicKey: () => readSshIdentityPublicKey(config.dataDir),
59969
+ // 建联交换:whoami:ok 下发本机 OS 账号名(拨号登录名)。见 doc/glossary/peer-mesh.md#建联交换清单
59970
+ selfOsUser: currentOsUser,
59954
59971
  personaStore,
59955
59972
  // capability handler 也用 (capability:issue 走 registry / capability:list)
59956
59973
  capabilityRegistry,
@@ -60034,6 +60051,8 @@ async function startDaemon(config) {
60034
60051
  // ssh identity 互换(spec 2026-07-15):出站 auth 帧自报本机 identity pubkey;
60035
60052
  // 对方 pubkey 变化且已授权时立即重建 authorized_keys(重新 connect = 迁移路径)
60036
60053
  selfSshPublicKey: () => readSshIdentityPublicKey(config.dataDir),
60054
+ // 建联交换:出站自报本机 OS 账号名。见 doc/glossary/peer-mesh.md#建联交换清单
60055
+ selfOsUser: currentOsUser,
60037
60056
  rebuildAuthorizedKeys: () => rebuildAuthorizedKeys(contactStore, import_node_path63.default.join(config.dataDir, "sshd"))
60038
60057
  },
60039
60058
  // app-builder
@@ -40381,13 +40381,10 @@ var AuthRequestFrameSchema = external_exports.object({
40381
40381
  * 反向连通性,不构成伪造风险,且 url 不在 token 里(token 只签身份不签地址)。
40382
40382
  */
40383
40383
  selfUrl: external_exports.string().min(1).optional(),
40384
- /**
40385
- * ssh identity 互换(spec 2026-07-15):连接方自报本机 SSH identity pubkey
40386
- * (一行 `ssh-ed25519 AAAA... comment`)。跟 selfUrl 同理不是身份——pubkey 是公开
40387
- * 材料,报假只会让自己连不上(拨号还要对应 privkey 签名验证),被连方 auto-reverse
40388
- * 落 contact.sshPublicKey。缺省 = 老客户端 / identity 未生成。
40389
- */
40390
- selfSshPublicKey: external_exports.string().min(1).optional()
40384
+ /** 连接方自报本机 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
40385
+ selfSshPublicKey: external_exports.string().min(1).optional(),
40386
+ /** 连接方自报本机 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
40387
+ selfOsUser: external_exports.string().min(1).optional()
40391
40388
  });
40392
40389
  var AuthOkFrameSchema = external_exports.object({
40393
40390
  type: external_exports.literal("auth:ok"),
@@ -40682,11 +40679,10 @@ var WhoamiResponseSchema = external_exports.object({
40682
40679
  displayName: external_exports.string()
40683
40680
  }).strict()
40684
40681
  ),
40685
- /**
40686
- * 被连方设备 SSH identity pubkey(spec 2026-07-15 ssh identity 互换):
40687
- * 连接方 device:connect 读走落 contact.sshPublicKey。identity 未生成时省略。
40688
- */
40689
- sshPublicKey: external_exports.string().min(1).optional()
40682
+ /** 被连方 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
40683
+ sshPublicKey: external_exports.string().min(1).optional(),
40684
+ /** 被连方 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
40685
+ osUser: external_exports.string().min(1).optional()
40690
40686
  }).strict();
40691
40687
  var PERSONAL_CAP_GRANTS = Object.freeze([
40692
40688
  Object.freeze({
@@ -40766,14 +40762,10 @@ var ContactSchema = external_exports.object({
40766
40762
  * 极端场景(区别对方多个 persona)留 per-persona override 演进空间。
40767
40763
  */
40768
40764
  sshAllowed: external_exports.boolean().default(false),
40769
- /**
40770
- * 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`,spec 2026-07-15)。
40771
- * 建联握手双向交换写入(连入方 auth 帧自报 / 被连方 whoami:ok 下发),
40772
- * setSshAccess=true 时由 rebuildAuthorizedKeys 写进 authorized_keys。
40773
- * pubkey 公开可自报无伪造风险——拨号还要 privkey 签名验证。
40774
- * 缺省 = 老 contact / 对方老版本未重连,授权时写不出 authorized_keys 行。
40775
- */
40765
+ /** 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40776
40766
  sshPublicKey: external_exports.string().optional(),
40767
+ /** 对端 OS 登录账号名,SSH 拨号登录名(`<osUser>@127.0.0.1`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40768
+ osUser: external_exports.string().optional(),
40777
40769
  /**
40778
40770
  * @deprecated T-29 去沙箱后废弃。原为授权访问的目录白名单(clawd-ssh-jail 生成 sbpl/bwrap
40779
40771
  * policy 用);去掉 OS 沙箱后不再有目录级限制,SSH 授权即 on/off(见 sshAllowed)。
@@ -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 J4={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},eD={motionBase:!0,motionUnit:!0},tD={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},HE=(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=FE(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=nb(l,["theme"]);let d=u;c&&(d=HE(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function UE(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=st.useContext(zE),s=`${Z4}-${t||""}`,o=n||BE,[a,l,c]=F3(o,[Ec,e],{salt:s,override:r,getComputedToken:HE,formatToken:FE,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:J4,ignore:eD,preserve:tD}});return[o,c,t?l:"",a,i]}const nD=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),rD=e=>({[`.${e}`]:Object.assign(Object.assign({},nD()),{[`.${e} .${e}-icon`]:{display:"block"}})}),iD=(e,t)=>{const[n,r]=UE();return m4({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>rD(e))},sD=Object.assign({},Fa),{useId:rb}=sD,oD=()=>"",aD=typeof rb>"u"?oD:rb;function lD(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=aD();return aE(()=>{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!m3(c,d,!0)}))}var cD=["children"],WE=g.createContext({});function uD(e){var t=e.children,n=zg(e,cD);return g.createElement(WE.Provider,{value:n},t)}var dD=function(e){cE(n,e);var t=dE(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 hD(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",VE="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 fD(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 pD=fD(Li(),typeof window<"u"?window:{}),qE={};if(Li()){var mD=document.createElement("div");qE=mD.style}var Uu={};function KE(e){if(Uu[e])return Uu[e];var t=pD[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 qE)return Uu[e]=t[s],Uu[e]}return""}var GE=KE("animationend"),XE=KE("transitionend"),YE=!!(GE&&XE),ob=GE||"animationend",ab=XE||"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 gD=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 ZE=Li()?g.useLayoutEffect:g.useEffect;const vD=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 _D=[Tr,aa,la,O_],xD=[Tr,VE],QE=!1,yD=!0;function JE(e){return e===la||e===O_}const bD=function(e,t,n){var r=lv(ib),i=Ze(r,2),s=i[0],o=i[1],a=vD(),l=Ze(a,2),c=l[0],u=l[1];function d(){o(Tr,!0)}var f=t?xD:_D;return ZE(function(){if(s!==ib&&s!==O_){var p=f.indexOf(s),m=f[p+1],v=n(s);v===QE?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 wD(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),D=P[0],I=P[1],M=hD(Qi),j=Ze(M,2),B=j[0],$=j[1],F=lv(null),R=Ze(F,2),L=R[0],C=R[1],U=B(),q=g.useRef(!1),A=g.useRef(null);function ae(){return n()}var ne=g.useRef(!1);function V(){$(Qi),C(null,!0)}var me=av(function(Ue){var tt=B();if(tt!==Qi){var mt=ae();if(!(Ue&&!Ue.deadline&&Ue.target!==mt)){var Xt=ne.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()}}}),Le=gD(me),re=Ze(Le,1),Ie=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(U)},[U]),ge=bD(U,!e,function(Ue){if(Ue===Tr){var tt=We[Tr];return tt?tt(ae()):QE}if(wt in We){var mt;C(((mt=We[wt])===null||mt===void 0?void 0:mt.call(We,ae(),null))||null)}return wt===la&&U!==Qi&&(Ie(ae()),u>0&&(clearTimeout(A.current),A.current=setTimeout(function(){me({deadline:!0})},u))),wt===VE&&V(),yD}),Ge=Ze(ge,2),Gt=Ge[0],wt=Ge[1],It=JE(wt);ne.current=It;var ln=g.useRef(null);ZE(function(){if(!(q.current&&ln.current===t)){I(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(){(U===$u&&!a||U===Fu&&!s||U===Hu&&!c)&&$(Qi)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(A.current)}},[]);var Bt=g.useRef(!1);g.useEffect(function(){D&&(Bt.current=!0),D!==void 0&&U===Qi&&((Bt.current||D)&&(N==null||N(D)),Bt.current=!0)},[D,U]);var at=L;return We[Tr]&&wt===aa&&(at=Oe({transition:"none"},at)),[U,wt,at,D??t]}function SD(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(WE),y=v.motion,_=n(i,y),x=g.useRef(),b=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:Qj(b.current)}catch{return null}}var S=wD(_,a,w,i),k=Ze(S,4),T=k[0],N=k[1],O=k[2],P=k[3],D=g.useRef(P);P&&(D.current=!0);var I=g.useCallback(function(R){x.current=R,n3(s,R)},[s]),M,j=Oe(Oe({},m),{},{visible:a});if(!d)M=null;else if(T===Qi)P?M=d(Oe({},j),I):!c&&D.current&&p?M=d(Oe(Oe({},j),{},{className:p}),I):u||!c&&!p?M=d(Oe(Oe({},j),{},{style:{display:"none"}}),I):M=null;else{var B;N===Tr?B="prepare":JE(N)?B="active":N===aa&&(B="start");var $=lb(f,"".concat(T,"-").concat(B));M=d(Oe(Oe({},j),{},{className:$j(lb(f,T),be(be({},$,$&&B),f,typeof f=="string")),style:O}),I)}if(g.isValidElement(M)&&r3(M)){var F=i3(M);F||(M=g.cloneElement(M,{ref:I}))}return g.createElement(dD,{ref:b},M)});return r.displayName="CSSMotion",r}const kD=SD(YE);var cv="add",uv="keep",dv="remove",Up="removed";function CD(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},Oe(Oe({},t),{},{key:String(t.key)})}function hv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(CD)}function ED(){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 Oe(Oe({},p),{},{status:cv})})),r=d),n.push(Oe(Oe({},f),{},{status:uv})),r+=1,u=!0;break}}u||n.push(Oe(Oe({},c),{},{status:dv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return Oe(Oe({},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 ND=["component","children","onVisibleChanged","onAllRemoved"],TD=["status"],PD=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function RD(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kD,n=function(r){cE(s,r);var i=dE(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:Oe(Oe({},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,ND),m=u||g.Fragment,v={};return PD.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,TD),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(Oe(Oe({},S),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=hv(c),f=ED(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}RD(YE);const cb=g.createContext(!0);function ID(e){const t=g.useContext(cb),{children:n}=e,[,r]=UE(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(cb.Provider,{value:i},g.createElement(uD,{motion:i},n)):n}const MD=()=>null;var AD=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 jD=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let eN;function DD(){return eN||sv}function LD(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const OD=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(eN=t),r&&LD(r)&&V4(DD(),r)},BD=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:D,typography:I,checkbox:M,descriptions:j,divider:B,drawer:$,skeleton:F,steps:R,image:L,layout:C,list:U,mentions:q,modal:A,progress:ae,result:ne,slider:V,breadcrumb:me,menu:Le,pagination:re,input:Ie,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:H,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||$E,Do=n||_.csp;iD(jo,Do);const rl=lD(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:D,typography:I,checkbox:M,descriptions:j,divider:B,drawer:$,skeleton:F,steps:R,image:L,input:Ie,textArea:Fe,layout:C,list:U,mentions:q,modal:A,progress:ae,result:ne,slider:V,breadcrumb:me,menu:Le,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:H,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])}),jD.forEach(Tt=>{const $t=e[Tt];$t&&(Ui[Tt]=$t)}),typeof r<"u"&&(Ui.button=Object.assign({autoInsertSpace:r},Ui.button));const Wi=aE(()=>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(MD,{dropdownMatchSelectWidth:p}),t);const ol=g.useMemo(()=>{var Tt,$t,or,Ln;return S4(((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(C4.Provider,{value:ol},zt)),a&&(zt=g.createElement(T4,{locale:a,_ANT_MARK__:N4},zt)),zt=g.createElement(x4.Provider,{value:xu},zt),l&&(zt=g.createElement(K4,{size:l},zt)),zt=g.createElement(ID,null,zt);const al=g.useMemo(()=>{const Tt=rl||{},{algorithm:$t,token:or,components:Ln,cssVar:Y}=Tt,_e=AD(Tt,["algorithm","token","components","cssVar"]),xe=$t&&(!Array.isArray($t)||$t.length>0)?Fg($t):BE,Ye={};Object.entries(Ln||{}).forEach(([sA,oA])=>{const hi=Object.assign({},oA);"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[sA]=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(zE.Provider,{value:al},zt)),Wi.warning&&(zt=g.createElement(k4.Provider,{value:Wi.warning},zt)),w!==void 0&&(zt=g.createElement(q4,{disabled:w},zt)),g.createElement(Tf.Provider,{value:Wi},zt)},Ka=e=>{const t=g.useContext(Tf),n=g.useContext(jE);return g.createElement(BD,Object.assign({parentContext:t,legacyLocale:n},e))};Ka.ConfigContext=Tf;Ka.SizeContext=Nc;Ka.config=OD;Ka.useConfig=G4;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(),zD=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]}},$D=(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)}},FD=(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=OE(e,{generateColorPalettes:zD,generateNeutralColorPalettes:$D});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:FD};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 tN=["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:ssh-access-updated","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","appBuilder:project-updated","appBuilder:publish-progress","appBuilder:publish-failed"],nN=["idle","running","running-idle","stopped","error","observing"],HD=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],UD=["builtin","global","project","plugin"],WD=["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 VD=fv;function qD(){return VD}const KD=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=qD(),r=KD({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 pe;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(pe||(pe={}));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 Re(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:Ee.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({...Re(this._def),schema:this,typeName:Ee.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ch({...Re(this._def),innerType:this,defaultValue:n,typeName:Ee.ZodDefault})}brand(){return new oN({typeName:Ee.ZodBranded,type:this,...Re(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Eh({...Re(this._def),innerType:this,catchValue:n,typeName:Ee.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 GD=/^c[^\s-]{8,}$/i,XD=/^[0-9a-z]+$/,YD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ZD=/^[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,QD=/^[a-z0-9_-]{21}$/i,JD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,eL=/^[-+]?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)?)??$/,tL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,nL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Wp;const rL=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[0-9])$/,sL=/^(([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]))$/,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]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rN="((\\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])))",cL=new RegExp(`^${rN}$`);function iN(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 uL(e){return new RegExp(`^${iN(e)}$`)}function dL(e){let t=`${rN}T${iN(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 hL(e,t){return!!((t==="v4"||!t)&&rL.test(e)||(t==="v6"||!t)&&sL.test(e))}function fL(e,t){if(!JD.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 pL(e,t){return!!((t==="v4"||!t)&&iL.test(e)||(t==="v6"||!t)&&oL.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")tL.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(nL,"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")ZD.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")QD.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")GD.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")XD.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")YD.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"?dL(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"?cL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?uL(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"?eL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"duration",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?hL(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"?fL(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"?pL(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"?aL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?lL.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,...pe.errToObj(r)})}_addCheck(t){return new bi({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...pe.errToObj(t)})}url(t){return this._addCheck({kind:"url",...pe.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...pe.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...pe.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...pe.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...pe.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...pe.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...pe.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...pe.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...pe.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...pe.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...pe.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...pe.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,...pe.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,...pe.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...pe.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...pe.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...pe.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...pe.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...pe.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...pe.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...pe.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...pe.errToObj(n)})}nonempty(t){return this.min(1,pe.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:Ee.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Re(e)});function mL(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"?mL(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,pe.toString(n))}gt(t,n){return this.setLimit("min",t,!1,pe.toString(n))}lte(t,n){return this.setLimit("max",t,!0,pe.toString(n))}lt(t,n){return this.setLimit("max",t,!1,pe.toString(n))}setLimit(t,n,r,i){return new ja({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:pe.toString(i)}]})}_addCheck(t){return new ja({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:pe.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:pe.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:pe.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:pe.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:pe.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:pe.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:pe.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:pe.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:pe.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:Ee.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Re(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,pe.toString(n))}gt(t,n){return this.setLimit("min",t,!1,pe.toString(n))}lte(t,n){return this.setLimit("max",t,!0,pe.toString(n))}lt(t,n){return this.setLimit("max",t,!1,pe.toString(n))}setLimit(t,n,r,i){return new Tc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:pe.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:pe.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:pe.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:pe.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:pe.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:pe.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:Ee.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Re(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:Ee.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Re(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:pe.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:pe.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:Ee.ZodDate,...Re(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:Ee.ZodSymbol,...Re(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:Ee.ZodUndefined,...Re(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:Ee.ZodNull,...Re(e)});class vb extends He{constructor(){super(...arguments),this._any=!0}_parse(t){return Sr(t.data)}}vb.create=e=>new vb({typeName:Ee.ZodAny,...Re(e)});class vv extends He{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Sr(t.data)}}vv.create=e=>new vv({typeName:Ee.ZodUnknown,...Re(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:Ee.ZodNever,...Re(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:Ee.ZodVoid,...Re(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:pe.toString(n)}})}max(t,n){return new ei({...this._def,maxLength:{value:t,message:pe.toString(n)}})}length(t,n){return new ei({...this._def,exactLength:{value:t,message:pe.toString(n)}})}nonempty(t){return this.min(1,t)}}ei.create=(e,t)=>new ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ee.ZodArray,...Re(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 pe.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:pe.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:Ee.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 sN(qe.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(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:Ee.ZodUnion,...Re(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 oN||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:Ee.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Re(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:Ee.ZodIntersection,...Re(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:Ee.ZodTuple,rest:null,...Re(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:Ee.ZodRecord,...Re(r)}):new wh({keyType:bi.create(),valueType:t,typeName:Ee.ZodRecord,...Re(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:Ee.ZodMap,...Re(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:pe.toString(n)}})}max(t,n){return new Pc({...this._def,maxSize:{value:t,message:pe.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:Ee.ZodSet,...Re(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:Ee.ZodLazy,...Re(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:Ee.ZodLiteral,...Re(t)});function sN(e,t){return new co({values:e,typeName:Ee.ZodEnum,...Re(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=sN;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:Ee.ZodNativeEnum,...Re(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:Ee.ZodPromise,...Re(t)});class uo extends He{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ee.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:Ee.ZodEffects,effect:t,...Re(n)});uo.createWithPreprocess=(e,t,n)=>new uo({schema:t,effect:{type:"preprocess",transform:e},typeName:Ee.ZodEffects,...Re(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:Ee.ZodOptional,...Re(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:Ee.ZodNullable,...Re(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:Ee.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Re(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:Ee.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Re(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:Ee.ZodNaN,...Re(e)});class oN 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:Ee.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:Ee.ZodReadonly,...Re(t)});var Ee;(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"})(Ee||(Ee={}));const E=bi.create,ee=ja.create,Be=pv.create,ec=vv.create;Ss.create;const Ce=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 gL=["owner"],vL=["agent","owner","user-upload"],aN=z({id:E().min(1),relPath:E().min(1),from:it(vL),label:E().optional(),size:ee().int().nonnegative(),mime:E().min(1),addedAt:ee().int().nonnegative(),lastEditedAt:ee().int().nonnegative().optional(),stale:Be().optional()});z({sessionId:E().min(1),relPath:E().min(1),ttlSeconds:ee().int().positive().nullable().optional(),view:it(["raw","md-rendered"]).optional()});z({url:E().min(1),expiresAt:ee().int().nonnegative().nullable()});z({sessionId:E().min(1),relPath:E().min(1),label:E().optional()});z({entry:aN});z({sessionId:E().min(1),relPath:E().min(1)});z({removed:te(!0)});z({sessionId:E().min(1)});z({entries:Ce(aN)});z({attachmentId:E().min(1),url:E().min(1),relPath:E().min(1),sizeBytes:ee().int().nonnegative(),mimeType:E().min(1)});const lN=it(["owner","guest"]);z({id:E().min(1),kind:lN,displayName:E(),feishuUnionId:E().optional()}).strict();const _L=z({did:E().min(1),displayName:E(),feishuUnionId:E().optional(),principal:lN}).strict(),xL=z({personaId:E(),label:E(),model:E().optional(),public:Be(),iconKey:E().optional(),tool:E().optional(),createdAt:ee(),updatedAt:ee()}).strict(),yL=z({name:E().min(1),description:E().optional()}),bL=z({id:E().min(1)}),wL=z({permissions:z({defaultMode:E().optional(),allow:Ce(E()).optional(),deny:Ce(E()).optional()}).optional(),sandbox:z({enabled:Be().optional(),autoAllowBashIfSandboxed:Be().optional(),allowUnsandboxedCommands:Be().optional(),excludedCommands:Ce(E()).optional(),filesystem:z({denyRead:Ce(E()).optional(),allowRead:Ce(E()).optional(),denyWrite:Ce(E()).optional(),allowWrite:Ce(E()).optional()}).optional(),network:z({allowedDomains:Ce(E()).optional(),allowLocalBinding:Be().optional()}).optional()}).optional()});xL.extend({personality:E().optional(),skills:Ce(yL).optional(),plugins:Ce(bL).optional(),sandboxSettings:wL.nullable().optional()});z({label:E().min(1),personality:E(),model:E().optional(),tool:E().optional(),public:Be().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:Be().optional(),iconKey:E().nullable().optional()}).strict()}).strict();z({writableRoots:Ce(E()).optional(),denyRead:Ce(E()).optional(),network:Be().optional()}).strict();const SL=it(nN),kL=z({input_tokens:ee().int().nonnegative().optional(),cache_read_input_tokens:ee().int().nonnegative().optional(),cache_creation_input_tokens:ee().int().nonnegative().optional(),output_tokens:ee().int().nonnegative().optional()}),CL=z({inputTokens:ee().int().nonnegative(),outputTokens:ee().int().nonnegative(),cacheReadTokens:ee().int().nonnegative().optional(),cacheCreateTokens:ee().int().nonnegative().optional()}),cN={gitBranch:E().optional(),resolvedModel:E().optional(),contextUsage:CL.optional(),contextWindowSize:ee().int().positive().optional()},EL=z(cN),NL=z({id:E().min(1),label:E().min(1),description:E().optional(),contextWindowSize:ee().int().positive(),default:Be().optional()}),TL=z({id:E().min(1),label:E().min(1),description:E().optional()}),PL=z({name:E().min(1),type:it(["string","select","toggle"]),label:E().min(1),description:E().optional(),options:Ce(z({value:E(),label:E(),description:E().optional()})).optional(),default:ec().optional(),scope:it(["core","tool-specific"])});z({tool:E().min(1)});const RL=z({rewind:Be(),subagents:Be(),tui:Be(),observe:Be(),fileSharing:Be(),fork:Be()});z({tool:E().min(1),toolSessionIdLabel:E().optional(),models:Ce(NL),permissionModes:Ce(TL),configSchema:Ce(PL),features:RL});const IL=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(),...cN,permissionRules:Ce(IL).optional(),pinnedAt:ee().int().nonnegative().nullable().optional(),pinSortOrder:ee().int().nullable().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Be().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(),dispatchedFromSessionId:E().min(1).optional(),shiftFiredFromSessionId:E().min(1).optional(),createdAt:E().min(1),updatedAt:E().min(1)});const On={seq:ee().int().nonnegative().optional(),ts:E().optional(),uuid:E().optional()},ML=it(HD),AL=z({readCount:ee().int().nonnegative().optional(),searchCount:ee().int().nonnegative().optional(),bashCount:ee().int().nonnegative().optional(),editFileCount:ee().int().nonnegative().optional(),linesAdded:ee().int().nonnegative().optional(),linesRemoved:ee().int().nonnegative().optional(),otherToolCount:ee().int().nonnegative().optional()}),jL=z({oldStart:ee().int().nonnegative(),oldLines:ee().int().nonnegative(),newStart:ee().int().nonnegative(),newLines:ee().int().nonnegative(),lines:Ce(E())}),DL=z({agentId:E().optional(),agentType:E().optional(),status:E().optional(),prompt:E().optional(),filePath:E().optional(),structuredPatch:Ce(jL).optional(),stats:z({durationMs:ee().int().nonnegative().optional(),tokens:ee().int().nonnegative().optional(),toolUseCount:ee().int().nonnegative().optional(),toolStats:AL.optional(),usage:kL.optional()}).optional()}),LL=z({path:E(),content:E(),mtimeMs:ee().optional()}),OL=z({label:E().min(1),description:E().optional()}),uN=z({question:E().min(1),multiSelect:Be(),options:Ce(OL).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:ML.optional(),taskId:E().optional(),parentToolUseId:E().optional(),sender:_L.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:DL.optional(),sourceToolAssistantUUID:E().optional(),askQuestionAnswers:Pf(E(),E()).optional()}),z({...On,kind:te("attachment_memories"),memories:Ce(LL)}),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:Ce(uN)}),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:ee().int().nonnegative().optional(),tokens:ee().int().nonnegative().optional(),toolUseCount:ee().int().nonnegative().optional()}).optional()}),z({...On,kind:te("error"),message:E()}),z({...On,kind:te("meta_update"),patch:EL}),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:Be().optional(),ownerPersonaId:E().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});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:Be().optional()});z({canRewind:Be(),error:E().optional(),filesChanged:Ce(E()).optional(),insertions:ee().int().nonnegative().optional(),deletions:ee().int().nonnegative().optional()});z({sessionId:E().min(1),userMessageId:E().min(1)});const BL=z({oldStart:ee().int().nonnegative(),oldLines:ee().int().nonnegative(),newStart:ee().int().nonnegative(),newLines:ee().int().nonnegative(),lines:Ce(E())}),zL=z({filePath:E().min(1),hunks:Ce(BL),insertions:ee().int().nonnegative(),deletions:ee().int().nonnegative(),status:it(["modified","added","deleted"]).optional()});z({canRewind:Be(),error:E().optional(),files:Ce(zL),totalInsertions:ee().int().nonnegative(),totalDeletions:ee().int().nonnegative()});z({userMessageIds:Ce(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:ee().int().min(-1)});z({sessionId:E().min(1),permissionRequestId:E().min(1),allow:Be(),permanent:Be().optional(),pattern:E().optional()});z({projectPath:E().min(1)});z({sessionId:E().min(1),limit:ee().int().positive().max(5e3).optional(),offset:ee().int().nonnegative().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:Be().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(UD),path:E().optional(),description:E().optional(),plugin:E().optional()});const $L=z({name:E().min(1),source:it(WD),path:E().optional(),description:E().optional(),whenToUse:E().optional(),plugin:E().optional()});z({cwd:E().min(1),tool:E().optional()});z({agents:Ce($L)});z({sessionId:E().min(1)});z({sessionId:E().min(1),pinned:Be()});z({type:te("peerSession:upsert:ok")});z({sessionId:E().min(1)});z({type:te("peerSession:remove:ok")});z({orderedIds:Ce(E().min(1)).min(1)});z({cwd:E().min(1)});z({isGitRoot:Be(),gitRoot:E().nullable()});z({cwd:E().min(1)});z({branch:E().nullable()});z({cwd:E().min(1)});z({branches:Ce(E()),head:E().nullable()});z({}).optional();const FL=z({cwd:E().min(1),updatedAt:E().min(1)});z({dirs:Ce(FL)});z({type:te("session:question"),sessionId:E().min(1),toolUseId:E().min(1),requestId:E().min(1),questions:Ce(uN).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(),selfSshPublicKey:E().min(1).optional()});z({type:te("auth:ok"),version:E().min(1).optional(),protocolVersion:ee().int().nonnegative().optional()});z({type:te("tunnel:ready"),url:E().min(1),subdomain:E().min(1)});z({type:te("tunnel:exited"),code:ee().int().nullable(),subdomain:E().nullable(),url:E().nullable()});z({type:te("tunnel:unavailable"),reason:E().min(1),failedAt:E().min(1)});const HL=z({sessionId:E().min(1),status:SL,freshSpawn:Be(),pendingPermissionRequestIds:Ce(E().min(1)),pendingQuestionToolUseIds:Ce(E().min(1))});z({type:te("info"),version:E(),protocolVersion:ee(),hostname:E(),os:E(),tools:Ce(z({id:E(),available:Be()})),runningSessions:Ce(HL),tokenRole:it(gL).optional(),isLoopback:Be().optional(),httpBaseUrl:E().optional(),httpToken:E().optional()});const UL=6173,WL=6272,Ga=/^[a-z][a-z0-9-]{0,39}$/,tu=z({name:E().regex(Ga,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:ee().int().min(UL).max(WL),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:ee().int().nonnegative()}).optional()}),VL=["install-pending","installing","starting-dev-server","running","stopped","failed"],dN=it(VL),$_=tu.extend({isRunning:Be(),boundSessionId:E().nullable(),stage:dN.optional(),stageReason:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:ee().int().nonnegative(),status:it(["in-flight","interrupted"])}).optional()});z({}).strict();z({projects:Ce($_)}).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:ee().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:Be().optional()}).strict();z({project:tu}).strict();const qL=["installing","failed"];z({sessionId:E().min(1),stage:it(qL),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:dN,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,KL=Oi("type",[z({type:te("persona"),id:E().min(1)}).strict(),z({type:te("chat"),id:E().min(1)}).strict(),z({type:te("*")}).strict()]),GL=it(["read","send","admin"]),hN=z({resource:KL,actions:Ce(GL).min(1)}).strict(),XL=z({id:E().min(1),secretHash:E().regex(/^[a-f0-9]{64}$/),displayName:E(),grants:Ce(hN),issuedAt:ee().int().nonnegative(),expiresAt:ee().int().positive().optional(),maxUses:ee().int().positive().optional(),usedCount:ee().int().nonnegative(),peerOwnerId:E().min(1).optional(),firstUsedByPeerAt:ee().int().positive().optional(),peerDisplayName:E().optional()}).strict(),YL=XL.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:YL,grantedPersonas:Ce(z({id:E().min(1),displayName:E()}).strict()),sshPublicKey:E().min(1).optional()}).strict();z({id:E().min(1),peerDeviceId:E().min(1),senderDeviceId:E().min(1),text:E().min(1),createdAt:ee().int().nonnegative(),readBy:Pf(E().min(1),ee().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:ee().int().nonnegative(),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1),sinceCreatedAt:ee().int().nonnegative().optional()}).strict();z({peerDeviceId:E().min(1),upToCreatedAt:ee().int().nonnegative()}).strict();z({peerDeviceId:E().min(1).optional(),text:E().min(1)});const ZL=z({deviceId:E().min(1),ownerId:E().min(1),provider:E().min(1),displayName:E(),remoteUrl:E().min(1),connectToken:E(),grants:Ce(hN),addedAt:ee().int().nonnegative(),pinnedAt:ee().int().nullable().default(null),sshAllowed:Be().default(!1),sshPublicKey:E().optional(),exposedDirs:Ce(E()).default([])}).strict(),fN=ZL;z({deviceId:E().min(1)}).strict();z({type:te("contact:remove:ok"),deviceId:E().min(1)}).strict();z({type:te("contact:list:ok"),contacts:Ce(fN)}).strict();z({type:te("contact:added"),contact:fN}).strict();z({type:te("contact:removed"),deviceId:E().min(1)}).strict();z({deviceId:E().min(1),pinned:Be()}).strict();z({type:te("contact:pin:ok"),deviceId:E().min(1),pinnedAt:ee().int().nullable()}).strict();z({type:te("contact:pinned"),deviceId:E().min(1),pinnedAt:ee().int().nullable()}).strict();z({deviceId:E().min(1),sshAllowed:Be()}).strict();z({type:te("contact:setSshAccess:ok"),deviceId:E().min(1),sshAllowed:Be()}).strict();z({type:te("contact:ssh-access-updated"),deviceId:E().min(1),sshAllowed:Be()}).strict();const QL=/^[a-z0-9][a-z0-9-]*$/;it(["stopped","starting","running","crashed","invalid"]);const JL=new Set(["localhost","127.0.0.1"]);function eO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&JL.has(t.hostname))}const Wu=z({id:E().regex(QL),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(eO,{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"})}),tO=Oi("kind",[z({kind:te("local"),port:ee().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:tO}),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:ee()});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:ee()});const nO=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:ee()})]),check:nO});const rO=z({deviceId:E().min(1),name:E().min(1),url:E().min(1)});z({type:te("device:list:ok"),devices:Ce(rO)});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 pN=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:pN.nullable(),deviceId:E().min(1)});z({type:te("auth:logout:ok")});z({type:te("auth:login:done"),identity:pN});z({type:te("auth:login:failed"),reason:E()});const iO=Oi("kind",[z({kind:te("success"),text:E(),filePaths:Ce(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:iO});const sO=["daemon","main","renderer"],oO=it(sO),aO=["debug","info","warn","error"],lO=it(aO);z({ts:ee().int(),source:oO,level:lO,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:ee(),exp:ee()});const cO=z({visitorId:E(),displayName:E(),avatarUrl:E().optional(),provider:E(),firstSeen:ee(),lastSeen:ee()});z({visitors:Ce(cO)});const uO=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let fi=null;function dO(){if(fi!==null)return fi;if(typeof window>"u")return fi=!1,!1;if(uO.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 je(e,...t){dO()&&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 hO=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},fO=new Set(["auth:ok","pong","error"]),wb=new Set(tN.filter(e=>!fO.has(e)));let pO=0;const Sb=()=>`r${++pO}`;function mO(e){let t=e.url,n=e.authToken,r=e.selfIdentity;const i=e.requestTimeoutMs??3e4,s=e.pingIntervalMs??3e4,o=e.watchdogMs??6e4,a=e.authTimeoutMs??1e4,l=e.backoffMs??hO;let c=null,u=!1,d=0,f=null,p=null,m=null,v=null,y=!1,_="disconnected";const x=new Map,b=new Map;let w=null;const S=(R,L)=>{var C;R==="ready"&&(w=L),(C=b.get(R))==null||C.forEach(U=>{try{U(L)}catch{}})},k=R=>{_!==R&&(_=R,S("status",R))},T=(R,L)=>{const C=b.get(R)??new Set;if(C.add(L),b.set(R,C),R==="ready"&&w!==null)try{L(w)}catch{}return()=>C.delete(L)},N=()=>{p&&(clearInterval(p),p=null),m&&(clearTimeout(m),m=null),v&&(clearTimeout(v),v=null)},O=()=>{m&&clearTimeout(m),m=setTimeout(()=>{try{c==null||c.close(4e3,"pong watchdog")}catch{}},o)},P=()=>{p&&clearInterval(p),p=setInterval(()=>{(c==null?void 0:c.readyState)===1&&c.send(JSON.stringify({type:"ping",requestId:Sb()}))},s),O()},D=R=>{for(const[,L]of x)clearTimeout(L.timer),L.reject(new Error(R));x.clear()},I=[],M=()=>{if(I.length===0)return;const R=I.splice(0);for(const L of R)(c==null?void 0:c.readyState)===1&&!y?L.doSend():(clearTimeout(L.timer),L.reject(new Error("NOT_CONNECTED")))},j=R=>{if(I.length===0)return;const L=I.splice(0);for(const C of L)clearTimeout(C.timer),C.reject(new Error(R))},B=()=>{if(u)return;const R=l(d);R<0||(S("daemon:reconnecting",{attempt:d+1,nextDelayMs:R,scheduledAt:Date.now()}),f&&clearTimeout(f),f=setTimeout(()=>{d+=1,F()},R))},$=R=>{O();const L=String(R.type??"");if(L==="auth:ok"){je("daemon-client","auth:ok received → connected",{url:t}),v&&(clearTimeout(v),v=null),y=!1,d=0,k("connected"),S("daemon:connected",{url:t}),P(),M();return}if(L==="pong")return;if(L==="ready"){const U=Number(R.protocolVersion??-1);U!==bb&&S("daemon:version-mismatch",{daemonProtocol:U,supportedProtocol:bb}),S("ready",R);return}const C=R.requestId;if(typeof C=="string"&&x.has(C)){const U=x.get(C);if(x.delete(C),clearTimeout(U.timer),L==="error"){const q=String(R.code??"ERR"),A=String(R.message??"unknown");U.reject(new Error(`${q}: ${A}`))}else wb.has(L)&&S(L,R),U.resolve(R);return}wb.has(L)&&S(L,R)},F=()=>{f&&(clearTimeout(f),f=null),je("daemon-client","connect →",{url:t,token:Vu(n),attempt:d}),k("connecting");let R;try{R=new WebSocket(t)}catch(L){k("disconnected"),S("daemon:disconnected",{reason:(L==null?void 0:L.message)??"ws constructor failed"}),B();return}c=R,y=!!n,R.onopen=()=>{if(R!==c){je("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){je("daemon-client","onopen → send auth frame",{token:Vu(n)});const L={type:"auth",token:n};r!=null&&r.principalId&&(L.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(L.selfDisplayName=r.displayName),R.send(JSON.stringify(L)),v=setTimeout(()=>{try{R.close(4001,"auth handshake timeout")}catch{}},a)}else je("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),d=0,k("connected"),S("daemon:connected",{url:t}),P(),M()},R.onclose=L=>{if(R!==c){je("daemon-client","onclose → stale, ignore",{code:L.code,reason:L.reason});return}const C=L.reason||(L.code===1008?"auth failed":`close ${L.code}`);if(je("daemon-client","onclose →",{code:L.code,reason:C,awaitingAuth:y,manualStop:u}),N(),D(`connection closed: ${C}`),c=null,L.code===4401?k("revoked"):k("disconnected"),S("daemon:disconnected",{reason:C}),L.code===1008||L.code===4401){j(`connection closed: ${C}`);return}u?j(`connection closed: ${C}`):B()},R.onerror=()=>{},R.onmessage=L=>{if(R!==c)return;let C;try{C=JSON.parse(String(L.data))}catch{return}$(C)}};return{start(){u=!1,d=0,F()},stop(){u=!0,f&&(clearTimeout(f),f=null),N();try{c==null||c.close(1e3,"shutdown")}catch{}c=null,D("shutdown"),j("shutdown"),k("disconnected")},switchProfile(R){je("daemon-client","switchProfile →",{url:R.url,token:Vu(R.authToken)},"prev:",{url:t,token:Vu(n)}),t=R.url,n=R.authToken,R.selfIdentity!==void 0&&(r=R.selfIdentity),d=0,u=!0,f&&(clearTimeout(f),f=null),N(),D("switch profile"),j("switch profile");try{c==null||c.close(1e3,"switch profile")}catch{}c=null,u=!1,F()},request(R,L){return new Promise((C,U)=>{const q=Sb(),A=setTimeout(()=>{x.delete(q);const ne=I.findIndex(V=>V.timer===A);ne>=0&&I.splice(ne,1),U(new Error(`request timeout: ${R}`))},i),ae=()=>{x.set(q,{resolve:ne=>C(ne),reject:U,timer:A}),c.send(JSON.stringify({...L,type:R,requestId:q}))};(c==null?void 0:c.readyState)===1&&!y?ae():u||c==null&&f==null?(clearTimeout(A),U(new Error("NOT_CONNECTED"))):I.push({doSend:ae,reject:U,timer:A})})},on:T,get isOpen(){return(c==null?void 0:c.readyState)===1&&!y},get url(){return t},getStatus(){return _}}}function gO(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 vO(e){return e?{id:e.id,mode:e.mode,url:e.url,token:gO(e.token),name:e.name}:null}function qu(e){return e?Array.isArray(e)?e.map(vO):{_notArray:typeof e,_value:e}:null}function kb(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const _O="ws://127.0.0.1:18790",Cb="daemon:profiles",Eb="daemon:active-profile-id";function xO(){return Math.random().toString(36).slice(2,10)}function yO(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 bO(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 mN(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{je("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(je("profile-store","ensureLoaded read kv →","profiles:",qu(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(bO),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,je("profile-store","ensureLoaded → use kv profiles",qu(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:_O}],activeId:"default"},je("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 _=yO(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??xO(),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}}}function Nb(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const gN=g.createContext(null);function wO({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=mN(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 je("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Nb(a.token)}),{client:mO({url:a.url,authToken:a.token}),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){je("daemon-context","subscribe → no active profile, skip switchProfile");return}je("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Nb(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(gN.Provider,{value:n,children:t}):null}function Rs(){const e=g.useContext(gN);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function SO(){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";je("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}const vN=g.createContext(null);function kO({cache:e,children:t}){return g.createElement(vN.Provider,{value:e},t)}function ko(){const e=g.useContext(vN);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 _N={actionsLevel:"none",httpBaseUrl:null,httpToken:null},xN=g.createContext(_N);function Rf(){return g.useContext(xN)}function CO(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:_N}function EO(){const e=si("daemon-info");return g.useMemo(()=>CO(e),[e])}function NO({children:e}){const t=EO();return st.createElement(xN.Provider,{value:t},e)}function TO(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function PO(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 RO(){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 IO(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of tN)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 MO=e=>({tool:e,models:[{id:"",label:"Default",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"Default"}],configSchema:[]});function AO(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,()=>MO(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function jO(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 yN(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 DO="session/";function LO(e){return{sid:e.slice(DO.length)}}const OO=new Set(nN);function bN(e){return OO.has(e)}function Tb(e){return bN(e)?e:"idle"}function BO(e,t){return{start(n){const{sid:r}=LO(n);let i=!1,s=-1;const o=f=>{t(n,p=>yN(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:Tb(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;je("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(!bN(m.status)){je("session-events","push session:status drop",{sid:r,status:m.status});return}je("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;je("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:Tb(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const zO=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function $O(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=>{zO.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function FO(){return{start(){return()=>{}}}}function HO(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 UO(e){const t=IO(e),n=RO();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,AO(t,i)),n.register(/^sessions$/,jO(t,i)),n.register(/^session\//,BO(t,i)),n.register(/^personas$/,HO(t,i)),n.register(/^persona-detail\//,FO()),n.register(/^daemon-info$/,$O(t,i));const s=PO({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 WO(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 VO(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 wN(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 SN(){const e=ko(),t=Xa(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>wN(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 kN(e){const{raw:t}=SN(),n=ko(),r=Xa(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?wN(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 qO(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 CN(){const e=ko(),t=Xa();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function KO(){const e=Xa(),t=CN();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function GO(){const e=Xa(),t=CN();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Pb="clawd:sidebar:tree-collapsed";function XO(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function YO(e){const t=XO(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 ZO(){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(Pb);if(l)return;n(YO(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Pb,[...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 QO(){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 J4={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},eD={motionBase:!0,motionUnit:!0},tD={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},HE=(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=FE(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=nb(l,["theme"]);let d=u;c&&(d=HE(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function UE(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=st.useContext(zE),s=`${Z4}-${t||""}`,o=n||BE,[a,l,c]=F3(o,[Ec,e],{salt:s,override:r,getComputedToken:HE,formatToken:FE,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:J4,ignore:eD,preserve:tD}});return[o,c,t?l:"",a,i]}const nD=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),rD=e=>({[`.${e}`]:Object.assign(Object.assign({},nD()),{[`.${e} .${e}-icon`]:{display:"block"}})}),iD=(e,t)=>{const[n,r]=UE();return m4({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>rD(e))},sD=Object.assign({},Fa),{useId:rb}=sD,oD=()=>"",aD=typeof rb>"u"?oD:rb;function lD(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=aD();return aE(()=>{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!m3(c,d,!0)}))}var cD=["children"],WE=g.createContext({});function uD(e){var t=e.children,n=zg(e,cD);return g.createElement(WE.Provider,{value:n},t)}var dD=function(e){cE(n,e);var t=dE(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 hD(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",VE="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 fD(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 pD=fD(Li(),typeof window<"u"?window:{}),qE={};if(Li()){var mD=document.createElement("div");qE=mD.style}var Uu={};function KE(e){if(Uu[e])return Uu[e];var t=pD[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 qE)return Uu[e]=t[s],Uu[e]}return""}var GE=KE("animationend"),XE=KE("transitionend"),YE=!!(GE&&XE),ob=GE||"animationend",ab=XE||"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 gD=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 ZE=Li()?g.useLayoutEffect:g.useEffect;const vD=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 _D=[Tr,aa,la,O_],xD=[Tr,VE],QE=!1,yD=!0;function JE(e){return e===la||e===O_}const bD=function(e,t,n){var r=lv(ib),i=Ze(r,2),s=i[0],o=i[1],a=vD(),l=Ze(a,2),c=l[0],u=l[1];function d(){o(Tr,!0)}var f=t?xD:_D;return ZE(function(){if(s!==ib&&s!==O_){var p=f.indexOf(s),m=f[p+1],v=n(s);v===QE?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 wD(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),D=P[0],I=P[1],M=hD(Qi),j=Ze(M,2),B=j[0],$=j[1],F=lv(null),R=Ze(F,2),L=R[0],C=R[1],U=B(),q=g.useRef(!1),A=g.useRef(null);function ae(){return n()}var ne=g.useRef(!1);function V(){$(Qi),C(null,!0)}var me=av(function(Ue){var tt=B();if(tt!==Qi){var mt=ae();if(!(Ue&&!Ue.deadline&&Ue.target!==mt)){var Xt=ne.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()}}}),Le=gD(me),re=Ze(Le,1),Ie=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(U)},[U]),ge=bD(U,!e,function(Ue){if(Ue===Tr){var tt=We[Tr];return tt?tt(ae()):QE}if(wt in We){var mt;C(((mt=We[wt])===null||mt===void 0?void 0:mt.call(We,ae(),null))||null)}return wt===la&&U!==Qi&&(Ie(ae()),u>0&&(clearTimeout(A.current),A.current=setTimeout(function(){me({deadline:!0})},u))),wt===VE&&V(),yD}),Ge=Ze(ge,2),Gt=Ge[0],wt=Ge[1],It=JE(wt);ne.current=It;var ln=g.useRef(null);ZE(function(){if(!(q.current&&ln.current===t)){I(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(){(U===$u&&!a||U===Fu&&!s||U===Hu&&!c)&&$(Qi)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(A.current)}},[]);var Bt=g.useRef(!1);g.useEffect(function(){D&&(Bt.current=!0),D!==void 0&&U===Qi&&((Bt.current||D)&&(N==null||N(D)),Bt.current=!0)},[D,U]);var at=L;return We[Tr]&&wt===aa&&(at=Oe({transition:"none"},at)),[U,wt,at,D??t]}function SD(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(WE),y=v.motion,_=n(i,y),x=g.useRef(),b=g.useRef();function w(){try{return x.current instanceof HTMLElement?x.current:Qj(b.current)}catch{return null}}var S=wD(_,a,w,i),k=Ze(S,4),T=k[0],N=k[1],O=k[2],P=k[3],D=g.useRef(P);P&&(D.current=!0);var I=g.useCallback(function(R){x.current=R,n3(s,R)},[s]),M,j=Oe(Oe({},m),{},{visible:a});if(!d)M=null;else if(T===Qi)P?M=d(Oe({},j),I):!c&&D.current&&p?M=d(Oe(Oe({},j),{},{className:p}),I):u||!c&&!p?M=d(Oe(Oe({},j),{},{style:{display:"none"}}),I):M=null;else{var B;N===Tr?B="prepare":JE(N)?B="active":N===aa&&(B="start");var $=lb(f,"".concat(T,"-").concat(B));M=d(Oe(Oe({},j),{},{className:$j(lb(f,T),be(be({},$,$&&B),f,typeof f=="string")),style:O}),I)}if(g.isValidElement(M)&&r3(M)){var F=i3(M);F||(M=g.cloneElement(M,{ref:I}))}return g.createElement(dD,{ref:b},M)});return r.displayName="CSSMotion",r}const kD=SD(YE);var cv="add",uv="keep",dv="remove",Up="removed";function CD(e){var t;return e&&Ct(e)==="object"&&"key"in e?t=e:t={key:e},Oe(Oe({},t),{},{key:String(t.key)})}function hv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(CD)}function ED(){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 Oe(Oe({},p),{},{status:cv})})),r=d),n.push(Oe(Oe({},f),{},{status:uv})),r+=1,u=!0;break}}u||n.push(Oe(Oe({},c),{},{status:dv}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return Oe(Oe({},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 ND=["component","children","onVisibleChanged","onAllRemoved"],TD=["status"],PD=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function RD(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kD,n=function(r){cE(s,r);var i=dE(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:Oe(Oe({},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,ND),m=u||g.Fragment,v={};return PD.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,TD),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(Oe(Oe({},S),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=hv(c),f=ED(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}RD(YE);const cb=g.createContext(!0);function ID(e){const t=g.useContext(cb),{children:n}=e,[,r]=UE(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(cb.Provider,{value:i},g.createElement(uD,{motion:i},n)):n}const MD=()=>null;var AD=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 jD=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let eN;function DD(){return eN||sv}function LD(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const OD=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(eN=t),r&&LD(r)&&V4(DD(),r)},BD=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:D,typography:I,checkbox:M,descriptions:j,divider:B,drawer:$,skeleton:F,steps:R,image:L,layout:C,list:U,mentions:q,modal:A,progress:ae,result:ne,slider:V,breadcrumb:me,menu:Le,pagination:re,input:Ie,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:H,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||$E,Do=n||_.csp;iD(jo,Do);const rl=lD(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:D,typography:I,checkbox:M,descriptions:j,divider:B,drawer:$,skeleton:F,steps:R,image:L,input:Ie,textArea:Fe,layout:C,list:U,mentions:q,modal:A,progress:ae,result:ne,slider:V,breadcrumb:me,menu:Le,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:H,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])}),jD.forEach(Tt=>{const $t=e[Tt];$t&&(Ui[Tt]=$t)}),typeof r<"u"&&(Ui.button=Object.assign({autoInsertSpace:r},Ui.button));const Wi=aE(()=>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(MD,{dropdownMatchSelectWidth:p}),t);const ol=g.useMemo(()=>{var Tt,$t,or,Ln;return S4(((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(C4.Provider,{value:ol},zt)),a&&(zt=g.createElement(T4,{locale:a,_ANT_MARK__:N4},zt)),zt=g.createElement(x4.Provider,{value:xu},zt),l&&(zt=g.createElement(K4,{size:l},zt)),zt=g.createElement(ID,null,zt);const al=g.useMemo(()=>{const Tt=rl||{},{algorithm:$t,token:or,components:Ln,cssVar:Y}=Tt,_e=AD(Tt,["algorithm","token","components","cssVar"]),xe=$t&&(!Array.isArray($t)||$t.length>0)?Fg($t):BE,Ye={};Object.entries(Ln||{}).forEach(([sA,oA])=>{const hi=Object.assign({},oA);"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[sA]=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(zE.Provider,{value:al},zt)),Wi.warning&&(zt=g.createElement(k4.Provider,{value:Wi.warning},zt)),w!==void 0&&(zt=g.createElement(q4,{disabled:w},zt)),g.createElement(Tf.Provider,{value:Wi},zt)},Ka=e=>{const t=g.useContext(Tf),n=g.useContext(jE);return g.createElement(BD,Object.assign({parentContext:t,legacyLocale:n},e))};Ka.ConfigContext=Tf;Ka.SizeContext=Nc;Ka.config=OD;Ka.useConfig=G4;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(),zD=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]}},$D=(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)}},FD=(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=OE(e,{generateColorPalettes:zD,generateNeutralColorPalettes:$D});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:FD};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 tN=["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:ssh-access-updated","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","appBuilder:project-updated","appBuilder:publish-progress","appBuilder:publish-failed"],nN=["idle","running","running-idle","stopped","error","observing"],HD=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools"],UD=["builtin","global","project","plugin"],WD=["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 VD=fv;function qD(){return VD}const KD=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=qD(),r=KD({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 pe;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(pe||(pe={}));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 Re(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:Ee.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({...Re(this._def),schema:this,typeName:Ee.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ch({...Re(this._def),innerType:this,defaultValue:n,typeName:Ee.ZodDefault})}brand(){return new oN({typeName:Ee.ZodBranded,type:this,...Re(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Eh({...Re(this._def),innerType:this,catchValue:n,typeName:Ee.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 GD=/^c[^\s-]{8,}$/i,XD=/^[0-9a-z]+$/,YD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ZD=/^[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,QD=/^[a-z0-9_-]{21}$/i,JD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,eL=/^[-+]?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)?)??$/,tL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,nL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Wp;const rL=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[0-9])$/,sL=/^(([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]))$/,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]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rN="((\\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])))",cL=new RegExp(`^${rN}$`);function iN(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 uL(e){return new RegExp(`^${iN(e)}$`)}function dL(e){let t=`${rN}T${iN(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 hL(e,t){return!!((t==="v4"||!t)&&rL.test(e)||(t==="v6"||!t)&&sL.test(e))}function fL(e,t){if(!JD.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 pL(e,t){return!!((t==="v4"||!t)&&iL.test(e)||(t==="v6"||!t)&&oL.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")tL.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(nL,"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")ZD.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")QD.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")GD.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")XD.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")YD.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"?dL(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"?cL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{code:K.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?uL(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"?eL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"duration",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?hL(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"?fL(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"?pL(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"?aL.test(t.data)||(i=this._getOrReturnCtx(t,i),ie(i,{validation:"base64",code:K.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?lL.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,...pe.errToObj(r)})}_addCheck(t){return new bi({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...pe.errToObj(t)})}url(t){return this._addCheck({kind:"url",...pe.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...pe.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...pe.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...pe.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...pe.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...pe.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...pe.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...pe.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...pe.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...pe.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...pe.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...pe.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,...pe.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,...pe.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...pe.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...pe.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...pe.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...pe.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...pe.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...pe.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...pe.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...pe.errToObj(n)})}nonempty(t){return this.min(1,pe.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:Ee.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Re(e)});function mL(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"?mL(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,pe.toString(n))}gt(t,n){return this.setLimit("min",t,!1,pe.toString(n))}lte(t,n){return this.setLimit("max",t,!0,pe.toString(n))}lt(t,n){return this.setLimit("max",t,!1,pe.toString(n))}setLimit(t,n,r,i){return new ja({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:pe.toString(i)}]})}_addCheck(t){return new ja({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:pe.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:pe.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:pe.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:pe.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:pe.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:pe.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:pe.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:pe.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:pe.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:Ee.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Re(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,pe.toString(n))}gt(t,n){return this.setLimit("min",t,!1,pe.toString(n))}lte(t,n){return this.setLimit("max",t,!0,pe.toString(n))}lt(t,n){return this.setLimit("max",t,!1,pe.toString(n))}setLimit(t,n,r,i){return new Tc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:pe.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:pe.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:pe.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:pe.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:pe.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:pe.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:Ee.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Re(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:Ee.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Re(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:pe.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:pe.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:Ee.ZodDate,...Re(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:Ee.ZodSymbol,...Re(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:Ee.ZodUndefined,...Re(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:Ee.ZodNull,...Re(e)});class vb extends He{constructor(){super(...arguments),this._any=!0}_parse(t){return Sr(t.data)}}vb.create=e=>new vb({typeName:Ee.ZodAny,...Re(e)});class vv extends He{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Sr(t.data)}}vv.create=e=>new vv({typeName:Ee.ZodUnknown,...Re(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:Ee.ZodNever,...Re(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:Ee.ZodVoid,...Re(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:pe.toString(n)}})}max(t,n){return new ei({...this._def,maxLength:{value:t,message:pe.toString(n)}})}length(t,n){return new ei({...this._def,exactLength:{value:t,message:pe.toString(n)}})}nonempty(t){return this.min(1,t)}}ei.create=(e,t)=>new ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ee.ZodArray,...Re(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 pe.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:pe.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:Ee.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 sN(qe.objectKeys(this.shape))}}jt.create=(e,t)=>new jt({shape:()=>e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(t)});jt.strictCreate=(e,t)=>new jt({shape:()=>e,unknownKeys:"strict",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(t)});jt.lazycreate=(e,t)=>new jt({shape:e,unknownKeys:"strip",catchall:Ss.create(),typeName:Ee.ZodObject,...Re(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:Ee.ZodUnion,...Re(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 oN||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:Ee.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Re(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:Ee.ZodIntersection,...Re(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:Ee.ZodTuple,rest:null,...Re(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:Ee.ZodRecord,...Re(r)}):new wh({keyType:bi.create(),valueType:t,typeName:Ee.ZodRecord,...Re(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:Ee.ZodMap,...Re(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:pe.toString(n)}})}max(t,n){return new Pc({...this._def,maxSize:{value:t,message:pe.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:Ee.ZodSet,...Re(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:Ee.ZodLazy,...Re(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:Ee.ZodLiteral,...Re(t)});function sN(e,t){return new co({values:e,typeName:Ee.ZodEnum,...Re(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=sN;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:Ee.ZodNativeEnum,...Re(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:Ee.ZodPromise,...Re(t)});class uo extends He{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ee.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:Ee.ZodEffects,effect:t,...Re(n)});uo.createWithPreprocess=(e,t,n)=>new uo({schema:t,effect:{type:"preprocess",transform:e},typeName:Ee.ZodEffects,...Re(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:Ee.ZodOptional,...Re(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:Ee.ZodNullable,...Re(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:Ee.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Re(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:Ee.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Re(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:Ee.ZodNaN,...Re(e)});class oN 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:Ee.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:Ee.ZodReadonly,...Re(t)});var Ee;(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"})(Ee||(Ee={}));const E=bi.create,ee=ja.create,Be=pv.create,ec=vv.create;Ss.create;const Ce=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 gL=["owner"],vL=["agent","owner","user-upload"],aN=z({id:E().min(1),relPath:E().min(1),from:it(vL),label:E().optional(),size:ee().int().nonnegative(),mime:E().min(1),addedAt:ee().int().nonnegative(),lastEditedAt:ee().int().nonnegative().optional(),stale:Be().optional()});z({sessionId:E().min(1),relPath:E().min(1),ttlSeconds:ee().int().positive().nullable().optional(),view:it(["raw","md-rendered"]).optional()});z({url:E().min(1),expiresAt:ee().int().nonnegative().nullable()});z({sessionId:E().min(1),relPath:E().min(1),label:E().optional()});z({entry:aN});z({sessionId:E().min(1),relPath:E().min(1)});z({removed:te(!0)});z({sessionId:E().min(1)});z({entries:Ce(aN)});z({attachmentId:E().min(1),url:E().min(1),relPath:E().min(1),sizeBytes:ee().int().nonnegative(),mimeType:E().min(1)});const lN=it(["owner","guest"]);z({id:E().min(1),kind:lN,displayName:E(),feishuUnionId:E().optional()}).strict();const _L=z({did:E().min(1),displayName:E(),feishuUnionId:E().optional(),principal:lN}).strict(),xL=z({personaId:E(),label:E(),model:E().optional(),public:Be(),iconKey:E().optional(),tool:E().optional(),createdAt:ee(),updatedAt:ee()}).strict(),yL=z({name:E().min(1),description:E().optional()}),bL=z({id:E().min(1)}),wL=z({permissions:z({defaultMode:E().optional(),allow:Ce(E()).optional(),deny:Ce(E()).optional()}).optional(),sandbox:z({enabled:Be().optional(),autoAllowBashIfSandboxed:Be().optional(),allowUnsandboxedCommands:Be().optional(),excludedCommands:Ce(E()).optional(),filesystem:z({denyRead:Ce(E()).optional(),allowRead:Ce(E()).optional(),denyWrite:Ce(E()).optional(),allowWrite:Ce(E()).optional()}).optional(),network:z({allowedDomains:Ce(E()).optional(),allowLocalBinding:Be().optional()}).optional()}).optional()});xL.extend({personality:E().optional(),skills:Ce(yL).optional(),plugins:Ce(bL).optional(),sandboxSettings:wL.nullable().optional()});z({label:E().min(1),personality:E(),model:E().optional(),tool:E().optional(),public:Be().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:Be().optional(),iconKey:E().nullable().optional()}).strict()}).strict();z({writableRoots:Ce(E()).optional(),denyRead:Ce(E()).optional(),network:Be().optional()}).strict();const SL=it(nN),kL=z({input_tokens:ee().int().nonnegative().optional(),cache_read_input_tokens:ee().int().nonnegative().optional(),cache_creation_input_tokens:ee().int().nonnegative().optional(),output_tokens:ee().int().nonnegative().optional()}),CL=z({inputTokens:ee().int().nonnegative(),outputTokens:ee().int().nonnegative(),cacheReadTokens:ee().int().nonnegative().optional(),cacheCreateTokens:ee().int().nonnegative().optional()}),cN={gitBranch:E().optional(),resolvedModel:E().optional(),contextUsage:CL.optional(),contextWindowSize:ee().int().positive().optional()},EL=z(cN),NL=z({id:E().min(1),label:E().min(1),description:E().optional(),contextWindowSize:ee().int().positive(),default:Be().optional()}),TL=z({id:E().min(1),label:E().min(1),description:E().optional()}),PL=z({name:E().min(1),type:it(["string","select","toggle"]),label:E().min(1),description:E().optional(),options:Ce(z({value:E(),label:E(),description:E().optional()})).optional(),default:ec().optional(),scope:it(["core","tool-specific"])});z({tool:E().min(1)});const RL=z({rewind:Be(),subagents:Be(),tui:Be(),observe:Be(),fileSharing:Be(),fork:Be()});z({tool:E().min(1),toolSessionIdLabel:E().optional(),models:Ce(NL),permissionModes:Ce(TL),configSchema:Ce(PL),features:RL});const IL=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(),...cN,permissionRules:Ce(IL).optional(),pinnedAt:ee().int().nonnegative().nullable().optional(),pinSortOrder:ee().int().nullable().optional(),iconKey:E().optional(),forkedFromSessionId:E().min(1).optional(),ephemeral:Be().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(),dispatchedFromSessionId:E().min(1).optional(),shiftFiredFromSessionId:E().min(1).optional(),createdAt:E().min(1),updatedAt:E().min(1)});const On={seq:ee().int().nonnegative().optional(),ts:E().optional(),uuid:E().optional()},ML=it(HD),AL=z({readCount:ee().int().nonnegative().optional(),searchCount:ee().int().nonnegative().optional(),bashCount:ee().int().nonnegative().optional(),editFileCount:ee().int().nonnegative().optional(),linesAdded:ee().int().nonnegative().optional(),linesRemoved:ee().int().nonnegative().optional(),otherToolCount:ee().int().nonnegative().optional()}),jL=z({oldStart:ee().int().nonnegative(),oldLines:ee().int().nonnegative(),newStart:ee().int().nonnegative(),newLines:ee().int().nonnegative(),lines:Ce(E())}),DL=z({agentId:E().optional(),agentType:E().optional(),status:E().optional(),prompt:E().optional(),filePath:E().optional(),structuredPatch:Ce(jL).optional(),stats:z({durationMs:ee().int().nonnegative().optional(),tokens:ee().int().nonnegative().optional(),toolUseCount:ee().int().nonnegative().optional(),toolStats:AL.optional(),usage:kL.optional()}).optional()}),LL=z({path:E(),content:E(),mtimeMs:ee().optional()}),OL=z({label:E().min(1),description:E().optional()}),uN=z({question:E().min(1),multiSelect:Be(),options:Ce(OL).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:ML.optional(),taskId:E().optional(),parentToolUseId:E().optional(),sender:_L.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:DL.optional(),sourceToolAssistantUUID:E().optional(),askQuestionAnswers:Pf(E(),E()).optional()}),z({...On,kind:te("attachment_memories"),memories:Ce(LL)}),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:Ce(uN)}),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:ee().int().nonnegative().optional(),tokens:ee().int().nonnegative().optional(),toolUseCount:ee().int().nonnegative().optional()}).optional()}),z({...On,kind:te("error"),message:E()}),z({...On,kind:te("meta_update"),patch:EL}),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:Be().optional(),ownerPersonaId:E().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null,{message:"cwd 与 ownerPersonaId 至少传一个"});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:Be().optional()});z({canRewind:Be(),error:E().optional(),filesChanged:Ce(E()).optional(),insertions:ee().int().nonnegative().optional(),deletions:ee().int().nonnegative().optional()});z({sessionId:E().min(1),userMessageId:E().min(1)});const BL=z({oldStart:ee().int().nonnegative(),oldLines:ee().int().nonnegative(),newStart:ee().int().nonnegative(),newLines:ee().int().nonnegative(),lines:Ce(E())}),zL=z({filePath:E().min(1),hunks:Ce(BL),insertions:ee().int().nonnegative(),deletions:ee().int().nonnegative(),status:it(["modified","added","deleted"]).optional()});z({canRewind:Be(),error:E().optional(),files:Ce(zL),totalInsertions:ee().int().nonnegative(),totalDeletions:ee().int().nonnegative()});z({userMessageIds:Ce(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:ee().int().min(-1)});z({sessionId:E().min(1),permissionRequestId:E().min(1),allow:Be(),permanent:Be().optional(),pattern:E().optional()});z({projectPath:E().min(1)});z({sessionId:E().min(1),limit:ee().int().positive().max(5e3).optional(),offset:ee().int().nonnegative().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:Be().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(UD),path:E().optional(),description:E().optional(),plugin:E().optional()});const $L=z({name:E().min(1),source:it(WD),path:E().optional(),description:E().optional(),whenToUse:E().optional(),plugin:E().optional()});z({cwd:E().min(1),tool:E().optional()});z({agents:Ce($L)});z({sessionId:E().min(1)});z({sessionId:E().min(1),pinned:Be()});z({type:te("peerSession:upsert:ok")});z({sessionId:E().min(1)});z({type:te("peerSession:remove:ok")});z({orderedIds:Ce(E().min(1)).min(1)});z({cwd:E().min(1)});z({isGitRoot:Be(),gitRoot:E().nullable()});z({cwd:E().min(1)});z({branch:E().nullable()});z({cwd:E().min(1)});z({branches:Ce(E()),head:E().nullable()});z({}).optional();const FL=z({cwd:E().min(1),updatedAt:E().min(1)});z({dirs:Ce(FL)});z({type:te("session:question"),sessionId:E().min(1),toolUseId:E().min(1),requestId:E().min(1),questions:Ce(uN).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(),selfSshPublicKey:E().min(1).optional(),selfOsUser:E().min(1).optional()});z({type:te("auth:ok"),version:E().min(1).optional(),protocolVersion:ee().int().nonnegative().optional()});z({type:te("tunnel:ready"),url:E().min(1),subdomain:E().min(1)});z({type:te("tunnel:exited"),code:ee().int().nullable(),subdomain:E().nullable(),url:E().nullable()});z({type:te("tunnel:unavailable"),reason:E().min(1),failedAt:E().min(1)});const HL=z({sessionId:E().min(1),status:SL,freshSpawn:Be(),pendingPermissionRequestIds:Ce(E().min(1)),pendingQuestionToolUseIds:Ce(E().min(1))});z({type:te("info"),version:E(),protocolVersion:ee(),hostname:E(),os:E(),tools:Ce(z({id:E(),available:Be()})),runningSessions:Ce(HL),tokenRole:it(gL).optional(),isLoopback:Be().optional(),httpBaseUrl:E().optional(),httpToken:E().optional()});const UL=6173,WL=6272,Ga=/^[a-z][a-z0-9-]{0,39}$/,tu=z({name:E().regex(Ga,{message:"kebab-case, 小写字母开头,只允许小写字母 / 数字 / -,最长 40 字符"}),port:ee().int().min(UL).max(WL),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:ee().int().nonnegative()}).optional()}),VL=["install-pending","installing","starting-dev-server","running","stopped","failed"],dN=it(VL),$_=tu.extend({isRunning:Be(),boundSessionId:E().nullable(),stage:dN.optional(),stageReason:E().optional(),publishJob:z({jobId:E().min(1),stage:it(["build","deploy","verify"]),startedAt:ee().int().nonnegative(),status:it(["in-flight","interrupted"])}).optional()});z({}).strict();z({projects:Ce($_)}).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:ee().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:Be().optional()}).strict();z({project:tu}).strict();const qL=["installing","failed"];z({sessionId:E().min(1),stage:it(qL),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:dN,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,KL=Oi("type",[z({type:te("persona"),id:E().min(1)}).strict(),z({type:te("chat"),id:E().min(1)}).strict(),z({type:te("*")}).strict()]),GL=it(["read","send","admin"]),hN=z({resource:KL,actions:Ce(GL).min(1)}).strict(),XL=z({id:E().min(1),secretHash:E().regex(/^[a-f0-9]{64}$/),displayName:E(),grants:Ce(hN),issuedAt:ee().int().nonnegative(),expiresAt:ee().int().positive().optional(),maxUses:ee().int().positive().optional(),usedCount:ee().int().nonnegative(),peerOwnerId:E().min(1).optional(),firstUsedByPeerAt:ee().int().positive().optional(),peerDisplayName:E().optional()}).strict(),YL=XL.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:YL,grantedPersonas:Ce(z({id:E().min(1),displayName:E()}).strict()),sshPublicKey:E().min(1).optional(),osUser:E().min(1).optional()}).strict();z({id:E().min(1),peerDeviceId:E().min(1),senderDeviceId:E().min(1),text:E().min(1),createdAt:ee().int().nonnegative(),readBy:Pf(E().min(1),ee().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:ee().int().nonnegative(),origin:z({kind:te("persona"),personaId:E().min(1)}).optional()}).strict();z({peerDeviceId:E().min(1),sinceCreatedAt:ee().int().nonnegative().optional()}).strict();z({peerDeviceId:E().min(1),upToCreatedAt:ee().int().nonnegative()}).strict();z({peerDeviceId:E().min(1).optional(),text:E().min(1)});const ZL=z({deviceId:E().min(1),ownerId:E().min(1),provider:E().min(1),displayName:E(),remoteUrl:E().min(1),connectToken:E(),grants:Ce(hN),addedAt:ee().int().nonnegative(),pinnedAt:ee().int().nullable().default(null),sshAllowed:Be().default(!1),sshPublicKey:E().optional(),osUser:E().optional(),exposedDirs:Ce(E()).default([])}).strict(),fN=ZL;z({deviceId:E().min(1)}).strict();z({type:te("contact:remove:ok"),deviceId:E().min(1)}).strict();z({type:te("contact:list:ok"),contacts:Ce(fN)}).strict();z({type:te("contact:added"),contact:fN}).strict();z({type:te("contact:removed"),deviceId:E().min(1)}).strict();z({deviceId:E().min(1),pinned:Be()}).strict();z({type:te("contact:pin:ok"),deviceId:E().min(1),pinnedAt:ee().int().nullable()}).strict();z({type:te("contact:pinned"),deviceId:E().min(1),pinnedAt:ee().int().nullable()}).strict();z({deviceId:E().min(1),sshAllowed:Be()}).strict();z({type:te("contact:setSshAccess:ok"),deviceId:E().min(1),sshAllowed:Be()}).strict();z({type:te("contact:ssh-access-updated"),deviceId:E().min(1),sshAllowed:Be()}).strict();const QL=/^[a-z0-9][a-z0-9-]*$/;it(["stopped","starting","running","crashed","invalid"]);const JL=new Set(["localhost","127.0.0.1"]);function eO(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&JL.has(t.hostname))}const Wu=z({id:E().regex(QL),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(eO,{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"})}),tO=Oi("kind",[z({kind:te("local"),port:ee().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:tO}),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:ee()});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:ee()});const nO=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:ee()})]),check:nO});const rO=z({deviceId:E().min(1),name:E().min(1),url:E().min(1)});z({type:te("device:list:ok"),devices:Ce(rO)});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 pN=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:pN.nullable(),deviceId:E().min(1)});z({type:te("auth:logout:ok")});z({type:te("auth:login:done"),identity:pN});z({type:te("auth:login:failed"),reason:E()});const iO=Oi("kind",[z({kind:te("success"),text:E(),filePaths:Ce(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:iO});const sO=["daemon","main","renderer"],oO=it(sO),aO=["debug","info","warn","error"],lO=it(aO);z({ts:ee().int(),source:oO,level:lO,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:ee(),exp:ee()});const cO=z({visitorId:E(),displayName:E(),avatarUrl:E().optional(),provider:E(),firstSeen:ee(),lastSeen:ee()});z({visitors:Ce(cO)});const uO=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let fi=null;function dO(){if(fi!==null)return fi;if(typeof window>"u")return fi=!1,!1;if(uO.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 je(e,...t){dO()&&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 hO=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},fO=new Set(["auth:ok","pong","error"]),wb=new Set(tN.filter(e=>!fO.has(e)));let pO=0;const Sb=()=>`r${++pO}`;function mO(e){let t=e.url,n=e.authToken,r=e.selfIdentity;const i=e.requestTimeoutMs??3e4,s=e.pingIntervalMs??3e4,o=e.watchdogMs??6e4,a=e.authTimeoutMs??1e4,l=e.backoffMs??hO;let c=null,u=!1,d=0,f=null,p=null,m=null,v=null,y=!1,_="disconnected";const x=new Map,b=new Map;let w=null;const S=(R,L)=>{var C;R==="ready"&&(w=L),(C=b.get(R))==null||C.forEach(U=>{try{U(L)}catch{}})},k=R=>{_!==R&&(_=R,S("status",R))},T=(R,L)=>{const C=b.get(R)??new Set;if(C.add(L),b.set(R,C),R==="ready"&&w!==null)try{L(w)}catch{}return()=>C.delete(L)},N=()=>{p&&(clearInterval(p),p=null),m&&(clearTimeout(m),m=null),v&&(clearTimeout(v),v=null)},O=()=>{m&&clearTimeout(m),m=setTimeout(()=>{try{c==null||c.close(4e3,"pong watchdog")}catch{}},o)},P=()=>{p&&clearInterval(p),p=setInterval(()=>{(c==null?void 0:c.readyState)===1&&c.send(JSON.stringify({type:"ping",requestId:Sb()}))},s),O()},D=R=>{for(const[,L]of x)clearTimeout(L.timer),L.reject(new Error(R));x.clear()},I=[],M=()=>{if(I.length===0)return;const R=I.splice(0);for(const L of R)(c==null?void 0:c.readyState)===1&&!y?L.doSend():(clearTimeout(L.timer),L.reject(new Error("NOT_CONNECTED")))},j=R=>{if(I.length===0)return;const L=I.splice(0);for(const C of L)clearTimeout(C.timer),C.reject(new Error(R))},B=()=>{if(u)return;const R=l(d);R<0||(S("daemon:reconnecting",{attempt:d+1,nextDelayMs:R,scheduledAt:Date.now()}),f&&clearTimeout(f),f=setTimeout(()=>{d+=1,F()},R))},$=R=>{O();const L=String(R.type??"");if(L==="auth:ok"){je("daemon-client","auth:ok received → connected",{url:t}),v&&(clearTimeout(v),v=null),y=!1,d=0,k("connected"),S("daemon:connected",{url:t}),P(),M();return}if(L==="pong")return;if(L==="ready"){const U=Number(R.protocolVersion??-1);U!==bb&&S("daemon:version-mismatch",{daemonProtocol:U,supportedProtocol:bb}),S("ready",R);return}const C=R.requestId;if(typeof C=="string"&&x.has(C)){const U=x.get(C);if(x.delete(C),clearTimeout(U.timer),L==="error"){const q=String(R.code??"ERR"),A=String(R.message??"unknown");U.reject(new Error(`${q}: ${A}`))}else wb.has(L)&&S(L,R),U.resolve(R);return}wb.has(L)&&S(L,R)},F=()=>{f&&(clearTimeout(f),f=null),je("daemon-client","connect →",{url:t,token:Vu(n),attempt:d}),k("connecting");let R;try{R=new WebSocket(t)}catch(L){k("disconnected"),S("daemon:disconnected",{reason:(L==null?void 0:L.message)??"ws constructor failed"}),B();return}c=R,y=!!n,R.onopen=()=>{if(R!==c){je("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){je("daemon-client","onopen → send auth frame",{token:Vu(n)});const L={type:"auth",token:n};r!=null&&r.principalId&&(L.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(L.selfDisplayName=r.displayName),R.send(JSON.stringify(L)),v=setTimeout(()=>{try{R.close(4001,"auth handshake timeout")}catch{}},a)}else je("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),d=0,k("connected"),S("daemon:connected",{url:t}),P(),M()},R.onclose=L=>{if(R!==c){je("daemon-client","onclose → stale, ignore",{code:L.code,reason:L.reason});return}const C=L.reason||(L.code===1008?"auth failed":`close ${L.code}`);if(je("daemon-client","onclose →",{code:L.code,reason:C,awaitingAuth:y,manualStop:u}),N(),D(`connection closed: ${C}`),c=null,L.code===4401?k("revoked"):k("disconnected"),S("daemon:disconnected",{reason:C}),L.code===1008||L.code===4401){j(`connection closed: ${C}`);return}u?j(`connection closed: ${C}`):B()},R.onerror=()=>{},R.onmessage=L=>{if(R!==c)return;let C;try{C=JSON.parse(String(L.data))}catch{return}$(C)}};return{start(){u=!1,d=0,F()},stop(){u=!0,f&&(clearTimeout(f),f=null),N();try{c==null||c.close(1e3,"shutdown")}catch{}c=null,D("shutdown"),j("shutdown"),k("disconnected")},switchProfile(R){je("daemon-client","switchProfile →",{url:R.url,token:Vu(R.authToken)},"prev:",{url:t,token:Vu(n)}),t=R.url,n=R.authToken,R.selfIdentity!==void 0&&(r=R.selfIdentity),d=0,u=!0,f&&(clearTimeout(f),f=null),N(),D("switch profile"),j("switch profile");try{c==null||c.close(1e3,"switch profile")}catch{}c=null,u=!1,F()},request(R,L){return new Promise((C,U)=>{const q=Sb(),A=setTimeout(()=>{x.delete(q);const ne=I.findIndex(V=>V.timer===A);ne>=0&&I.splice(ne,1),U(new Error(`request timeout: ${R}`))},i),ae=()=>{x.set(q,{resolve:ne=>C(ne),reject:U,timer:A}),c.send(JSON.stringify({...L,type:R,requestId:q}))};(c==null?void 0:c.readyState)===1&&!y?ae():u||c==null&&f==null?(clearTimeout(A),U(new Error("NOT_CONNECTED"))):I.push({doSend:ae,reject:U,timer:A})})},on:T,get isOpen(){return(c==null?void 0:c.readyState)===1&&!y},get url(){return t},getStatus(){return _}}}function gO(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 vO(e){return e?{id:e.id,mode:e.mode,url:e.url,token:gO(e.token),name:e.name}:null}function qu(e){return e?Array.isArray(e)?e.map(vO):{_notArray:typeof e,_value:e}:null}function kb(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const _O="ws://127.0.0.1:18790",Cb="daemon:profiles",Eb="daemon:active-profile-id";function xO(){return Math.random().toString(36).slice(2,10)}function yO(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 bO(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 mN(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{je("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(je("profile-store","ensureLoaded read kv →","profiles:",qu(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(bO),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,je("profile-store","ensureLoaded → use kv profiles",qu(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:_O}],activeId:"default"},je("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 _=yO(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??xO(),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}}}function Nb(e){if(!e)return"<none>";let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return`<len:${e.length} hash:${(t>>>0).toString(16)}>`}const gN=g.createContext(null);function wO({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=mN(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 je("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Nb(a.token)}),{client:mO({url:a.url,authToken:a.token}),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){je("daemon-context","subscribe → no active profile, skip switchProfile");return}je("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Nb(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(gN.Provider,{value:n,children:t}):null}function Rs(){const e=g.useContext(gN);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function SO(){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";je("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}const vN=g.createContext(null);function kO({cache:e,children:t}){return g.createElement(vN.Provider,{value:e},t)}function ko(){const e=g.useContext(vN);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 _N={actionsLevel:"none",httpBaseUrl:null,httpToken:null},xN=g.createContext(_N);function Rf(){return g.useContext(xN)}function CO(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:_N}function EO(){const e=si("daemon-info");return g.useMemo(()=>CO(e),[e])}function NO({children:e}){const t=EO();return st.createElement(xN.Provider,{value:t},e)}function TO(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function PO(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 RO(){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 IO(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of tN)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 MO=e=>({tool:e,models:[{id:"",label:"Default",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"Default"}],configSchema:[]});function AO(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,()=>MO(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function jO(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 yN(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 DO="session/";function LO(e){return{sid:e.slice(DO.length)}}const OO=new Set(nN);function bN(e){return OO.has(e)}function Tb(e){return bN(e)?e:"idle"}function BO(e,t){return{start(n){const{sid:r}=LO(n);let i=!1,s=-1;const o=f=>{t(n,p=>yN(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:Tb(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;je("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(!bN(m.status)){je("session-events","push session:status drop",{sid:r,status:m.status});return}je("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;je("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:Tb(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const zO=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function $O(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=>{zO.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function FO(){return{start(){return()=>{}}}}function HO(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 UO(e){const t=IO(e),n=RO();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,AO(t,i)),n.register(/^sessions$/,jO(t,i)),n.register(/^session\//,BO(t,i)),n.register(/^personas$/,HO(t,i)),n.register(/^persona-detail\//,FO()),n.register(/^daemon-info$/,$O(t,i));const s=PO({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 WO(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 VO(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 wN(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 SN(){const e=ko(),t=Xa(),n=si("personas")??[],r=g.useMemo(()=>n.map(s=>wN(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 kN(e){const{raw:t}=SN(),n=ko(),r=Xa(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?wN(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 qO(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 CN(){const e=ko(),t=Xa();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function KO(){const e=Xa(),t=CN();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function GO(){const e=Xa(),t=CN();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const Pb="clawd:sidebar:tree-collapsed";function XO(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function YO(e){const t=XO(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 ZO(){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(Pb);if(l)return;n(YO(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(Pb,[...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 QO(){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-BUXQ-nR5.js"></script>
7
+ <script type="module" crossorigin src="/share-ui/assets/guest-x12quoXh.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-BXzrtMaF.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.236",
3
+ "version": "0.2.237",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",