@yancyyu/openhermit 1.6.26 → 1.6.27

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.
Files changed (65) hide show
  1. package/README.md +127 -81
  2. package/dist-renderer/assets/{ProjectEditorOverlay-Byepdwo2.js → ProjectEditorOverlay-BBwYdXPv.js} +1 -1
  3. package/dist-renderer/assets/{TeamGraphOverlay-vvWu-2c9.js → TeamGraphOverlay-DVq8rt6_.js} +1 -1
  4. package/dist-renderer/assets/{_basePickBy-DfsmMgXN.js → _basePickBy-ZbF0pKvS.js} +1 -1
  5. package/dist-renderer/assets/{_baseUniq-Bve-IKz5.js → _baseUniq-BBLBOeXc.js} +1 -1
  6. package/dist-renderer/assets/{arc-4cbkhagw.js → arc-wGaEgkCf.js} +1 -1
  7. package/dist-renderer/assets/{architectureDiagram-VXUJARFQ-CC9i0bMK.js → architectureDiagram-VXUJARFQ-BpMkdC35.js} +1 -1
  8. package/dist-renderer/assets/{blockDiagram-VD42YOAC-BjFruJ65.js → blockDiagram-VD42YOAC-C8Z1xhG4.js} +1 -1
  9. package/dist-renderer/assets/{c4Diagram-YG6GDRKO-CrYzsQC1.js → c4Diagram-YG6GDRKO-CJmlw9LA.js} +1 -1
  10. package/dist-renderer/assets/channel-DJUrwVrK.js +1 -0
  11. package/dist-renderer/assets/{chunk-4BX2VUAB-Bb9MCt7J.js → chunk-4BX2VUAB-CHPHiRPP.js} +1 -1
  12. package/dist-renderer/assets/{chunk-55IACEB6-BpOVOXVa.js → chunk-55IACEB6-DyVohOQb.js} +1 -1
  13. package/dist-renderer/assets/{chunk-B4BG7PRW-GtEiO-7n.js → chunk-B4BG7PRW-p5bffh_R.js} +1 -1
  14. package/dist-renderer/assets/{chunk-DI55MBZ5-BRlzcOEj.js → chunk-DI55MBZ5-BnfGPSUu.js} +1 -1
  15. package/dist-renderer/assets/{chunk-FMBD7UC4-DcvMVOZx.js → chunk-FMBD7UC4-B6SCKseX.js} +1 -1
  16. package/dist-renderer/assets/{chunk-QN33PNHL-B9pkjVpd.js → chunk-QN33PNHL-L12RvLBR.js} +1 -1
  17. package/dist-renderer/assets/{chunk-QZHKN3VN-DzHPSm01.js → chunk-QZHKN3VN-DeH1Kxge.js} +1 -1
  18. package/dist-renderer/assets/{chunk-TZMSLE5B-BU9c0Hcn.js → chunk-TZMSLE5B-BWnjzSlI.js} +1 -1
  19. package/dist-renderer/assets/classDiagram-2ON5EDUG-blc3DrH7.js +1 -0
  20. package/dist-renderer/assets/classDiagram-v2-WZHVMYZB-blc3DrH7.js +1 -0
  21. package/dist-renderer/assets/clone-BftjWakJ.js +1 -0
  22. package/dist-renderer/assets/{cose-bilkent-S5V4N54A-BqOg0x3V.js → cose-bilkent-S5V4N54A-BtzoT5fu.js} +1 -1
  23. package/dist-renderer/assets/{dagre-6UL2VRFP-C9JTWefj.js → dagre-6UL2VRFP-CBBvuoUD.js} +1 -1
  24. package/dist-renderer/assets/{diagram-PSM6KHXK-ljleG6ui.js → diagram-PSM6KHXK-Be9BAKws.js} +1 -1
  25. package/dist-renderer/assets/{diagram-QEK2KX5R-BbV-WSTr.js → diagram-QEK2KX5R-BDS4PI_i.js} +1 -1
  26. package/dist-renderer/assets/{diagram-S2PKOQOG-CKi3DFby.js → diagram-S2PKOQOG-2Rameaq7.js} +1 -1
  27. package/dist-renderer/assets/{erDiagram-Q2GNP2WA-D3HE7b-j.js → erDiagram-Q2GNP2WA-CSIzCEZD.js} +1 -1
  28. package/dist-renderer/assets/{flowDiagram-NV44I4VS-C2yLRmM0.js → flowDiagram-NV44I4VS-ForEIVM5.js} +1 -1
  29. package/dist-renderer/assets/{ganttDiagram-JELNMOA3-XEV4KtUf.js → ganttDiagram-JELNMOA3-BJrli_xr.js} +1 -1
  30. package/dist-renderer/assets/{gitGraphDiagram-V2S2FVAM-ufaCCg7c.js → gitGraphDiagram-V2S2FVAM-C_4GuLno.js} +1 -1
  31. package/dist-renderer/assets/{graph-BzPvdBp0.js → graph-B1EAT_gw.js} +1 -1
  32. package/dist-renderer/assets/{index-yNYjzR2R.js → index-DOA_jbYb.js} +1 -1
  33. package/dist-renderer/assets/{index-DUIDxnaf.js → index-DR602dwJ.js} +1 -1
  34. package/dist-renderer/assets/{index-A5CMVuXA.js → index-DYdseEwc.js} +532 -532
  35. package/dist-renderer/assets/{index-DHq6dXy7.js → index-Dwr5wu5x.js} +1 -1
  36. package/dist-renderer/assets/{index-BprOls_t.js → index-eKRmS5kI.js} +1 -1
  37. package/dist-renderer/assets/{index-Cr91T9ef.js → index-k4tnOFC5.js} +1 -1
  38. package/dist-renderer/assets/{infoDiagram-HS3SLOUP-DKP5zgHc.js → infoDiagram-HS3SLOUP-DjI0uaMz.js} +1 -1
  39. package/dist-renderer/assets/{journeyDiagram-XKPGCS4Q-Omd7tmzE.js → journeyDiagram-XKPGCS4Q-jQ6Thae-.js} +1 -1
  40. package/dist-renderer/assets/{kanban-definition-3W4ZIXB7-D7yw9yIY.js → kanban-definition-3W4ZIXB7-CKw6InbL.js} +1 -1
  41. package/dist-renderer/assets/{layout-DZxAqFuM.js → layout-Dad20y3V.js} +1 -1
  42. package/dist-renderer/assets/{linear-BXWJygRB.js → linear-vMgo_2Cv.js} +1 -1
  43. package/dist-renderer/assets/{mindmap-definition-VGOIOE7T-BfJ09SBb.js → mindmap-definition-VGOIOE7T-DYp6YoHL.js} +1 -1
  44. package/dist-renderer/assets/{pieDiagram-ADFJNKIX-BYaLQhXj.js → pieDiagram-ADFJNKIX-BytBecG9.js} +1 -1
  45. package/dist-renderer/assets/{quadrantDiagram-AYHSOK5B-DeA0B1fw.js → quadrantDiagram-AYHSOK5B-RUaspLsc.js} +1 -1
  46. package/dist-renderer/assets/{requirementDiagram-UZGBJVZJ-DnFWn7-v.js → requirementDiagram-UZGBJVZJ-rR2B1Use.js} +1 -1
  47. package/dist-renderer/assets/{sankeyDiagram-TZEHDZUN-L9bek20k.js → sankeyDiagram-TZEHDZUN-BJi5qYhq.js} +1 -1
  48. package/dist-renderer/assets/{sequenceDiagram-WL72ISMW-BBmcJUXb.js → sequenceDiagram-WL72ISMW-BM-wggUb.js} +1 -1
  49. package/dist-renderer/assets/{stateDiagram-FKZM4ZOC-DrwPQvTq.js → stateDiagram-FKZM4ZOC-BqmcVjnj.js} +1 -1
  50. package/dist-renderer/assets/{stateDiagram-v2-4FDKWEC3-BOUQrTH6.js → stateDiagram-v2-4FDKWEC3-By3JDVbB.js} +1 -1
  51. package/dist-renderer/assets/{timeline-definition-IT6M3QCI-Dldh9vsj.js → timeline-definition-IT6M3QCI-szH0GUyk.js} +1 -1
  52. package/dist-renderer/assets/{treemap-GDKQZRPO-BsGSs8-P.js → treemap-GDKQZRPO-BCMlh-Ex.js} +1 -1
  53. package/dist-renderer/assets/{xychartDiagram-PRI3JC2R-BsR_bj-d.js → xychartDiagram-PRI3JC2R-dwDpvw0w.js} +1 -1
  54. package/dist-renderer/index.html +1 -1
  55. package/package.json +1 -1
  56. package/src/main/server.ts +17 -5
  57. package/src/renderer/api/httpClient.ts +1 -1
  58. package/src/renderer/components/team/TeamDetailView.tsx +40 -20
  59. package/src/renderer/components/team/TeamListView.tsx +35 -21
  60. package/src/renderer/components/team/dialogs/CreateTeamDialog.tsx +10 -7
  61. package/src/renderer/components/team/dialogs/EditTeamDialog.tsx +9 -6
  62. package/dist-renderer/assets/channel-BMMyVRy4.js +0 -1
  63. package/dist-renderer/assets/classDiagram-2ON5EDUG-Dz1VG1T3.js +0 -1
  64. package/dist-renderer/assets/classDiagram-v2-WZHVMYZB-Dz1VG1T3.js +0 -1
  65. package/dist-renderer/assets/clone-COsIIGZQ.js +0 -1
