@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
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
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
|
-
|
|
5661
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
51251
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
56108
|
-
//
|
|
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
|
-
//
|
|
59462
|
-
//
|
|
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
|
-
|
|
40386
|
-
|
|
40387
|
-
|
|
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
|
-
|
|
40687
|
-
|
|
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.
|
package/dist/share-ui/guest.html
CHANGED
|
@@ -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-
|
|
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">
|