@clawos-dev/clawd 0.2.541 → 0.2.543
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/app-builder-plugin/mcp-server.cjs +9 -1
- package/dist/cli.cjs +10 -2
- package/dist/dispatch/mcp-server.cjs +6 -0
- package/dist/persona-defaults/persona-app-builder/.mcp.json +1 -1
- package/dist/persona-defaults/persona-app-builder/CLAUDE.md +3 -3
- package/dist/persona-defaults/persona-app-builder/extension-kit/examples/nestjs-react/server/.env.example +1 -1
- package/dist/secrets/README.md +36 -21
- package/dist/secrets/supabase.env.example +17 -0
- package/dist/share-ui/assets/{guest-NkjA1gGl.js → guest-yzmHj1Cw.js} +1 -1
- package/dist/share-ui/guest.html +1 -1
- package/package.json +1 -1
- package/dist/secrets/supabase.env +0 -16
|
@@ -22859,6 +22859,12 @@ var PersonaFileSchema = external_exports.object({
|
|
|
22859
22859
|
// 绑定的 agent tool('claude' / 'codex');缺省消费侧按 'claude' 兜底。
|
|
22860
22860
|
// 与 model 平行:persona 新建 session 的默认 tool,可平滑切换。
|
|
22861
22861
|
tool: external_exports.string().optional(),
|
|
22862
|
+
/**
|
|
22863
|
+
* 云上任务 Pod 的规格档(design 2026-09-18-persona-size):`small` / `medium` / `large`,没写按 medium。
|
|
22864
|
+
* 只有发布上云的流水线读它(cloud-host/pipeline/deploy-file.mjs 收窄值域,不认识的拒发);本机跑不看。
|
|
22865
|
+
* 协议层同 model / effort 保持 string;现在没有设置页入口,persona.json 手写。
|
|
22866
|
+
*/
|
|
22867
|
+
size: external_exports.string().optional(),
|
|
22862
22868
|
createdAt: external_exports.number(),
|
|
22863
22869
|
updatedAt: external_exports.number(),
|
|
22864
22870
|
/**
|
|
@@ -24881,7 +24887,7 @@ var L = [
|
|
|
24881
24887
|
" # \u767B\u8BB0\u6B63\u5F0F\u53EA\u662F\u5F80 gateway \u5199\u4E00\u884C\uFF0Cgateway \u4E0D\u78B0\u955C\u50CF\uFF1B\u96C6\u7FA4\u62C9\u955C\u50CF\u53D1\u751F\u5728\u7B2C\u4E00\u4E2A\u4EFB\u52A1\u5230\u6765\u65F6\u3002",
|
|
24882
24888
|
" # \u6CA1\u6709\u8FD9\u4E00\u6B65\uFF0C\u6D41\u6C34\u7EBF\u7EFF\u4E86\u53EA\u4EE3\u8868\u300C\u767B\u8BB0\u4E86\u300D\u3002",
|
|
24883
24889
|
// 模型 / 档位 / 连接器 smoke 也要:试跑那次要跟正式那次拿到同一份,否则验的不是将要上线的东西。
|
|
24884
|
-
// 名字形状 deploy-file.mjs 已卡死(persona_id [a-z0-9-]、model / effort [A-Za-z0-9._-]、connectors 无单引号
|
|
24890
|
+
// 名字形状 deploy-file.mjs 已卡死(persona_id [a-z0-9-]、model / effort [A-Za-z0-9._-]、size 三档枚举、connectors 无单引号
|
|
24885
24891
|
// 无换行),所以单引号包住直接拼进命令行是安全的。
|
|
24886
24892
|
" env:",
|
|
24887
24893
|
" CLAWD_GATEWAY_URL: ${{ vars.CLAWD_GATEWAY_URL }}",
|
|
@@ -24894,6 +24900,7 @@ var L = [
|
|
|
24894
24900
|
" --persona-id '${{ steps.plan.outputs.persona_id }}' \\",
|
|
24895
24901
|
" --model '${{ steps.plan.outputs.model }}' \\",
|
|
24896
24902
|
" --effort '${{ steps.plan.outputs.effort }}' \\",
|
|
24903
|
+
" --size '${{ steps.plan.outputs.size }}' \\",
|
|
24897
24904
|
" --connectors '${{ steps.plan.outputs.connectors }}' \\",
|
|
24898
24905
|
" --run-number '${{ github.run_number }}'",
|
|
24899
24906
|
"",
|
|
@@ -24917,6 +24924,7 @@ var L = [
|
|
|
24917
24924
|
" --persona-id '${{ steps.plan.outputs.persona_id }}' \\",
|
|
24918
24925
|
" --model '${{ steps.plan.outputs.model }}' \\",
|
|
24919
24926
|
" --effort '${{ steps.plan.outputs.effort }}' \\",
|
|
24927
|
+
" --size '${{ steps.plan.outputs.size }}' \\",
|
|
24920
24928
|
" --connectors '${{ steps.plan.outputs.connectors }}'",
|
|
24921
24929
|
""
|
|
24922
24930
|
];
|
package/dist/cli.cjs
CHANGED
|
@@ -7590,6 +7590,12 @@ var init_persona_schemas = __esm({
|
|
|
7590
7590
|
// 绑定的 agent tool('claude' / 'codex');缺省消费侧按 'claude' 兜底。
|
|
7591
7591
|
// 与 model 平行:persona 新建 session 的默认 tool,可平滑切换。
|
|
7592
7592
|
tool: external_exports.string().optional(),
|
|
7593
|
+
/**
|
|
7594
|
+
* 云上任务 Pod 的规格档(design 2026-09-18-persona-size):`small` / `medium` / `large`,没写按 medium。
|
|
7595
|
+
* 只有发布上云的流水线读它(cloud-host/pipeline/deploy-file.mjs 收窄值域,不认识的拒发);本机跑不看。
|
|
7596
|
+
* 协议层同 model / effort 保持 string;现在没有设置页入口,persona.json 手写。
|
|
7597
|
+
*/
|
|
7598
|
+
size: external_exports.string().optional(),
|
|
7593
7599
|
createdAt: external_exports.number(),
|
|
7594
7600
|
updatedAt: external_exports.number(),
|
|
7595
7601
|
/**
|
|
@@ -59377,7 +59383,7 @@ var L2 = [
|
|
|
59377
59383
|
" # \u767B\u8BB0\u6B63\u5F0F\u53EA\u662F\u5F80 gateway \u5199\u4E00\u884C\uFF0Cgateway \u4E0D\u78B0\u955C\u50CF\uFF1B\u96C6\u7FA4\u62C9\u955C\u50CF\u53D1\u751F\u5728\u7B2C\u4E00\u4E2A\u4EFB\u52A1\u5230\u6765\u65F6\u3002",
|
|
59378
59384
|
" # \u6CA1\u6709\u8FD9\u4E00\u6B65\uFF0C\u6D41\u6C34\u7EBF\u7EFF\u4E86\u53EA\u4EE3\u8868\u300C\u767B\u8BB0\u4E86\u300D\u3002",
|
|
59379
59385
|
// 模型 / 档位 / 连接器 smoke 也要:试跑那次要跟正式那次拿到同一份,否则验的不是将要上线的东西。
|
|
59380
|
-
// 名字形状 deploy-file.mjs 已卡死(persona_id [a-z0-9-]、model / effort [A-Za-z0-9._-]、connectors 无单引号
|
|
59386
|
+
// 名字形状 deploy-file.mjs 已卡死(persona_id [a-z0-9-]、model / effort [A-Za-z0-9._-]、size 三档枚举、connectors 无单引号
|
|
59381
59387
|
// 无换行),所以单引号包住直接拼进命令行是安全的。
|
|
59382
59388
|
" env:",
|
|
59383
59389
|
" CLAWD_GATEWAY_URL: ${{ vars.CLAWD_GATEWAY_URL }}",
|
|
@@ -59390,6 +59396,7 @@ var L2 = [
|
|
|
59390
59396
|
" --persona-id '${{ steps.plan.outputs.persona_id }}' \\",
|
|
59391
59397
|
" --model '${{ steps.plan.outputs.model }}' \\",
|
|
59392
59398
|
" --effort '${{ steps.plan.outputs.effort }}' \\",
|
|
59399
|
+
" --size '${{ steps.plan.outputs.size }}' \\",
|
|
59393
59400
|
" --connectors '${{ steps.plan.outputs.connectors }}' \\",
|
|
59394
59401
|
" --run-number '${{ github.run_number }}'",
|
|
59395
59402
|
"",
|
|
@@ -59413,6 +59420,7 @@ var L2 = [
|
|
|
59413
59420
|
" --persona-id '${{ steps.plan.outputs.persona_id }}' \\",
|
|
59414
59421
|
" --model '${{ steps.plan.outputs.model }}' \\",
|
|
59415
59422
|
" --effort '${{ steps.plan.outputs.effort }}' \\",
|
|
59423
|
+
" --size '${{ steps.plan.outputs.size }}' \\",
|
|
59416
59424
|
" --connectors '${{ steps.plan.outputs.connectors }}'",
|
|
59417
59425
|
""
|
|
59418
59426
|
];
|
|
@@ -70911,7 +70919,7 @@ function computeMethodAccess(args) {
|
|
|
70911
70919
|
}
|
|
70912
70920
|
|
|
70913
70921
|
// src/version.ts
|
|
70914
|
-
var version = "0.2.
|
|
70922
|
+
var version = "0.2.543".length > 0 ? "0.2.543" : "dev";
|
|
70915
70923
|
|
|
70916
70924
|
// src/cli-probe/probe.ts
|
|
70917
70925
|
var fs78 = __toESM(require("fs"), 1);
|
|
@@ -22674,6 +22674,12 @@ var PersonaFileSchema = external_exports.object({
|
|
|
22674
22674
|
// 绑定的 agent tool('claude' / 'codex');缺省消费侧按 'claude' 兜底。
|
|
22675
22675
|
// 与 model 平行:persona 新建 session 的默认 tool,可平滑切换。
|
|
22676
22676
|
tool: external_exports.string().optional(),
|
|
22677
|
+
/**
|
|
22678
|
+
* 云上任务 Pod 的规格档(design 2026-09-18-persona-size):`small` / `medium` / `large`,没写按 medium。
|
|
22679
|
+
* 只有发布上云的流水线读它(cloud-host/pipeline/deploy-file.mjs 收窄值域,不认识的拒发);本机跑不看。
|
|
22680
|
+
* 协议层同 model / effort 保持 string;现在没有设置页入口,persona.json 手写。
|
|
22681
|
+
*/
|
|
22682
|
+
size: external_exports.string().optional(),
|
|
22677
22683
|
createdAt: external_exports.number(),
|
|
22678
22684
|
updatedAt: external_exports.number(),
|
|
22679
22685
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_comment": "preinstall ship 进 daemon defaults,daemon 启动时 refreshDaemonManagedDirs 把这文件同步到 ~/.clawd*/personas/persona-app-builder/.mcp.json。**这里只有声明,没有值**:`${VAR}` 占位由 daemon 在 spawn 时从凭据表渲进 per-server env / headers(见 daemon/src/persona/mcp-secret-render.ts),渲染产物是另一份 0600 文件、同名 server 压过本文件,所以 agent 在 persona 目录里读不到任何 key。supabase:用 @aliyun-rds/supabase-mcp-server Mode 2 单实例直连(不再用 aliyun AK),底下接阿里云托管 supabase。这三个 env 名不是我们发明的——该包的 commander option 默认值就取 process.env.SUPABASE_URL / SUPABASE_ANON_KEY / SUPABASE_SERVICE_ROLE_KEY,所以不再传 --supabase-* CLI 参数(参数会进 ps 输出,等于没藏)。**不要往这里加 --jwt-secret / SUPABASE_AUTH_JWT_SECRET**:jwt-secret 是该实例的 JWT 签发密钥,拿到它可以自签任意 role/任意 user 的 token(含 service_role),下发出去等于把 anon/service key 的轮换能力一起交出去;而 MCP server 里它唯一的用处是 verify_jwt_secret 这个自检工具报个 found/preview。github:GitHub 官方远程 MCP(spec 2026-09-14-app-builder-github-mcp-design),建仓 / 提交文件都由 agent 按 .claude/skills/app-builder-projects 走它,本机不再依赖 gh CLI。Authorization 走 `${GITHUB_TOKEN}` 占位而不是留空让 Claude Code 自己 OAuth:没占位的 http server 不进 daemon 的渲染产物,只剩 cwd 里这份项目级声明,daemon 起的 headless 会话过不了 Claude Code 的「项目 MCP 待批准」和交互式 OAuth 两关(2026-09-14 实测)。`GITHUB_TOKEN` 是保留变量名 = 当前用户的 GitHub 身份(spec 2026-09-15-github-auth-unify §4.1):本机由 daemon 从机器级身份(设置 → 账号关联,存在 git 的凭据存储;~/.clawd/secrets/github.env 是 git 没配 helper 时的退路)渲进产物;云上由中心从使用者的 GitHub 身份供值、代理时注 Bearer,不填 PAT
|
|
2
|
+
"_comment": "preinstall ship 进 daemon defaults,daemon 启动时 refreshDaemonManagedDirs 把这文件同步到 ~/.clawd*/personas/persona-app-builder/.mcp.json。**这里只有声明,没有值**:`${VAR}` 占位由 daemon 在 spawn 时从凭据表渲进 per-server env / headers(见 daemon/src/persona/mcp-secret-render.ts),渲染产物是另一份 0600 文件、同名 server 压过本文件,所以 agent 在 persona 目录里读不到任何 key。supabase:用 @aliyun-rds/supabase-mcp-server Mode 2 单实例直连(不再用 aliyun AK),底下接阿里云托管 supabase。这三个 env 名不是我们发明的——该包的 commander option 默认值就取 process.env.SUPABASE_URL / SUPABASE_ANON_KEY / SUPABASE_SERVICE_ROLE_KEY,所以不再传 --supabase-* CLI 参数(参数会进 ps 输出,等于没藏)。**不要往这里加 --jwt-secret / SUPABASE_AUTH_JWT_SECRET**:jwt-secret 是该实例的 JWT 签发密钥,拿到它可以自签任意 role/任意 user 的 token(含 service_role),下发出去等于把 anon/service key 的轮换能力一起交出去;而 MCP server 里它唯一的用处是 verify_jwt_secret 这个自检工具报个 found/preview。github:GitHub 官方远程 MCP(spec 2026-09-14-app-builder-github-mcp-design),建仓 / 提交文件都由 agent 按 .claude/skills/app-builder-projects 走它,本机不再依赖 gh CLI。Authorization 走 `${GITHUB_TOKEN}` 占位而不是留空让 Claude Code 自己 OAuth:没占位的 http server 不进 daemon 的渲染产物,只剩 cwd 里这份项目级声明,daemon 起的 headless 会话过不了 Claude Code 的「项目 MCP 待批准」和交互式 OAuth 两关(2026-09-14 实测)。`GITHUB_TOKEN` 是保留变量名 = 当前用户的 GitHub 身份(spec 2026-09-15-github-auth-unify §4.1):本机由 daemon 从机器级身份(设置 → 账号关联,存在 git 的凭据存储;~/.clawd/secrets/github.env 是 git 没配 helper 时的退路)渲进产物;云上由中心从使用者的 GitHub 身份供值、代理时注 Bearer,不填 PAT。值不随 OTA 下发(本机 ~/.clawd/secrets/supabase.env,云上 gateway 注入),来龙去脉见 doc/glossary/persona-cloud.md。",
|
|
3
3
|
"mcpServers": {
|
|
4
4
|
"github": {
|
|
5
5
|
"type": "http",
|
|
@@ -92,15 +92,15 @@
|
|
|
92
92
|
|
|
93
93
|
## 后端:supabase MCP
|
|
94
94
|
|
|
95
|
-
**`supabase`** —— 后端数据/认证/存储,唯一的 MCP 支柱。这份 Supabase **是阿里云托管 supabase
|
|
95
|
+
**`supabase`** —— 后端数据/认证/存储,唯一的 MCP 支柱。这份 Supabase **是阿里云托管 supabase 实例**(地址就是凭据表里的 `SUPABASE_URL`,你看不到值也不用看),**不是**云上 `supabase.com` 的实例。开工前确认能连上:
|
|
96
96
|
|
|
97
97
|
- 读表结构、跑 SQL、看 auth 用户都走这个 MCP,不要凭记忆猜 schema
|
|
98
|
-
- **凭据值你看不到,也不需要看到**:`extension-kit/config.env` 与 `server/.env.example` 里只有变量名(`${SUPABASE_URL}` / `${SUPABASE_KEY}`),值由 daemon 在起 MCP server 时才注进那个子进程。`createProject` 时 scaffold 会把项目的 `server/.env`
|
|
98
|
+
- **凭据值你看不到,也不需要看到**:`extension-kit/config.env` 与 `server/.env.example` 里只有变量名(`${SUPABASE_URL}` / `${SUPABASE_KEY}`),值由 daemon 在起 MCP server 时才注进那个子进程。`createProject` 时 scaffold 会把项目的 `server/.env` 渲好(前提是这台机器配了凭据表:云上由 gateway 注入,本机要有 `~/.clawd/secrets/supabase.env`;没配会渲成空串并 warn),直接 `pnpm dev` 就能连上——**不要**去别处找 key 往文件里抄
|
|
99
99
|
- **红线**:这是共享生产库。建表 / 迁移前先 `list_tables` 看清现状,新项目的表**必须**带 `TABLE_PREFIX` 沉到 `public` schema(integration 是 `${APP_NAME}_${SLUG}_int_`,prod 是 `${APP_NAME}_${SLUG}_`,如 `helloworld_a1b2_int_click_counter` / `helloworld_a1b2_click_counter`;`APP_NAME` 和 `SLUG` 都从项目 `ext.conf` 读,**不要自己另起一套 slug**),避免和 clawos / 其它项目 / 别人同名 app 的表撞名;**绝不** drop / alter clawos 已有的表,不确定哪些是 clawos 的就先问老板
|
|
100
100
|
- **表两套,DDL 一份**:表结构写在 `server/db/schema.sql`,表名用 `__TABLE_PREFIX__visits` 占位;`node <skill>/scripts/render-sql.mjs --project <projectDir> --env integration` 渲出 SQL 用 supabase MCP `execute_sql` 跑(`apply_migration` 在阿里云自建实例上不可用),在测试地址验过再 `--env prod` 跑一次。server 代码里表名只经 `tableName('visits')`(`server/src/table-name.ts`,读 env `TABLE_PREFIX`),不写死
|
|
101
101
|
- 建了表记得把**基础名**(如 `visits`)填进 `ext.conf` 的 `SUPABASE_TABLES`(空格分隔),`removeProject` 据此打印两套清理语句
|
|
102
102
|
|
|
103
|
-
**易踩的坑**:唯一真源是 **daemon
|
|
103
|
+
**易踩的坑**:唯一真源是 **daemon 的凭据表**(本机 `~/.clawd/secrets/supabase.env`,云上 gateway 经 env 注入;clawd 自带的只有占位模板)—— supabase MCP 连它,`publish.sh` 也把它渲染进 s.yaml 给线上用,scaffold 渲项目 `.env` 还是它。项目 `.env` 被手改成别的地址,就会 **MCP 建表落一台 / server 通过 supabase-js 查另一台**,两边 PostgREST 的 schema cache 各自独立 → `PGRST205 schema cache 找不到表`。看到 PGRST 系列错码,先看项目 `.env` 的 `SUPABASE_URL` 是不是被人动过。
|
|
104
104
|
|
|
105
105
|
## 部署:阿里云 FC(serverless)
|
|
106
106
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# supabase 连接串的**唯一真源是 daemon
|
|
1
|
+
# supabase 连接串的**唯一真源是 daemon 的凭据表**(本机 `~/.clawd/secrets/supabase.env`,云上 gateway 经 env 注入)。
|
|
2
2
|
# 本文件是模板:scaffold(new-extension.sh)把下面的占位引用展开成同目录的 `.env` 给本地 dev 用;
|
|
3
3
|
# 线上那份由 publish.sh 渲进 s.yaml 的 environmentVariables。两条路取同一张表的同一个变量名,
|
|
4
4
|
# 所以不会出现「本地连一台、线上连另一台」的漂移(那会表现成 PGRST205 找不到表)。
|
package/dist/secrets/README.md
CHANGED
|
@@ -1,32 +1,47 @@
|
|
|
1
|
-
# `src/secrets/` ——
|
|
1
|
+
# `src/secrets/` —— 凭据表的 bundle 目录(只有占位模板,没有值)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
(`EnvironmentManifest.secrets[].name`)。daemon 在 spawn
|
|
3
|
+
每个 `<name>.env.example` 是一条**命名凭据**的占位模板,`name` 对齐环境清单
|
|
4
|
+
(`EnvironmentManifest.secrets[].name`)。daemon 在 spawn 时把凭据表合成一张
|
|
5
5
|
`Record<envName, value>`,只交给**真正用它的那个子进程**(MCP server / deploy-kit 发布脚本),
|
|
6
6
|
agent 主进程 env 一条都不放。读法与合并顺序见 `../deploy/secret-table.ts`。
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## 这里不放值:clawd 不随包 ship 任何凭据
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
本目录随 npm 包 / OTA 发给所有用户,**放进来的每一把 key 都等于公开**——不是比喻:
|
|
11
|
+
|
|
12
|
+
- deploy-kit 的阿里云 AK 曾以「共享 demo 凭证」身份放在 `deploy-kit/.secrets/aliyun.env`,随 npm 包发出去
|
|
13
|
+
**69 秒**就被 TruffleHog 收割、90 天内被 100+ 个境外 IP 验证约 600 次,最后主账号被阿里云风控锁
|
|
14
|
+
(`specs/2026-09-18-aliyun-ak-leak-rotate-design.md`)。
|
|
15
|
+
- 这里的 supabase 三件套(url / anon / **service-role**)曾经也是这么 ship 的。service-role 绕过 RLS,
|
|
16
|
+
等于整库管理员;而那台实例除 app-builder 的 demo 表外还承载 clawd 自己的 `clawd_prod` schema
|
|
17
|
+
(`persona_cloud_api_keys` / `device_bindings` / `lark_bot_bindings` 的明文 app_secret……)——
|
|
18
|
+
随包公开等于把中心库交出去(`specs/2026-09-18-supabase-key-leak-design.md`)。
|
|
19
|
+
|
|
20
|
+
所以 2026-09-18 起:`*.env` 不进 git(`clawd/.gitignore`),不进 dist(`scripts/copy-defaults.mjs`
|
|
21
|
+
平移时只放行 `*.example` 与本 README),desktop OTA 打的是 dist 所以同样没有。
|
|
13
22
|
|
|
14
|
-
|
|
15
|
-
- 「哪些 key 随 OTA 下发」在**目录层面就是可数的**——将来做收敛(见
|
|
16
|
-
`doc/glossary/persona-cloud.md` 的「随 OTA 下发的凭据 = 公开凭据」)时,要删的就是这个目录。
|
|
23
|
+
## 值从哪来
|
|
17
24
|
|
|
18
|
-
|
|
25
|
+
| 环境 | 来源 |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| 本机 | **`~/.clawd/secrets/<name>.env`**(凭据表覆盖目录,不随 OTA 覆盖)。照同名 `.example` 抄一份填值即可。改了下一个会话就生效,不用重启 daemon |
|
|
28
|
+
| 云上 | persona 仓库的 GitHub Secrets(同名)→ `register.mjs` → gateway 起 Pod 时经容器 env 交进来,走同一个交付点。**不读这两个目录** |
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
deploy-kit
|
|
22
|
-
100+ 个境外 IP 验证约 600 次,最后主账号被阿里云风控锁;2026-09-18 起它不再随包分发
|
|
23
|
-
(`specs/2026-09-18-aliyun-ak-leak-rotate-design.md`)。这里的 supabase 三件套(含 service-role)
|
|
24
|
-
仍在 ship,是同一类风险。把 service-role key 换成受限 role 的收敛方向记在 glossary,
|
|
25
|
-
不在 M1b 范围。
|
|
30
|
+
本机什么都没配:凭据表为空,`persona/mcp-secret-render.ts` 会 warn 缺哪个变量名并渲成空串,MCP server
|
|
31
|
+
起不来时在会话里响亮报错;deploy-kit 的 `publish.sh` 对缺失占位符 fail-loud。**不会静默用错实例。**
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
开发者在 repo checkout 里跑 `tsx src/index.ts` 想图省事,也可以把真值放在本目录的 `<name>.env`——它是
|
|
34
|
+
gitignored 的,且 `pnpm build` 不会把它带进 dist。
|
|
35
|
+
|
|
36
|
+
## 为什么单独一个目录,而不是写在 persona bundle 里
|
|
37
|
+
|
|
38
|
+
原先 supabase 的 url / anon / service-role 是**明文 CLI 参数**硬写在
|
|
39
|
+
`persona-app-builder/.mcp.json` 里的。那个文件在 persona 目录下,agent 一个 `Read` 就看得见
|
|
40
|
+
——等于每次会话都把 key 摊给模型。挪到凭据表之后:
|
|
28
41
|
|
|
29
|
-
|
|
30
|
-
|
|
42
|
+
- persona 目录(agent 的 cwd 及其上级)里没有任何凭据值,只有 `${VAR}` 占位;
|
|
43
|
+
- 「消费方要哪些变量名」在**目录层面就是可数的**——就是这里的 `*.example`。
|
|
31
44
|
|
|
32
|
-
|
|
45
|
+
**不放 JWT 签发密钥**(`SUPABASE_AUTH_JWT_SECRET`):它能自签任意 role / 任意 user 的 token(含
|
|
46
|
+
`service_role`),交出去等于连「日后轮换 anon/service key」这个能力一起交出去;MCP server 里它唯一的用处是
|
|
47
|
+
`verify_jwt_secret` 自检。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# supabase 凭据(app-builder 系 persona 的 supabase MCP + deploy-kit 发布脚本用)。
|
|
2
|
+
#
|
|
3
|
+
# clawd 不随包 ship 任何一把 supabase key:把自己实例的值写进 **~/.clawd/secrets/supabase.env**
|
|
4
|
+
# (daemon 的凭据表覆盖目录,不随 OTA 覆盖,见 ../deploy/secret-table.ts)。这个目录里的 *.env
|
|
5
|
+
# 不进 git(clawd/.gitignore)、不进 dist(scripts/copy-defaults.mjs 只平移 *.example 与 README)。
|
|
6
|
+
# 云上不用文件:persona 仓库的 GitHub Secrets(同名四个)→ register.mjs → gateway 起 Pod 时经 env 注入。
|
|
7
|
+
#
|
|
8
|
+
# 四个名字都要给:前三个是 @aliyun-rds/supabase-mcp-server 的 commander option 默认值
|
|
9
|
+
# (process.env.SUPABASE_URL / SUPABASE_ANON_KEY / SUPABASE_SERVICE_ROLE_KEY);SUPABASE_KEY 是
|
|
10
|
+
# deploy-kit(s.yaml environmentVariables / 项目 server/.env)的历史名字,值同 anon。
|
|
11
|
+
#
|
|
12
|
+
# **不放 JWT 签发密钥**(SUPABASE_AUTH_JWT_SECRET):它能自签任意 role 的 token,MCP 里唯一用途是
|
|
13
|
+
# verify_jwt_secret 自检,摘掉零功能损失。
|
|
14
|
+
SUPABASE_URL=http://replace-me:80
|
|
15
|
+
SUPABASE_ANON_KEY=replace-me
|
|
16
|
+
SUPABASE_SERVICE_ROLE_KEY=replace-me
|
|
17
|
+
SUPABASE_KEY=replace-me
|
|
@@ -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 ow=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 hO={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},fO={motionBase:!0,motionUnit:!0},pO={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},hT=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=ow(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=dT(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=ow(l,["theme"]);let d=u;c&&(d=hT(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function fT(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=Ke.useContext(cT),s=`${uO}-${t||""}`,o=n||lT,[a,l,c]=ej(o,[Kc,e],{salt:s,override:r,getComputedToken:hT,formatToken:dT,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:hO,ignore:fO,preserve:pO}});return[o,c,t?l:"",a,i]}const mO=()=>({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"}}),gO=e=>({[`.${e}`]:Object.assign(Object.assign({},mO()),{[`.${e} .${e}-icon`]:{display:"block"}})}),vO=(e,t)=>{const[n,r]=fT();return Tj({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>gO(e))},_O=Object.assign({},cl),{useId:aw}=_O,xO=()=>"",yO=typeof aw>"u"?xO:aw;function bO(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},Fh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:Fh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=yO();return RN(()=>{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!TD(c,d,!0)}))}var wO=["children"],pT=g.createContext({});function SO(e){var t=e.children,n=Iv(e,wO);return g.createElement(pT.Provider,{value:n},t)}var kO=function(e){AN(n,e);var t=DN(n);function n(){return fl(this,n),t.apply(this,arguments)}return pl(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function CO(e){var t=g.useReducer(function(a){return a+1},0),n=et(t,2),r=n[1],i=g.useRef(e),s=Qv(function(){return i.current}),o=Qv(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var us="none",sd="appear",od="enter",ad="leave",lw="none",Br="prepare",wa="start",Sa="active",Ax="end",mT="prepared";function cw(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 EO(e,t){var n={animationend:cw("Animation","AnimationEnd"),transitionend:cw("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var NO=EO(Yi(),typeof window<"u"?window:{}),gT={};if(Yi()){var TO=document.createElement("div");gT=TO.style}var ld={};function vT(e){if(ld[e])return ld[e];var t=NO[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 gT)return ld[e]=t[s],ld[e]}return""}var _T=vT("animationend"),xT=vT("transitionend"),yT=!!(_T&&xT),uw=_T||"animationend",dw=xT||"transitionend";function hw(e,t){if(!e)return null;if(At(e)==="object"){var n=t.replace(/-\w/g,function(r){return r[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}const IO=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(dw,e),i.removeEventListener(uw,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(dw,e),i.addEventListener(uw,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var bT=Yi()?g.useLayoutEffect:g.useEffect;const PO=function(){var e=g.useRef(null);function t(){Nv.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Nv(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 RO=[Br,wa,Sa,Ax],MO=[Br,mT],wT=!1,AO=!0;function ST(e){return e===Sa||e===Ax}const LO=function(e,t,n){var r=Zv(lw),i=et(r,2),s=i[0],o=i[1],a=PO(),l=et(a,2),c=l[0],u=l[1];function d(){o(Br,!0)}var f=t?MO:RO;return bT(function(){if(s!==lw&&s!==Ax){var p=f.indexOf(s),m=f[p+1],v=n(s);v===wT?o(m,!0):m&&c(function(w){function _(){w.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function DO(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,w=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,y=r.onEnterActive,S=r.onLeaveActive,C=r.onAppearEnd,k=r.onEnterEnd,N=r.onLeaveEnd,T=r.onVisibleChanged,z=Zv(),P=et(z,2),B=P[0],M=P[1],R=CO(us),A=et(R,2),D=A[0],$=A[1],F=Zv(null),j=et(F,2),O=j[0],E=j[1],H=D(),q=g.useRef(!1),L=g.useRef(null);function re(){return n()}var ie=g.useRef(!1);function K(){$(us),E(null,!0)}var _e=Qv(function(Xe){var nt=D();if(nt!==us){var zt=re();if(!(Xe&&!Xe.deadline&&Xe.target!==zt)){var _n=ie.current,tn;nt===sd&&_n?tn=C==null?void 0:C(zt,Xe):nt===od&&_n?tn=k==null?void 0:k(zt,Xe):nt===ad&&_n&&(tn=N==null?void 0:N(zt,Xe)),_n&&tn!==!1&&K()}}}),Ee=IO(_e),ue=et(Ee,1),Le=ue[0],Ae=function(nt){switch(nt){case sd:return Ce(Ce(Ce({},Br,f),wa,v),Sa,x);case od:return Ce(Ce(Ce({},Br,p),wa,w),Sa,y);case ad:return Ce(Ce(Ce({},Br,m),wa,_),Sa,S);default:return{}}},Oe=g.useMemo(function(){return Ae(H)},[H]),ve=LO(H,!e,function(Xe){if(Xe===Br){var nt=Oe[Br];return nt?nt(re()):wT}if(st in Oe){var zt;E(((zt=Oe[st])===null||zt===void 0?void 0:zt.call(Oe,re(),null))||null)}return st===Sa&&H!==us&&(Le(re()),u>0&&(clearTimeout(L.current),L.current=setTimeout(function(){_e({deadline:!0})},u))),st===mT&&K(),AO}),tt=et(ve,2),Nt=tt[0],st=tt[1],pt=ST(st);ie.current=pt;var jt=g.useRef(null);bT(function(){if(!(q.current&&jt.current===t)){M(t);var Xe=q.current;q.current=!0;var nt;!Xe&&t&&a&&(nt=sd),Xe&&t&&s&&(nt=od),(Xe&&!t&&c||!Xe&&d&&!t&&c)&&(nt=ad);var zt=Ae(nt);nt&&(e||zt[Br])?($(nt),Nt()):$(us),jt.current=t}},[t]),g.useEffect(function(){(H===sd&&!a||H===od&&!s||H===ad&&!c)&&$(us)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(L.current)}},[]);var mt=g.useRef(!1);g.useEffect(function(){B&&(mt.current=!0),B!==void 0&&H===us&&((mt.current||B)&&(T==null||T(B)),mt.current=!0)},[B,H]);var gt=O;return Oe[Br]&&st===wa&&(gt=He({transition:"none"},gt)),[H,st,gt,B??t]}function jO(e){var t=e;At(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(pT),w=v.motion,_=n(i,w),x=g.useRef(),y=g.useRef();function S(){try{return x.current instanceof HTMLElement?x.current:dD(y.current)}catch{return null}}var C=DO(_,a,S,i),k=et(C,4),N=k[0],T=k[1],z=k[2],P=k[3],B=g.useRef(P);P&&(B.current=!0);var M=g.useCallback(function(j){x.current=j,mD(s,j)},[s]),R,A=He(He({},m),{},{visible:a});if(!d)R=null;else if(N===us)P?R=d(He({},A),M):!c&&B.current&&p?R=d(He(He({},A),{},{className:p}),M):u||!c&&!p?R=d(He(He({},A),{},{style:{display:"none"}}),M):R=null;else{var D;T===Br?D="prepare":ST(T)?D="active":T===wa&&(D="start");var $=hw(f,"".concat(N,"-").concat(D));R=d(He(He({},A),{},{className:JL(hw(f,N),Ce(Ce({},$,$&&D),f,typeof f=="string")),style:z}),M)}if(g.isValidElement(R)&&gD(R)){var F=vD(R);F||(R=g.cloneElement(R,{ref:M}))}return g.createElement(kO,{ref:y},R)});return r.displayName="CSSMotion",r}const OO=jO(yT);var Jv="add",e0="keep",t0="remove",Cm="removed";function BO(e){var t;return e&&At(e)==="object"&&"key"in e?t=e:t={key:e},He(He({},t),{},{key:String(t.key)})}function n0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(BO)}function zO(){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=n0(e),o=n0(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 He(He({},p),{},{status:Jv})})),r=d),n.push(He(He({},f),{},{status:e0})),r+=1,u=!0;break}}u||n.push(He(He({},c),{},{status:t0}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return He(He({},c),{},{status:Jv})})));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!==t0}),n.forEach(function(u){u.key===c&&(u.status=e0)})}),n}var $O=["component","children","onVisibleChanged","onAllRemoved"],FO=["status"],HO=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function UO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:OO,n=function(r){AN(s,r);var i=DN(s);function s(){var o;fl(this,s);for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];return o=i.call.apply(i,[this].concat(l)),Ce(Cv(o),"state",{keyEntities:[]}),Ce(Cv(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:He(He({},p),{},{status:Cm})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==Cm}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return pl(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=Iv(c,$O),m=u||g.Fragment,v={};return HO.forEach(function(w){v[w]=p[w],delete p[w]}),delete p.keys,g.createElement(m,p,l.map(function(w,_){var x=w.status,y=Iv(w,FO),S=x===Jv||x===e0;return g.createElement(t,Bh({},v,{key:y.key,visible:S,eventProps:y,onVisibleChanged:function(k){f==null||f(k,{key:y.key}),k||a.removeKey(y.key)}}),function(C,k){return d(He(He({},C),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=n0(c),f=zO(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var w=v.key;return p.key===w});return!(m&&m.status===Cm&&p.status===t0)})}}}]),s}(g.Component);return Ce(n,"defaultProps",{component:"div"}),n}UO(yT);const fw=g.createContext(!0);function WO(e){const t=g.useContext(fw),{children:n}=e,[,r]=fT(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(fw.Provider,{value:i},g.createElement(SO,{motion:i},n)):n}const VO=()=>null;var qO=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 KO=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let kT;function GO(){return kT||Yv}function YO(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const XO=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(kT=t),r&&YO(r)&&iO(GO(),r)},QO=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:w,parentContext:_,iconPrefixCls:x,theme:y,componentDisabled:S,segmented:C,statistic:k,spin:N,calendar:T,carousel:z,cascader:P,collapse:B,typography:M,checkbox:R,descriptions:A,divider:D,drawer:$,skeleton:F,steps:j,image:O,layout:E,list:H,mentions:q,modal:L,progress:re,result:ie,slider:K,breadcrumb:_e,menu:Ee,pagination:ue,input:Le,textArea:Ae,empty:Oe,badge:ve,radio:tt,rate:Nt,switch:st,transfer:pt,avatar:jt,message:mt,tag:gt,table:Xe,card:nt,tabs:zt,timeline:_n,timePicker:tn,upload:U,notification:Q,tree:xe,colorPicker:Pe,datePicker:Be,rangePicker:xt,flex:xn,wave:$t,dropdown:dn,warning:oe,tour:ye,tooltip:Ze,popover:Tt,popconfirm:Mr,floatButton:ae,floatButtonGroup:Je,variant:hn,inputNumber:Gs,treeSelect:Nl}=e,qo=g.useCallback((yt,Pt)=>{const{prefixCls:fr}=e;if(Pt)return Pt;const Qn=fr||_.getPrefixCls("");return yt?`${Qn}-${yt}`:Qn},[_.getPrefixCls,e.prefixCls]),bi=x||_.iconPrefixCls||uT,Ko=n||_.csp;vO(bi,Ko);const Go=bO(y,_.theme,{prefixCls:qo("")}),Yo={csp:Ko,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||w,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:qo,iconPrefixCls:bi,theme:Go,segmented:C,statistic:k,spin:N,calendar:T,carousel:z,cascader:P,collapse:B,typography:M,checkbox:R,descriptions:A,divider:D,drawer:$,skeleton:F,steps:j,image:O,input:Le,textArea:Ae,layout:E,list:H,mentions:q,modal:L,progress:re,result:ie,slider:K,breadcrumb:_e,menu:Ee,pagination:ue,empty:Oe,badge:ve,radio:tt,rate:Nt,switch:st,transfer:pt,avatar:jt,message:mt,tag:gt,table:Xe,card:nt,tabs:zt,timeline:_n,timePicker:tn,upload:U,notification:Q,tree:xe,colorPicker:Pe,datePicker:Be,rangePicker:xt,flex:xn,wave:$t,dropdown:dn,warning:oe,tour:ye,tooltip:Ze,popover:Tt,popconfirm:Mr,floatButton:ae,floatButtonGroup:Je,variant:hn,inputNumber:Gs,treeSelect:Nl},ns=Object.assign({},_);Object.keys(Yo).forEach(yt=>{Yo[yt]!==void 0&&(ns[yt]=Yo[yt])}),KO.forEach(yt=>{const Pt=e[yt];Pt&&(ns[yt]=Pt)}),typeof r<"u"&&(ns.button=Object.assign({autoInsertSpace:r},ns.button));const wi=RN(()=>ns,ns,(yt,Pt)=>{const fr=Object.keys(yt),Qn=Object.keys(Pt);return fr.length!==Qn.length||fr.some(ee=>yt[ee]!==Pt[ee])}),{layer:Xo}=g.useContext(ep),Hp=g.useMemo(()=>({prefixCls:bi,csp:Ko,layer:Xo?"antd":void 0}),[bi,Ko,Xo]);let It=g.createElement(g.Fragment,null,g.createElement(VO,{dropdownMatchSelectWidth:p}),t);const Ou=g.useMemo(()=>{var yt,Pt,fr,Qn;return jj(((yt=rp.Form)===null||yt===void 0?void 0:yt.defaultValidateMessages)||{},((fr=(Pt=wi.locale)===null||Pt===void 0?void 0:Pt.Form)===null||fr===void 0?void 0:fr.defaultValidateMessages)||{},((Qn=wi.form)===null||Qn===void 0?void 0:Qn.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[wi,o==null?void 0:o.validateMessages]);Object.keys(Ou).length>0&&(It=g.createElement(Bj.Provider,{value:Ou},It)),a&&(It=g.createElement(Fj,{locale:a,_ANT_MARK__:$j},It)),It=g.createElement(Mj.Provider,{value:Hp},It),l&&(It=g.createElement(oO,{size:l},It)),It=g.createElement(WO,null,It);const Up=g.useMemo(()=>{const yt=Go||{},{algorithm:Pt,token:fr,components:Qn,cssVar:ee}=yt,we=qO(yt,["algorithm","token","components","cssVar"]),ke=Pt&&(!Array.isArray(Pt)||Pt.length>0)?Rv(Pt):lT,Qe={};Object.entries(Qn||{}).forEach(([Bu,x4])=>{const Si=Object.assign({},x4);"algorithm"in Si&&(Si.algorithm===!0?Si.theme=ke:(Array.isArray(Si.algorithm)||typeof Si.algorithm=="function")&&(Si.theme=Rv(Si.algorithm)),delete Si.algorithm),Qe[Bu]=Si});const Ar=Object.assign(Object.assign({},Kc),fr);return Object.assign(Object.assign({},we),{theme:ke,token:Ar,components:Qe,override:Object.assign({override:Ar},Qe),cssVar:ee})},[Go]);return y&&(It=g.createElement(cT.Provider,{value:Up},It)),wi.warning&&(It=g.createElement(Oj.Provider,{value:wi.warning},It)),S!==void 0&&(It=g.createElement(sO,{disabled:S},It)),g.createElement(ip.Provider,{value:wi},It)},gl=e=>{const t=g.useContext(ip),n=g.useContext(iT);return g.createElement(QO,Object.assign({parentContext:t,legacyLocale:n},e))};gl.ConfigContext=ip;gl.SizeContext=Gc;gl.config=XO;gl.useConfig=aO;Object.defineProperty(gl,"SizeContext",{get:()=>Gc});const mr=(e,t)=>new kt(e).setA(t).toRgbString(),Jo=(e,t)=>new kt(e).lighten(t).toHexString(),ZO=e=>{const t=Ga(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]}},JO=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:mr(r,.85),colorTextSecondary:mr(r,.65),colorTextTertiary:mr(r,.45),colorTextQuaternary:mr(r,.25),colorFill:mr(r,.18),colorFillSecondary:mr(r,.12),colorFillTertiary:mr(r,.08),colorFillQuaternary:mr(r,.04),colorBgSolid:mr(r,.95),colorBgSolidHover:mr(r,1),colorBgSolidActive:mr(r,.9),colorBgElevated:Jo(n,12),colorBgContainer:Jo(n,8),colorBgLayout:Jo(n,0),colorBgSpotlight:Jo(n,26),colorBgBlur:mr(r,.04),colorBorder:Jo(n,26),colorBorderSecondary:Jo(n,19)}},e6=(e,t)=>{const n=Object.keys(Rx).map(s=>{const o=Ga(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??Mx(e),i=aT(e,{generateColorPalettes:ZO,generateNeutralColorPalettes:JO});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},pw={defaultSeed:Fh.token,defaultAlgorithm:Mx,darkAlgorithm:e6};function mw({children:e}){const t=Sx(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(gl,{theme:{algorithm:n.mode==="dark"?pw.darkAlgorithm:pw.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}var Ge;(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})(Ge||(Ge={}));var gw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(gw||(gw={}));const he=Ge.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ps=e=>{switch(typeof e){case"undefined":return he.undefined;case"string":return he.string;case"number":return Number.isNaN(e)?he.nan:he.number;case"boolean":return he.boolean;case"function":return he.function;case"bigint":return he.bigint;case"symbol":return he.symbol;case"object":return Array.isArray(e)?he.array:e===null?he.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?he.promise:typeof Map<"u"&&e instanceof Map?he.map:typeof Set<"u"&&e instanceof Set?he.set:typeof Date<"u"&&e instanceof Date?he.date:he.object;default:return he.unknown}},Y=Ge.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 Ui 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 Ui))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ge.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()}}Ui.create=e=>new Ui(e);const r0=(e,t)=>{let n;switch(e.code){case Y.invalid_type:e.received===he.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ge.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ge.joinValues(e.keys,", ")}`;break;case Y.invalid_union:n="Invalid input";break;case Y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ge.joinValues(e.options)}`;break;case Y.invalid_enum_value:n=`Invalid enum value. Expected ${Ge.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:n="Invalid function arguments";break;case Y.invalid_return_type:n="Invalid function return type";break;case Y.invalid_date:n="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ge.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case Y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case Y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case Y.custom:n="Invalid input";break;case Y.invalid_intersection_types:n="Intersection results could not be merged";break;case Y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ge.assertNever(e)}return{message:n}};let t6=r0;function n6(){return t6}const r6=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 se(e,t){const n=n6(),r=r6({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===r0?void 0:r0].filter(i=>!!i)});e.common.issues.push(r)}class Ln{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 Te;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 Ln.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 Te;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 Te=Object.freeze({status:"aborted"}),Jl=e=>({status:"dirty",value:e}),Pr=e=>({status:"valid",value:e}),vw=e=>e.status==="aborted",_w=e=>e.status==="dirty",Ya=e=>e.status==="valid",Hh=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class pi{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 xw=(e,t)=>{if(Ya(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 Ui(e.common.issues);return this._error=n,this._error}}};function je(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 Ve{get description(){return this._def.description}_getType(t){return ps(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ps(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ln,ctx:{common:t.parent.common,data:t.data,parsedType:ps(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Hh(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:ps(t)},i=this._parseSync({data:t,path:r.path,parent:r});return xw(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:ps(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return Ya(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=>Ya(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:ps(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Hh(i)?i:Promise.resolve(i));return xw(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:Y.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ko({schema:this,typeName:Ie.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 ji.create(this,this._def)}nullable(){return Co.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return di.create(this)}promise(){return Gh.create(this,this._def)}or(t){return Wh.create([this,t],this._def)}and(t){return Vh.create(this,t,this._def)}transform(t){return new ko({...je(this._def),schema:this,typeName:Ie.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Yh({...je(this._def),innerType:this,defaultValue:n,typeName:Ie.ZodDefault})}brand(){return new TT({typeName:Ie.ZodBranded,type:this,...je(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Xh({...je(this._def),innerType:this,catchValue:n,typeName:Ie.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Dx.create(this,t)}readonly(){return Qh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const i6=/^c[^\s-]{8,}$/i,s6=/^[0-9a-z]+$/,o6=/^[0-9A-HJKMNP-TV-Z]{26}$/i,a6=/^[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,l6=/^[a-z0-9_-]{21}$/i,c6=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,u6=/^[-+]?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)?)??$/,d6=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,h6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Em;const f6=/^(?:(?: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])$/,p6=/^(?:(?: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])$/,m6=/^(([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]))$/,g6=/^(([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])$/,v6=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_6=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,CT="((\\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])))",x6=new RegExp(`^${CT}$`);function ET(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 y6(e){return new RegExp(`^${ET(e)}$`)}function b6(e){let t=`${CT}T${ET(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 w6(e,t){return!!((t==="v4"||!t)&&f6.test(e)||(t==="v6"||!t)&&m6.test(e))}function S6(e,t){if(!c6.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 k6(e,t){return!!((t==="v4"||!t)&&p6.test(e)||(t==="v6"||!t)&&g6.test(e))}class Mi extends Ve{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==he.string){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.string,received:s.parsedType}),Te}const r=new Ln;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?se(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&se(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")d6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"email",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Em||(Em=new RegExp(h6,"u")),Em.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"emoji",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")a6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"uuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")l6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"nanoid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")i6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")s6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cuid2",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")o6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"ulid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),se(i,{validation:"url",code:Y.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"regex",code:Y.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?b6(s).test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?x6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?y6(s).test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?u6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"duration",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?w6(t.data,s.version)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"ip",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?S6(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"jwt",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?k6(t.data,s.version)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cidr",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?v6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"base64",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?_6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"base64url",code:Y.invalid_string,message:s.message}),r.dirty()):Ge.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:Y.invalid_string,...ge.errToObj(r)})}_addCheck(t){return new Mi({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ge.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ge.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ge.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ge.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ge.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ge.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ge.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ge.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ge.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ge.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ge.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ge.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ge.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,...ge.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,...ge.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...ge.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}nonempty(t){return this.min(1,ge.errToObj(t))}trim(){return new Mi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Mi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Mi({...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}}Mi.create=e=>new Mi({checks:[],typeName:Ie.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...je(e)});function C6(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 Xa extends Ve{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)!==he.number){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.number,received:s.parsedType}),Te}let r;const i=new Ln;for(const s of this._def.checks)s.kind==="int"?Ge.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),se(r,{code:Y.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?C6(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_finite,message:s.message}),i.dirty()):Ge.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Xa({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Xa({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.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"&&Ge.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)}}Xa.create=e=>new Xa({checks:[],typeName:Ie.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...je(e)});class Yc extends Ve{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)!==he.bigint)return this._getInvalidInput(t);let r;const i=new Ln;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),se(r,{code:Y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Ge.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return se(n,{code:Y.invalid_type,expected:he.bigint,received:n.parsedType}),Te}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Yc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Yc({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.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}}Yc.create=e=>new Yc({checks:[],typeName:Ie.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...je(e)});class i0 extends Ve{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==he.boolean){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.boolean,received:r.parsedType}),Te}return Pr(t.data)}}i0.create=e=>new i0({typeName:Ie.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...je(e)});class Uh extends Ve{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==he.date){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.date,received:s.parsedType}),Te}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_date}),Te}const r=new Ln;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):Ge.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Uh({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.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}}Uh.create=e=>new Uh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ie.ZodDate,...je(e)});class yw extends Ve{_parse(t){if(this._getType(t)!==he.symbol){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.symbol,received:r.parsedType}),Te}return Pr(t.data)}}yw.create=e=>new yw({typeName:Ie.ZodSymbol,...je(e)});class s0 extends Ve{_parse(t){if(this._getType(t)!==he.undefined){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.undefined,received:r.parsedType}),Te}return Pr(t.data)}}s0.create=e=>new s0({typeName:Ie.ZodUndefined,...je(e)});class o0 extends Ve{_parse(t){if(this._getType(t)!==he.null){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.null,received:r.parsedType}),Te}return Pr(t.data)}}o0.create=e=>new o0({typeName:Ie.ZodNull,...je(e)});class bw extends Ve{constructor(){super(...arguments),this._any=!0}_parse(t){return Pr(t.data)}}bw.create=e=>new bw({typeName:Ie.ZodAny,...je(e)});class a0 extends Ve{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Pr(t.data)}}a0.create=e=>new a0({typeName:Ie.ZodUnknown,...je(e)});class js extends Ve{_parse(t){const n=this._getOrReturnCtx(t);return se(n,{code:Y.invalid_type,expected:he.never,received:n.parsedType}),Te}}js.create=e=>new js({typeName:Ie.ZodNever,...je(e)});class ww extends Ve{_parse(t){if(this._getType(t)!==he.undefined){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.void,received:r.parsedType}),Te}return Pr(t.data)}}ww.create=e=>new ww({typeName:Ie.ZodVoid,...je(e)});class di extends Ve{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==he.array)return se(n,{code:Y.invalid_type,expected:he.array,received:n.parsedType}),Te;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(se(n,{code:o?Y.too_big:Y.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(se(n,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(se(n,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new pi(n,o,n.path,a)))).then(o=>Ln.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new pi(n,o,n.path,a)));return Ln.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new di({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new di({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new di({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}di.create=(e,t)=>new di({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ie.ZodArray,...je(t)});function la(e){if(e instanceof Ut){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=ji.create(la(r))}return new Ut({...e._def,shape:()=>t})}else return e instanceof di?new di({...e._def,type:la(e.element)}):e instanceof ji?ji.create(la(e.unwrap())):e instanceof Co?Co.create(la(e.unwrap())):e instanceof wo?wo.create(e.items.map(t=>la(t))):e}class Ut extends Ve{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=Ge.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==he.object){const c=this._getOrReturnCtx(t);return se(c,{code:Y.invalid_type,expected:he.object,received:c.parsedType}),Te}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof js&&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 pi(i,d,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof js){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&&(se(i,{code:Y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const u of a){const d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new pi(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=>Ln.mergeObjectSync(r,c)):Ln.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Ut({...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:ge.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new Ut({...this._def,unknownKeys:"strip"})}passthrough(){return new Ut({...this._def,unknownKeys:"passthrough"})}extend(t){return new Ut({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Ut({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ie.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Ut({...this._def,catchall:t})}pick(t){const n={};for(const r of Ge.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Ut({...this._def,shape:()=>n})}omit(t){const n={};for(const r of Ge.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Ut({...this._def,shape:()=>n})}deepPartial(){return la(this)}partial(t){const n={};for(const r of Ge.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new Ut({...this._def,shape:()=>n})}required(t){const n={};for(const r of Ge.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof ji;)s=s._def.innerType;n[r]=s}return new Ut({...this._def,shape:()=>n})}keyof(){return NT(Ge.objectKeys(this.shape))}}Ut.create=(e,t)=>new Ut({shape:()=>e,unknownKeys:"strip",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});Ut.strictCreate=(e,t)=>new Ut({shape:()=>e,unknownKeys:"strict",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});Ut.lazycreate=(e,t)=>new Ut({shape:e,unknownKeys:"strip",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});class Wh extends Ve{_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 Ui(a.ctx.common.issues));return se(n,{code:Y.invalid_union,unionErrors:o}),Te}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 Ui(l));return se(n,{code:Y.invalid_union,unionErrors:a}),Te}}get options(){return this._def.options}}Wh.create=(e,t)=>new Wh({options:e,typeName:Ie.ZodUnion,...je(t)});const Ni=e=>e instanceof c0?Ni(e.schema):e instanceof ko?Ni(e.innerType()):e instanceof Kh?[e.value]:e instanceof So?e.options:e instanceof u0?Ge.objectValues(e.enum):e instanceof Yh?Ni(e._def.innerType):e instanceof s0?[void 0]:e instanceof o0?[null]:e instanceof ji?[void 0,...Ni(e.unwrap())]:e instanceof Co?[null,...Ni(e.unwrap())]:e instanceof TT||e instanceof Qh?Ni(e.unwrap()):e instanceof Xh?Ni(e._def.innerType):[];class Lx extends Ve{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==he.object)return se(n,{code:Y.invalid_type,expected:he.object,received:n.parsedType}),Te;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}):(se(n,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Te)}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=Ni(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 Lx({typeName:Ie.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...je(r)})}}function l0(e,t){const n=ps(e),r=ps(t);if(e===t)return{valid:!0,data:e};if(n===he.object&&r===he.object){const i=Ge.objectKeys(t),s=Ge.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=l0(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===he.array&&r===he.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=l0(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===he.date&&r===he.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Vh extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(vw(s)||vw(o))return Te;const a=l0(s.value,o.value);return a.valid?((_w(s)||_w(o))&&n.dirty(),{status:n.value,value:a.data}):(se(r,{code:Y.invalid_intersection_types}),Te)};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}))}}Vh.create=(e,t,n)=>new Vh({left:e,right:t,typeName:Ie.ZodIntersection,...je(n)});class wo extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==he.array)return se(r,{code:Y.invalid_type,expected:he.array,received:r.parsedType}),Te;if(r.data.length<this._def.items.length)return se(r,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Te;!this._def.rest&&r.data.length>this._def.items.length&&(se(r,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new pi(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Ln.mergeArray(n,o)):Ln.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new wo({...this._def,rest:t})}}wo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new wo({items:e,typeName:Ie.ZodTuple,rest:null,...je(t)})};class qh extends Ve{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!==he.object)return se(r,{code:Y.invalid_type,expected:he.object,received:r.parsedType}),Te;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in r.data)i.push({key:s._parse(new pi(r,a,r.path,a)),value:o._parse(new pi(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Ln.mergeObjectAsync(n,i):Ln.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ve?new qh({keyType:t,valueType:n,typeName:Ie.ZodRecord,...je(r)}):new qh({keyType:Mi.create(),valueType:t,typeName:Ie.ZodRecord,...je(n)})}}class Sw extends Ve{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!==he.map)return se(r,{code:Y.invalid_type,expected:he.map,received:r.parsedType}),Te;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],c)=>({key:i._parse(new pi(r,a,r.path,[c,"key"])),value:s._parse(new pi(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 Te;(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 Te;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}Sw.create=(e,t,n)=>new Sw({valueType:t,keyType:e,typeName:Ie.ZodMap,...je(n)});class Xc extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==he.set)return se(r,{code:Y.invalid_type,expected:he.set,received:r.parsedType}),Te;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(se(r,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(se(r,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const c=new Set;for(const u of l){if(u.status==="aborted")return Te;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 pi(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new Xc({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Xc({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Xc.create=(e,t)=>new Xc({valueType:e,minSize:null,maxSize:null,typeName:Ie.ZodSet,...je(t)});class c0 extends Ve{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})}}c0.create=(e,t)=>new c0({getter:e,typeName:Ie.ZodLazy,...je(t)});class Kh extends Ve{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return se(n,{received:n.data,code:Y.invalid_literal,expected:this._def.value}),Te}return{status:"valid",value:t.data}}get value(){return this._def.value}}Kh.create=(e,t)=>new Kh({value:e,typeName:Ie.ZodLiteral,...je(t)});function NT(e,t){return new So({values:e,typeName:Ie.ZodEnum,...je(t)})}class So extends Ve{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return se(n,{expected:Ge.joinValues(r),received:n.parsedType,code:Y.invalid_type}),Te}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 se(n,{received:n.data,code:Y.invalid_enum_value,options:r}),Te}return Pr(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 So.create(t,{...this._def,...n})}exclude(t,n=this._def){return So.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}So.create=NT;class u0 extends Ve{_parse(t){const n=Ge.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==he.string&&r.parsedType!==he.number){const i=Ge.objectValues(n);return se(r,{expected:Ge.joinValues(i),received:r.parsedType,code:Y.invalid_type}),Te}if(this._cache||(this._cache=new Set(Ge.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=Ge.objectValues(n);return se(r,{received:r.data,code:Y.invalid_enum_value,options:i}),Te}return Pr(t.data)}get enum(){return this._def.values}}u0.create=(e,t)=>new u0({values:e,typeName:Ie.ZodNativeEnum,...je(t)});class Gh extends Ve{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==he.promise&&n.common.async===!1)return se(n,{code:Y.invalid_type,expected:he.promise,received:n.parsedType}),Te;const r=n.parsedType===he.promise?n.data:Promise.resolve(n.data);return Pr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Gh.create=(e,t)=>new Gh({type:e,typeName:Ie.ZodPromise,...je(t)});class ko extends Ve{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ie.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=>{se(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 Te;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?Te:l.status==="dirty"||n.value==="dirty"?Jl(l.value):l});{if(n.value==="aborted")return Te;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?Te:a.status==="dirty"||n.value==="dirty"?Jl(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"?Te:(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"?Te:(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(!Ya(o))return Te;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=>Ya(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):Te);Ge.assertNever(i)}}ko.create=(e,t,n)=>new ko({schema:e,typeName:Ie.ZodEffects,effect:t,...je(n)});ko.createWithPreprocess=(e,t,n)=>new ko({schema:t,effect:{type:"preprocess",transform:e},typeName:Ie.ZodEffects,...je(n)});class ji extends Ve{_parse(t){return this._getType(t)===he.undefined?Pr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ji.create=(e,t)=>new ji({innerType:e,typeName:Ie.ZodOptional,...je(t)});class Co extends Ve{_parse(t){return this._getType(t)===he.null?Pr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Co.create=(e,t)=>new Co({innerType:e,typeName:Ie.ZodNullable,...je(t)});class Yh extends Ve{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===he.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Yh.create=(e,t)=>new Yh({innerType:e,typeName:Ie.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...je(t)});class Xh extends Ve{_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 Hh(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ui(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ui(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Xh.create=(e,t)=>new Xh({innerType:e,typeName:Ie.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...je(t)});class kw extends Ve{_parse(t){if(this._getType(t)!==he.nan){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.nan,received:r.parsedType}),Te}return{status:"valid",value:t.data}}}kw.create=e=>new kw({typeName:Ie.ZodNaN,...je(e)});class TT extends Ve{_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 Dx extends Ve{_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"?Te:s.status==="dirty"?(n.dirty(),Jl(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"?Te: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 Dx({in:t,out:n,typeName:Ie.ZodPipeline})}}class Qh extends Ve{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Ya(i)&&(i.value=Object.freeze(i.value)),i);return Hh(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Qh.create=(e,t)=>new Qh({innerType:e,typeName:Ie.ZodReadonly,...je(t)});var Ie;(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"})(Ie||(Ie={}));const b=Mi.create,W=Xa.create,me=i0.create,Oi=a0.create;js.create;const J=di.create,I=Ut.create;Wh.create;const Gn=Lx.create;Vh.create;wo.create;const Rr=qh.create,G=Kh.create,be=So.create;Gh.create;ji.create;Co.create;new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");const E6=["owner"],N6=["agent","owner","user-upload"],IT=I({id:b().min(1),relPath:b().min(1),from:be(N6),label:b().optional(),size:W().int().nonnegative(),mime:b().min(1),addedAt:W().int().nonnegative(),lastEditedAt:W().int().nonnegative().optional(),stale:me().optional()});I({sessionId:b().min(1),relPath:b().min(1),ttlSeconds:W().int().positive().nullable().optional(),view:be(["raw","md-rendered"]).optional()});I({url:b().min(1),expiresAt:W().int().nonnegative().nullable()});I({sessionId:b().min(1),relPath:b().min(1),label:b().optional(),origin:G("agent").optional()});I({entry:IT});I({sessionId:b().min(1),relPath:b().min(1)});I({removed:G(!0)});I({sessionId:b().min(1)});I({entries:J(IT)});I({attachmentId:b().min(1),url:b().min(1),relPath:b().min(1),sizeBytes:W().int().nonnegative(),mimeType:b().min(1)});const T6=Gn("type",[I({type:G("persona"),id:b().min(1)}).strict(),I({type:G("chat"),id:b().min(1)}).strict(),I({type:G("*")}).strict()]),I6=be(["read","send","admin"]),jx=I({resource:T6,actions:J(I6).min(1)}).strict(),P6=I({id:b().min(1),secretHash:b().regex(/^[a-f0-9]{64}$/),displayName:b(),grants:J(jx),issuedAt:W().int().nonnegative(),expiresAt:W().int().positive().optional(),maxUses:W().int().positive().optional(),usedCount:W().int().nonnegative(),peerOwnerId:b().min(1).optional(),firstUsedByPeerAt:W().int().positive().optional(),peerDisplayName:b().optional()}).strict(),R6=P6.omit({secretHash:!0});I({type:G("whoami:ok"),owner:I({id:b(),kind:be(["owner","guest"]),displayName:b(),ownerId:b(),provider:b()}).strict(),capability:R6,grantedPersonas:J(I({id:b().min(1),displayName:b()}).strict())}).strict();I({selfUrl:b().min(1)});I({type:G("contact:handshake:ok"),owner:I({id:b(),ownerId:b(),provider:b(),displayName:b()}),grants:J(jx)});const M6=Gn("status",[I({status:G("authorized"),login:b().min(1),source:be(["git","file"])}).strict(),I({status:G("missing")}).strict(),I({status:G("invalid"),message:b().min(1)}).strict(),I({status:G("pending"),authUrl:b().url()}).strict()]);I({token:b().min(1)}).strict();I({returnTo:b().url().optional()}).strict();const A6=I({name:b().min(1),from:b().optional(),version:b().optional(),min:b().optional()}),L6=I({name:b().min(1),env:J(b().min(1)).min(1)}),D6=I({name:b().min(1)}),Ox=b().regex(/^[a-z0-9-]+$/,"连接器名只能是小写字母、数字和短横线"),PT=["proxy","env"],RT=["mcp","cli"],j6=["bearer","lark-sidecar"],O6=["none","shared","personal"],MT=["oauth","fields"],Bx=b().regex(/^[A-Z][A-Z0-9_]*$/,"要填的变量名只能是大写字母、数字和下划线,且以字母开头"),B6=I({name:Ox,kind:be(PT),runner:be(RT),protocol:be(j6).optional(),id:b().min(1),credentialSource:be(O6).optional(),auth:be(MT).optional(),fields:J(Bx).default([]),http:I({url:b().min(1),headers:Rr(b(),b())}).optional()}),AT={clis:J(A6),secrets:J(L6),assets:J(D6),connectors:J(B6).default([])};I(AT);const LT=I({version:G(1),...AT}).strict(),z6=I({target:b().min(1),reason:b().min(1),file:b().min(1),quote:b().min(1)}),$6=I({version:G(1),manifest:LT}).strict(),F6=["hard","soft"],H6=be(F6),U6=be(["scanning","done","failed"]),W6=I({scanSessionId:b().optional(),status:U6,evidence:J(z6).default([]),notes:J(b()).default([]),scannedAssets:J(b()).default([]),head:b().min(1).optional(),releasedHead:b().min(1).optional(),baseKind:H6.default("hard"),base:b().min(1).optional(),startedAt:W(),finishedAt:W().optional(),error:b().optional()}).strict(),V6=I({url:b().min(1),branch:b().min(1),head:b().min(1),dirty:me(),ahead:W()}).strict(),q6=I({env:b().min(1),setAt:W().optional()}).strict(),K6=["pending","running","done","failed","waiting","skipped"],G6=be(K6),Y6=["build","smoke","deploy"],X6=be(Y6),Q6=I({key:X6,status:G6,url:b().optional(),jobId:W().optional(),startedAt:W().optional(),completedAt:W().optional()}).strict(),Z6=I({runId:W(),headSha:b().min(1),status:be(["queued","running","completed"]),htmlUrl:b().min(1),jobs:J(Q6)}).strict();I({personaId:b().min(1),github:M6.optional(),repo:V6.optional(),file:$6.optional(),scan:W6.optional(),secrets:J(q6).optional(),run:Z6.optional(),fileError:b().optional()}).strict();Gn("outcome",[I({outcome:G("pushed"),sha:b().min(1),actionsUrl:b().min(1)}).strict(),I({outcome:G("scanning")}).strict()]);I({personaId:b().min(1)}).strict();I({personaId:b().min(1),patch:I({manifest:LT.optional()}).strict()}).strict();I({personaId:b().min(1),name:b().min(1),values:Rr(b(),b())}).strict();I({personaId:b().min(1),jobId:W()}).strict();I({personaId:b().min(1),kind:be(["cli","secret","asset","connector"]),item:Rr(b(),Oi()),evidence:I({reason:b().min(1),file:b().min(1),quote:b().min(1)})}).strict();I({personaId:b().min(1),notes:J(b()).default([])}).strict();I({deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({type:G("contact:setRemoteAccess:ok"),deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({type:G("contact:remote-access-updated"),deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({personaId:b().min(1)}).strict();const J6=["connected","missing","reauth"],eB=["link","fill"],tB=I({name:Ox,id:b().min(1),kind:be(PT),runner:be(RT),auth:be(MT),status:be(J6),action:be(eB),authUrl:b().optional(),fields:J(Bx)}).strict();I({connectors:J(tB)}).strict();I({personaId:b().min(1),name:Ox,values:Rr(Bx,b().min(1))}).strict();const nB=I({deviceId:b().min(1),ownerId:b().min(1),provider:b().min(1),displayName:b(),remoteUrl:b().min(1),connectToken:b(),grants:J(jx),addedAt:W().int().nonnegative(),pinnedAt:W().int().nullable().default(null),remoteAccessAllowed:me().default(!1),note:b().default("")}).strict(),DT=nB;I({deviceId:b().min(1)}).strict();I({type:G("contact:remove:ok"),deviceId:b().min(1)}).strict();I({type:G("contact:list:ok"),contacts:J(DT)}).strict();I({type:G("contact:added"),contact:DT}).strict();I({type:G("contact:removed"),deviceId:b().min(1)}).strict();I({deviceId:b().min(1),pinned:me()}).strict();I({deviceId:b().min(1),note:b()}).strict();I({type:G("contact:setNote:ok"),deviceId:b().min(1),note:b()}).strict();I({type:G("contact:pin:ok"),deviceId:b().min(1),pinnedAt:W().int().nullable()}).strict();I({type:G("contact:pinned"),deviceId:b().min(1),pinnedAt:W().int().nullable()}).strict();const rB=I({deviceId:b().min(1),name:b().min(1),url:b().min(1)});I({type:G("device:list:ok"),devices:J(rB)});I({deviceId:b().min(1),url:b().min(1).optional(),name:b().optional()});I({type:G("device:connect:ok"),deviceId:b(),name:b(),url:b()});const jT=I({ownerId:b().min(1),provider:b().min(1),displayName:b().min(1),avatarUrl:b().optional(),unionId:b().optional()});I({type:G("auth:login:start:ok"),authUrl:b().min(1),state:b().min(1)});I({type:G("auth:getIdentity:ok"),identity:jT.nullable(),deviceId:b().min(1)});I({type:G("auth:logout:ok")});const OT=b().nullable();I({type:G("auth:apiKey:get:ok"),apiKey:b().nullable(),createdAt:b().nullable(),gatewayUrl:OT});I({type:G("auth:apiKey:regenerate:ok"),apiKey:b().min(1),createdAt:b().min(1),gatewayUrl:OT});I({type:G("auth:apiKey:revoke:ok"),revoked:me()});I({type:G("auth:login:done"),identity:jT});I({type:G("auth:login:failed"),reason:b()});const zx=Gn("kind",[I({kind:G("success"),text:b(),brief:b().optional(),filePaths:J(b()).optional()}),I({kind:G("failure"),reason:b(),brief:b().optional()})]);I({targetPersona:b().min(1).optional(),dispatchId:b().min(1).optional(),prompt:b(),brief:b().optional(),targetDeviceId:b().min(1).optional(),model:b().min(1).optional(),tool:b().min(1).optional(),sessionLabel:b().min(1).max(60).optional(),meta:Rr(Oi()).optional()}).refine(e=>e.targetPersona!==void 0||e.dispatchId!==void 0,{message:"either targetPersona (new dispatch) or dispatchId (follow-up) is required"}).refine(e=>!(e.dispatchId!==void 0&&e.targetDeviceId!==void 0),{message:"cross-device dispatch cannot be continued (dispatchId + targetDeviceId are mutually exclusive)"}).refine(e=>!(e.tool!==void 0&&e.targetDeviceId!==void 0),{message:"engine override is not supported for cross-device dispatch (tool + targetDeviceId are mutually exclusive)"}).refine(e=>!(e.dispatchId!==void 0&&(e.tool!==void 0||e.model!==void 0)),{message:"a follow-up dispatch cannot change engine or model (dispatchId excludes tool / model); start a new dispatch instead"});I({dispatchId:b().min(1),outcome:zx});const iB=["running","completed","failed"],$x=be(iB),sB=I({dispatchId:b().min(1),sourceSessionId:b().min(1),sourcePersonaId:b().min(1).optional(),targetPersonaId:b().min(1),targetDeviceId:b().min(1).optional(),workerSessionId:b().min(1).optional(),taskText:b(),taskBrief:b().optional(),round:W().int().positive().optional(),status:$x,outcome:zx.optional(),meta:Rr(Oi()).optional(),createdAt:b().min(1),completedAt:b().min(1).optional(),deliveredAt:b().min(1).optional()});I({sourceSessionId:b().min(1).optional(),relatedSessionId:b().min(1).optional()});I({records:J(sB)});I({dispatchId:b().min(1)});I({type:G("personaDispatch:get:ok"),status:$x,outcome:zx.optional()});const oB=/^[a-z0-9][a-z0-9-]*$/;be(["stopped","starting","running","crashed","invalid"]);const aB=new Set(["localhost","127.0.0.1"]);function lB(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&aB.has(t.hostname))}const cd=I({id:b().regex(oB),name:b().min(1),version:b().min(1),apiVersion:G("1"),runtime:I({startCommand:b().min(1)}).passthrough().optional(),entry:I({url:b().url().refine(lB,{message:"INVALID_URL_SCHEME: only https or http://localhost is allowed"})}).strict().optional()}).passthrough().superRefine((e,t)=>{var i;const n=!!e.runtime,r=!!((i=e.entry)!=null&&i.url);n&&r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),cB=Gn("kind",[I({kind:G("local"),port:W().int().min(1).max(65535)}),I({kind:G("hosted"),url:b().url()})]);Gn("state",[I({extId:b(),manifest:cd,state:G("stopped")}),I({extId:b(),manifest:cd,state:G("starting")}),I({extId:b(),manifest:cd,state:G("running"),target:cB}),I({extId:b(),manifest:cd,state:G("crashed")}),I({extId:b(),manifest:Oi().nullable(),state:G("invalid"),invalidReason:b().min(1)})]);I({snapshotHash:b().min(1),version:b().min(1),publishedAt:W()});const uB=Gn("kind",[I({kind:G("p2p-tunnel"),ownerPrincipalId:b().min(1),extId:b().min(1)})]);Gn("kind",[I({kind:G("p2p-tunnel"),ownerPrincipalId:b().min(1),extId:b().min(1),snapshotHash:b().min(1)})]);I({extId:b().min(1),name:b().min(1),version:b().min(1),contentHash:b().min(1),publishedAt:W()});const dB=Gn("kind",[I({kind:G("clean")}),I({kind:G("ready-new-version"),fromVersion:b().min(1),toVersion:b().min(1)}),I({kind:G("error-same-hash"),version:b().min(1)}),I({kind:G("error-version-not-bumped"),localVersion:b().min(1),publishedVersion:b().min(1)}),I({kind:G("error-version-regression"),localVersion:b().min(1),publishedVersion:b().min(1)})]);I({localManifest:I({name:b().min(1),version:b().min(1),contentHash:b().min(1)}),publishState:Gn("kind",[I({kind:G("unpublished")}),I({kind:G("published"),version:b().min(1),contentHash:b().min(1),publishedAt:W()})]),check:dB});I({extId:b().min(1),newVersion:b().min(1).nullish()});I({extId:b().min(1)});I({extId:b().min(1),snapshotHash:b().min(1)});I({channelRef:uB,snapshotHash:b().min(1),zipBase64:b().min(1)});I({id:b().min(1),peerDeviceId:b().min(1),senderDeviceId:b().min(1),text:b().min(1),createdAt:W().int().nonnegative(),readBy:Rr(b().min(1),W().int().positive()).default({}),origin:I({kind:G("persona"),personaId:b().min(1)}).optional()}).strict();I({peerDeviceId:b().min(1).optional(),id:b().min(1),text:b().min(1),createdAt:W().int().nonnegative(),origin:I({kind:G("persona"),personaId:b().min(1)}).optional()}).strict();I({peerDeviceId:b().min(1),sinceCreatedAt:W().int().nonnegative().optional()}).strict();I({peerDeviceId:b().min(1),upToCreatedAt:W().int().nonnegative()}).strict();I({peerDeviceId:b().min(1).optional(),text:b().min(1)});I({peerDeviceId:b().min(1).optional(),command:b().min(1),timeoutMs:W().int().positive().optional()}).strict();I({type:G("peerExec:run:ok"),stdout:b(),stderr:b(),exitCode:W().int().nullable(),timedOut:me(),stdoutTruncated:me(),stderrTruncated:me()}).strict();const BT=Gn("kind",[I({kind:G("at"),at:b().min(1)}),I({kind:G("every"),everyMs:W().int().positive(),anchorMs:W().int().nonnegative().optional()}),I({kind:G("cron"),expr:b().min(1),tz:b().min(1).optional()})]),gu=b().trim().min(1);I({personaId:gu,name:b().min(1),schedule:BT,prompt:b().min(1),targetPersona:b().min(1).optional(),timeoutMs:W().int().positive().optional()});I({personaId:gu,onlyMine:me().optional()});I({personaId:gu,shiftId:b().min(1)});const hB=I({name:b().min(1).optional(),schedule:BT.optional(),prompt:b().min(1).optional(),targetPersona:b().min(1).optional(),timeoutMs:W().int().positive().optional(),enabled:me().optional()});I({personaId:gu,shiftId:b().min(1),patch:hB});I({personaId:gu,shiftId:b().min(1),limit:W().int().positive().optional()});const zT="persona-master",Fx=I({personaId:b().min(1),deviceId:b().min(1).optional()}),$T=I({id:b().min(1),name:b().min(1),memberPersonas:J(Fx),memberContactDeviceIds:J(b().min(1)),createdAt:b().min(1),updatedAt:b().min(1)}),FT=b().trim().min(1);I({name:FT,memberPersonas:J(Fx).default([]),memberContactDeviceIds:J(b().min(1)).default([])});I({channelId:b().min(1),name:FT.optional(),memberPersonas:J(Fx).optional(),memberContactDeviceIds:J(b().min(1)).optional()});I({channelId:b().min(1)});I({channels:J($T)});I({channel:$T});I({ok:G(!0),removedTopics:W().int().min(0)});const Kt=b().trim().min(1),Hx=["master-confirmed","owner-needed"],Ux=["open","resolved"],fB=Hx[0];Hx[1];Ux[0];const pB=Ux[1],mB=be(Hx),gB=be(Ux),vB=I({id:Kt.optional(),resolves:Kt.optional(),type:mB,status:gB,question:Kt,recommendation:Kt}).superRefine((e,t)=>{e.type===fB&&e.status!==pB&&t.addIssue({code:Y.custom,path:["status"],message:"master-confirmed decisions must be resolved"})}),_B=["planning","running","done"],xB=be(_B),HT=I({at:b().min(1),actor:b().min(1),action:b().min(1),target:b().optional(),reason:b().min(1),artifacts:J(Kt).optional(),decision:vB.optional()}),yB=I({rejectCount:W().int().min(0),accepted:me().default(!1),ordinal:W().int().min(1).optional(),overrideCount:W().int().min(0).optional()}),Wx=I({id:b().min(1),channelId:b().min(1),title:b(),masterSessionId:b().min(1),goal:b(),boundaries:b(),acceptanceCriteria:J(b()),activity:J(HT),lineMeta:Rr(yB),nextLineOrdinal:W().int().min(1).optional(),state:xB,createdAt:b().min(1),updatedAt:b().min(1)}),bB=I({lineId:b().min(1),dispatchId:b().min(1),workerSessionId:b().optional(),assignee:b().min(1),focus:b(),status:$x,acceptance:J(b()),rejectCount:W().int().min(0),accepted:me(),ordinal:W().int().min(1).nullable()});I({channelId:b().min(1)});I({topicId:b().min(1).optional(),sessionId:b().min(1).optional()}).refine(e=>e.topicId!==void 0||e.sessionId!==void 0,{message:"either topicId or sessionId is required"});I({channelId:b().min(1),title:Kt.optional()});I({topicId:b().min(1),title:Kt.optional(),goal:Kt,boundaries:b(),acceptanceCriteria:J(Kt).min(1)});I({topicId:b().min(1),action:Kt,target:Kt.optional(),reason:Kt,artifacts:J(Kt).optional(),decision:HT.shape.decision});I({topicId:b().min(1),lineId:Kt,reason:Kt});I({topicId:b().min(1),lineId:Kt,reason:Kt,artifacts:J(Kt).optional(),watcherVerdict:be(["pass","fail"]),overrideReason:Kt.optional()}).refine(e=>e.watcherVerdict!=="fail"||!!e.overrideReason,{message:"watcherVerdict=fail 时必须给 overrideReason(推翻 watcher 的理由)",path:["overrideReason"]});I({topicId:b().min(1),state:be(["done"])});I({topicId:b().min(1),title:Kt});I({topicId:b().min(1)});const wB=Wx.extend({lineCount:W().int().min(0)});I({topics:J(wB)});I({topic:Wx,lines:J(bB)});I({topicId:b().min(1),masterSessionId:b().min(1)});I({rejectCount:W().int().min(1),needsOwnerAttention:me()});I({acceptedLines:W().int().min(1),totalLines:W().int().min(1),allAccepted:me(),overrides:W().int().min(0),needsOwnerAttention:me()});I({topic:Wx});I({ok:G(!0),removedMasterSessionId:b().min(1).nullable(),removedWorkerSessionIds:J(b().min(1))});const SB=["ask","allow","deny"],UT=be(SB),kB=I({id:b().min(1),desc:b().min(1),action:UT});I({rules:J(kB)});I({ruleId:b().min(1)});I({action:UT,desc:b(),source:b().min(1)});const CB=["created","review-requested"],WT=/^[A-Za-z0-9._-]+$/,vl=b().min(1).regex(WT),_l=b().min(1).regex(WT),vu=W().int().positive();I({role:be(CB)});I({owner:vl,repo:_l,number:vu});I({owner:vl,repo:_l,number:vu,expectedHeadSha:b().min(1)});I({owner:vl,repo:_l,number:vu,body:b().min(1)});I({owner:vl,repo:_l,number:vu,ready:me()});I({owner:vl,repo:_l});I({owner:vl,repo:_l,number:vu,reviewers:J(b().min(1)).min(1)});I({personaId:b().min(1)});I({personaId:b().min(1)});const EB=["expired","cancelled","access_denied","lark_protocol_error","cloud_unreachable","internal_error"],NB=be(EB);I({personaId:b().min(1),appId:b().min(1),appSecret:b().min(1),botName:b().min(1).optional()});const TB=I({chatId:b().min(1),chatName:b().optional(),lastActiveAt:W().int().optional()}),IB=I({state:be(["unbound","provisioning","bound","broken"]),appId:b().optional(),botName:b().optional(),brokenReason:b().optional(),qrUrl:b().optional(),errorReason:NB.optional(),groups:J(TB),needsUpgrade:me().optional(),upgradeQrUrl:b().optional()});IB.extend({personaId:b().min(1)});I({});I({onboardingCompletedAt:W()});const sp=["claude","codex","pi"];I({});I({tools:J(I({id:be(sp),available:me(),version:b().optional(),path:b().optional()}))});I({});const PB=I({tool:be(sp),cwd:b(),toolSessionId:b(),label:b().optional(),createdAt:b(),updatedAt:b(),turns:W()});I({candidates:J(PB)});I({});I({registered:me()});I({tool:be(sp)});const Cw=I({usedPercent:W(),windowDurationMins:W().optional(),resetsAt:W().optional()}).strict(),RB=Gn("kind",[I({kind:G("claude"),loggedIn:me(),authMethod:b().optional(),apiProvider:b().optional(),apiKeySource:b().optional(),email:b().optional(),orgName:b().optional(),subscriptionType:b().optional()}).strict(),I({kind:G("codex"),login:Gn("type",[I({type:G("none")}).strict(),I({type:G("apiKey")}).strict(),I({type:G("chatgpt"),email:b(),planType:b()}).strict()]),provider:I({name:b(),baseUrl:b().optional()}).strict(),rateLimits:I({primary:Cw.optional(),secondary:Cw.optional()}).strict().optional()}).strict(),I({kind:G("pi"),providers:J(I({id:b(),modelCount:W(),credential:be(["api_key","oauth"]).optional(),oauthExpiresAt:W().optional()}).strict())}).strict()]);I({tool:be(sp),installed:me(),version:b().optional(),path:b().optional(),account:RB.optional(),error:b().optional(),modelsLoadedAt:W().optional()}).strict();I({apiKey:b().min(1)}).strict();I({ok:G(!0)}).strict();const MB=I({personaId:b(),label:b(),model:b().optional(),effort:b().optional(),public:me(),iconKey:b().optional(),tool:b().optional(),createdAt:W(),updatedAt:W(),cloud:I({gatewayUrl:b().min(1),personaId:b().min(1)}).strict().optional()}).strict(),AB=I({name:b().min(1),description:b().optional()}),LB=I({id:b().min(1)}),VT=I({writableRoots:J(b()).optional(),denyRead:J(b()).optional(),network:me().optional()}).strict(),DB=I({permissions:I({defaultMode:b().optional(),allow:J(b()).optional(),deny:J(b()).optional()}).optional(),sandbox:I({enabled:me().optional(),autoAllowBashIfSandboxed:me().optional(),allowUnsandboxedCommands:me().optional(),excludedCommands:J(b()).optional(),filesystem:I({denyRead:J(b()).optional(),allowRead:J(b()).optional(),denyWrite:J(b()).optional(),allowWrite:J(b()).optional()}).optional(),network:I({allowedDomains:J(b()).optional(),allowLocalBinding:me().optional()}).optional()}).optional()});MB.extend({personality:b().optional(),personalityLocal:b().optional(),personalityManaged:me().optional(),skills:J(AB).optional(),plugins:J(LB).optional(),sandboxSettings:DB.nullable().optional(),codexSandbox:VT.nullable().optional()});I({slug:b().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).max(32),label:b().min(1),personality:b(),model:b().optional(),effort:b().optional(),tool:b().optional(),public:me().optional(),iconKey:b().optional()}).strict();I({personaId:b().min(1)});I({personaId:b().min(1),patch:I({label:b().min(1).optional(),model:b().optional(),effort:b().optional(),tool:b().optional(),personality:b().optional(),personalityLocal:b().optional(),public:me().optional(),iconKey:b().nullable().optional(),codexSandbox:VT.optional()}).strict()}).strict();const qT=["ready","session:info","session:status","session:event","session:deleted","session:rewound","session:cleared","session:queue","permission:request","session:question","session:question:cleared","pong","error","subscribed","unsubscribed","auth:ok","tunnel:ready","tunnel:exited","tunnel:unavailable","session:control","session:pty","contact:added","contact:pinned","contact:removed","contact:remote-access-updated","contact:note-updated","org-mesh:progress","channel:changed","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","larkBot:state"],KT=["idle","running","running-idle","stopped","error","observing"],jB=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools","dispatch-task","dispatch-result"];function op(e){return e==="dispatch-task"||e==="dispatch-result"}const OB=["builtin","global","project","plugin"],BB=["builtin","global","project","policy","plugin"],GT=be(["owner","guest"]);I({id:b().min(1),kind:GT,displayName:b(),feishuUnionId:b().optional()}).strict();const zB=I({did:b().min(1),displayName:b(),feishuUnionId:b().optional(),principal:GT}).strict(),$B=be(KT),FB=I({inputTokens:W().int().nonnegative(),outputTokens:W().int().nonnegative(),cacheReadTokens:W().int().nonnegative().optional(),cacheCreateTokens:W().int().nonnegative().optional()}),YT={gitBranch:b().optional(),resolvedModel:b().optional(),resolvedEffort:b().optional(),contextUsage:FB.optional(),contextWindowSize:W().int().positive().optional(),aiLabel:b().optional()},HB=I(YT),XT=I({value:b(),label:b(),description:b().optional()}),UB=I({id:b().min(1),label:b().min(1),description:b().optional(),contextWindowSize:W().int().positive(),default:me().optional(),efforts:J(XT).optional(),defaultEffort:b().optional(),group:b().optional()}),WB=I({id:b().min(1),label:b().min(1),description:b().optional()}),VB=I({name:b().min(1),type:be(["string","select","toggle"]),label:b().min(1),description:b().optional(),options:J(XT).optional(),default:Oi().optional(),scope:be(["core","tool-specific"])});I({tool:b().min(1),refresh:me().optional()});const qB=I({rewind:me(),subagents:me(),tui:me(),observe:me(),fileSharing:me(),fork:me()});I({tool:b().min(1),toolSessionIdLabel:b().optional(),models:J(UB),permissionModes:J(WB),configSchema:J(VB),features:qB});const KB=I({tool:b().min(1),pattern:b().min(1),createdAt:b().min(1).optional()});I({sessionId:b().min(1),cwd:b().min(1),tool:G("claude").or(b().min(1)).default("claude"),toolSessionId:b().optional(),label:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),...YT,aiLabelGeneratedAt:b().optional(),permissionRules:J(KB).optional(),pinnedAt:W().int().nonnegative().nullable().optional(),archivedAt:W().int().nonnegative().nullable().optional(),pinSortOrder:W().int().nullable().optional(),unreadAt:b().min(1).nullable().optional(),iconKey:b().optional(),forkedFromSessionId:b().min(1).optional(),ephemeral:me().optional(),deployId:b().min(1).optional(),ownerPersonaId:b().min(1).optional(),projectPath:b().min(1).optional(),chatId:b().min(1).optional(),creatorPrincipalId:b().min(1).optional(),creatorDisplayName:b().min(1).optional(),creatorFeishuUnionId:b().min(1).optional(),originOwnerPrincipalId:b().min(1).optional(),originOwnerPersonaId:b().min(1).optional(),dispatchedFromSessionId:b().min(1).optional(),shiftFiredFromSessionId:b().min(1).optional(),larkChatId:b().min(1).optional(),larkChatName:b().min(1).optional(),larkChatType:be(["p2p","group"]).optional(),createdAt:b().min(1),updatedAt:b().min(1)});const $n={seq:W().int().nonnegative().optional(),ts:b().optional(),uuid:b().optional()},GB=be(jB),YB=I({readCount:W().int().nonnegative().optional(),searchCount:W().int().nonnegative().optional(),bashCount:W().int().nonnegative().optional(),editFileCount:W().int().nonnegative().optional(),linesAdded:W().int().nonnegative().optional(),linesRemoved:W().int().nonnegative().optional(),otherToolCount:W().int().nonnegative().optional()}),XB=I({oldStart:W().int().nonnegative(),oldLines:W().int().nonnegative(),newStart:W().int().nonnegative(),newLines:W().int().nonnegative(),lines:J(b())}),QB=I({agentId:b().optional(),agentType:b().optional(),status:b().optional(),prompt:b().optional(),filePath:b().optional(),structuredPatch:J(XB).optional(),stats:I({durationMs:W().int().nonnegative().optional(),tokens:W().int().nonnegative().optional(),toolUseCount:W().int().nonnegative().optional(),toolStats:YB.optional()}).optional()}),ZB=I({path:b(),content:b(),mtimeMs:W().optional()}),JB=I({label:b().min(1),description:b().optional()}),QT=I({question:b().min(1),multiSelect:me(),options:J(JB).min(1)}),ez=["completed","interrupted"];Gn("kind",[I({...$n,kind:G("session_init"),toolSessionId:b().optional()}),I({...$n,kind:G("thinking"),text:b(),partialId:b().optional()}),I({...$n,kind:G("text"),text:b(),partialId:b().optional()}),I({...$n,kind:G("user_text"),text:b(),meta:GB.optional(),taskId:b().optional(),parentToolUseId:b().optional(),sender:zB.optional()}),I({...$n,kind:G("tool_call"),toolUseId:b(),tool:b(),toolKind:b().optional(),input:Oi()}),I({...$n,kind:G("tool_result"),toolUseId:b(),output:Oi().optional(),error:b().optional(),toolResultExtra:QB.optional(),sourceToolAssistantUUID:b().optional(),askQuestionAnswers:Rr(b(),b()).optional()}),I({...$n,kind:G("attachment_memories"),memories:J(ZB)}),I({...$n,kind:G("permission_request"),requestId:b(),tool:b(),input:Oi(),toolUseId:b().optional()}),I({...$n,kind:G("ask_user_question"),toolUseId:b(),questions:J(QT)}),I({...$n,kind:G("turn_end"),durationMs:W().int().nonnegative().optional(),reason:be(ez).optional()}),I({...$n,kind:G("subagent_progress"),toolUseId:b(),agentId:b(),status:be(["started","running","completed","failed"]),description:b().optional(),lastToolName:b().optional(),prompt:b().optional(),stats:I({durationMs:W().int().nonnegative().optional(),tokens:W().int().nonnegative().optional(),toolUseCount:W().int().nonnegative().optional()}).optional()}),I({...$n,kind:G("error"),message:b()}),I({...$n,kind:G("meta_update"),patch:HB}),I({...$n,kind:G("meta-text"),text:b(),metaSource:be(["cc","owner"]).optional()})]);I({cwd:b().min(1).optional(),tool:b().optional(),label:b().optional(),aiLabel:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),iconKey:b().optional(),forkedFromSessionId:b().min(1).optional(),ephemeral:me().optional(),ownerPersonaId:b().min(1).optional(),projectPath:b().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null||e.projectPath!=null,{message:"cwd / ownerPersonaId / projectPath 至少传一个"});I({path:b().min(1),name:b().min(1),createdAt:b().datetime(),pinnedAt:W().optional()});I({path:b().min(1),pinnedAt:W().nullable()});I({path:b().min(1)});I({path:b().min(1).optional(),name:b().min(1).optional()}).refine(e=>e.path!=null||e.name!=null,{message:"path 与 name 至少给一个"});I({cwd:b().min(1),tool:b().min(1),toolSessionId:b().min(1),label:b().optional(),aiLabel:b().optional(),iconKey:b().optional(),createdAt:b().datetime(),updatedAt:b().datetime(),ownerPersonaId:b().min(1).optional()});I({originOnly:me().optional(),ownerPersonaId:b().min(1).optional(),limit:W().int().positive().optional(),offset:W().int().nonnegative().optional()});I({sessionId:b().min(1)});I({sessionId:b().min(1),patch:I({label:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),cwd:b().optional(),iconKey:b().optional(),ephemeral:G(!1).optional()})});I({id:b().min(1),text:b(),queuedAt:W(),senderDisplayName:b().optional()});I({sessionId:b().min(1),text:b(),queueWhileRunning:me().optional()});I({sessionId:b().min(1),id:b().min(1).optional()});I({sessionId:b().min(1),userMessageId:b().min(1),dryRun:me().optional()});I({canRewind:me(),error:b().optional(),filesChanged:J(b()).optional(),insertions:W().int().nonnegative().optional(),deletions:W().int().nonnegative().optional()});I({sessionId:b().min(1),userMessageId:b().min(1)});const tz=I({oldStart:W().int().nonnegative(),oldLines:W().int().nonnegative(),newStart:W().int().nonnegative(),newLines:W().int().nonnegative(),lines:J(b())}),nz=I({filePath:b().min(1),hunks:J(tz),insertions:W().int().nonnegative(),deletions:W().int().nonnegative(),status:be(["modified","added","deleted"]).optional()});I({canRewind:me(),error:b().optional(),files:J(nz),totalInsertions:W().int().nonnegative(),totalDeletions:W().int().nonnegative()});I({userMessageIds:J(b())});I({sessionId:b().min(1),toolSessionId:b().min(1)});I({cwd:b().min(1),toolSessionId:b().min(1),messageUuid:b().min(1),targetCwd:b().min(1).optional()});I({forkedToolSessionId:b().min(1),forkedFilePath:b().min(1)});I({sessionId:b().min(1),toolSessionId:b().min(1),jsonlPath:b().optional()});I({sessionId:b().min(1),afterSeq:W().int().min(-1)});I({sessionId:b().min(1),permissionRequestId:b().min(1),allow:me(),permanent:me().optional(),pattern:b().optional()});I({projectPath:b().min(1)});I({sessionId:b().min(1),limit:W().int().positive().max(5e3).optional(),offset:W().int().nonnegative().optional(),slim:me().optional()});I({cwd:b().min(1),toolSessionId:b().min(1)});I({cwd:b().min(1),toolSessionId:b().min(1),subagentId:b().min(1)});I({cwd:b().min(1).optional(),path:b().optional(),showHidden:me().optional()});I({cwd:b().min(1),path:b().min(1)});I({cwd:b().min(1),tool:b().optional()});I({name:b().min(1),source:be(OB),path:b().optional(),description:b().optional(),plugin:b().optional()});const rz=I({name:b().min(1),source:be(BB),path:b().optional(),description:b().optional(),whenToUse:b().optional(),plugin:b().optional()});I({cwd:b().min(1),tool:b().optional()});I({agents:J(rz)});I({sessionId:b().optional()});I({sessionId:b().min(1).optional()});I({sessionId:b().min(1),pinned:me()});I({sessionId:b().min(1),archived:me()});I({query:b().min(1),sessionIds:J(b().min(1)),limit:W().int().positive().max(50).optional()});const iz=I({sessionId:b().min(1),snippet:b()});I({type:G("session:searchContent"),matches:J(iz)});I({type:G("peerSession:upsert:ok")});I({sessionId:b().min(1)});I({type:G("peerSession:remove:ok")});I({orderedIds:J(b().min(1)).min(1)});I({cwd:b().min(1)});I({isGitRoot:me(),gitRoot:b().nullable()});I({cwd:b().min(1)});I({branch:b().nullable()});I({cwd:b().min(1)});I({branches:J(b()),head:b().nullable()});const sz=I({cwd:b().min(1),updatedAt:b().min(1)});I({dirs:J(sz)});I({type:G("session:question"),sessionId:b().min(1),toolUseId:b().min(1),requestId:b().min(1),questions:J(QT).min(1)});I({type:G("session:question:cleared"),sessionId:b().min(1),toolUseId:b().min(1),answers:Rr(b(),b()).optional()});I({sessionId:b().min(1),toolUseId:b().min(1),answers:Rr(b(),b())});I({ok:G(!0)});I({sessionId:b().min(1),toolUseId:b().min(1)});I({ok:G(!0)});const ZT=I({name:b().min(1),version:b().min(1),instanceId:b().min(1),deviceLabel:b().transform(e=>e.trim().slice(0,64)).optional()});I({type:G("auth"),token:b().min(1),scheme:G("bearer").optional(),clientInfo:ZT.optional()});I({type:G("auth:ok"),version:b().min(1).optional(),protocolVersion:W().int().nonnegative().optional()});const oz=I({clientId:b().min(1),connectedAt:W().int().nonnegative(),self:me(),clientInfo:ZT.optional()});I({type:G("device:connections:ok"),connections:J(oz)});I({type:G("tunnel:ready"),url:b().min(1),subdomain:b().min(1)});I({type:G("tunnel:exited"),code:W().int().nullable(),subdomain:b().nullable(),url:b().nullable()});I({type:G("tunnel:unavailable"),reason:b().min(1),failedAt:b().min(1)});const az=I({sessionId:b().min(1),status:$B,freshSpawn:me(),pendingPermissionRequestIds:J(b().min(1)),pendingQuestionToolUseIds:J(b().min(1))});I({type:G("info"),version:b(),protocolVersion:W(),hostname:b(),os:b(),tools:J(I({id:b(),available:me()})),runningSessions:J(az),tokenRole:be(E6).optional(),isLoopback:me().optional(),httpBaseUrl:b().optional(),httpToken:b().optional(),daemonSource:be(["ota","packaged"]).optional(),globalCliVersion:b().nullable().optional()});I({});I({method:b().min(1).optional()});const lz=["allowed","conditional","denied"],cz=be(lz),uz=I({name:b().min(1),status:cz,description:b().min(1),args:J(I({name:b(),required:me()})).nullable(),argsSchema:Rr(Oi()).optional(),reason:b().optional()});I({type:G("meta:methods"),methods:J(uz)});const Ew=1,dz=["daemon","main","renderer"],hz=be(dz),fz=["debug","info","warn","error"],pz=be(fz);I({ts:W().int(),source:hz,level:pz,msg:b(),ownerPrincipalId:b(),deviceId:b(),appVersion:b(),daemonVersion:b().optional(),os:b(),meta_json:b().optional(),sessionId:b().optional()});I({v:G(1),visitorId:b().min(1),displayName:b(),provider:b(),iat:W(),exp:W()});const mz=I({visitorId:b(),displayName:b(),avatarUrl:b().optional(),provider:b(),firstSeen:W(),lastSeen:W()});I({visitors:J(mz)});const gz=/<system-reminder>此消息来自飞书群成员 (.+?)<\/system-reminder>\s*$/,JT=/<system-reminder>此消息来自 (owner|guest):(.+?)<\/system-reminder>\s*$/,vz="clawd-dispatch-task",_z="clawd-dispatch-result",Nw=120;function xz(e){if(!e)return[];const t=[];for(const n of["task","result"]){const r=n==="task"?vz:_z,i=new RegExp(`<${r}\\b([^>]*)>([\\s\\S]*?)</${r}>`,"gi");for(let s=i.exec(e);s!==null;s=i.exec(e))t.push({at:s.index,block:yz(n,s[1]??"",s[2]??"")})}return t.sort((n,r)=>n.at-r.at).map(n=>n.block)}function yz(e,t,n){var c;const r=Nz(t),i=d0(Ez(Nm(n,"detail")??n)),s=(c=Nm(n,"brief"))==null?void 0:c.trim(),o=s&&s.length>0?d0(s):bz(i),a=r.round!==void 0?Number.parseInt(r.round,10):void 0,l=r.status;return{kind:e,dispatchId:r["dispatch-id"]??"",...r.from?{from:r.from}:{},...e==="task"&&a!==void 0&&Number.isFinite(a)?{round:a}:{},...e==="result"&&(l==="success"||l==="failure")?{status:l}:{},brief:o,briefIsDerived:!(s&&s.length>0),detail:i,filePaths:Cz(Nm(n,"files"))}}function bz(e){const t=e.split(/\n\s*\n/).map(r=>r.trim()).find(r=>r.length>0);if(!t)return"";const n=t.replace(/\s+/g," ");return n.length>Nw?`${n.slice(0,Nw)}…`:n}const wz="clawd-dispatch-task|clawd-dispatch-result|brief|detail|files",Sz=new RegExp(`<\\\\(\\\\*)(/?)(${wz})\\b`,"g");function kz(e){return d0(e)}function d0(e){return e.replace(Sz,"<$1$2$3")}function Nm(e,t){const n=new RegExp(`<${t}>([\\s\\S]*?)</${t}>`,"i").exec(e);return n?n[1]??"":null}function Cz(e){return e?e.split(`
|
|
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 ow=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 hO={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},fO={motionBase:!0,motionUnit:!0},pO={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},hT=(e,t,n)=>{const r=n.getDerivativeToken(e),{override:i}=t,s=ow(t,["override"]);let o=Object.assign(Object.assign({},r),{override:i});return o=dT(o),s&&Object.entries(s).forEach(([a,l])=>{const{theme:c}=l,u=ow(l,["theme"]);let d=u;c&&(d=hT(Object.assign(Object.assign({},o),u),{override:u},c)),o[a]=d}),o};function fT(){const{token:e,hashed:t,theme:n,override:r,cssVar:i}=Ke.useContext(cT),s=`${uO}-${t||""}`,o=n||lT,[a,l,c]=ej(o,[Kc,e],{salt:s,override:r,getComputedToken:hT,formatToken:dT,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:hO,ignore:fO,preserve:pO}});return[o,c,t?l:"",a,i]}const mO=()=>({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"}}),gO=e=>({[`.${e}`]:Object.assign(Object.assign({},mO()),{[`.${e} .${e}-icon`]:{display:"block"}})}),vO=(e,t)=>{const[n,r]=fT();return Tj({token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>gO(e))},_O=Object.assign({},cl),{useId:aw}=_O,xO=()=>"",yO=typeof aw>"u"?xO:aw;function bO(e,t,n){var r;const i=e||{},s=i.inherit===!1||!t?Object.assign(Object.assign({},Fh),{hashed:(r=t==null?void 0:t.hashed)!==null&&r!==void 0?r:Fh.hashed,cssVar:t==null?void 0:t.cssVar}):t,o=yO();return RN(()=>{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!TD(c,d,!0)}))}var wO=["children"],pT=g.createContext({});function SO(e){var t=e.children,n=Iv(e,wO);return g.createElement(pT.Provider,{value:n},t)}var kO=function(e){AN(n,e);var t=DN(n);function n(){return fl(this,n),t.apply(this,arguments)}return pl(n,[{key:"render",value:function(){return this.props.children}}]),n}(g.Component);function CO(e){var t=g.useReducer(function(a){return a+1},0),n=et(t,2),r=n[1],i=g.useRef(e),s=Qv(function(){return i.current}),o=Qv(function(a){i.current=typeof a=="function"?a(i.current):a,r()});return[s,o]}var us="none",sd="appear",od="enter",ad="leave",lw="none",Br="prepare",wa="start",Sa="active",Ax="end",mT="prepared";function cw(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 EO(e,t){var n={animationend:cw("Animation","AnimationEnd"),transitionend:cw("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var NO=EO(Yi(),typeof window<"u"?window:{}),gT={};if(Yi()){var TO=document.createElement("div");gT=TO.style}var ld={};function vT(e){if(ld[e])return ld[e];var t=NO[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 gT)return ld[e]=t[s],ld[e]}return""}var _T=vT("animationend"),xT=vT("transitionend"),yT=!!(_T&&xT),uw=_T||"animationend",dw=xT||"transitionend";function hw(e,t){if(!e)return null;if(At(e)==="object"){var n=t.replace(/-\w/g,function(r){return r[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}const IO=function(e){var t=g.useRef();function n(i){i&&(i.removeEventListener(dw,e),i.removeEventListener(uw,e))}function r(i){t.current&&t.current!==i&&n(t.current),i&&i!==t.current&&(i.addEventListener(dw,e),i.addEventListener(uw,e),t.current=i)}return g.useEffect(function(){return function(){n(t.current)}},[]),[r,n]};var bT=Yi()?g.useLayoutEffect:g.useEffect;const PO=function(){var e=g.useRef(null);function t(){Nv.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var s=Nv(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 RO=[Br,wa,Sa,Ax],MO=[Br,mT],wT=!1,AO=!0;function ST(e){return e===Sa||e===Ax}const LO=function(e,t,n){var r=Zv(lw),i=et(r,2),s=i[0],o=i[1],a=PO(),l=et(a,2),c=l[0],u=l[1];function d(){o(Br,!0)}var f=t?MO:RO;return bT(function(){if(s!==lw&&s!==Ax){var p=f.indexOf(s),m=f[p+1],v=n(s);v===wT?o(m,!0):m&&c(function(w){function _(){w.isCanceled()||o(m,!0)}v===!0?_():Promise.resolve(v).then(_)})}},[e,s]),g.useEffect(function(){return function(){u()}},[]),[d,s]};function DO(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,w=r.onEnterStart,_=r.onLeaveStart,x=r.onAppearActive,y=r.onEnterActive,S=r.onLeaveActive,C=r.onAppearEnd,k=r.onEnterEnd,N=r.onLeaveEnd,T=r.onVisibleChanged,z=Zv(),P=et(z,2),B=P[0],M=P[1],R=CO(us),A=et(R,2),D=A[0],$=A[1],F=Zv(null),j=et(F,2),O=j[0],E=j[1],H=D(),q=g.useRef(!1),L=g.useRef(null);function re(){return n()}var ie=g.useRef(!1);function K(){$(us),E(null,!0)}var _e=Qv(function(Xe){var nt=D();if(nt!==us){var zt=re();if(!(Xe&&!Xe.deadline&&Xe.target!==zt)){var _n=ie.current,tn;nt===sd&&_n?tn=C==null?void 0:C(zt,Xe):nt===od&&_n?tn=k==null?void 0:k(zt,Xe):nt===ad&&_n&&(tn=N==null?void 0:N(zt,Xe)),_n&&tn!==!1&&K()}}}),Ee=IO(_e),ue=et(Ee,1),Le=ue[0],Ae=function(nt){switch(nt){case sd:return Ce(Ce(Ce({},Br,f),wa,v),Sa,x);case od:return Ce(Ce(Ce({},Br,p),wa,w),Sa,y);case ad:return Ce(Ce(Ce({},Br,m),wa,_),Sa,S);default:return{}}},Oe=g.useMemo(function(){return Ae(H)},[H]),ve=LO(H,!e,function(Xe){if(Xe===Br){var nt=Oe[Br];return nt?nt(re()):wT}if(st in Oe){var zt;E(((zt=Oe[st])===null||zt===void 0?void 0:zt.call(Oe,re(),null))||null)}return st===Sa&&H!==us&&(Le(re()),u>0&&(clearTimeout(L.current),L.current=setTimeout(function(){_e({deadline:!0})},u))),st===mT&&K(),AO}),tt=et(ve,2),Nt=tt[0],st=tt[1],pt=ST(st);ie.current=pt;var jt=g.useRef(null);bT(function(){if(!(q.current&&jt.current===t)){M(t);var Xe=q.current;q.current=!0;var nt;!Xe&&t&&a&&(nt=sd),Xe&&t&&s&&(nt=od),(Xe&&!t&&c||!Xe&&d&&!t&&c)&&(nt=ad);var zt=Ae(nt);nt&&(e||zt[Br])?($(nt),Nt()):$(us),jt.current=t}},[t]),g.useEffect(function(){(H===sd&&!a||H===od&&!s||H===ad&&!c)&&$(us)},[a,s,c]),g.useEffect(function(){return function(){q.current=!1,clearTimeout(L.current)}},[]);var mt=g.useRef(!1);g.useEffect(function(){B&&(mt.current=!0),B!==void 0&&H===us&&((mt.current||B)&&(T==null||T(B)),mt.current=!0)},[B,H]);var gt=O;return Oe[Br]&&st===wa&&(gt=He({transition:"none"},gt)),[H,st,gt,B??t]}function jO(e){var t=e;At(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(pT),w=v.motion,_=n(i,w),x=g.useRef(),y=g.useRef();function S(){try{return x.current instanceof HTMLElement?x.current:dD(y.current)}catch{return null}}var C=DO(_,a,S,i),k=et(C,4),N=k[0],T=k[1],z=k[2],P=k[3],B=g.useRef(P);P&&(B.current=!0);var M=g.useCallback(function(j){x.current=j,mD(s,j)},[s]),R,A=He(He({},m),{},{visible:a});if(!d)R=null;else if(N===us)P?R=d(He({},A),M):!c&&B.current&&p?R=d(He(He({},A),{},{className:p}),M):u||!c&&!p?R=d(He(He({},A),{},{style:{display:"none"}}),M):R=null;else{var D;T===Br?D="prepare":ST(T)?D="active":T===wa&&(D="start");var $=hw(f,"".concat(N,"-").concat(D));R=d(He(He({},A),{},{className:JL(hw(f,N),Ce(Ce({},$,$&&D),f,typeof f=="string")),style:z}),M)}if(g.isValidElement(R)&&gD(R)){var F=vD(R);F||(R=g.cloneElement(R,{ref:M}))}return g.createElement(kO,{ref:y},R)});return r.displayName="CSSMotion",r}const OO=jO(yT);var Jv="add",e0="keep",t0="remove",Cm="removed";function BO(e){var t;return e&&At(e)==="object"&&"key"in e?t=e:t={key:e},He(He({},t),{},{key:String(t.key)})}function n0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(BO)}function zO(){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=n0(e),o=n0(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 He(He({},p),{},{status:Jv})})),r=d),n.push(He(He({},f),{},{status:e0})),r+=1,u=!0;break}}u||n.push(He(He({},c),{},{status:t0}))}),r<i&&(n=n.concat(o.slice(r).map(function(c){return He(He({},c),{},{status:Jv})})));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!==t0}),n.forEach(function(u){u.key===c&&(u.status=e0)})}),n}var $O=["component","children","onVisibleChanged","onAllRemoved"],FO=["status"],HO=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function UO(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:OO,n=function(r){AN(s,r);var i=DN(s);function s(){var o;fl(this,s);for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];return o=i.call.apply(i,[this].concat(l)),Ce(Cv(o),"state",{keyEntities:[]}),Ce(Cv(o),"removeKey",function(u){o.setState(function(d){var f=d.keyEntities.map(function(p){return p.key!==u?p:He(He({},p),{},{status:Cm})});return{keyEntities:f}},function(){var d=o.state.keyEntities,f=d.filter(function(p){var m=p.status;return m!==Cm}).length;f===0&&o.props.onAllRemoved&&o.props.onAllRemoved()})}),o}return pl(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=Iv(c,$O),m=u||g.Fragment,v={};return HO.forEach(function(w){v[w]=p[w],delete p[w]}),delete p.keys,g.createElement(m,p,l.map(function(w,_){var x=w.status,y=Iv(w,FO),S=x===Jv||x===e0;return g.createElement(t,Bh({},v,{key:y.key,visible:S,eventProps:y,onVisibleChanged:function(k){f==null||f(k,{key:y.key}),k||a.removeKey(y.key)}}),function(C,k){return d(He(He({},C),{},{index:_}),k)})}))}}],[{key:"getDerivedStateFromProps",value:function(a,l){var c=a.keys,u=l.keyEntities,d=n0(c),f=zO(u,d);return{keyEntities:f.filter(function(p){var m=u.find(function(v){var w=v.key;return p.key===w});return!(m&&m.status===Cm&&p.status===t0)})}}}]),s}(g.Component);return Ce(n,"defaultProps",{component:"div"}),n}UO(yT);const fw=g.createContext(!0);function WO(e){const t=g.useContext(fw),{children:n}=e,[,r]=fT(),{motion:i}=r,s=g.useRef(!1);return s.current||(s.current=t!==i),s.current?g.createElement(fw.Provider,{value:i},g.createElement(SO,{motion:i},n)):n}const VO=()=>null;var qO=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 KO=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let kT;function GO(){return kT||Yv}function YO(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const XO=e=>{const{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(kT=t),r&&YO(r)&&iO(GO(),r)},QO=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:w,parentContext:_,iconPrefixCls:x,theme:y,componentDisabled:S,segmented:C,statistic:k,spin:N,calendar:T,carousel:z,cascader:P,collapse:B,typography:M,checkbox:R,descriptions:A,divider:D,drawer:$,skeleton:F,steps:j,image:O,layout:E,list:H,mentions:q,modal:L,progress:re,result:ie,slider:K,breadcrumb:_e,menu:Ee,pagination:ue,input:Le,textArea:Ae,empty:Oe,badge:ve,radio:tt,rate:Nt,switch:st,transfer:pt,avatar:jt,message:mt,tag:gt,table:Xe,card:nt,tabs:zt,timeline:_n,timePicker:tn,upload:U,notification:Q,tree:xe,colorPicker:Pe,datePicker:Be,rangePicker:xt,flex:xn,wave:$t,dropdown:dn,warning:oe,tour:ye,tooltip:Ze,popover:Tt,popconfirm:Mr,floatButton:ae,floatButtonGroup:Je,variant:hn,inputNumber:Gs,treeSelect:Nl}=e,qo=g.useCallback((yt,Pt)=>{const{prefixCls:fr}=e;if(Pt)return Pt;const Qn=fr||_.getPrefixCls("");return yt?`${Qn}-${yt}`:Qn},[_.getPrefixCls,e.prefixCls]),bi=x||_.iconPrefixCls||uT,Ko=n||_.csp;vO(bi,Ko);const Go=bO(y,_.theme,{prefixCls:qo("")}),Yo={csp:Ko,autoInsertSpaceInButton:r,alert:i,anchor:s,locale:a||w,direction:c,space:u,splitter:d,virtual:f,popupMatchSelectWidth:m??p,popupOverflow:v,getPrefixCls:qo,iconPrefixCls:bi,theme:Go,segmented:C,statistic:k,spin:N,calendar:T,carousel:z,cascader:P,collapse:B,typography:M,checkbox:R,descriptions:A,divider:D,drawer:$,skeleton:F,steps:j,image:O,input:Le,textArea:Ae,layout:E,list:H,mentions:q,modal:L,progress:re,result:ie,slider:K,breadcrumb:_e,menu:Ee,pagination:ue,empty:Oe,badge:ve,radio:tt,rate:Nt,switch:st,transfer:pt,avatar:jt,message:mt,tag:gt,table:Xe,card:nt,tabs:zt,timeline:_n,timePicker:tn,upload:U,notification:Q,tree:xe,colorPicker:Pe,datePicker:Be,rangePicker:xt,flex:xn,wave:$t,dropdown:dn,warning:oe,tour:ye,tooltip:Ze,popover:Tt,popconfirm:Mr,floatButton:ae,floatButtonGroup:Je,variant:hn,inputNumber:Gs,treeSelect:Nl},ns=Object.assign({},_);Object.keys(Yo).forEach(yt=>{Yo[yt]!==void 0&&(ns[yt]=Yo[yt])}),KO.forEach(yt=>{const Pt=e[yt];Pt&&(ns[yt]=Pt)}),typeof r<"u"&&(ns.button=Object.assign({autoInsertSpace:r},ns.button));const wi=RN(()=>ns,ns,(yt,Pt)=>{const fr=Object.keys(yt),Qn=Object.keys(Pt);return fr.length!==Qn.length||fr.some(ee=>yt[ee]!==Pt[ee])}),{layer:Xo}=g.useContext(ep),Hp=g.useMemo(()=>({prefixCls:bi,csp:Ko,layer:Xo?"antd":void 0}),[bi,Ko,Xo]);let It=g.createElement(g.Fragment,null,g.createElement(VO,{dropdownMatchSelectWidth:p}),t);const Ou=g.useMemo(()=>{var yt,Pt,fr,Qn;return jj(((yt=rp.Form)===null||yt===void 0?void 0:yt.defaultValidateMessages)||{},((fr=(Pt=wi.locale)===null||Pt===void 0?void 0:Pt.Form)===null||fr===void 0?void 0:fr.defaultValidateMessages)||{},((Qn=wi.form)===null||Qn===void 0?void 0:Qn.validateMessages)||{},(o==null?void 0:o.validateMessages)||{})},[wi,o==null?void 0:o.validateMessages]);Object.keys(Ou).length>0&&(It=g.createElement(Bj.Provider,{value:Ou},It)),a&&(It=g.createElement(Fj,{locale:a,_ANT_MARK__:$j},It)),It=g.createElement(Mj.Provider,{value:Hp},It),l&&(It=g.createElement(oO,{size:l},It)),It=g.createElement(WO,null,It);const Up=g.useMemo(()=>{const yt=Go||{},{algorithm:Pt,token:fr,components:Qn,cssVar:ee}=yt,we=qO(yt,["algorithm","token","components","cssVar"]),ke=Pt&&(!Array.isArray(Pt)||Pt.length>0)?Rv(Pt):lT,Qe={};Object.entries(Qn||{}).forEach(([Bu,x4])=>{const Si=Object.assign({},x4);"algorithm"in Si&&(Si.algorithm===!0?Si.theme=ke:(Array.isArray(Si.algorithm)||typeof Si.algorithm=="function")&&(Si.theme=Rv(Si.algorithm)),delete Si.algorithm),Qe[Bu]=Si});const Ar=Object.assign(Object.assign({},Kc),fr);return Object.assign(Object.assign({},we),{theme:ke,token:Ar,components:Qe,override:Object.assign({override:Ar},Qe),cssVar:ee})},[Go]);return y&&(It=g.createElement(cT.Provider,{value:Up},It)),wi.warning&&(It=g.createElement(Oj.Provider,{value:wi.warning},It)),S!==void 0&&(It=g.createElement(sO,{disabled:S},It)),g.createElement(ip.Provider,{value:wi},It)},gl=e=>{const t=g.useContext(ip),n=g.useContext(iT);return g.createElement(QO,Object.assign({parentContext:t,legacyLocale:n},e))};gl.ConfigContext=ip;gl.SizeContext=Gc;gl.config=XO;gl.useConfig=aO;Object.defineProperty(gl,"SizeContext",{get:()=>Gc});const mr=(e,t)=>new kt(e).setA(t).toRgbString(),Jo=(e,t)=>new kt(e).lighten(t).toHexString(),ZO=e=>{const t=Ga(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]}},JO=(e,t)=>{const n=e||"#000",r=t||"#fff";return{colorBgBase:n,colorTextBase:r,colorText:mr(r,.85),colorTextSecondary:mr(r,.65),colorTextTertiary:mr(r,.45),colorTextQuaternary:mr(r,.25),colorFill:mr(r,.18),colorFillSecondary:mr(r,.12),colorFillTertiary:mr(r,.08),colorFillQuaternary:mr(r,.04),colorBgSolid:mr(r,.95),colorBgSolidHover:mr(r,1),colorBgSolidActive:mr(r,.9),colorBgElevated:Jo(n,12),colorBgContainer:Jo(n,8),colorBgLayout:Jo(n,0),colorBgSpotlight:Jo(n,26),colorBgBlur:mr(r,.04),colorBorder:Jo(n,26),colorBorderSecondary:Jo(n,19)}},e6=(e,t)=>{const n=Object.keys(Rx).map(s=>{const o=Ga(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??Mx(e),i=aT(e,{generateColorPalettes:ZO,generateNeutralColorPalettes:JO});return Object.assign(Object.assign(Object.assign(Object.assign({},r),n),i),{colorPrimaryBg:i.colorPrimaryBorder,colorPrimaryBgHover:i.colorPrimaryBorderHover})},pw={defaultSeed:Fh.token,defaultAlgorithm:Mx,darkAlgorithm:e6};function mw({children:e}){const t=Sx(),[n,r]=g.useState(t.theme);return g.useEffect(()=>t.onThemeChange(r),[t]),h.jsx(gl,{theme:{algorithm:n.mode==="dark"?pw.darkAlgorithm:pw.defaultAlgorithm,token:{colorPrimary:n.colorPrimary,colorBgContainer:n.colorBgContainer,colorText:n.colorText,colorBorder:n.colorBorder}},children:e})}var Ge;(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})(Ge||(Ge={}));var gw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(gw||(gw={}));const he=Ge.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ps=e=>{switch(typeof e){case"undefined":return he.undefined;case"string":return he.string;case"number":return Number.isNaN(e)?he.nan:he.number;case"boolean":return he.boolean;case"function":return he.function;case"bigint":return he.bigint;case"symbol":return he.symbol;case"object":return Array.isArray(e)?he.array:e===null?he.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?he.promise:typeof Map<"u"&&e instanceof Map?he.map:typeof Set<"u"&&e instanceof Set?he.set:typeof Date<"u"&&e instanceof Date?he.date:he.object;default:return he.unknown}},Y=Ge.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 Ui 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 Ui))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ge.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()}}Ui.create=e=>new Ui(e);const r0=(e,t)=>{let n;switch(e.code){case Y.invalid_type:e.received===he.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case Y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ge.jsonStringifyReplacer)}`;break;case Y.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ge.joinValues(e.keys,", ")}`;break;case Y.invalid_union:n="Invalid input";break;case Y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ge.joinValues(e.options)}`;break;case Y.invalid_enum_value:n=`Invalid enum value. Expected ${Ge.joinValues(e.options)}, received '${e.received}'`;break;case Y.invalid_arguments:n="Invalid function arguments";break;case Y.invalid_return_type:n="Invalid function return type";break;case Y.invalid_date:n="Invalid date";break;case Y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ge.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case Y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case Y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case Y.custom:n="Invalid input";break;case Y.invalid_intersection_types:n="Intersection results could not be merged";break;case Y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Y.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ge.assertNever(e)}return{message:n}};let t6=r0;function n6(){return t6}const r6=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 se(e,t){const n=n6(),r=r6({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===r0?void 0:r0].filter(i=>!!i)});e.common.issues.push(r)}class Ln{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 Te;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 Ln.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 Te;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 Te=Object.freeze({status:"aborted"}),Jl=e=>({status:"dirty",value:e}),Pr=e=>({status:"valid",value:e}),vw=e=>e.status==="aborted",_w=e=>e.status==="dirty",Ya=e=>e.status==="valid",Hh=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class pi{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 xw=(e,t)=>{if(Ya(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 Ui(e.common.issues);return this._error=n,this._error}}};function je(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 Ve{get description(){return this._def.description}_getType(t){return ps(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ps(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ln,ctx:{common:t.parent.common,data:t.data,parsedType:ps(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Hh(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:ps(t)},i=this._parseSync({data:t,path:r.path,parent:r});return xw(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:ps(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return Ya(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=>Ya(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:ps(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Hh(i)?i:Promise.resolve(i));return xw(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:Y.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ko({schema:this,typeName:Ie.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 ji.create(this,this._def)}nullable(){return Co.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return di.create(this)}promise(){return Gh.create(this,this._def)}or(t){return Wh.create([this,t],this._def)}and(t){return Vh.create(this,t,this._def)}transform(t){return new ko({...je(this._def),schema:this,typeName:Ie.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Yh({...je(this._def),innerType:this,defaultValue:n,typeName:Ie.ZodDefault})}brand(){return new TT({typeName:Ie.ZodBranded,type:this,...je(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Xh({...je(this._def),innerType:this,catchValue:n,typeName:Ie.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Dx.create(this,t)}readonly(){return Qh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const i6=/^c[^\s-]{8,}$/i,s6=/^[0-9a-z]+$/,o6=/^[0-9A-HJKMNP-TV-Z]{26}$/i,a6=/^[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,l6=/^[a-z0-9_-]{21}$/i,c6=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,u6=/^[-+]?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)?)??$/,d6=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,h6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Em;const f6=/^(?:(?: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])$/,p6=/^(?:(?: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])$/,m6=/^(([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]))$/,g6=/^(([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])$/,v6=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_6=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,CT="((\\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])))",x6=new RegExp(`^${CT}$`);function ET(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 y6(e){return new RegExp(`^${ET(e)}$`)}function b6(e){let t=`${CT}T${ET(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 w6(e,t){return!!((t==="v4"||!t)&&f6.test(e)||(t==="v6"||!t)&&m6.test(e))}function S6(e,t){if(!c6.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 k6(e,t){return!!((t==="v4"||!t)&&p6.test(e)||(t==="v6"||!t)&&g6.test(e))}class Mi extends Ve{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==he.string){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.string,received:s.parsedType}),Te}const r=new Ln;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?se(i,{code:Y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&se(i,{code:Y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")d6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"email",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Em||(Em=new RegExp(h6,"u")),Em.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"emoji",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")a6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"uuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")l6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"nanoid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")i6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cuid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")s6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cuid2",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")o6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"ulid",code:Y.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),se(i,{validation:"url",code:Y.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"regex",code:Y.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?b6(s).test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?x6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?y6(s).test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{code:Y.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?u6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"duration",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?w6(t.data,s.version)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"ip",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?S6(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"jwt",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?k6(t.data,s.version)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"cidr",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?v6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"base64",code:Y.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?_6.test(t.data)||(i=this._getOrReturnCtx(t,i),se(i,{validation:"base64url",code:Y.invalid_string,message:s.message}),r.dirty()):Ge.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:Y.invalid_string,...ge.errToObj(r)})}_addCheck(t){return new Mi({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ge.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ge.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ge.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ge.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ge.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ge.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ge.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ge.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ge.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ge.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ge.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ge.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ge.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,...ge.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,...ge.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...ge.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}nonempty(t){return this.min(1,ge.errToObj(t))}trim(){return new Mi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Mi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Mi({...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}}Mi.create=e=>new Mi({checks:[],typeName:Ie.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...je(e)});function C6(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 Xa extends Ve{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)!==he.number){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.number,received:s.parsedType}),Te}let r;const i=new Ln;for(const s of this._def.checks)s.kind==="int"?Ge.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),se(r,{code:Y.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?C6(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_finite,message:s.message}),i.dirty()):Ge.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Xa({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Xa({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.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"&&Ge.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)}}Xa.create=e=>new Xa({checks:[],typeName:Ie.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...je(e)});class Yc extends Ve{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)!==he.bigint)return this._getInvalidInput(t);let r;const i=new Ln;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),se(r,{code:Y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),se(r,{code:Y.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):Ge.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return se(n,{code:Y.invalid_type,expected:he.bigint,received:n.parsedType}),Te}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Yc({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Yc({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.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}}Yc.create=e=>new Yc({checks:[],typeName:Ie.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...je(e)});class i0 extends Ve{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==he.boolean){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.boolean,received:r.parsedType}),Te}return Pr(t.data)}}i0.create=e=>new i0({typeName:Ie.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...je(e)});class Uh extends Ve{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==he.date){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_type,expected:he.date,received:s.parsedType}),Te}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return se(s,{code:Y.invalid_date}),Te}const r=new Ln;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),se(i,{code:Y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):Ge.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Uh({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.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}}Uh.create=e=>new Uh({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ie.ZodDate,...je(e)});class yw extends Ve{_parse(t){if(this._getType(t)!==he.symbol){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.symbol,received:r.parsedType}),Te}return Pr(t.data)}}yw.create=e=>new yw({typeName:Ie.ZodSymbol,...je(e)});class s0 extends Ve{_parse(t){if(this._getType(t)!==he.undefined){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.undefined,received:r.parsedType}),Te}return Pr(t.data)}}s0.create=e=>new s0({typeName:Ie.ZodUndefined,...je(e)});class o0 extends Ve{_parse(t){if(this._getType(t)!==he.null){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.null,received:r.parsedType}),Te}return Pr(t.data)}}o0.create=e=>new o0({typeName:Ie.ZodNull,...je(e)});class bw extends Ve{constructor(){super(...arguments),this._any=!0}_parse(t){return Pr(t.data)}}bw.create=e=>new bw({typeName:Ie.ZodAny,...je(e)});class a0 extends Ve{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Pr(t.data)}}a0.create=e=>new a0({typeName:Ie.ZodUnknown,...je(e)});class js extends Ve{_parse(t){const n=this._getOrReturnCtx(t);return se(n,{code:Y.invalid_type,expected:he.never,received:n.parsedType}),Te}}js.create=e=>new js({typeName:Ie.ZodNever,...je(e)});class ww extends Ve{_parse(t){if(this._getType(t)!==he.undefined){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.void,received:r.parsedType}),Te}return Pr(t.data)}}ww.create=e=>new ww({typeName:Ie.ZodVoid,...je(e)});class di extends Ve{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==he.array)return se(n,{code:Y.invalid_type,expected:he.array,received:n.parsedType}),Te;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&(se(n,{code:o?Y.too_big:Y.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(se(n,{code:Y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(se(n,{code:Y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new pi(n,o,n.path,a)))).then(o=>Ln.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new pi(n,o,n.path,a)));return Ln.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new di({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new di({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new di({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}di.create=(e,t)=>new di({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ie.ZodArray,...je(t)});function la(e){if(e instanceof Ut){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=ji.create(la(r))}return new Ut({...e._def,shape:()=>t})}else return e instanceof di?new di({...e._def,type:la(e.element)}):e instanceof ji?ji.create(la(e.unwrap())):e instanceof Co?Co.create(la(e.unwrap())):e instanceof wo?wo.create(e.items.map(t=>la(t))):e}class Ut extends Ve{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=Ge.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==he.object){const c=this._getOrReturnCtx(t);return se(c,{code:Y.invalid_type,expected:he.object,received:c.parsedType}),Te}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof js&&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 pi(i,d,i.path,c)),alwaysSet:c in i.data})}if(this._def.catchall instanceof js){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&&(se(i,{code:Y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const u of a){const d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new pi(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=>Ln.mergeObjectSync(r,c)):Ln.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Ut({...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:ge.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new Ut({...this._def,unknownKeys:"strip"})}passthrough(){return new Ut({...this._def,unknownKeys:"passthrough"})}extend(t){return new Ut({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Ut({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ie.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Ut({...this._def,catchall:t})}pick(t){const n={};for(const r of Ge.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Ut({...this._def,shape:()=>n})}omit(t){const n={};for(const r of Ge.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Ut({...this._def,shape:()=>n})}deepPartial(){return la(this)}partial(t){const n={};for(const r of Ge.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new Ut({...this._def,shape:()=>n})}required(t){const n={};for(const r of Ge.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof ji;)s=s._def.innerType;n[r]=s}return new Ut({...this._def,shape:()=>n})}keyof(){return NT(Ge.objectKeys(this.shape))}}Ut.create=(e,t)=>new Ut({shape:()=>e,unknownKeys:"strip",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});Ut.strictCreate=(e,t)=>new Ut({shape:()=>e,unknownKeys:"strict",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});Ut.lazycreate=(e,t)=>new Ut({shape:e,unknownKeys:"strip",catchall:js.create(),typeName:Ie.ZodObject,...je(t)});class Wh extends Ve{_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 Ui(a.ctx.common.issues));return se(n,{code:Y.invalid_union,unionErrors:o}),Te}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 Ui(l));return se(n,{code:Y.invalid_union,unionErrors:a}),Te}}get options(){return this._def.options}}Wh.create=(e,t)=>new Wh({options:e,typeName:Ie.ZodUnion,...je(t)});const Ni=e=>e instanceof c0?Ni(e.schema):e instanceof ko?Ni(e.innerType()):e instanceof Kh?[e.value]:e instanceof So?e.options:e instanceof u0?Ge.objectValues(e.enum):e instanceof Yh?Ni(e._def.innerType):e instanceof s0?[void 0]:e instanceof o0?[null]:e instanceof ji?[void 0,...Ni(e.unwrap())]:e instanceof Co?[null,...Ni(e.unwrap())]:e instanceof TT||e instanceof Qh?Ni(e.unwrap()):e instanceof Xh?Ni(e._def.innerType):[];class Lx extends Ve{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==he.object)return se(n,{code:Y.invalid_type,expected:he.object,received:n.parsedType}),Te;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}):(se(n,{code:Y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Te)}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=Ni(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 Lx({typeName:Ie.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...je(r)})}}function l0(e,t){const n=ps(e),r=ps(t);if(e===t)return{valid:!0,data:e};if(n===he.object&&r===he.object){const i=Ge.objectKeys(t),s=Ge.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=l0(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===he.array&&r===he.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=l0(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===he.date&&r===he.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Vh extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(vw(s)||vw(o))return Te;const a=l0(s.value,o.value);return a.valid?((_w(s)||_w(o))&&n.dirty(),{status:n.value,value:a.data}):(se(r,{code:Y.invalid_intersection_types}),Te)};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}))}}Vh.create=(e,t,n)=>new Vh({left:e,right:t,typeName:Ie.ZodIntersection,...je(n)});class wo extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==he.array)return se(r,{code:Y.invalid_type,expected:he.array,received:r.parsedType}),Te;if(r.data.length<this._def.items.length)return se(r,{code:Y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Te;!this._def.rest&&r.data.length>this._def.items.length&&(se(r,{code:Y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new pi(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Ln.mergeArray(n,o)):Ln.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new wo({...this._def,rest:t})}}wo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new wo({items:e,typeName:Ie.ZodTuple,rest:null,...je(t)})};class qh extends Ve{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!==he.object)return se(r,{code:Y.invalid_type,expected:he.object,received:r.parsedType}),Te;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in r.data)i.push({key:s._parse(new pi(r,a,r.path,a)),value:o._parse(new pi(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Ln.mergeObjectAsync(n,i):Ln.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ve?new qh({keyType:t,valueType:n,typeName:Ie.ZodRecord,...je(r)}):new qh({keyType:Mi.create(),valueType:t,typeName:Ie.ZodRecord,...je(n)})}}class Sw extends Ve{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!==he.map)return se(r,{code:Y.invalid_type,expected:he.map,received:r.parsedType}),Te;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],c)=>({key:i._parse(new pi(r,a,r.path,[c,"key"])),value:s._parse(new pi(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 Te;(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 Te;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}}Sw.create=(e,t,n)=>new Sw({valueType:t,keyType:e,typeName:Ie.ZodMap,...je(n)});class Xc extends Ve{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==he.set)return se(r,{code:Y.invalid_type,expected:he.set,received:r.parsedType}),Te;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(se(r,{code:Y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(se(r,{code:Y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const c=new Set;for(const u of l){if(u.status==="aborted")return Te;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 pi(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new Xc({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new Xc({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Xc.create=(e,t)=>new Xc({valueType:e,minSize:null,maxSize:null,typeName:Ie.ZodSet,...je(t)});class c0 extends Ve{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})}}c0.create=(e,t)=>new c0({getter:e,typeName:Ie.ZodLazy,...je(t)});class Kh extends Ve{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return se(n,{received:n.data,code:Y.invalid_literal,expected:this._def.value}),Te}return{status:"valid",value:t.data}}get value(){return this._def.value}}Kh.create=(e,t)=>new Kh({value:e,typeName:Ie.ZodLiteral,...je(t)});function NT(e,t){return new So({values:e,typeName:Ie.ZodEnum,...je(t)})}class So extends Ve{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return se(n,{expected:Ge.joinValues(r),received:n.parsedType,code:Y.invalid_type}),Te}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 se(n,{received:n.data,code:Y.invalid_enum_value,options:r}),Te}return Pr(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 So.create(t,{...this._def,...n})}exclude(t,n=this._def){return So.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}So.create=NT;class u0 extends Ve{_parse(t){const n=Ge.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==he.string&&r.parsedType!==he.number){const i=Ge.objectValues(n);return se(r,{expected:Ge.joinValues(i),received:r.parsedType,code:Y.invalid_type}),Te}if(this._cache||(this._cache=new Set(Ge.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=Ge.objectValues(n);return se(r,{received:r.data,code:Y.invalid_enum_value,options:i}),Te}return Pr(t.data)}get enum(){return this._def.values}}u0.create=(e,t)=>new u0({values:e,typeName:Ie.ZodNativeEnum,...je(t)});class Gh extends Ve{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==he.promise&&n.common.async===!1)return se(n,{code:Y.invalid_type,expected:he.promise,received:n.parsedType}),Te;const r=n.parsedType===he.promise?n.data:Promise.resolve(n.data);return Pr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Gh.create=(e,t)=>new Gh({type:e,typeName:Ie.ZodPromise,...je(t)});class ko extends Ve{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ie.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=>{se(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 Te;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?Te:l.status==="dirty"||n.value==="dirty"?Jl(l.value):l});{if(n.value==="aborted")return Te;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?Te:a.status==="dirty"||n.value==="dirty"?Jl(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"?Te:(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"?Te:(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(!Ya(o))return Te;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=>Ya(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):Te);Ge.assertNever(i)}}ko.create=(e,t,n)=>new ko({schema:e,typeName:Ie.ZodEffects,effect:t,...je(n)});ko.createWithPreprocess=(e,t,n)=>new ko({schema:t,effect:{type:"preprocess",transform:e},typeName:Ie.ZodEffects,...je(n)});class ji extends Ve{_parse(t){return this._getType(t)===he.undefined?Pr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ji.create=(e,t)=>new ji({innerType:e,typeName:Ie.ZodOptional,...je(t)});class Co extends Ve{_parse(t){return this._getType(t)===he.null?Pr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Co.create=(e,t)=>new Co({innerType:e,typeName:Ie.ZodNullable,...je(t)});class Yh extends Ve{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===he.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Yh.create=(e,t)=>new Yh({innerType:e,typeName:Ie.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...je(t)});class Xh extends Ve{_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 Hh(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ui(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ui(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Xh.create=(e,t)=>new Xh({innerType:e,typeName:Ie.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...je(t)});class kw extends Ve{_parse(t){if(this._getType(t)!==he.nan){const r=this._getOrReturnCtx(t);return se(r,{code:Y.invalid_type,expected:he.nan,received:r.parsedType}),Te}return{status:"valid",value:t.data}}}kw.create=e=>new kw({typeName:Ie.ZodNaN,...je(e)});class TT extends Ve{_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 Dx extends Ve{_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"?Te:s.status==="dirty"?(n.dirty(),Jl(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"?Te: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 Dx({in:t,out:n,typeName:Ie.ZodPipeline})}}class Qh extends Ve{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Ya(i)&&(i.value=Object.freeze(i.value)),i);return Hh(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Qh.create=(e,t)=>new Qh({innerType:e,typeName:Ie.ZodReadonly,...je(t)});var Ie;(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"})(Ie||(Ie={}));const b=Mi.create,W=Xa.create,me=i0.create,Oi=a0.create;js.create;const J=di.create,I=Ut.create;Wh.create;const Gn=Lx.create;Vh.create;wo.create;const Rr=qh.create,G=Kh.create,be=So.create;Gh.create;ji.create;Co.create;new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");const E6=["owner"],N6=["agent","owner","user-upload"],IT=I({id:b().min(1),relPath:b().min(1),from:be(N6),label:b().optional(),size:W().int().nonnegative(),mime:b().min(1),addedAt:W().int().nonnegative(),lastEditedAt:W().int().nonnegative().optional(),stale:me().optional()});I({sessionId:b().min(1),relPath:b().min(1),ttlSeconds:W().int().positive().nullable().optional(),view:be(["raw","md-rendered"]).optional()});I({url:b().min(1),expiresAt:W().int().nonnegative().nullable()});I({sessionId:b().min(1),relPath:b().min(1),label:b().optional(),origin:G("agent").optional()});I({entry:IT});I({sessionId:b().min(1),relPath:b().min(1)});I({removed:G(!0)});I({sessionId:b().min(1)});I({entries:J(IT)});I({attachmentId:b().min(1),url:b().min(1),relPath:b().min(1),sizeBytes:W().int().nonnegative(),mimeType:b().min(1)});const T6=Gn("type",[I({type:G("persona"),id:b().min(1)}).strict(),I({type:G("chat"),id:b().min(1)}).strict(),I({type:G("*")}).strict()]),I6=be(["read","send","admin"]),jx=I({resource:T6,actions:J(I6).min(1)}).strict(),P6=I({id:b().min(1),secretHash:b().regex(/^[a-f0-9]{64}$/),displayName:b(),grants:J(jx),issuedAt:W().int().nonnegative(),expiresAt:W().int().positive().optional(),maxUses:W().int().positive().optional(),usedCount:W().int().nonnegative(),peerOwnerId:b().min(1).optional(),firstUsedByPeerAt:W().int().positive().optional(),peerDisplayName:b().optional()}).strict(),R6=P6.omit({secretHash:!0});I({type:G("whoami:ok"),owner:I({id:b(),kind:be(["owner","guest"]),displayName:b(),ownerId:b(),provider:b()}).strict(),capability:R6,grantedPersonas:J(I({id:b().min(1),displayName:b()}).strict())}).strict();I({selfUrl:b().min(1)});I({type:G("contact:handshake:ok"),owner:I({id:b(),ownerId:b(),provider:b(),displayName:b()}),grants:J(jx)});const M6=Gn("status",[I({status:G("authorized"),login:b().min(1),source:be(["git","file"])}).strict(),I({status:G("missing")}).strict(),I({status:G("invalid"),message:b().min(1)}).strict(),I({status:G("pending"),authUrl:b().url()}).strict()]);I({token:b().min(1)}).strict();I({returnTo:b().url().optional()}).strict();const A6=I({name:b().min(1),from:b().optional(),version:b().optional(),min:b().optional()}),L6=I({name:b().min(1),env:J(b().min(1)).min(1)}),D6=I({name:b().min(1)}),Ox=b().regex(/^[a-z0-9-]+$/,"连接器名只能是小写字母、数字和短横线"),PT=["proxy","env"],RT=["mcp","cli"],j6=["bearer","lark-sidecar"],O6=["none","shared","personal"],MT=["oauth","fields"],Bx=b().regex(/^[A-Z][A-Z0-9_]*$/,"要填的变量名只能是大写字母、数字和下划线,且以字母开头"),B6=I({name:Ox,kind:be(PT),runner:be(RT),protocol:be(j6).optional(),id:b().min(1),credentialSource:be(O6).optional(),auth:be(MT).optional(),fields:J(Bx).default([]),http:I({url:b().min(1),headers:Rr(b(),b())}).optional()}),AT={clis:J(A6),secrets:J(L6),assets:J(D6),connectors:J(B6).default([])};I(AT);const LT=I({version:G(1),...AT}).strict(),z6=I({target:b().min(1),reason:b().min(1),file:b().min(1),quote:b().min(1)}),$6=I({version:G(1),manifest:LT}).strict(),F6=["hard","soft"],H6=be(F6),U6=be(["scanning","done","failed"]),W6=I({scanSessionId:b().optional(),status:U6,evidence:J(z6).default([]),notes:J(b()).default([]),scannedAssets:J(b()).default([]),head:b().min(1).optional(),releasedHead:b().min(1).optional(),baseKind:H6.default("hard"),base:b().min(1).optional(),startedAt:W(),finishedAt:W().optional(),error:b().optional()}).strict(),V6=I({url:b().min(1),branch:b().min(1),head:b().min(1),dirty:me(),ahead:W()}).strict(),q6=I({env:b().min(1),setAt:W().optional()}).strict(),K6=["pending","running","done","failed","waiting","skipped"],G6=be(K6),Y6=["build","smoke","deploy"],X6=be(Y6),Q6=I({key:X6,status:G6,url:b().optional(),jobId:W().optional(),startedAt:W().optional(),completedAt:W().optional()}).strict(),Z6=I({runId:W(),headSha:b().min(1),status:be(["queued","running","completed"]),htmlUrl:b().min(1),jobs:J(Q6)}).strict();I({personaId:b().min(1),github:M6.optional(),repo:V6.optional(),file:$6.optional(),scan:W6.optional(),secrets:J(q6).optional(),run:Z6.optional(),fileError:b().optional()}).strict();Gn("outcome",[I({outcome:G("pushed"),sha:b().min(1),actionsUrl:b().min(1)}).strict(),I({outcome:G("scanning")}).strict()]);I({personaId:b().min(1)}).strict();I({personaId:b().min(1),patch:I({manifest:LT.optional()}).strict()}).strict();I({personaId:b().min(1),name:b().min(1),values:Rr(b(),b())}).strict();I({personaId:b().min(1),jobId:W()}).strict();I({personaId:b().min(1),kind:be(["cli","secret","asset","connector"]),item:Rr(b(),Oi()),evidence:I({reason:b().min(1),file:b().min(1),quote:b().min(1)})}).strict();I({personaId:b().min(1),notes:J(b()).default([])}).strict();I({deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({type:G("contact:setRemoteAccess:ok"),deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({type:G("contact:remote-access-updated"),deviceId:b().min(1),remoteAccessAllowed:me()}).strict();I({personaId:b().min(1)}).strict();const J6=["connected","missing","reauth"],eB=["link","fill"],tB=I({name:Ox,id:b().min(1),kind:be(PT),runner:be(RT),auth:be(MT),status:be(J6),action:be(eB),authUrl:b().optional(),fields:J(Bx)}).strict();I({connectors:J(tB)}).strict();I({personaId:b().min(1),name:Ox,values:Rr(Bx,b().min(1))}).strict();const nB=I({deviceId:b().min(1),ownerId:b().min(1),provider:b().min(1),displayName:b(),remoteUrl:b().min(1),connectToken:b(),grants:J(jx),addedAt:W().int().nonnegative(),pinnedAt:W().int().nullable().default(null),remoteAccessAllowed:me().default(!1),note:b().default("")}).strict(),DT=nB;I({deviceId:b().min(1)}).strict();I({type:G("contact:remove:ok"),deviceId:b().min(1)}).strict();I({type:G("contact:list:ok"),contacts:J(DT)}).strict();I({type:G("contact:added"),contact:DT}).strict();I({type:G("contact:removed"),deviceId:b().min(1)}).strict();I({deviceId:b().min(1),pinned:me()}).strict();I({deviceId:b().min(1),note:b()}).strict();I({type:G("contact:setNote:ok"),deviceId:b().min(1),note:b()}).strict();I({type:G("contact:pin:ok"),deviceId:b().min(1),pinnedAt:W().int().nullable()}).strict();I({type:G("contact:pinned"),deviceId:b().min(1),pinnedAt:W().int().nullable()}).strict();const rB=I({deviceId:b().min(1),name:b().min(1),url:b().min(1)});I({type:G("device:list:ok"),devices:J(rB)});I({deviceId:b().min(1),url:b().min(1).optional(),name:b().optional()});I({type:G("device:connect:ok"),deviceId:b(),name:b(),url:b()});const jT=I({ownerId:b().min(1),provider:b().min(1),displayName:b().min(1),avatarUrl:b().optional(),unionId:b().optional()});I({type:G("auth:login:start:ok"),authUrl:b().min(1),state:b().min(1)});I({type:G("auth:getIdentity:ok"),identity:jT.nullable(),deviceId:b().min(1)});I({type:G("auth:logout:ok")});const OT=b().nullable();I({type:G("auth:apiKey:get:ok"),apiKey:b().nullable(),createdAt:b().nullable(),gatewayUrl:OT});I({type:G("auth:apiKey:regenerate:ok"),apiKey:b().min(1),createdAt:b().min(1),gatewayUrl:OT});I({type:G("auth:apiKey:revoke:ok"),revoked:me()});I({type:G("auth:login:done"),identity:jT});I({type:G("auth:login:failed"),reason:b()});const zx=Gn("kind",[I({kind:G("success"),text:b(),brief:b().optional(),filePaths:J(b()).optional()}),I({kind:G("failure"),reason:b(),brief:b().optional()})]);I({targetPersona:b().min(1).optional(),dispatchId:b().min(1).optional(),prompt:b(),brief:b().optional(),targetDeviceId:b().min(1).optional(),model:b().min(1).optional(),tool:b().min(1).optional(),sessionLabel:b().min(1).max(60).optional(),meta:Rr(Oi()).optional()}).refine(e=>e.targetPersona!==void 0||e.dispatchId!==void 0,{message:"either targetPersona (new dispatch) or dispatchId (follow-up) is required"}).refine(e=>!(e.dispatchId!==void 0&&e.targetDeviceId!==void 0),{message:"cross-device dispatch cannot be continued (dispatchId + targetDeviceId are mutually exclusive)"}).refine(e=>!(e.tool!==void 0&&e.targetDeviceId!==void 0),{message:"engine override is not supported for cross-device dispatch (tool + targetDeviceId are mutually exclusive)"}).refine(e=>!(e.dispatchId!==void 0&&(e.tool!==void 0||e.model!==void 0)),{message:"a follow-up dispatch cannot change engine or model (dispatchId excludes tool / model); start a new dispatch instead"});I({dispatchId:b().min(1),outcome:zx});const iB=["running","completed","failed"],$x=be(iB),sB=I({dispatchId:b().min(1),sourceSessionId:b().min(1),sourcePersonaId:b().min(1).optional(),targetPersonaId:b().min(1),targetDeviceId:b().min(1).optional(),workerSessionId:b().min(1).optional(),taskText:b(),taskBrief:b().optional(),round:W().int().positive().optional(),status:$x,outcome:zx.optional(),meta:Rr(Oi()).optional(),createdAt:b().min(1),completedAt:b().min(1).optional(),deliveredAt:b().min(1).optional()});I({sourceSessionId:b().min(1).optional(),relatedSessionId:b().min(1).optional()});I({records:J(sB)});I({dispatchId:b().min(1)});I({type:G("personaDispatch:get:ok"),status:$x,outcome:zx.optional()});const oB=/^[a-z0-9][a-z0-9-]*$/;be(["stopped","starting","running","crashed","invalid"]);const aB=new Set(["localhost","127.0.0.1"]);function lB(e){let t;try{t=new URL(e)}catch{return!1}return!!(t.protocol==="https:"||t.protocol==="http:"&&aB.has(t.hostname))}const cd=I({id:b().regex(oB),name:b().min(1),version:b().min(1),apiVersion:G("1"),runtime:I({startCommand:b().min(1)}).passthrough().optional(),entry:I({url:b().url().refine(lB,{message:"INVALID_URL_SCHEME: only https or http://localhost is allowed"})}).strict().optional()}).passthrough().superRefine((e,t)=>{var i;const n=!!e.runtime,r=!!((i=e.entry)!=null&&i.url);n&&r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: entry.url and runtime cannot coexist"}),!n&&!r&&t.addIssue({code:Y.custom,message:"INVALID_MANIFEST: must have either entry.url or runtime"})}),cB=Gn("kind",[I({kind:G("local"),port:W().int().min(1).max(65535)}),I({kind:G("hosted"),url:b().url()})]);Gn("state",[I({extId:b(),manifest:cd,state:G("stopped")}),I({extId:b(),manifest:cd,state:G("starting")}),I({extId:b(),manifest:cd,state:G("running"),target:cB}),I({extId:b(),manifest:cd,state:G("crashed")}),I({extId:b(),manifest:Oi().nullable(),state:G("invalid"),invalidReason:b().min(1)})]);I({snapshotHash:b().min(1),version:b().min(1),publishedAt:W()});const uB=Gn("kind",[I({kind:G("p2p-tunnel"),ownerPrincipalId:b().min(1),extId:b().min(1)})]);Gn("kind",[I({kind:G("p2p-tunnel"),ownerPrincipalId:b().min(1),extId:b().min(1),snapshotHash:b().min(1)})]);I({extId:b().min(1),name:b().min(1),version:b().min(1),contentHash:b().min(1),publishedAt:W()});const dB=Gn("kind",[I({kind:G("clean")}),I({kind:G("ready-new-version"),fromVersion:b().min(1),toVersion:b().min(1)}),I({kind:G("error-same-hash"),version:b().min(1)}),I({kind:G("error-version-not-bumped"),localVersion:b().min(1),publishedVersion:b().min(1)}),I({kind:G("error-version-regression"),localVersion:b().min(1),publishedVersion:b().min(1)})]);I({localManifest:I({name:b().min(1),version:b().min(1),contentHash:b().min(1)}),publishState:Gn("kind",[I({kind:G("unpublished")}),I({kind:G("published"),version:b().min(1),contentHash:b().min(1),publishedAt:W()})]),check:dB});I({extId:b().min(1),newVersion:b().min(1).nullish()});I({extId:b().min(1)});I({extId:b().min(1),snapshotHash:b().min(1)});I({channelRef:uB,snapshotHash:b().min(1),zipBase64:b().min(1)});I({id:b().min(1),peerDeviceId:b().min(1),senderDeviceId:b().min(1),text:b().min(1),createdAt:W().int().nonnegative(),readBy:Rr(b().min(1),W().int().positive()).default({}),origin:I({kind:G("persona"),personaId:b().min(1)}).optional()}).strict();I({peerDeviceId:b().min(1).optional(),id:b().min(1),text:b().min(1),createdAt:W().int().nonnegative(),origin:I({kind:G("persona"),personaId:b().min(1)}).optional()}).strict();I({peerDeviceId:b().min(1),sinceCreatedAt:W().int().nonnegative().optional()}).strict();I({peerDeviceId:b().min(1),upToCreatedAt:W().int().nonnegative()}).strict();I({peerDeviceId:b().min(1).optional(),text:b().min(1)});I({peerDeviceId:b().min(1).optional(),command:b().min(1),timeoutMs:W().int().positive().optional()}).strict();I({type:G("peerExec:run:ok"),stdout:b(),stderr:b(),exitCode:W().int().nullable(),timedOut:me(),stdoutTruncated:me(),stderrTruncated:me()}).strict();const BT=Gn("kind",[I({kind:G("at"),at:b().min(1)}),I({kind:G("every"),everyMs:W().int().positive(),anchorMs:W().int().nonnegative().optional()}),I({kind:G("cron"),expr:b().min(1),tz:b().min(1).optional()})]),gu=b().trim().min(1);I({personaId:gu,name:b().min(1),schedule:BT,prompt:b().min(1),targetPersona:b().min(1).optional(),timeoutMs:W().int().positive().optional()});I({personaId:gu,onlyMine:me().optional()});I({personaId:gu,shiftId:b().min(1)});const hB=I({name:b().min(1).optional(),schedule:BT.optional(),prompt:b().min(1).optional(),targetPersona:b().min(1).optional(),timeoutMs:W().int().positive().optional(),enabled:me().optional()});I({personaId:gu,shiftId:b().min(1),patch:hB});I({personaId:gu,shiftId:b().min(1),limit:W().int().positive().optional()});const zT="persona-master",Fx=I({personaId:b().min(1),deviceId:b().min(1).optional()}),$T=I({id:b().min(1),name:b().min(1),memberPersonas:J(Fx),memberContactDeviceIds:J(b().min(1)),createdAt:b().min(1),updatedAt:b().min(1)}),FT=b().trim().min(1);I({name:FT,memberPersonas:J(Fx).default([]),memberContactDeviceIds:J(b().min(1)).default([])});I({channelId:b().min(1),name:FT.optional(),memberPersonas:J(Fx).optional(),memberContactDeviceIds:J(b().min(1)).optional()});I({channelId:b().min(1)});I({channels:J($T)});I({channel:$T});I({ok:G(!0),removedTopics:W().int().min(0)});const Kt=b().trim().min(1),Hx=["master-confirmed","owner-needed"],Ux=["open","resolved"],fB=Hx[0];Hx[1];Ux[0];const pB=Ux[1],mB=be(Hx),gB=be(Ux),vB=I({id:Kt.optional(),resolves:Kt.optional(),type:mB,status:gB,question:Kt,recommendation:Kt}).superRefine((e,t)=>{e.type===fB&&e.status!==pB&&t.addIssue({code:Y.custom,path:["status"],message:"master-confirmed decisions must be resolved"})}),_B=["planning","running","done"],xB=be(_B),HT=I({at:b().min(1),actor:b().min(1),action:b().min(1),target:b().optional(),reason:b().min(1),artifacts:J(Kt).optional(),decision:vB.optional()}),yB=I({rejectCount:W().int().min(0),accepted:me().default(!1),ordinal:W().int().min(1).optional(),overrideCount:W().int().min(0).optional()}),Wx=I({id:b().min(1),channelId:b().min(1),title:b(),masterSessionId:b().min(1),goal:b(),boundaries:b(),acceptanceCriteria:J(b()),activity:J(HT),lineMeta:Rr(yB),nextLineOrdinal:W().int().min(1).optional(),state:xB,createdAt:b().min(1),updatedAt:b().min(1)}),bB=I({lineId:b().min(1),dispatchId:b().min(1),workerSessionId:b().optional(),assignee:b().min(1),focus:b(),status:$x,acceptance:J(b()),rejectCount:W().int().min(0),accepted:me(),ordinal:W().int().min(1).nullable()});I({channelId:b().min(1)});I({topicId:b().min(1).optional(),sessionId:b().min(1).optional()}).refine(e=>e.topicId!==void 0||e.sessionId!==void 0,{message:"either topicId or sessionId is required"});I({channelId:b().min(1),title:Kt.optional()});I({topicId:b().min(1),title:Kt.optional(),goal:Kt,boundaries:b(),acceptanceCriteria:J(Kt).min(1)});I({topicId:b().min(1),action:Kt,target:Kt.optional(),reason:Kt,artifacts:J(Kt).optional(),decision:HT.shape.decision});I({topicId:b().min(1),lineId:Kt,reason:Kt});I({topicId:b().min(1),lineId:Kt,reason:Kt,artifacts:J(Kt).optional(),watcherVerdict:be(["pass","fail"]),overrideReason:Kt.optional()}).refine(e=>e.watcherVerdict!=="fail"||!!e.overrideReason,{message:"watcherVerdict=fail 时必须给 overrideReason(推翻 watcher 的理由)",path:["overrideReason"]});I({topicId:b().min(1),state:be(["done"])});I({topicId:b().min(1),title:Kt});I({topicId:b().min(1)});const wB=Wx.extend({lineCount:W().int().min(0)});I({topics:J(wB)});I({topic:Wx,lines:J(bB)});I({topicId:b().min(1),masterSessionId:b().min(1)});I({rejectCount:W().int().min(1),needsOwnerAttention:me()});I({acceptedLines:W().int().min(1),totalLines:W().int().min(1),allAccepted:me(),overrides:W().int().min(0),needsOwnerAttention:me()});I({topic:Wx});I({ok:G(!0),removedMasterSessionId:b().min(1).nullable(),removedWorkerSessionIds:J(b().min(1))});const SB=["ask","allow","deny"],UT=be(SB),kB=I({id:b().min(1),desc:b().min(1),action:UT});I({rules:J(kB)});I({ruleId:b().min(1)});I({action:UT,desc:b(),source:b().min(1)});const CB=["created","review-requested"],WT=/^[A-Za-z0-9._-]+$/,vl=b().min(1).regex(WT),_l=b().min(1).regex(WT),vu=W().int().positive();I({role:be(CB)});I({owner:vl,repo:_l,number:vu});I({owner:vl,repo:_l,number:vu,expectedHeadSha:b().min(1)});I({owner:vl,repo:_l,number:vu,body:b().min(1)});I({owner:vl,repo:_l,number:vu,ready:me()});I({owner:vl,repo:_l});I({owner:vl,repo:_l,number:vu,reviewers:J(b().min(1)).min(1)});I({personaId:b().min(1)});I({personaId:b().min(1)});const EB=["expired","cancelled","access_denied","lark_protocol_error","cloud_unreachable","internal_error"],NB=be(EB);I({personaId:b().min(1),appId:b().min(1),appSecret:b().min(1),botName:b().min(1).optional()});const TB=I({chatId:b().min(1),chatName:b().optional(),lastActiveAt:W().int().optional()}),IB=I({state:be(["unbound","provisioning","bound","broken"]),appId:b().optional(),botName:b().optional(),brokenReason:b().optional(),qrUrl:b().optional(),errorReason:NB.optional(),groups:J(TB),needsUpgrade:me().optional(),upgradeQrUrl:b().optional()});IB.extend({personaId:b().min(1)});I({});I({onboardingCompletedAt:W()});const sp=["claude","codex","pi"];I({});I({tools:J(I({id:be(sp),available:me(),version:b().optional(),path:b().optional()}))});I({});const PB=I({tool:be(sp),cwd:b(),toolSessionId:b(),label:b().optional(),createdAt:b(),updatedAt:b(),turns:W()});I({candidates:J(PB)});I({});I({registered:me()});I({tool:be(sp)});const Cw=I({usedPercent:W(),windowDurationMins:W().optional(),resetsAt:W().optional()}).strict(),RB=Gn("kind",[I({kind:G("claude"),loggedIn:me(),authMethod:b().optional(),apiProvider:b().optional(),apiKeySource:b().optional(),email:b().optional(),orgName:b().optional(),subscriptionType:b().optional()}).strict(),I({kind:G("codex"),login:Gn("type",[I({type:G("none")}).strict(),I({type:G("apiKey")}).strict(),I({type:G("chatgpt"),email:b(),planType:b()}).strict()]),provider:I({name:b(),baseUrl:b().optional()}).strict(),rateLimits:I({primary:Cw.optional(),secondary:Cw.optional()}).strict().optional()}).strict(),I({kind:G("pi"),providers:J(I({id:b(),modelCount:W(),credential:be(["api_key","oauth"]).optional(),oauthExpiresAt:W().optional()}).strict())}).strict()]);I({tool:be(sp),installed:me(),version:b().optional(),path:b().optional(),account:RB.optional(),error:b().optional(),modelsLoadedAt:W().optional()}).strict();I({apiKey:b().min(1)}).strict();I({ok:G(!0)}).strict();const MB=I({personaId:b(),label:b(),model:b().optional(),effort:b().optional(),public:me(),iconKey:b().optional(),tool:b().optional(),size:b().optional(),createdAt:W(),updatedAt:W(),cloud:I({gatewayUrl:b().min(1),personaId:b().min(1)}).strict().optional()}).strict(),AB=I({name:b().min(1),description:b().optional()}),LB=I({id:b().min(1)}),VT=I({writableRoots:J(b()).optional(),denyRead:J(b()).optional(),network:me().optional()}).strict(),DB=I({permissions:I({defaultMode:b().optional(),allow:J(b()).optional(),deny:J(b()).optional()}).optional(),sandbox:I({enabled:me().optional(),autoAllowBashIfSandboxed:me().optional(),allowUnsandboxedCommands:me().optional(),excludedCommands:J(b()).optional(),filesystem:I({denyRead:J(b()).optional(),allowRead:J(b()).optional(),denyWrite:J(b()).optional(),allowWrite:J(b()).optional()}).optional(),network:I({allowedDomains:J(b()).optional(),allowLocalBinding:me().optional()}).optional()}).optional()});MB.extend({personality:b().optional(),personalityLocal:b().optional(),personalityManaged:me().optional(),skills:J(AB).optional(),plugins:J(LB).optional(),sandboxSettings:DB.nullable().optional(),codexSandbox:VT.nullable().optional()});I({slug:b().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).max(32),label:b().min(1),personality:b(),model:b().optional(),effort:b().optional(),tool:b().optional(),public:me().optional(),iconKey:b().optional()}).strict();I({personaId:b().min(1)});I({personaId:b().min(1),patch:I({label:b().min(1).optional(),model:b().optional(),effort:b().optional(),tool:b().optional(),personality:b().optional(),personalityLocal:b().optional(),public:me().optional(),iconKey:b().nullable().optional(),codexSandbox:VT.optional()}).strict()}).strict();const qT=["ready","session:info","session:status","session:event","session:deleted","session:rewound","session:cleared","session:queue","permission:request","session:question","session:question:cleared","pong","error","subscribed","unsubscribed","auth:ok","tunnel:ready","tunnel:exited","tunnel:unavailable","session:control","session:pty","contact:added","contact:pinned","contact:removed","contact:remote-access-updated","contact:note-updated","org-mesh:progress","channel:changed","inbox:event","friend:reverseTokenOffered","auth:login:done","auth:login:failed","larkBot:state"],KT=["idle","running","running-idle","stopped","error","observing"],jB=["task-notification","slash-command","local-command","system-reminder","skill-hint","meta-text","attachment-skills","attachment-deferred-tools","dispatch-task","dispatch-result"];function op(e){return e==="dispatch-task"||e==="dispatch-result"}const OB=["builtin","global","project","plugin"],BB=["builtin","global","project","policy","plugin"],GT=be(["owner","guest"]);I({id:b().min(1),kind:GT,displayName:b(),feishuUnionId:b().optional()}).strict();const zB=I({did:b().min(1),displayName:b(),feishuUnionId:b().optional(),principal:GT}).strict(),$B=be(KT),FB=I({inputTokens:W().int().nonnegative(),outputTokens:W().int().nonnegative(),cacheReadTokens:W().int().nonnegative().optional(),cacheCreateTokens:W().int().nonnegative().optional()}),YT={gitBranch:b().optional(),resolvedModel:b().optional(),resolvedEffort:b().optional(),contextUsage:FB.optional(),contextWindowSize:W().int().positive().optional(),aiLabel:b().optional()},HB=I(YT),XT=I({value:b(),label:b(),description:b().optional()}),UB=I({id:b().min(1),label:b().min(1),description:b().optional(),contextWindowSize:W().int().positive(),default:me().optional(),efforts:J(XT).optional(),defaultEffort:b().optional(),group:b().optional()}),WB=I({id:b().min(1),label:b().min(1),description:b().optional()}),VB=I({name:b().min(1),type:be(["string","select","toggle"]),label:b().min(1),description:b().optional(),options:J(XT).optional(),default:Oi().optional(),scope:be(["core","tool-specific"])});I({tool:b().min(1),refresh:me().optional()});const qB=I({rewind:me(),subagents:me(),tui:me(),observe:me(),fileSharing:me(),fork:me()});I({tool:b().min(1),toolSessionIdLabel:b().optional(),models:J(UB),permissionModes:J(WB),configSchema:J(VB),features:qB});const KB=I({tool:b().min(1),pattern:b().min(1),createdAt:b().min(1).optional()});I({sessionId:b().min(1),cwd:b().min(1),tool:G("claude").or(b().min(1)).default("claude"),toolSessionId:b().optional(),label:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),...YT,aiLabelGeneratedAt:b().optional(),permissionRules:J(KB).optional(),pinnedAt:W().int().nonnegative().nullable().optional(),archivedAt:W().int().nonnegative().nullable().optional(),pinSortOrder:W().int().nullable().optional(),unreadAt:b().min(1).nullable().optional(),iconKey:b().optional(),forkedFromSessionId:b().min(1).optional(),ephemeral:me().optional(),deployId:b().min(1).optional(),ownerPersonaId:b().min(1).optional(),projectPath:b().min(1).optional(),chatId:b().min(1).optional(),creatorPrincipalId:b().min(1).optional(),creatorDisplayName:b().min(1).optional(),creatorFeishuUnionId:b().min(1).optional(),originOwnerPrincipalId:b().min(1).optional(),originOwnerPersonaId:b().min(1).optional(),dispatchedFromSessionId:b().min(1).optional(),shiftFiredFromSessionId:b().min(1).optional(),larkChatId:b().min(1).optional(),larkChatName:b().min(1).optional(),larkChatType:be(["p2p","group"]).optional(),createdAt:b().min(1),updatedAt:b().min(1)});const $n={seq:W().int().nonnegative().optional(),ts:b().optional(),uuid:b().optional()},GB=be(jB),YB=I({readCount:W().int().nonnegative().optional(),searchCount:W().int().nonnegative().optional(),bashCount:W().int().nonnegative().optional(),editFileCount:W().int().nonnegative().optional(),linesAdded:W().int().nonnegative().optional(),linesRemoved:W().int().nonnegative().optional(),otherToolCount:W().int().nonnegative().optional()}),XB=I({oldStart:W().int().nonnegative(),oldLines:W().int().nonnegative(),newStart:W().int().nonnegative(),newLines:W().int().nonnegative(),lines:J(b())}),QB=I({agentId:b().optional(),agentType:b().optional(),status:b().optional(),prompt:b().optional(),filePath:b().optional(),structuredPatch:J(XB).optional(),stats:I({durationMs:W().int().nonnegative().optional(),tokens:W().int().nonnegative().optional(),toolUseCount:W().int().nonnegative().optional(),toolStats:YB.optional()}).optional()}),ZB=I({path:b(),content:b(),mtimeMs:W().optional()}),JB=I({label:b().min(1),description:b().optional()}),QT=I({question:b().min(1),multiSelect:me(),options:J(JB).min(1)}),ez=["completed","interrupted"];Gn("kind",[I({...$n,kind:G("session_init"),toolSessionId:b().optional()}),I({...$n,kind:G("thinking"),text:b(),partialId:b().optional()}),I({...$n,kind:G("text"),text:b(),partialId:b().optional()}),I({...$n,kind:G("user_text"),text:b(),meta:GB.optional(),taskId:b().optional(),parentToolUseId:b().optional(),sender:zB.optional()}),I({...$n,kind:G("tool_call"),toolUseId:b(),tool:b(),toolKind:b().optional(),input:Oi()}),I({...$n,kind:G("tool_result"),toolUseId:b(),output:Oi().optional(),error:b().optional(),toolResultExtra:QB.optional(),sourceToolAssistantUUID:b().optional(),askQuestionAnswers:Rr(b(),b()).optional()}),I({...$n,kind:G("attachment_memories"),memories:J(ZB)}),I({...$n,kind:G("permission_request"),requestId:b(),tool:b(),input:Oi(),toolUseId:b().optional()}),I({...$n,kind:G("ask_user_question"),toolUseId:b(),questions:J(QT)}),I({...$n,kind:G("turn_end"),durationMs:W().int().nonnegative().optional(),reason:be(ez).optional()}),I({...$n,kind:G("subagent_progress"),toolUseId:b(),agentId:b(),status:be(["started","running","completed","failed"]),description:b().optional(),lastToolName:b().optional(),prompt:b().optional(),stats:I({durationMs:W().int().nonnegative().optional(),tokens:W().int().nonnegative().optional(),toolUseCount:W().int().nonnegative().optional()}).optional()}),I({...$n,kind:G("error"),message:b()}),I({...$n,kind:G("meta_update"),patch:HB}),I({...$n,kind:G("meta-text"),text:b(),metaSource:be(["cc","owner"]).optional()})]);I({cwd:b().min(1).optional(),tool:b().optional(),label:b().optional(),aiLabel:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),iconKey:b().optional(),forkedFromSessionId:b().min(1).optional(),ephemeral:me().optional(),ownerPersonaId:b().min(1).optional(),projectPath:b().min(1).optional()}).refine(e=>e.cwd!=null||e.ownerPersonaId!=null||e.projectPath!=null,{message:"cwd / ownerPersonaId / projectPath 至少传一个"});I({path:b().min(1),name:b().min(1),createdAt:b().datetime(),pinnedAt:W().optional()});I({path:b().min(1),pinnedAt:W().nullable()});I({path:b().min(1)});I({path:b().min(1).optional(),name:b().min(1).optional()}).refine(e=>e.path!=null||e.name!=null,{message:"path 与 name 至少给一个"});I({cwd:b().min(1),tool:b().min(1),toolSessionId:b().min(1),label:b().optional(),aiLabel:b().optional(),iconKey:b().optional(),createdAt:b().datetime(),updatedAt:b().datetime(),ownerPersonaId:b().min(1).optional()});I({originOnly:me().optional(),ownerPersonaId:b().min(1).optional(),limit:W().int().positive().optional(),offset:W().int().nonnegative().optional()});I({sessionId:b().min(1)});I({sessionId:b().min(1),patch:I({label:b().optional(),model:b().optional(),permissionMode:b().optional(),effort:b().optional(),cwd:b().optional(),iconKey:b().optional(),ephemeral:G(!1).optional()})});I({id:b().min(1),text:b(),queuedAt:W(),senderDisplayName:b().optional()});I({sessionId:b().min(1),text:b(),queueWhileRunning:me().optional()});I({sessionId:b().min(1),id:b().min(1).optional()});I({sessionId:b().min(1),userMessageId:b().min(1),dryRun:me().optional()});I({canRewind:me(),error:b().optional(),filesChanged:J(b()).optional(),insertions:W().int().nonnegative().optional(),deletions:W().int().nonnegative().optional()});I({sessionId:b().min(1),userMessageId:b().min(1)});const tz=I({oldStart:W().int().nonnegative(),oldLines:W().int().nonnegative(),newStart:W().int().nonnegative(),newLines:W().int().nonnegative(),lines:J(b())}),nz=I({filePath:b().min(1),hunks:J(tz),insertions:W().int().nonnegative(),deletions:W().int().nonnegative(),status:be(["modified","added","deleted"]).optional()});I({canRewind:me(),error:b().optional(),files:J(nz),totalInsertions:W().int().nonnegative(),totalDeletions:W().int().nonnegative()});I({userMessageIds:J(b())});I({sessionId:b().min(1),toolSessionId:b().min(1)});I({cwd:b().min(1),toolSessionId:b().min(1),messageUuid:b().min(1),targetCwd:b().min(1).optional()});I({forkedToolSessionId:b().min(1),forkedFilePath:b().min(1)});I({sessionId:b().min(1),toolSessionId:b().min(1),jsonlPath:b().optional()});I({sessionId:b().min(1),afterSeq:W().int().min(-1)});I({sessionId:b().min(1),permissionRequestId:b().min(1),allow:me(),permanent:me().optional(),pattern:b().optional()});I({projectPath:b().min(1)});I({sessionId:b().min(1),limit:W().int().positive().max(5e3).optional(),offset:W().int().nonnegative().optional(),slim:me().optional()});I({cwd:b().min(1),toolSessionId:b().min(1)});I({cwd:b().min(1),toolSessionId:b().min(1),subagentId:b().min(1)});I({cwd:b().min(1).optional(),path:b().optional(),showHidden:me().optional()});I({cwd:b().min(1),path:b().min(1)});I({cwd:b().min(1),tool:b().optional()});I({name:b().min(1),source:be(OB),path:b().optional(),description:b().optional(),plugin:b().optional()});const rz=I({name:b().min(1),source:be(BB),path:b().optional(),description:b().optional(),whenToUse:b().optional(),plugin:b().optional()});I({cwd:b().min(1),tool:b().optional()});I({agents:J(rz)});I({sessionId:b().optional()});I({sessionId:b().min(1).optional()});I({sessionId:b().min(1),pinned:me()});I({sessionId:b().min(1),archived:me()});I({query:b().min(1),sessionIds:J(b().min(1)),limit:W().int().positive().max(50).optional()});const iz=I({sessionId:b().min(1),snippet:b()});I({type:G("session:searchContent"),matches:J(iz)});I({type:G("peerSession:upsert:ok")});I({sessionId:b().min(1)});I({type:G("peerSession:remove:ok")});I({orderedIds:J(b().min(1)).min(1)});I({cwd:b().min(1)});I({isGitRoot:me(),gitRoot:b().nullable()});I({cwd:b().min(1)});I({branch:b().nullable()});I({cwd:b().min(1)});I({branches:J(b()),head:b().nullable()});const sz=I({cwd:b().min(1),updatedAt:b().min(1)});I({dirs:J(sz)});I({type:G("session:question"),sessionId:b().min(1),toolUseId:b().min(1),requestId:b().min(1),questions:J(QT).min(1)});I({type:G("session:question:cleared"),sessionId:b().min(1),toolUseId:b().min(1),answers:Rr(b(),b()).optional()});I({sessionId:b().min(1),toolUseId:b().min(1),answers:Rr(b(),b())});I({ok:G(!0)});I({sessionId:b().min(1),toolUseId:b().min(1)});I({ok:G(!0)});const ZT=I({name:b().min(1),version:b().min(1),instanceId:b().min(1),deviceLabel:b().transform(e=>e.trim().slice(0,64)).optional()});I({type:G("auth"),token:b().min(1),scheme:G("bearer").optional(),clientInfo:ZT.optional()});I({type:G("auth:ok"),version:b().min(1).optional(),protocolVersion:W().int().nonnegative().optional()});const oz=I({clientId:b().min(1),connectedAt:W().int().nonnegative(),self:me(),clientInfo:ZT.optional()});I({type:G("device:connections:ok"),connections:J(oz)});I({type:G("tunnel:ready"),url:b().min(1),subdomain:b().min(1)});I({type:G("tunnel:exited"),code:W().int().nullable(),subdomain:b().nullable(),url:b().nullable()});I({type:G("tunnel:unavailable"),reason:b().min(1),failedAt:b().min(1)});const az=I({sessionId:b().min(1),status:$B,freshSpawn:me(),pendingPermissionRequestIds:J(b().min(1)),pendingQuestionToolUseIds:J(b().min(1))});I({type:G("info"),version:b(),protocolVersion:W(),hostname:b(),os:b(),tools:J(I({id:b(),available:me()})),runningSessions:J(az),tokenRole:be(E6).optional(),isLoopback:me().optional(),httpBaseUrl:b().optional(),httpToken:b().optional(),daemonSource:be(["ota","packaged"]).optional(),globalCliVersion:b().nullable().optional()});I({});I({method:b().min(1).optional()});const lz=["allowed","conditional","denied"],cz=be(lz),uz=I({name:b().min(1),status:cz,description:b().min(1),args:J(I({name:b(),required:me()})).nullable(),argsSchema:Rr(Oi()).optional(),reason:b().optional()});I({type:G("meta:methods"),methods:J(uz)});const Ew=1,dz=["daemon","main","renderer"],hz=be(dz),fz=["debug","info","warn","error"],pz=be(fz);I({ts:W().int(),source:hz,level:pz,msg:b(),ownerPrincipalId:b(),deviceId:b(),appVersion:b(),daemonVersion:b().optional(),os:b(),meta_json:b().optional(),sessionId:b().optional()});I({v:G(1),visitorId:b().min(1),displayName:b(),provider:b(),iat:W(),exp:W()});const mz=I({visitorId:b(),displayName:b(),avatarUrl:b().optional(),provider:b(),firstSeen:W(),lastSeen:W()});I({visitors:J(mz)});const gz=/<system-reminder>此消息来自飞书群成员 (.+?)<\/system-reminder>\s*$/,JT=/<system-reminder>此消息来自 (owner|guest):(.+?)<\/system-reminder>\s*$/,vz="clawd-dispatch-task",_z="clawd-dispatch-result",Nw=120;function xz(e){if(!e)return[];const t=[];for(const n of["task","result"]){const r=n==="task"?vz:_z,i=new RegExp(`<${r}\\b([^>]*)>([\\s\\S]*?)</${r}>`,"gi");for(let s=i.exec(e);s!==null;s=i.exec(e))t.push({at:s.index,block:yz(n,s[1]??"",s[2]??"")})}return t.sort((n,r)=>n.at-r.at).map(n=>n.block)}function yz(e,t,n){var c;const r=Nz(t),i=d0(Ez(Nm(n,"detail")??n)),s=(c=Nm(n,"brief"))==null?void 0:c.trim(),o=s&&s.length>0?d0(s):bz(i),a=r.round!==void 0?Number.parseInt(r.round,10):void 0,l=r.status;return{kind:e,dispatchId:r["dispatch-id"]??"",...r.from?{from:r.from}:{},...e==="task"&&a!==void 0&&Number.isFinite(a)?{round:a}:{},...e==="result"&&(l==="success"||l==="failure")?{status:l}:{},brief:o,briefIsDerived:!(s&&s.length>0),detail:i,filePaths:Cz(Nm(n,"files"))}}function bz(e){const t=e.split(/\n\s*\n/).map(r=>r.trim()).find(r=>r.length>0);if(!t)return"";const n=t.replace(/\s+/g," ");return n.length>Nw?`${n.slice(0,Nw)}…`:n}const wz="clawd-dispatch-task|clawd-dispatch-result|brief|detail|files",Sz=new RegExp(`<\\\\(\\\\*)(/?)(${wz})\\b`,"g");function kz(e){return d0(e)}function d0(e){return e.replace(Sz,"<$1$2$3")}function Nm(e,t){const n=new RegExp(`<${t}>([\\s\\S]*?)</${t}>`,"i").exec(e);return n?n[1]??"":null}function Cz(e){return e?e.split(`
|
|
96
96
|
`).map(t=>t.trim()).filter(t=>t.startsWith("- ")).map(t=>t.slice(2).trim()).filter(t=>t.length>0):[]}function Ez(e){return e.replace(/^\n/,"").replace(/\n$/,"")}function Nz(e){const t={},n=/([a-z-]+)="([^"]*)"/gi;for(let r=n.exec(e);r!==null;r=n.exec(e))t[r[1]]=Tz(r[2]??"");return t}function Tz(e){return e.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}const Iz="codex-cloud";function Pz(e){return e==="codex"||e===Iz}const Rz=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]);let ki=null;function Mz(){if(ki!==null)return ki;if(typeof window>"u")return ki=!1,!1;if(Rz.has(window.location.hostname)||window.location.protocol==="file:")return ki=!0,!0;if(new URLSearchParams(window.location.search).get("debug")==="1"){ki=!0;try{sessionStorage.setItem("debug","1")}catch{}}else try{ki=sessionStorage.getItem("debug")==="1"}catch{ki=!1}return ki}function Me(e,...t){Mz()&&console.log(`[${e}][${new Date().toISOString()}]`,...t)}function ud(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 Az=e=>{const t=[1e3,2e3,4e3,8e3,16e3,3e4];return t[Math.min(e,t.length-1)]},Lz=new Set(["auth:ok","pong","error"]),Tw=new Set(qT.filter(e=>!Lz.has(e)));let Dz=0;const Iw=()=>`r${++Dz}`;function jz(e){let t=e.url,n=e.authToken,r=e.selfIdentity;const i=e.clientInfo,s=e.requestTimeoutMs??3e4,o=e.pingIntervalMs??3e4,a=e.watchdogMs??6e4,l=e.authTimeoutMs??1e4,c=e.backoffMs??Az;let u=null,d=!1,f=0,p=null,m=null,v=null,w=null,_=!1,x="disconnected";const y=new Map,S=new Map;let C=null;const k=(O,E)=>{var H;O==="ready"&&(C=E),(H=S.get(O))==null||H.forEach(q=>{try{q(E)}catch{}})},N=O=>{x!==O&&(x=O,k("status",O))},T=(O,E)=>{const H=S.get(O)??new Set;if(H.add(E),S.set(O,H),O==="ready"&&C!==null)try{E(C)}catch{}return()=>H.delete(E)},z=()=>{m&&(clearInterval(m),m=null),v&&(clearTimeout(v),v=null),w&&(clearTimeout(w),w=null)},P=()=>{v&&clearTimeout(v),v=setTimeout(()=>{try{u==null||u.close(4e3,"pong watchdog")}catch{}},a)},B=()=>{m&&clearInterval(m),m=setInterval(()=>{(u==null?void 0:u.readyState)===1&&u.send(JSON.stringify({type:"ping",requestId:Iw()}))},o),P()},M=O=>{for(const[,E]of y)clearTimeout(E.timer),E.reject(new Error(O));y.clear()},R=[],A=()=>{if(R.length===0)return;const O=R.splice(0);for(const E of O)(u==null?void 0:u.readyState)===1&&!_?E.doSend():(clearTimeout(E.timer),E.reject(new Error("NOT_CONNECTED")))},D=O=>{if(R.length===0)return;const E=R.splice(0);for(const H of E)clearTimeout(H.timer),H.reject(new Error(O))},$=()=>{if(d)return;const O=c(f);if(O<0){D("connection closed: not reconnecting");return}k("daemon:reconnecting",{attempt:f+1,nextDelayMs:O,scheduledAt:Date.now()}),p&&clearTimeout(p),p=setTimeout(()=>{f+=1,j()},O)},F=O=>{P();const E=String(O.type??"");if(E==="auth:ok"){Me("daemon-client","auth:ok received → connected",{url:t}),w&&(clearTimeout(w),w=null),_=!1,f=0,N("connected"),k("daemon:connected",{url:t}),B(),A();return}if(E==="pong")return;if(E==="ready"){const q=Number(O.protocolVersion??-1);q!==Ew&&k("daemon:version-mismatch",{daemonProtocol:q,supportedProtocol:Ew}),k("ready",O);return}const H=O.requestId;if(typeof H=="string"&&y.has(H)){const q=y.get(H);if(y.delete(H),clearTimeout(q.timer),E==="error"){const L=String(O.code??"ERR"),re=String(O.message??"unknown");q.reject(new Error(`${L}: ${re}`))}else Tw.has(E)&&k(E,O),q.resolve(O);return}Tw.has(E)&&k(E,O)},j=()=>{p&&(clearTimeout(p),p=null),Me("daemon-client","connect →",{url:t,token:ud(n),attempt:f}),N("connecting");let O;try{O=new WebSocket(t)}catch(E){N("disconnected"),k("daemon:disconnected",{reason:(E==null?void 0:E.message)??"ws constructor failed"}),$();return}u=O,_=!!n,O.onopen=()=>{if(O!==u){Me("daemon-client","onopen → stale (replaced before opened), ignore");return}if(n){Me("daemon-client","onopen → send auth frame",{token:ud(n)});const E={type:"auth",token:n};r!=null&&r.principalId&&(E.selfPrincipalId=r.principalId),r!=null&&r.displayName&&(E.selfDisplayName=r.displayName),i&&(E.clientInfo=i),O.send(JSON.stringify(E)),w=setTimeout(()=>{try{O.close(4001,"auth handshake timeout")}catch{}},l)}else Me("daemon-client","onopen → no token, treat as connected (daemon authMode=none)"),f=0,N("connected"),k("daemon:connected",{url:t}),B(),A()},O.onclose=E=>{if(O!==u){Me("daemon-client","onclose → stale, ignore",{code:E.code,reason:E.reason});return}const H=E.reason||(E.code===1008?"auth failed":`close ${E.code}`);if(Me("daemon-client","onclose →",{code:E.code,reason:H,awaitingAuth:_,manualStop:d}),z(),M(`connection closed: ${H}`),u=null,E.code===4401?N("revoked"):N("disconnected"),k("daemon:disconnected",{reason:H}),E.code===1008||E.code===4401){D(`connection closed: ${H}`);return}d?D(`connection closed: ${H}`):$()},O.onerror=()=>{},O.onmessage=E=>{if(O!==u)return;let H;try{H=JSON.parse(String(E.data))}catch{return}F(H)}};return{start(){d=!1,f=0,j()},stop(){d=!0,p&&(clearTimeout(p),p=null),z();try{u==null||u.close(1e3,"shutdown")}catch{}u=null,M("shutdown"),D("shutdown"),N("disconnected")},switchProfile(O){Me("daemon-client","switchProfile →",{url:O.url,token:ud(O.authToken)},"prev:",{url:t,token:ud(n)}),t=O.url,n=O.authToken,O.selfIdentity!==void 0&&(r=O.selfIdentity),f=0,d=!0,p&&(clearTimeout(p),p=null),z(),M("switch profile"),D("switch profile");try{u==null||u.close(1e3,"switch profile")}catch{}u=null,d=!1,j()},request(O,E){return new Promise((H,q)=>{const L=Iw(),re=setTimeout(()=>{y.delete(L);const K=R.findIndex(_e=>_e.timer===re);K>=0&&R.splice(K,1),q(new Error(`request timeout: ${O}`))},s),ie=()=>{y.set(L,{resolve:K=>H(K),reject:q,timer:re}),u.send(JSON.stringify({...E,type:O,requestId:L}))};(u==null?void 0:u.readyState)===1&&!_?ie():d||u==null&&p==null?(clearTimeout(re),q(new Error("NOT_CONNECTED"))):R.push({doSend:ie,reject:q,timer:re})})},on:T,get isOpen(){return(u==null?void 0:u.readyState)===1&&!_},get url(){return t},getStatus(){return x}}}function Oz(e){const t=e.trim(),n=t.indexOf("#");if(n<0)return{url:t};const r=t.slice(0,n),i=t.slice(n+1),o=new URLSearchParams(i).get("token")??void 0;return{url:r,token:o??void 0}}function Bz(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 zz(e){return e?{id:e.id,mode:e.mode,url:e.url,token:Bz(e.token),name:e.name}:null}function dd(e){return e?Array.isArray(e)?e.map(zz):{_notArray:typeof e,_value:e}:null}function Pw(e){return e==null?null:typeof e=="object"&&"value"in e?e.value:e}const $z="ws://127.0.0.1:18790",Rw="daemon:profiles",Mw="daemon:active-profile-id";function Fz(){return Math.random().toString(36).slice(2,10)}function Hz(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 eI(e){let t={profiles:[],activeId:null},n=!1,r=null;const i=new Set,s=()=>{for(const l of i)l(t)},o=async()=>{Me("profile-store","persist →",dd(t.profiles),"active:",t.activeId),await e.kv.set(Rw,t.profiles),await e.kv.set(Mw,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(Rw);c=Pw(d)}catch{c=null}let u=null;try{const d=await e.kv.get(Mw);u=Pw(d)??null}catch{u=null}if(Me("profile-store","ensureLoaded read kv →","profiles:",dd(c),"activeId:",u),Array.isArray(c)&&c.length>0){const d=c.filter(Hz),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,Me("profile-store","ensureLoaded → use kv profiles",dd(d),"active:",f);return}t={profiles:[{id:"default",name:"本机",mode:"localhost",url:$z}],activeId:"default"},Me("profile-store","ensureLoaded → fallback synthesized default (NO token)",dd(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 w;await a();let c=l.url,u=l.token;if(c&&c.includes("#")){const _=Oz(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??Fz(),m={id:p,name:((w=l.name)==null?void 0:w.trim())||(d==null?void 0:d.name)||(l.mode==="remote"?"远程":"本机"),mode:l.mode,url:c.trim(),token:f};return t={profiles:[...t.profiles.filter(_=>_.id!==p),m],activeId:p},await o(),s(),m},async delete(l){var d;await a();const c=t.profiles.filter(f=>f.id!==l);let u=t.activeId;u===l&&(u=((d=c[0])==null?void 0:d.id)??null),t={profiles:c,activeId:u},await o(),s()},async activate(l){await a(),t.profiles.some(c=>c.id===l)&&(t={...t,activeId:l},await o(),s())},subscribe(l){return i.add(l),()=>i.delete(l)},getActive(){return n?t.profiles.find(l=>l.id===t.activeId)??null:null}}}const Aw="clawd.client-instance-id";let Uz={name:"clawd-web",version:"unknown"};function Wz(){let e=null;try{e=localStorage.getItem(Aw),e||(e=crypto.randomUUID(),localStorage.setItem(Aw,e))}catch{e=e??crypto.randomUUID()}return{...Uz,instanceId:e}}function Lw(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 tI=g.createContext(null);function Vz({host:e,children:t}){const[n,r]=g.useState(null),i=g.useMemo(()=>async()=>{const s=eI(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 Me("daemon-context","bootstrap → createDaemonClient",{id:a.id,url:a.url,token:Lw(a.token)}),{client:jz({url:a.url,authToken:a.token,clientInfo:Wz()}),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){Me("daemon-context","subscribe → no active profile, skip switchProfile");return}Me("daemon-context","subscribe → switchProfile",{id:c.id,url:c.url,token:Lw(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(tI.Provider,{value:n,children:t}):null}function Xi(){const e=g.useContext(tI);if(!e)throw new Error("useDaemonClient must be used inside <DaemonProvider>");return e.client}function qz(){const e=Xi(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i.mode,o=s==="tui"?"tui":"sdk";Me("daemon-context","useDaemonMode ready.mode =",{rawMode:s,resolved:o}),n(o)}),[e]),t}function Kz(){const e=Xi(),[t,n]=g.useState(void 0);return g.useEffect(()=>e.on("ready",i=>{const s=i;s.version!==void 0&&n(s.principalKind==="guest"?"guest":"owner")}),[e]),t}const nI=g.createContext(null);function Gz({cache:e,children:t}){return g.createElement(nI.Provider,{value:e},t)}function Oo(){const e=g.useContext(nI);if(!e)throw new Error("useCache must be used inside <CacheProvider>");return e}function Wi(e){const t=Oo(),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 rI={actionsLevel:"none",httpBaseUrl:null,httpToken:null},iI=g.createContext(rI);function ap(){return g.useContext(iI)}function Yz(e){return e!=null&&e.httpBaseUrl?{actionsLevel:e.tokenRole==="owner"?"owner":"none",httpBaseUrl:e.httpBaseUrl,httpToken:e.httpToken??null}:rI}function Xz(){const e=Wi("daemon-info");return g.useMemo(()=>Yz(e),[e])}function Qz({children:e}){const t=Xz();return Ke.createElement(iI.Provider,{value:t},e)}function Zz(e,t,n){if(!e.httpBaseUrl)return null;const r=encodeURIComponent(n);return`${e.httpBaseUrl}/session/${encodeURIComponent(t.sessionId)}/files?path=${r}`}function Jz(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 e$(){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 t$(e){return{request:(t,n)=>e.request(t,n),onFrame(t){const n=[];for(const r of qT)n.push(e.on(r,i=>t(r,i)));return()=>{for(const r of n)r()}},onConnect(t){return e.on("daemon:connected",()=>t())},get isConnected(){return e.isOpen}}}function sI(e){const t=(e??"claude")==="claude";return{rewind:t,subagents:t,tui:t,observe:t,fileSharing:t,fork:t}}const n$=e=>({tool:e,models:[{id:"",label:"未指定",contextWindowSize:2e5,default:!0}],permissionModes:[{id:"",label:"未指定"}],configSchema:[],features:sI(e)});function r$(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,()=>n$(r))}},o=e.onConnect(()=>{s()});return s(),()=>{i=!0,o()}}}}function i$(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 Qc={sessionId:null,events:[],lastSeq:-1,pendingPermissions:[],status:"idle",pendingQuestions:{},queued:[]};function Tm(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 oI(e,t,n){const r=n===void 0?e.sessionId:n;switch(t.type){case"session:change":return{...Qc,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=Tm(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:queue":return!r||t.sessionId!==r?e:{...e,queued:t.items};case"session:events":{if(!r||t.sessionId!==r)return e;const i=t.events.map(o=>o.event),s=i.reduce((o,a)=>Tm(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)=>Tm(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{...Qc,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 s$="session/";function o$(e){return{sid:e.slice(s$.length)}}const a$=new Set(KT);function aI(e){return a$.has(e)}function Dw(e){return aI(e)?e:"idle"}function l$(e,t){return{start(n){const{sid:r}=o$(n);let i=!1,s=-1;const o=f=>{t(n,p=>oI(p??Qc,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??[],w=m.latestSeq??-1;if(f==="baseline")o({type:"session:events",sessionId:r,events:v,latestSeq:w}),s=w;else{const _=m.bufferStartSeq??0,x=w<p||_>p+1;o({type:x?"session:events":"session:events:append",sessionId:r,events:v,latestSeq:w}),s=Math.max(s,w)}}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:Dw(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;Me("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(!aI(m.status)){Me("session-events","push session:status drop",{sid:r,status:m.status});return}Me("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;Me("session-events","push session:cleared",{sid:r}),o({type:"session:change",sessionId:r}),s=-1}else if(f==="session:queue"){const m=p;if(m.sessionId!==r)return;Me("session-events","push session:queue",{sid:r,count:m.items.length}),o({type:"session:queue",sessionId:m.sessionId,items:m.items})}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:Dw(v.status)}))})}),d=e.onConnect(()=>{c()});return e.isConnected&&c(),()=>{i=!0,u(),d(),e.request("session:unsubscribe",{sessionId:r}).catch(()=>{})}}}}const c$=new Set(["tunnel:ready","tunnel:exited","tunnel:unavailable"]);function u$(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=>{c$.has(a)&&i()});return i(),()=>{r=!0,s(),o()}}}}function d$(){return{start(){return()=>{}}}}function h$(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 f$(e){const t=t$(e),n=e$();let r=null;const i=(o,a)=>{r==null||r.setData(o,a)};n.register(/^capabilities\//,r$(t,i)),n.register(/^sessions$/,i$(t,i)),n.register(/^session\//,l$(t,i)),n.register(/^personas$/,h$(t,i)),n.register(/^persona-detail\//,d$()),n.register(/^daemon-info$/,u$(t,i));const s=Jz({onFirstObserver:o=>{o&&n.activate(o)},onLastObserver:o=>{o&&n.deactivate(o)}});return r=s,{cache:s,channel:t}}class Vx{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)}projectList(){return this.client.request("project:list")}projectCreate(t){return this.client.request("project:create",{...t.path?{path:t.path}:{},...t.name?{name:t.name}:{}})}projectPatch(t){return this.client.request("project:patch",t)}projectReveal(t){return this.client.request("project:reveal",{path: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,r){return this.client.request("session:send",{sessionId:t,text:n,...r!=null&&r.queueWhileRunning?{queueWhileRunning:!0}:{}})}sessionDequeue(t,n){return this.client.request("session:dequeue",{sessionId:t,...n?{id: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})}searchSessionContent(t){return this.client.request("session:searchContent",t)}archiveSession(t,n){return this.client.request("session:archive",{sessionId:t,archived:n})}markSessionRead(t){return this.client.request("session:markRead",{sessionId:t})}reorderPins(t){return this.client.request("session:reorderPins",{orderedIds:t})}peerSessionUpsert(t){return this.client.request("peerSession:upsert",t)}peerSessionRemove(t){return this.client.request("peerSession:remove",{sessionId:t})}permissionRespond(t){return this.client.request("permission:respond",t)}answerQuestion(t){return this.client.request("session:answerQuestion",t)}cancelQuestion(t){return this.client.request("session:cancelQuestion",t)}historyProjects(){return this.client.request("history:projects")}historyList(t){return this.client.request("history:list",{projectPath:t})}historyRead(t){return this.client.request("history:read",t)}historySubagents(t){return this.client.request("history:subagents",t)}historySubagentRead(t){return this.client.request("history:subagent-read",t)}listRecentDirs(){return this.client.request("history:recentDirs",{})}getGitRoot(t){return this.client.request("git:root",{cwd:t})}getGitBranch(t){return this.client.request("git:branch",{cwd:t})}listGitBranches(t){return this.client.request("git:branches",{cwd:t})}personaCreate(t){return this.client.request("persona:create",t)}personaList(){return this.client.request("persona:list",{})}personaGet(t){return this.client.request("persona:get",{personaId:t})}personaUpdate(t,n){return this.client.request("persona:update",{personaId:t,patch:n})}personaDelete(t){return this.client.request("persona:delete",{personaId:t})}larkBotBindManual(t,n,r){return this.client.request("larkBot:bindManual",{personaId:t,appId:n,appSecret:r})}larkBotUnbind(t){return this.client.request("larkBot:unbind",{personaId:t})}larkBotStatus(t){return this.client.request("larkBot:status",{personaId:t})}toolsProbe(){return this.client.request("tools:probe",{})}sessionExternalScan(){return this.client.request("session:externalScan",{})}sessionImportExternal(t){return this.client.request("session:importExternal",t)}onboardingComplete(){return this.client.request("onboarding:complete",{})}onboardingIosInterest(){return this.client.request("onboarding:iosInterest",{})}visitorList(){return this.client.request("visitor:list",{})}workspaceList(t={}){return this.client.request("workspace:list",t)}workspaceRead(t){return this.client.request("workspace:read",t)}skillsList(t,n){return this.client.request("skills:list",{cwd:t,...n?{tool:n}:{}})}agentsList(t,n){return this.client.request("agents:list",{cwd:t,...n?{tool:n}:{}})}capabilitiesGet(t="claude",n){return this.client.request("capabilities:get",{tool:t,...n!=null&&n.refresh?{refresh:!0}:{}})}engineStatus(t){return this.client.request("engine:status",{tool:t})}engineConnectPool(t){return this.client.request("engine:connectPool",{apiKey:t})}shiftList(){return this.client.request("shift:list")}deployGet(t){return this.client.request("deploy:get",{personaId:t})}deployPatch(t,n){return this.client.request("deploy:patch",{personaId:t,patch:n})}deployPutSecret(t,n,r){return this.client.request("deploy:putSecret",{personaId:t,name:n,values:r})}deployRerunJob(t,n){return this.client.request("deploy:rerunJob",{personaId:t,jobId:n})}deployRelease(t){return this.client.request("deploy:release",{personaId:t})}cloudConnectorsList(t){return this.client.request("cloud:connectors:list",{personaId:t})}cloudConnectorFill(t,n,r){return this.client.request("cloud:connectors:fill",{personaId:t,name:n,values:r})}channelList(){return this.client.request("channel:list")}channelCreate(t){return this.client.request("channel:create",t)}channelUpdate(t){return this.client.request("channel:update",t)}channelDelete(t){return this.client.request("channel:delete",t)}topicList(t){return this.client.request("topic:list",t)}topicGet(t){return this.client.request("topic:get",t)}topicCreate(t){return this.client.request("topic:create",t)}topicClose(t){return this.client.request("topic:close",t)}topicRename(t){return this.client.request("topic:rename",t)}topicDelete(t){return this.client.request("topic:delete",t)}personaDispatchList(t){return this.client.request("personaDispatch:list",t)}githubAuthGet(){return this.client.request("githubAuth:get")}githubAuthOauthStart(t){return this.client.request("githubAuth:oauthStart",t?{returnTo:t}:{})}githubAuthAuthorize(t){return this.client.request("githubAuth:authorize",{token:t})}githubStatus(){return this.client.request("github:status")}githubPrList(t){return this.client.request("github:prList",{role:t})}githubPrDetail(t){return this.client.request("github:prDetail",{...t})}githubPrMerge(t){return this.client.request("github:prMerge",{...t})}githubPrComment(t){return this.client.request("github:prComment",{...t})}githubPrSetReady(t){return this.client.request("github:prSetReady",{...t})}githubCollaborators(t){return this.client.request("github:collaborators",{...t})}githubPrRequestReviewers(t){return this.client.request("github:prRequestReviewers",{...t})}}function p$(e){const[t,n]=g.useState(e.isOpen?{kind:"connected",url:""}:{kind:"connecting"});return g.useEffect(()=>{const r=e.on("ready",l=>{const c=l;n(u=>({kind:"connected",url:u.kind==="connected"?u.url:"",mode:u.kind==="connected"?u.mode:void 0,daemonVersion:c.version,protocolVersion:c.protocolVersion,daemonSource:c.daemonSource,globalCliVersion:c.globalCliVersion,onboardingCompletedAt:c.onboardingCompletedAt}))}),i=e.on("daemon:connected",l=>{const c=l;n(u=>({kind:"connected",url:c.url,mode:c.mode,daemonVersion:u.kind==="connected"?u.daemonVersion:void 0,protocolVersion:u.kind==="connected"?u.protocolVersion:void 0,daemonSource:u.kind==="connected"?u.daemonSource:void 0,globalCliVersion:u.kind==="connected"?u.globalCliVersion:void 0,onboardingCompletedAt:u.kind==="connected"?u.onboardingCompletedAt:void 0}))}),s=e.on("daemon:disconnected",l=>{const c=(l==null?void 0:l.reason)??"";/auth failed|auth timeout|auth required|auth handshake timeout/i.test(c)?n({kind:"auth-failed",reason:c}):n({kind:"disconnected",reason:c})}),o=e.on("daemon:reconnecting",l=>{const c=l;n({kind:"reconnecting",attempt:c.attempt,nextDelayMs:c.nextDelayMs,scheduledAt:c.scheduledAt??Date.now()})}),a=e.on("daemon:version-mismatch",l=>{const c=l;n({kind:"version-mismatch",daemonProtocol:c.daemonProtocol,supportedProtocol:c.supportedProtocol})});return()=>{r(),i(),s(),o(),a()}},[e]),t}function m$(e){const t=Oo(),n=Wi(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 xl(){const e=Xi();return g.useMemo(()=>new Vx(e),[e])}function lI(e){return{personaId:e.personaId,label:e.label,model:e.model,effort:e.effort,tool:e.tool,public:e.public,createdAt:e.createdAt,updatedAt:e.updatedAt,...e.cloud?{cloud:e.cloud}:{}}}function cI(){const e=Oo(),t=xl(),n=Wi("personas")??[],r=g.useMemo(()=>n.map(s=>lI(s)),[n]),i=g.useCallback(async()=>{const s=await t.personaList();e.setData("personas",()=>s.personas??[])},[t,e]);return{personas:r,raw:n,loaded:Wi("personas")!==void 0,refresh:i}}function uI(e){const{raw:t}=cI(),n=Oo(),r=xl(),i=e?t.find(a=>a.personaId===e)??null:null,s=i?lI(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 g$(e){const t=xl(),n=Oo(),r=e?`persona-detail/${e}`:"",i=Wi(r),s=g.useCallback(async()=>{const o={personality:"",personalityLocal:"",personalityManaged:!1,skills:[],plugins:[],sandboxSettings:null,codexSandbox:null};if(!e)return o;let a=null;try{a=await t.personaGet(e)}catch(c){Me("personas","personaGet failed → empty detail",{personaId:e,err:c}),a=null}const l=a?{personality:a.personality??"",personalityLocal:a.personalityLocal??"",personalityManaged:a.personalityManaged??!1,skills:a.skills??[],plugins:a.plugins??[],sandboxSettings:a.sandboxSettings??null,codexSandbox:a.codexSandbox??null}:o;return n.setData(r,()=>l),l},[t,n,e,r]);return g.useEffect(()=>{e&&s()},[e,s]),{personality:(i==null?void 0:i.personality)??"",personalityLocal:(i==null?void 0:i.personalityLocal)??"",personalityManaged:(i==null?void 0:i.personalityManaged)??!1,skills:(i==null?void 0:i.skills)??[],plugins:(i==null?void 0:i.plugins)??[],sandboxSettings:(i==null?void 0:i.sandboxSettings)??null,codexSandbox:(i==null?void 0:i.codexSandbox)??null,loaded:i!==void 0,refresh:s}}function dI(){const e=Oo(),t=xl();return g.useCallback(async()=>{const n=await t.personaList();e.setData("personas",()=>n.personas??[])},[e,t])}function v$(){const e=xl(),t=dI();return g.useCallback(async(n,r)=>{const i=await e.personaUpdate(n,r);return await t(),i},[e,t])}function _$(){const e=xl(),t=dI();return g.useCallback(async n=>{await e.personaDelete(n),await t()},[e,t])}const jw="clawd:sidebar:tree-collapsed";function x$(e){return e&&typeof e=="object"&&"value"in e?e.value:e}function y$(e){const t=x$(e);if(!Array.isArray(t))return new Set;const n=new Set;for(const r of t)typeof r=="string"&&n.add(r);return n}function b$(){const e=Sx(),[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(jw);if(l)return;n(y$(c))}catch{}})(),()=>{l=!0}},[e]);const i=g.useCallback(l=>{e.kv.set(jw,[...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 qx=g.createContext(null);function w$(){const e=g.useContext(qx);if(!e)throw new Error("SessionTreeCollapsedContext.Provider missing — wrap SessionTreeNode tree with <SessionTreeCollapsedContext.Provider value={useSessionTreeCollapsed()}>");return e}/**
|
|
97
97
|
* @license lucide-react v0.577.0 - ISC
|
|
98
98
|
*
|
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-yzmHj1Cw.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/share-ui/assets/guest-BKYmFSKj.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body style="margin: 0">
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# supabase —— 阿里云托管 supabase 实例(公网 endpoint 121.196.249.178:80,
|
|
2
|
-
# 项目 ra-ae0i57kef06s6ix / clawd-app-builder,杭州可用区J)。
|
|
3
|
-
# 消费方两处,都经 daemon 的凭据表交付、都不落 persona 目录:
|
|
4
|
-
# - supabase MCP server(persona-app-builder/.mcp.json 的 ${...} 占位)
|
|
5
|
-
# —— @aliyun-rds/supabase-mcp-server 的 commander option 默认值就读这三个名字,
|
|
6
|
-
# 所以不再传 --supabase-* CLI 参数(参数会出现在 ps 输出里)。
|
|
7
|
-
# - deploy-kit 的 publish.sh / new-extension.sh(渲染进 s.yaml 的 environmentVariables
|
|
8
|
-
# 与项目 server/.env)—— 那两处历史上叫 SUPABASE_KEY,值同 anon。
|
|
9
|
-
#
|
|
10
|
-
# **不放 JWT 签发密钥**:它能自签任意 role / 任意 user 的 token(含 service_role),
|
|
11
|
-
# 下发出去等于把 anon/service key 的轮换能力一起交出去;而 MCP server 里它唯一的用处是
|
|
12
|
-
# verify_jwt_secret 这个自检工具报个 found/preview。摘掉零功能损失。
|
|
13
|
-
SUPABASE_URL=http://121.196.249.178:80
|
|
14
|
-
SUPABASE_ANON_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJvbGUiOiJhbm9uIiwiaWF0IjoxNzgzMzEwODU1LCJleHAiOjEzMjkzOTUwODU1fQ.sHLZH8q2SGWYbNPEFOzTFlQEtjVK3z1DlEqoU_5Uyyg
|
|
15
|
-
SUPABASE_SERVICE_ROLE_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJvbGUiOiJzZXJ2aWNlX3JvbGUiLCJpYXQiOjE3ODMzMTA4NTUsImV4cCI6MTMyOTM5NTA4NTV9.MdlymSh0DaJdiOVRmM3QnukUDtkOf_Eljh8_fpdLi8Q
|
|
16
|
-
SUPABASE_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJvbGUiOiJhbm9uIiwiaWF0IjoxNzgzMzEwODU1LCJleHAiOjEzMjkzOTUwODU1fQ.sHLZH8q2SGWYbNPEFOzTFlQEtjVK3z1DlEqoU_5Uyyg
|