package/README.md CHANGED
@@ -1,115 +1,107 @@
1
1
  <p align="center">
2
- <img src="resources/icons/png/1024x1024.png" alt="openHermit" width="100" />
2
+ <img src="resources/icons/png/1024x1024.png" alt="openHermit" width="96" />
3
3
  </p>
4
4
 
5
5
  <h1 align="center">openHermit</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>超级个体的 AI 基础设施:用代码重构公司形态</strong><br/>
9
- 告别“玩具级”的提示词角色扮演。用状态机接管工作流,让一个人成为一支军队。
8
+ <strong>超级个体的 AI 基础设施 — 一个人,一块看板,一支军队</strong><br/>
9
+ 用代码重构公司形态,让 AI Agent 团队自主协作、自动流转、自动驾驶。
10
10
  </p>
11
11
 
12
12
  <p align="center">
13
13
  <a href="https://github.com/yancyuu/Hermit/releases/latest"><img src="https://img.shields.io/github/v/release/yancyuu/Hermit?style=flat-square&label=version&color=black" alt="最新版本" /></a>
14
14
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-black?style=flat-square" alt="许可证" /></a>
15
+ <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-black?style=flat-square" alt="平台" />
15
16
  </p>
16
17
 
17
- ---
18
-
19
- ## 💡 设计哲学:为什么我们需要 openHermit?
20
-
21
- 目前的 AI Agent 赛道充满了一个巨大的误区:**大家都在试图用人类的“HR 组织架构”来管理 AI。**
22
- 让大模型扮演“资深前端”或“产品经理”,本质上是在模仿人类的**职责驱动**(因岗设人)。这注定会走向死锁——因为人类有精力上限和认知边界,才需要划分部门和扯皮;而 AI 没有。
18
+ <p align="center">
19
+ <img src="docs/screenshots/openhermit/team-detail.png" alt="openHermit 看板总览" width="100%" />
20
+ </p>
23
21
 
24
- **openHermit 是一场对传统协作模式的降维打击。** 它的核心哲学只有两条:
22
+ ---
25
23
 
26
- ### 1. 对创业者:组织形态的“资产化” (OPC 范式)
27
- **OPC(One Person Company)** 不再是一个浪漫的口号,而是最具杠杆率的商业形态。
28
- 你不需要招聘、不需要对齐价值观、不需要处理情绪内耗。你是唯一的决策者,AI 是绝对服从的执行网格。openHermit 为你提供 **TPC(Team · Process · Channel)** 协作结构,将产品、开发、测试、运营转化为可并发现程。你的每一次业务跑通,都是在积累固化的“数字资产”,而不是随员工离职而流失的经验。
24
+ ## 为什么需要 openHermit?
29
25
 
30
- ### 2. 对开发者与工程师:去中心化的“状态机”驱动 (State-Driven DAG)
31
- **用管理机器的方式管理 Agent,而不是用管理人的方式。**
32
- Agent 的协作本质不该是“角色扮演”,而是**分布式状态机**。任务流是一张 DAG,每个节点代表一种确定的状态(Pending → Running → Review → Done)。
33
- * **拒绝死锁**:遇到网络波动或反爬环境,状态机自动 `Fail-Over` 切换运行时,流水线永远不会因为“超出角色职责”而卡死。
34
- * **Zero-Trust 与 Local-First**:真正的生产力工具不能是黑盒。openHermit 坚持本地优先的零信任架构。配置、项目代码、长短期记忆同步都在你的本地机器完成,彻底掌控数据主权。
35
- * **即用即走,上下文随状态流转**:Agent 不拥有固定岗位,只有当任务状态流转到 `Ready` 时,控制面才会将当前状态、上下文(Context)和能力(Skills)动态注入给对应的 Agent 运行时。
26
+ 目前的 AI Agent 赛道充满了一个巨大误区:**大家都在试图用人类的"HR 组织架构"来管理 AI。**
27
+ 让大模型扮演"资深前端"或"产品经理",本质上是在模仿人类的**职责驱动**(因岗设人)。这注定会走向死锁——因为人类有精力上限和认知边界,才需要划分部门和扯皮;而 AI 没有。
36
28
 
37
- ### 3. 动态联邦制:任务驱动的协作模式
29
+ **openHermit 的核心哲学:用管理机器的方式管理 Agent,而不是用管理人的方式。**
38
30
 
39
- openHermit 采用**动态联邦制**协作模型:每个 Agent(Harness)既可以是执行者,也可以是按任务驱动的协调者。Hermit 负责跨团队协作(任务分发、Skills/MCP 配置、使用报告),团队内部由 Honeycomb 等执行运行时负责(todo/loop、代码 review、自组织流转)。
31
+ 任务流是一张 DAG,每个节点代表一种确定的状态(Pending Running Review Done)。遇到网络波动或反爬环境,状态机自动 `Fail-Over`,流水线永远不会因为"超出角色职责"而卡死。
40
32
 
41
33
  ---
42
34
 
43
- ## ⚙️ 核心架构:TPC 引擎
44
-
45
- 想要让 OPC 跑起来,你需要的不是一堆散落的终端窗口,而是 TPC 架构:
46
-
47
- * **[ T ] Team(隔离与并发)**:给不同的工作建立独立团队。前端用 Claude Code 撸代码,后端用 Codex 构架,调研交由 Kimi。每个团队有独立的隔离运行时环境,但在全局协作看板上,任务可以跨团队无缝调度。
48
- * **[ P ] Process(状态流转)**:彻底放弃“岗位 KPI”。一切以任务的原子化状态为核心,MCP Server 动态向 Agent 注入当前所需工具。
49
- * **[ C ] Channel(全渠道触达)**:支持飞书、微信、Telegram、Discord、Slack 等 10+ 渠道接入。消息即指令,外部输入自动路由至对应 Agent 团队,支持独立上下文串或共享群会话,将你的 IM 变成公司级控制台。
35
+ ## 产品截图
36
+
37
+ <table>
38
+ <tr>
39
+ <td align="center"><b>团队列表</b></td>
40
+ <td align="center"><b>团队详情</b></td>
41
+ </tr>
42
+ <tr>
43
+ <td><img src="docs/screenshots/openhermit/team-list.png" alt="团队列表" width="480" /></td>
44
+ <td><img src="docs/screenshots/openhermit/team-detail.png" alt="团队详情" width="480" /></td>
45
+ </tr>
46
+ <tr>
47
+ <td align="center"><b>运行时配置</b></td>
48
+ <td align="center"><b>渠道绑定</b></td>
49
+ </tr>
50
+ <tr>
51
+ <td><img src="docs/screenshots/openhermit/harness-settings.png" alt="运行时配置" width="480" /></td>
52
+ <td><img src="docs/screenshots/openhermit/channel-binding.png" alt="渠道绑定" width="480" /></td>
53
+ </tr>
54
+ </table>
50
55
 
51
56
  ---
52
57
 
53
- ## 🛠️ 支持的 Agent 运行时与渠道
54
-
55
- openHermit 不提供闭源模型,也不劫持你的代码。它是一个高度可扩展的本地环境壳层。
56
-
57
- ### 极客级的多端运行时支持
58
- 创建团队时,底层 MCP Server 会自动完成零配置注入。能否启动,取决于你的算力边界。
59
-
60
- | 标识 | 运行时说明 | 标识 | 运行时说明 |
61
- |:---|:---|:---|:---|
62
- | `claudecode` | Anthropic 官方 CLI | `devin` | Cognition Devin |
63
- | `codex` | OpenAI Codex CLI | `opencode` | OpenCode CLI |
64
- | `cursor` | Cursor IDE Agent | `qoder` | Qoder CLI |
65
- | `gemini` | Google Gemini CLI | `pi` | Inflection Pi |
66
- | `iflow` | iFlow CLI | `acp` | Agent Communication Protocol |
67
- | `kimi` | Moonshot Kimi | `tmux` | 经典 Tmux Session 桥接 |
68
-
69
- ### 模块化的信使网络 (Channels)
70
- 让外部世界无缝接入你的自动化流水线:
71
- * **研发协同**:飞书(支持高级消息卡片)、钉钉、企业微信、Slack
72
- * **极客与海外**:Telegram、Discord、LINE
73
- * **私域与社群**:微信、QQ
74
- * **自定义集成**:原生支持 openHermit 内部 Bridge 协议
58
+ ## 核心能力
59
+
60
+ | 能力 | 说明 |
61
+ |:---|:---|
62
+ | **Agent 团队** | 创建多角色团队,Agent 自主并行工作 |
63
+ | **看板管理** | 任务状态实时流转 — 待办、执行中、审查、完成 |
64
+ | **代码审查** | 每个任务独立的 Diff 视图,支持接受/拒绝/评论 |
65
+ | **跨团队通信** | Agent 之间跨团队结构化消息传递 |
66
+ | **直接消息** | 向任意 Agent 发消息、评论任务、快捷操作 |
67
+ | **会话分析** | 深度拆解:Bash 命令、推理链、子进程 |
68
+ | **上下文监控** | 按类别追踪 Token 消耗,掌控上下文窗口 |
69
+ | **MCP 集成** | 内置 MCP Server,支持外部工具和 Agent 插件 |
70
+ | **权限控制** | 精细化允许/拒绝工具执行和 Agent 操作 |
71
+ | **渠道绑定** | 接入飞书、Slack、Telegram、Discord、微信等 10+ 渠道 |
72
+ | **零配置上手** | 内置 Claude Code CLI 安装和认证 |
75
73
 
76
74
  ---
77
75
 
78
- ## 🚀 极速部署
76
+ ## 极速部署
79
77
 
80
- ### 1. 安装启动
78
+ ### 方式一:npx(免安装直接运行)
81
79
 
82
- 方式一:npx(免安装直接运行)
83
80
  ```bash
84
81
  npx @yancyyu/openhermit@latest
85
82
  ```
86
83
 
87
- 方式二:全局安装
84
+ 启动后打开 [http://127.0.0.1:5680](http://127.0.0.1:5680)
85
+
86
+ ### 方式二:全局安装
87
+
88
88
  ```bash
89
89
  npm install -g @yancyyu/openhermit@latest --prefer-online
90
90
  openhermit
91
91
  ```
92
92
 
93
- 启动后打开:
94
-
95
- ```text
96
- http://127.0.0.1:5680
97
- ```
98
-
99
- 常用命令:
93
+ ### 常用命令
100
94
 
101
95
  ```bash
102
- open-hermit # 等同于 openhermit
103
- openhermit --daemon # 后台运行
104
- openhermit status # 查看后台运行状态
105
- openhermit stop # 停止后台服务
106
- openhermit --port 8080 # 指定 Web 控制台端口
107
- openhermit --version # 查看版本
108
- openhermit update # 更新 openHermit
96
+ openhermit # 启动工作台
97
+ openhermit --daemon # 后台运行
98
+ openhermit status # 查看后台状态
99
+ openhermit stop # 停止后台服务
100
+ openhermit --port 8080 # 指定端口
101
+ openhermit --version # 查看版本
102
+ openhermit update # 自更新
109
103
  ```
110
104
 
111
- 首次启动会自动创建本地运行时配置,并生成本地 token。通常只需要打开 `http://127.0.0.1:5680` 使用 openHermit。
112
-
113
105
  ### 本地开发
114
106
 
115
107
  ```bash
@@ -119,26 +111,80 @@ pnpm install
119
111
  pnpm dev
120
112
  ```
121
113
 
122
- 浏览器打开 `http://localhost:5174`
123
-
124
- 开发模式默认连接本机运行时服务;生产 CLI 会优先使用 openHermit 管理的本地配置。
114
+ 浏览器打开 [http://localhost:5174](http://localhost:5174),开发模式默认连接本机运行时。
125
115
 
126
116
  ### 创建第一个 AI 团队
127
117
 
128
- 1. 点击「新建团队」
129
- 2. 填写团队名、选 harness(如 `claudecode`)
130
- 3. 选择对应的本地项目和运行时
118
+ 1. 点击 **「新建团队」**
119
+ 2. 填写团队名,选择 harness(如 `claudecode`)
120
+ 3. 选择本地项目目录和运行时
131
121
  4. 保存 → 看板就绪,任务等你分配
132
122
 
133
123
  ---
134
124
 
125
+ ## 支持的 Agent 运行时
126
+
127
+ openHermit 不提供闭源模型,也不劫持你的代码。它是一个高度可扩展的本地壳层。
128
+
129
+ | 标识 | 运行时 | 标识 | 运行时 |
130
+ |:---|:---|:---|:---|
131
+ | `claudecode` | Anthropic Claude Code CLI | `devin` | Cognition Devin |
132
+ | `codex` | OpenAI Codex CLI | `opencode` | OpenCode CLI |
133
+ | `cursor` | Cursor IDE Agent | `qoder` | Qoder CLI |
134
+ | `gemini` | Google Gemini CLI | `pi` | Inflection Pi |
135
+ | `iflow` | iFlow CLI | `acp` | Agent Communication Protocol |
136
+ | `kimi` | Moonshot Kimi | `tmux` | 经典 Tmux Session |
137
+
138
+ ---
139
+
140
+ ## 核心架构:TPC 引擎
141
+
142
+ ```
143
+ ┌─────────────────────────────────────────────┐
144
+ │ openHermit │
145
+ │ │
146
+ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
147
+ │ │ Team A │ │ Team B │ │ Team C │ │
148
+ │ │ (agents) │ │ (agents) │ │ (agents) │ │
149
+ │ └────┬─────┘ └────┬─────┘ └──────┬─────┘ │
150
+ │ │ │ │ │
151
+ │ ─────┴──────────────┴───────────────┴────── │
152
+ │ 看板 · 消息总线 │
153
+ │ ─────────────────────────────────────────── │
154
+ │ MCP Server · Bridge 协议 │
155
+ │ ─────────────────────────────────────────── │
156
+ │ 渠道(飞书 · Slack · Telegram · ...) │
157
+ └─────────────────────────────────────────────┘
158
+ ```
159
+
160
+ - **[T]eam(隔离与并发)** — 不同团队独立运行时,全局看板跨团队调度
161
+ - **[P]rocess(状态流转)** — 任务以原子化状态为核心,MCP 动态注入能力
162
+ - **[C]hannel(全渠道触达)** — 10+ 消息渠道统一控制面,消息即指令
163
+
164
+ ---
165
+
135
166
  ## 技术栈
136
167
 
137
- - **前端**:React + TypeScript + Tailwind CSS + Zustand
138
- - **后端**:Fastify(Node.js)
139
- - **存储**:本地文件(`~/.hermit/`)
140
- - **通信**:本地 Bridge WebSocket + Management HTTP API
141
- - **协议**:MCP over HTTP(SSE + JSON-RPC)
168
+ | 层级 | 技术 |
169
+ |:---|:---|
170
+ | 前端 | React 19 · TypeScript 5 · Tailwind CSS 3 · Zustand 4 |
171
+ | 后端 | Fastify (Node.js) |
172
+ | 桌面 | Electron 40 |
173
+ | 存储 | 本地文件(`~/.hermit/`) |
174
+ | 通信 | WebSocket Bridge + HTTP Management API |
175
+ | 协议 | MCP over HTTP(SSE + JSON-RPC) |
176
+
177
+ ---
178
+
179
+ ## 贡献
180
+
181
+ 欢迎 PR。Fork → Branch → Push → PR,标准流程。
182
+
183
+ ```bash
184
+ pnpm install
185
+ pnpm dev # 启动开发服务
186
+ pnpm check # 完整质量检查(类型 + Lint + 测试 + 构建)
187
+ ```
142
188
 
143
189
  ---
144
190
 
@@ -1,4 +1,4 @@
1
- import{bD as de,bE as w,bF as Re,r as s,bG as Ce,bH as As,bI as Ls,E as pe,bJ as Os,bK as zs,q as e,bL as $s,bM as Ks,bN as Kt,bO as Gt,bP as Gs,bQ as Bs,bR as Us,bS as Vs,bT as H,bU as X,bV as sn,bW as rn,bX as q,bY as mt,bZ as he,b_ as on,b$ as P,c0 as Ws,c1 as tt,c2 as Hs,c3 as Xs,c4 as qs,c5 as Ys,c6 as Qs,c7 as Zs,c8 as Js,c9 as er,ca as tr,cb as nr,cc as sr,cd as rr,ce as or,cf as ar,cg as Bt,ch as ir,ci as an,cj as cn,ck as cr,cl as lr,cm as dr,cn as ur,co as xr,cp as je,cq as nt,cr as fr,cs as Ee,ct as hr,cu as gt,cv as ln,cw as mr,cx as dn,cy as un,cz as bt,cA as pr,cB as gr,cC as br,cD as st,cE as vr,cF as Be,cG as $,cH as Ie,cI as Cr,cJ as jr,cK as yr,cL as Nr,cM as wr,cN as Sr,cO as kr,cP as Mr,cQ as Tr,cR as Er,cS as Rr,cT as Ir,cU as Ze,cV as Dr,cW as Pr,cX as vt,cY as xn,cZ as fn,c_ as hn,c$ as _r,d0 as Fr,d1 as Ar,d2 as mn,d3 as pn,d4 as gn,d5 as Le,d6 as Oe,d7 as ze,d8 as $e,d9 as Ye,da as Qe,db as bn,dc as vn,dd as Lr,de as Ue,df as Or,dg as zr,dh as $r,di as Kr,dj as Gr,dk as Br,dl as Ur,dm as Vr,dn as Wr,dp as Hr,dq as Xr,dr as qr,ds as Yr,dt as Qr,du as Zr,dv as Fe,dw as Jr,dx as Ut,dy as eo,dz as to,dA as Vt,dB as no,dC as so,dD as ro,dE as Wt}from"./index-A5CMVuXA.js";import"./splashScene-C8lWNnm4.js";/**
1
+ import{bD as de,bE as w,bF as Re,r as s,bG as Ce,bH as As,bI as Ls,E as pe,bJ as Os,bK as zs,q as e,bL as $s,bM as Ks,bN as Kt,bO as Gt,bP as Gs,bQ as Bs,bR as Us,bS as Vs,bT as H,bU as X,bV as sn,bW as rn,bX as q,bY as mt,bZ as he,b_ as on,b$ as P,c0 as Ws,c1 as tt,c2 as Hs,c3 as Xs,c4 as qs,c5 as Ys,c6 as Qs,c7 as Zs,c8 as Js,c9 as er,ca as tr,cb as nr,cc as sr,cd as rr,ce as or,cf as ar,cg as Bt,ch as ir,ci as an,cj as cn,ck as cr,cl as lr,cm as dr,cn as ur,co as xr,cp as je,cq as nt,cr as fr,cs as Ee,ct as hr,cu as gt,cv as ln,cw as mr,cx as dn,cy as un,cz as bt,cA as pr,cB as gr,cC as br,cD as st,cE as vr,cF as Be,cG as $,cH as Ie,cI as Cr,cJ as jr,cK as yr,cL as Nr,cM as wr,cN as Sr,cO as kr,cP as Mr,cQ as Tr,cR as Er,cS as Rr,cT as Ir,cU as Ze,cV as Dr,cW as Pr,cX as vt,cY as xn,cZ as fn,c_ as hn,c$ as _r,d0 as Fr,d1 as Ar,d2 as mn,d3 as pn,d4 as gn,d5 as Le,d6 as Oe,d7 as ze,d8 as $e,d9 as Ye,da as Qe,db as bn,dc as vn,dd as Lr,de as Ue,df as Or,dg as zr,dh as $r,di as Kr,dj as Gr,dk as Br,dl as Ur,dm as Vr,dn as Wr,dp as Hr,dq as Xr,dr as qr,ds as Yr,dt as Qr,du as Zr,dv as Fe,dw as Jr,dx as Ut,dy as eo,dz as to,dA as Vt,dB as no,dC as so,dD as ro,dE as Wt}from"./index-DYdseEwc.js";import"./splashScene-C8lWNnm4.js";/**
2
2
  * @license lucide-react v0.577.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{u as R,m as V,n as q,o as D,r as n,q as a,T as P,G as W,v as I,w as Z,x as z,y as O,z as B}from"./index-A5CMVuXA.js";import"./splashScene-C8lWNnm4.js";const M=({teamName:s,onClose:c,onPinAsTab:h,sidebarVisible:C,onToggleSidebar:v,onSendMessage:u,onOpenTaskDetail:i,onOpenMemberProfile:d})=>{const T=R(s),{openTeamPage:k,commitOwnerSlotDrop:w,commitOwnerGridOrderDrop:S,setLayoutMode:x}=V(s),{sidebarVisible:m,toggleSidebarVisible:f}=q(),{dialog:G,openCreateTaskDialog:g}=D(s),b=C??m,y=v??f,t=n.useCallback(o=>e=>window.dispatchEvent(new CustomEvent(`graph:${o}`,{detail:{teamName:s,taskId:e}})),[s]),A=n.useMemo(()=>({onStartTask:t("start-task"),onCompleteTask:t("complete-task"),onApproveTask:t("approve-task"),onRequestReview:t("request-review"),onRequestChanges:t("request-changes"),onCancelTask:t("cancel-task"),onMoveBackToDone:t("move-back-to-done"),onDeleteTask:t("delete-task")}),[t]),j=n.useCallback(()=>{k(),c()},[c,k]),H=n.useCallback(()=>{g("")},[g]),E={onNodeDoubleClick:n.useCallback(o=>{o.kind==="task"?i?.(o.taskId):o.kind==="member"&&d?.(o.memberName)},[i,d]),onSendMessage:n.useCallback(o=>u?.(o),[u]),onOpenTaskDetail:n.useCallback(o=>i?.(o),[i]),onOpenMemberProfile:n.useCallback(o=>d?.(o),[d])};return a.jsxs("div",{className:"fixed inset-0 z-50 flex overflow-hidden",style:{background:"#050510"},children:[b?a.jsx(P,{teamName:s,surface:"graph-overlay",isActive:!0,isFocused:!0}):null,a.jsx(W,{data:T,events:E,isSurfaceActive:!0,onRequestClose:c,onRequestPinAsTab:h,onOpenTeamPage:j,onCreateTask:H,onToggleSidebar:y,isSidebarVisible:b,renderTopToolbarContent:()=>a.jsx(B,{teamName:s}),onLayoutModeChange:x,onOwnerSlotDrop:w,onOwnerGridOrderDrop:S,className:"team-graph-view min-w-0 flex-1",renderHud:o=>{const e=o,{getViewportSize:r,focusNodeIds:l,filters:p}=e;return a.jsxs(a.Fragment,{children:[a.jsx(z,{teamName:s,getTransientHandoffSnapshot:e.getTransientHandoffSnapshot,getCameraZoom:e.getCameraZoom,worldToScreen:e.worldToScreen,getNodeWorldPosition:e.getNodeWorldPosition,focusNodeIds:l,focusEdgeIds:e.focusEdgeIds??null}),a.jsx(O,{teamName:s,nodes:T.nodes,getActivityWorldRect:e.getActivityWorldRect,getCameraZoom:e.getCameraZoom,worldToScreen:e.worldToScreen,getNodeWorldPosition:e.getNodeWorldPosition,getViewportSize:r,focusNodeIds:l,enabled:p?.showActivity??!0,onOpenTaskDetail:i,onOpenMemberProfile:d})]})},renderEdgeOverlay:({edge:o,sourceNode:e,targetNode:r,onClose:l,onSelectNode:p})=>a.jsx(Z,{teamName:s,edge:o,sourceNode:e,targetNode:r,onClose:l,onSelectNode:p,onOpenTaskDetail:i}),renderOverlay:({node:o,onClose:e})=>a.jsx(I,{node:o,teamName:s,onClose:e,onSendMessage:r=>{u?.(r),e()},onCreateTask:g,onOpenTaskDetail:r=>{i?.(r),e()},onOpenMemberProfile:r=>{d?.(r),e()},...A})}),G]})};export{M as TeamGraphOverlay};
1
+ import{u as R,m as V,n as q,o as D,r as n,q as a,T as P,G as W,v as I,w as Z,x as z,y as O,z as B}from"./index-DYdseEwc.js";import"./splashScene-C8lWNnm4.js";const M=({teamName:s,onClose:c,onPinAsTab:h,sidebarVisible:C,onToggleSidebar:v,onSendMessage:u,onOpenTaskDetail:i,onOpenMemberProfile:d})=>{const T=R(s),{openTeamPage:k,commitOwnerSlotDrop:w,commitOwnerGridOrderDrop:S,setLayoutMode:x}=V(s),{sidebarVisible:m,toggleSidebarVisible:f}=q(),{dialog:G,openCreateTaskDialog:g}=D(s),b=C??m,y=v??f,t=n.useCallback(o=>e=>window.dispatchEvent(new CustomEvent(`graph:${o}`,{detail:{teamName:s,taskId:e}})),[s]),A=n.useMemo(()=>({onStartTask:t("start-task"),onCompleteTask:t("complete-task"),onApproveTask:t("approve-task"),onRequestReview:t("request-review"),onRequestChanges:t("request-changes"),onCancelTask:t("cancel-task"),onMoveBackToDone:t("move-back-to-done"),onDeleteTask:t("delete-task")}),[t]),j=n.useCallback(()=>{k(),c()},[c,k]),H=n.useCallback(()=>{g("")},[g]),E={onNodeDoubleClick:n.useCallback(o=>{o.kind==="task"?i?.(o.taskId):o.kind==="member"&&d?.(o.memberName)},[i,d]),onSendMessage:n.useCallback(o=>u?.(o),[u]),onOpenTaskDetail:n.useCallback(o=>i?.(o),[i]),onOpenMemberProfile:n.useCallback(o=>d?.(o),[d])};return a.jsxs("div",{className:"fixed inset-0 z-50 flex overflow-hidden",style:{background:"#050510"},children:[b?a.jsx(P,{teamName:s,surface:"graph-overlay",isActive:!0,isFocused:!0}):null,a.jsx(W,{data:T,events:E,isSurfaceActive:!0,onRequestClose:c,onRequestPinAsTab:h,onOpenTeamPage:j,onCreateTask:H,onToggleSidebar:y,isSidebarVisible:b,renderTopToolbarContent:()=>a.jsx(B,{teamName:s}),onLayoutModeChange:x,onOwnerSlotDrop:w,onOwnerGridOrderDrop:S,className:"team-graph-view min-w-0 flex-1",renderHud:o=>{const e=o,{getViewportSize:r,focusNodeIds:l,filters:p}=e;return a.jsxs(a.Fragment,{children:[a.jsx(z,{teamName:s,getTransientHandoffSnapshot:e.getTransientHandoffSnapshot,getCameraZoom:e.getCameraZoom,worldToScreen:e.worldToScreen,getNodeWorldPosition:e.getNodeWorldPosition,focusNodeIds:l,focusEdgeIds:e.focusEdgeIds??null}),a.jsx(O,{teamName:s,nodes:T.nodes,getActivityWorldRect:e.getActivityWorldRect,getCameraZoom:e.getCameraZoom,worldToScreen:e.worldToScreen,getNodeWorldPosition:e.getNodeWorldPosition,getViewportSize:r,focusNodeIds:l,enabled:p?.showActivity??!0,onOpenTaskDetail:i,onOpenMemberProfile:d})]})},renderEdgeOverlay:({edge:o,sourceNode:e,targetNode:r,onClose:l,onSelectNode:p})=>a.jsx(Z,{teamName:s,edge:o,sourceNode:e,targetNode:r,onClose:l,onSelectNode:p,onOpenTaskDetail:i}),renderOverlay:({node:o,onClose:e})=>a.jsx(I,{node:o,teamName:s,onClose:e,onSendMessage:r=>{u?.(r),e()},onCreateTask:g,onOpenTaskDetail:r=>{i?.(r),e()},onOpenMemberProfile:r=>{d?.(r),e()},...A})}),G]})};export{M as TeamGraphOverlay};
@@ -1 +1 @@
1
- import{e as v,c as O,g,k as P,h as p,j as w,l as c,m as A,n as x,t as N,o as E}from"./_baseUniq-Bve-IKz5.js";import{bf as b,aV as F,bg as M,bh as _,bi as $,bj as I,bk as B,bl as T,bm as y,bn as S}from"./index-A5CMVuXA.js";var G=/\s/;function H(n){for(var r=n.length;r--&&G.test(n.charAt(r)););return r}var L=/^\s+/;function R(n){return n&&n.slice(0,H(n)+1).replace(L,"")}var m=NaN,q=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,C=/^0o[0-7]+$/i,K=parseInt;function W(n){if(typeof n=="number")return n;if(v(n))return m;if(b(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=b(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=R(n);var t=z.test(n);return t||C.test(n)?K(n.slice(2),t?2:8):q.test(n)?m:+n}var o=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=W(n),n===o||n===-o){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?O(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=F(function(n,r){n=Object(n);var t=-1,a=r.length,e=a>2?r[2]:void 0;for(e&&M(r[0],r[1],e)&&(a=1);++t<a;)for(var f=r[t],i=_(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||$(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,a){var e=Object(r);if(!I(r)){var f=g(t);r=P(r),t=function(s){return f(e[s],s,e)}}var i=n(r,t,a);return i>-1?e[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var a=n==null?0:n.length;if(!a)return-1;var e=t==null?0:D(t);return e<0&&(e=U(a+e,0)),p(n,g(r),e)}var hn=Q(Z);function V(n,r){var t=-1,a=I(n)?Array(n.length):[];return w(n,function(e,f,i){a[++t]=r(e,f,i)}),a}function bn(n,r){var t=B(n)?c:V;return t(n,g(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function gn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var a=-1,e=n.length;++a<e;){var f=n[a],i=r(f);if(i!=null&&(s===void 0?i===i&&!v(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,T,rn):void 0}function en(n,r,t,a){if(!b(n))return n;r=x(r,n);for(var e=-1,f=r.length,i=f-1,s=n;s!=null&&++e<f;){var d=N(r[e]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(e!=i){var h=s[d];u=void 0,u===void 0&&(u=b(h)?h:y(r[e+1])?[]:{})}S(s,d,u),s=s[d]}return n}function on(n,r,t){for(var a=-1,e=r.length,f={};++a<e;){var i=r[a],s=E(n,i);t(s,i)&&en(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,gn as h,dn as i,D as j,un as l,bn as m,Y as t};
1
+ import{e as v,c as O,g,k as P,h as p,j as w,l as c,m as A,n as x,t as N,o as E}from"./_baseUniq-BBLBOeXc.js";import{bf as b,aV as F,bg as M,bh as _,bi as $,bj as I,bk as B,bl as T,bm as y,bn as S}from"./index-DYdseEwc.js";var G=/\s/;function H(n){for(var r=n.length;r--&&G.test(n.charAt(r)););return r}var L=/^\s+/;function R(n){return n&&n.slice(0,H(n)+1).replace(L,"")}var m=NaN,q=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,C=/^0o[0-7]+$/i,K=parseInt;function W(n){if(typeof n=="number")return n;if(v(n))return m;if(b(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=b(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=R(n);var t=z.test(n);return t||C.test(n)?K(n.slice(2),t?2:8):q.test(n)?m:+n}var o=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=W(n),n===o||n===-o){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?O(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=F(function(n,r){n=Object(n);var t=-1,a=r.length,e=a>2?r[2]:void 0;for(e&&M(r[0],r[1],e)&&(a=1);++t<a;)for(var f=r[t],i=_(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||$(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,a){var e=Object(r);if(!I(r)){var f=g(t);r=P(r),t=function(s){return f(e[s],s,e)}}var i=n(r,t,a);return i>-1?e[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var a=n==null?0:n.length;if(!a)return-1;var e=t==null?0:D(t);return e<0&&(e=U(a+e,0)),p(n,g(r),e)}var hn=Q(Z);function V(n,r){var t=-1,a=I(n)?Array(n.length):[];return w(n,function(e,f,i){a[++t]=r(e,f,i)}),a}function bn(n,r){var t=B(n)?c:V;return t(n,g(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function gn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var a=-1,e=n.length;++a<e;){var f=n[a],i=r(f);if(i!=null&&(s===void 0?i===i&&!v(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,T,rn):void 0}function en(n,r,t,a){if(!b(n))return n;r=x(r,n);for(var e=-1,f=r.length,i=f-1,s=n;s!=null&&++e<f;){var d=N(r[e]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(e!=i){var h=s[d];u=void 0,u===void 0&&(u=b(h)?h:y(r[e+1])?[]:{})}S(s,d,u),s=s[d]}return n}function on(n,r,t){for(var a=-1,e=r.length,f={};++a<e;){var i=r[a],s=E(n,i);t(s,i)&&en(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,gn as h,dn as i,D as j,un as l,bn as m,Y as t};
@@ -1 +1 @@
1
- import{dL as S,dM as Rn,bk as T,dN as w,dO as xn,dP as Mn,bj as sn,dQ as mn,dR as un,dS as x,bh as U,dT as Cn,dU as on,dV as Fn,dW as E,dJ as gn,dX as R,bf as ln,dY as Dn,dZ as D,d_ as Gn,d$ as Un,e0 as _,bn as Nn,e1 as Bn,bi as Kn,e2 as X,e3 as jn,e4 as Hn,bm as Yn,bl as cn,dH as Zn,e5 as m}from"./index-A5CMVuXA.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function bn(n){if(typeof n=="string")return n;if(T(n))return dn(n,bn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":bn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function br(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",be="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[be]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,d=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Un(n),!s)return u?Ar(n,lr(a,n)):br(n,gr(a,n))}else{if(!g[o])return f?n:{};a=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(b){a.add(C(b,r,e,b,n,i))}):Xr(n)&&n.forEach(function(b,p){a.set(p,C(b,r,e,p,n,i))});var A=d?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(b,p){y&&(p=b,b=n[p]),Nn(a,p,C(b,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var b=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(b!==void 0){if(b)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=H),n.size!=r.size&&!u)return!1;var d=a.get(n);if(d)return d==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:qe.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var b=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var q=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(q===void 0?p===O||f(p,O,e,t,i):q)){y=!1;break}b||(b=c=="constructor")}if(y&&!b){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Je=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),d=s?fn:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Je)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,b=A?r.value():r;return i||(i=new _),f(y,b,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function Y(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],d=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&Yn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return B(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Z;return e(n,dt(r))}function bt(n,r){var e=[];return Z(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:bt;return e(n,Ln(r))}function pt(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Z)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Xn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return H(d);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,bt as B,Pe as C,Xn as D,P as S,It as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,An as n,yn as o,dt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
1
+ import{dL as S,dM as Rn,bk as T,dN as w,dO as xn,dP as Mn,bj as sn,dQ as mn,dR as un,dS as x,bh as U,dT as Cn,dU as on,dV as Fn,dW as E,dJ as gn,dX as R,bf as ln,dY as Dn,dZ as D,d_ as Gn,d$ as Un,e0 as _,bn as Nn,e1 as Bn,bi as Kn,e2 as X,e3 as jn,e4 as Hn,bm as Yn,bl as cn,dH as Zn,e5 as m}from"./index-DYdseEwc.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function bn(n){if(typeof n=="string")return n;if(T(n))return dn(n,bn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":bn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function br(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",be="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[be]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,d=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Un(n),!s)return u?Ar(n,lr(a,n)):br(n,gr(a,n))}else{if(!g[o])return f?n:{};a=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(b){a.add(C(b,r,e,b,n,i))}):Xr(n)&&n.forEach(function(b,p){a.set(p,C(b,r,e,p,n,i))});var A=d?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(b,p){y&&(p=b,b=n[p]),Nn(a,p,C(b,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var b=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(b!==void 0){if(b)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=H),n.size!=r.size&&!u)return!1;var d=a.get(n);if(d)return d==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:qe.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var b=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var q=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(q===void 0?p===O||f(p,O,e,t,i):q)){y=!1;break}b||(b=c=="constructor")}if(y&&!b){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Je=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),d=s?fn:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Je)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,b=A?r.value():r;return i||(i=new _),f(y,b,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function Y(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],d=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&Yn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return B(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Z;return e(n,dt(r))}function bt(n,r){var e=[];return Z(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:bt;return e(n,Ln(r))}function pt(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Z)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Xn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return H(d);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,bt as B,Pe as C,Xn as D,P as S,It as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,An as n,yn as o,dt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
@@ -1 +1 @@
1
- import{ag as ln,ah as an,ai as g,aj as tn,ak as G,al as w,am as _,an as un,ao as z,ap as rn,aq as K,ar as o,as as sn,at as on,au as fn}from"./index-A5CMVuXA.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,E,j,v,A,B,a){var I=E-l,i=j-h,n=B-v,m=a-A,u=m*I-n*i;if(!(u*u<g))return u=(n*(h-A)-m*(l-v))/u,[l+u*I,h+u*i]}function V(l,h,E,j,v,A,B){var a=l-E,I=h-j,i=(B?A:-A)/K(a*a+I*I),n=i*I,m=-i*a,u=l+n,s=h+m,f=E+n,c=j+m,C=(u+f)/2,t=(s+c)/2,p=f-u,y=c-s,R=p*p+y*y,T=v-A,P=u*c-f*s,O=(y<0?-1:1)*K(fn(0,T*T*R-P*P)),S=(P*y-p*O)/R,k=(-P*p-y*O)/R,q=(P*y+p*O)/R,d=(-P*p+y*O)/R,x=S-C,e=k-t,r=q-C,F=d-t;return x*x+e*e>r*r+F*F&&(S=q,k=d),{cx:S,cy:k,x01:-n,y01:-m,x11:S*(v/T-1),y11:k*(v/T-1)}}function hn(){var l=cn,h=gn,E=z(0),j=null,v=yn,A=mn,B=pn,a=null,I=ln(i);function i(){var n,m,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,C=un(c-f),t=c>f;if(a||(a=n=I()),s<u&&(m=s,s=u,u=m),!(s>g))a.moveTo(0,0);else if(C>tn-g)a.moveTo(s*G(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*G(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var p=f,y=c,R=f,T=c,P=C,O=C,S=B.apply(this,arguments)/2,k=S>g&&(j?+j.apply(this,arguments):K(u*u+s*s)),q=_(un(s-u)/2,+E.apply(this,arguments)),d=q,x=q,e,r;if(k>g){var F=sn(k/u*w(S)),L=sn(k/s*w(S));(P-=F*2)>g?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(O-=L*2)>g?(L*=t?1:-1,p+=L,y-=L):(O=0,p=y=(f+c)/2)}var H=s*G(p),J=s*w(p),M=u*G(T),N=u*w(T);if(q>g){var Q=s*G(y),U=s*w(y),W=u*G(R),X=u*w(R),D;if(C<rn)if(D=dn(H,J,W,X,Q,U,M,N)){var Y=H-D[0],Z=J-D[1],$=Q-D[0],b=U-D[1],nn=1/w(on((Y*$+Z*b)/(K(Y*Y+Z*Z)*K($*$+b*b)))/2),en=K(D[0]*D[0]+D[1]*D[1]);d=_(q,(u-en)/(nn-1)),x=_(q,(s-en)/(nn+1))}else d=x=0}O>g?x>g?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<q?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,p,y,!t)):a.moveTo(H,J),!(u>g)||!(P>g)?a.lineTo(M,N):d>g?(e=V(M,N,Q,U,u,-d,t),r=V(H,J,W,X,u,-d,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),d<q?a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,d,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[G(m)*n,w(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(E=typeof n=="function"?n:z(+n),i):E},i.padRadius=function(n){return arguments.length?(j=n==null?null:typeof n=="function"?n:z(+n),i):j},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{ag as ln,ah as an,ai as g,aj as tn,ak as G,al as w,am as _,an as un,ao as z,ap as rn,aq as K,ar as o,as as sn,at as on,au as fn}from"./index-DYdseEwc.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,E,j,v,A,B,a){var I=E-l,i=j-h,n=B-v,m=a-A,u=m*I-n*i;if(!(u*u<g))return u=(n*(h-A)-m*(l-v))/u,[l+u*I,h+u*i]}function V(l,h,E,j,v,A,B){var a=l-E,I=h-j,i=(B?A:-A)/K(a*a+I*I),n=i*I,m=-i*a,u=l+n,s=h+m,f=E+n,c=j+m,C=(u+f)/2,t=(s+c)/2,p=f-u,y=c-s,R=p*p+y*y,T=v-A,P=u*c-f*s,O=(y<0?-1:1)*K(fn(0,T*T*R-P*P)),S=(P*y-p*O)/R,k=(-P*p-y*O)/R,q=(P*y+p*O)/R,d=(-P*p+y*O)/R,x=S-C,e=k-t,r=q-C,F=d-t;return x*x+e*e>r*r+F*F&&(S=q,k=d),{cx:S,cy:k,x01:-n,y01:-m,x11:S*(v/T-1),y11:k*(v/T-1)}}function hn(){var l=cn,h=gn,E=z(0),j=null,v=yn,A=mn,B=pn,a=null,I=ln(i);function i(){var n,m,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,C=un(c-f),t=c>f;if(a||(a=n=I()),s<u&&(m=s,s=u,u=m),!(s>g))a.moveTo(0,0);else if(C>tn-g)a.moveTo(s*G(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*G(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var p=f,y=c,R=f,T=c,P=C,O=C,S=B.apply(this,arguments)/2,k=S>g&&(j?+j.apply(this,arguments):K(u*u+s*s)),q=_(un(s-u)/2,+E.apply(this,arguments)),d=q,x=q,e,r;if(k>g){var F=sn(k/u*w(S)),L=sn(k/s*w(S));(P-=F*2)>g?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(O-=L*2)>g?(L*=t?1:-1,p+=L,y-=L):(O=0,p=y=(f+c)/2)}var H=s*G(p),J=s*w(p),M=u*G(T),N=u*w(T);if(q>g){var Q=s*G(y),U=s*w(y),W=u*G(R),X=u*w(R),D;if(C<rn)if(D=dn(H,J,W,X,Q,U,M,N)){var Y=H-D[0],Z=J-D[1],$=Q-D[0],b=U-D[1],nn=1/w(on((Y*$+Z*b)/(K(Y*Y+Z*Z)*K($*$+b*b)))/2),en=K(D[0]*D[0]+D[1]*D[1]);d=_(q,(u-en)/(nn-1)),x=_(q,(s-en)/(nn+1))}else d=x=0}O>g?x>g?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<q?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,p,y,!t)):a.moveTo(H,J),!(u>g)||!(P>g)?a.lineTo(M,N):d>g?(e=V(M,N,Q,U,u,-d,t),r=V(H,J,W,X,u,-d,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),d<q?a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,d,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[G(m)*n,w(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(E=typeof n=="function"?n:z(+n),i):E},i.padRadius=function(n){return arguments.length?(j=n==null?null:typeof n=="function"?n:z(+n),i):j},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};