md-review-server 0.1.1 → 0.1.3

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 (69) hide show
  1. package/README.md +90 -223
  2. package/assets/demo.gif +0 -0
  3. package/assets/review-loop/01-enter-flow.png +0 -0
  4. package/assets/review-loop/02-review-comment.png +0 -0
  5. package/assets/review-loop/03-review-comment.png +0 -0
  6. package/assets/review-loop/04-submit-review.png +0 -0
  7. package/assets/review-loop/05-review-result.png +0 -0
  8. package/assets/review-loop/06-history-versions.png +0 -0
  9. package/assets/screenshot-dark.png +0 -0
  10. package/assets/screenshot.png +0 -0
  11. package/dist/assets/{_baseUniq-DI2TZgiU.js → _baseUniq-BtqrRblU.js} +1 -1
  12. package/dist/assets/{arc-0aOBgqln.js → arc-DYLWUs9a.js} +1 -1
  13. package/dist/assets/{architectureDiagram-VXUJARFQ-D1WnZX0i.js → architectureDiagram-VXUJARFQ-D6qlN2-o.js} +1 -1
  14. package/dist/assets/{blockDiagram-VD42YOAC-CMmHyk4v.js → blockDiagram-VD42YOAC-DYwXxiWE.js} +1 -1
  15. package/dist/assets/{c4Diagram-YG6GDRKO-CnjNpHKo.js → c4Diagram-YG6GDRKO-BkX5Nh_r.js} +1 -1
  16. package/dist/assets/channel-DEOuUvLR.js +1 -0
  17. package/dist/assets/{chunk-4BX2VUAB-_1bE-T-E.js → chunk-4BX2VUAB-BVS8BUrO.js} +1 -1
  18. package/dist/assets/{chunk-55IACEB6-dlxfCuoj.js → chunk-55IACEB6-D0VSlUME.js} +1 -1
  19. package/dist/assets/{chunk-B4BG7PRW-C42iQvc0.js → chunk-B4BG7PRW-CTbGViQg.js} +1 -1
  20. package/dist/assets/{chunk-DI55MBZ5-B5Uv0h4o.js → chunk-DI55MBZ5-DZZ8VuIT.js} +1 -1
  21. package/dist/assets/{chunk-FMBD7UC4-BdfjKS1C.js → chunk-FMBD7UC4-Cejd2Qga.js} +1 -1
  22. package/dist/assets/{chunk-QN33PNHL-bYBDKYcm.js → chunk-QN33PNHL-CSYbobj9.js} +1 -1
  23. package/dist/assets/{chunk-QZHKN3VN-2hdQ_fkV.js → chunk-QZHKN3VN-DTYL7itM.js} +1 -1
  24. package/dist/assets/{chunk-TZMSLE5B-C8LiAShG.js → chunk-TZMSLE5B-CB26Um_S.js} +1 -1
  25. package/dist/assets/classDiagram-2ON5EDUG-COuYCe8Y.js +1 -0
  26. package/dist/assets/classDiagram-v2-WZHVMYZB-COuYCe8Y.js +1 -0
  27. package/dist/assets/clone-Dp52nPJ3.js +1 -0
  28. package/dist/assets/{cose-bilkent-S5V4N54A-DsxEv76Y.js → cose-bilkent-S5V4N54A-DJZQhu6B.js} +1 -1
  29. package/dist/assets/{dagre-6UL2VRFP-CzhKzxyL.js → dagre-6UL2VRFP-BIJxtntA.js} +1 -1
  30. package/dist/assets/{diagram-PSM6KHXK-DchJfjQS.js → diagram-PSM6KHXK-BaKSafBV.js} +1 -1
  31. package/dist/assets/{diagram-QEK2KX5R-CxBYETfP.js → diagram-QEK2KX5R-DP04tSss.js} +1 -1
  32. package/dist/assets/{diagram-S2PKOQOG-U9S5ZOME.js → diagram-S2PKOQOG-DvAywjcf.js} +1 -1
  33. package/dist/assets/{erDiagram-Q2GNP2WA-BqZKWv9l.js → erDiagram-Q2GNP2WA-BzPG-mA4.js} +1 -1
  34. package/dist/assets/{flowDiagram-NV44I4VS-7E3VaRAM.js → flowDiagram-NV44I4VS-Bg7K4ofb.js} +1 -1
  35. package/dist/assets/{ganttDiagram-JELNMOA3-C3giu5WC.js → ganttDiagram-JELNMOA3-CUVnLJVA.js} +1 -1
  36. package/dist/assets/{gitGraphDiagram-NY62KEGX-09l3qi9Y.js → gitGraphDiagram-NY62KEGX-D4v4IMg3.js} +1 -1
  37. package/dist/assets/{graph-CIHF1jxj.js → graph-BY0lo9mk.js} +1 -1
  38. package/dist/assets/{index-DonetEir.js → index-BcvRuFYs.js} +89 -89
  39. package/dist/assets/index-Db98Ybtz.css +19 -0
  40. package/dist/assets/{infoDiagram-WHAUD3N6-CxrQKkZ7.js → infoDiagram-WHAUD3N6-BkDjJjcL.js} +1 -1
  41. package/dist/assets/{journeyDiagram-XKPGCS4Q-CafZCYAC.js → journeyDiagram-XKPGCS4Q-88A7UWEC.js} +1 -1
  42. package/dist/assets/{kanban-definition-3W4ZIXB7-BPnBXjFX.js → kanban-definition-3W4ZIXB7-Dwb0ibd7.js} +1 -1
  43. package/dist/assets/{layout-CuN5D054.js → layout-8a74uiju.js} +1 -1
  44. package/dist/assets/{linear-CVBbq0yW.js → linear-CPWCLHud.js} +1 -1
  45. package/dist/assets/{min-DqAzei1c.js → min-CqBum7ZI.js} +1 -1
  46. package/dist/assets/{mindmap-definition-VGOIOE7T-C9JzG0Gk.js → mindmap-definition-VGOIOE7T-Dwgu9T2u.js} +1 -1
  47. package/dist/assets/{pieDiagram-ADFJNKIX-DPLAvqYj.js → pieDiagram-ADFJNKIX-Ban3Hxk-.js} +1 -1
  48. package/dist/assets/{quadrantDiagram-AYHSOK5B-CF0Op1tv.js → quadrantDiagram-AYHSOK5B-DsjCsrlw.js} +1 -1
  49. package/dist/assets/{requirementDiagram-UZGBJVZJ-CTYaZjq6.js → requirementDiagram-UZGBJVZJ-BRvX4zCO.js} +1 -1
  50. package/dist/assets/{sankeyDiagram-TZEHDZUN-CVsSH6ag.js → sankeyDiagram-TZEHDZUN-DHn2OBLn.js} +1 -1
  51. package/dist/assets/{sequenceDiagram-WL72ISMW-_5LQ8ply.js → sequenceDiagram-WL72ISMW-CummwZV_.js} +1 -1
  52. package/dist/assets/{stateDiagram-FKZM4ZOC-lGntU0qp.js → stateDiagram-FKZM4ZOC-IuG47RUM.js} +1 -1
  53. package/dist/assets/stateDiagram-v2-4FDKWEC3-CtbaykL5.js +1 -0
  54. package/dist/assets/{timeline-definition-IT6M3QCI-B2Cv_EhF.js → timeline-definition-IT6M3QCI-DrEsI2Bt.js} +1 -1
  55. package/dist/assets/{treemap-KMMF4GRG-C7myvUeN.js → treemap-KMMF4GRG-CpGxyb0v.js} +1 -1
  56. package/dist/assets/{xychartDiagram-PRI3JC2R-BlM5iMNi.js → xychartDiagram-PRI3JC2R-DZ2Ig9GW.js} +1 -1
  57. package/dist/index.html +2 -2
  58. package/package.json +2 -1
  59. package/server/app.js +1 -0
  60. package/server/comment-store.js +6 -0
  61. package/skills/markdown-review-loop/SKILL.md +11 -0
  62. package/skills/markdown-review-loop/VERSION +1 -1
  63. package/skills/markdown-review-loop/references/review-template.md +1 -0
  64. package/dist/assets/channel-DKOgBY_w.js +0 -1
  65. package/dist/assets/classDiagram-2ON5EDUG-A7wHDY1p.js +0 -1
  66. package/dist/assets/classDiagram-v2-WZHVMYZB-A7wHDY1p.js +0 -1
  67. package/dist/assets/clone-FuZyOQgB.js +0 -1
  68. package/dist/assets/index-D__pdEdb.css +0 -19
  69. package/dist/assets/stateDiagram-v2-4FDKWEC3-D4z3Ploi.js +0 -1
package/README.md CHANGED
@@ -4,264 +4,165 @@
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)
5
5
  [![GitHub](https://img.shields.io/badge/GitHub-md--review--server-black.svg)](https://github.com/tracyxiong1/md-review-server)
6
6
 
7
- ![demo](./assets/demo.gif)
7
+ `md-review-server` 是面向 Codex 的本地 Markdown 可视化评审工具。
8
8
 
9
- `md-review-server` 是面向 Codex 文档迭代的本地 Markdown 可视化评审服务。它提供浏览器预览、选区批注、sidecar 评论文件、HTTP API 和内置 `markdown-review-loop` Codex skill,用于把“用户可视化评论 -> agent 读取评论 -> 生成下一版 Markdown -> 回写评论状态”串成一个本地评审循环。
9
+ 在 Codex 中,纯对话适合提出整体修改要求,但不方便圈选长文中的具体内容并集中提交评论。`md-review-server` 提供浏览器预览、选区批注、评论状态跟踪和 `markdown-review-loop` skill,用于搭建“批注 -> 修订 -> 再评审”的 Markdown 协作流程。
10
+
11
+ ## 使用场景
12
+
13
+ - 评审技术方案、README、机制说明、复盘草稿等 Markdown 文档。
14
+ - 在浏览器中圈选具体文本,留下局部修改意见。
15
+ - 让 Codex 读取评论、生成下一版文档,并继续下一轮评审。
10
16
 
11
17
  ## 快速开始
12
18
 
13
- ### 使用 Codex Skill
19
+ ### 安装 skill
14
20
 
15
- 安装或更新内置 `markdown-review-loop` skill:
21
+ 推荐让 Codex 自动安装:
16
22
 
17
- ```sh
18
- npx -y md-review-server@latest skill install
23
+ ```text
24
+ 帮我安装 skill:https://www.npmjs.com/package/md-review-server
19
25
  ```
20
26
 
21
- 检查本机 skill 状态:
27
+ 也可以手动安装:
22
28
 
23
29
  ```sh
30
+ npx -y md-review-server@latest skill install
24
31
  npx -y md-review-server@latest skill doctor
25
32
  ```
26
33
 
27
- Codex 中显式触发:
34
+ ### 启动评审
35
+
36
+ 在 Codex 中输入:
28
37
 
29
38
  ```text
30
- 使用 $markdown-review-loop 帮我启动这份 Markdown 的评审循环。
39
+ 使用 $markdown-review-loop 帮我启动 docs/example.md 的评审循环。
31
40
  ```
32
41
 
33
- skill 会启动或复用本地 review server,读取 open 评论,生成下一版 Markdown,并通过 HTTP API 回写 `resolved`、`partially_resolved` 或 `unresolved` 状态。
42
+ Codex 会打开本地评审页面。用户在浏览器中圈选文本并创建评论。
34
43
 
35
- ### 手动启动 Review Server
44
+ ### 生成下一版
36
45
 
37
- 无需全局安装时可直接运行:
38
-
39
- ```sh
40
- npx -y md-review-server@latest docs --port 3030 --active-file docs/guide.md
41
- ```
42
-
43
- 也可以全局安装:
46
+ 评论完成后,回到 Codex 输入:
44
47
 
45
- ```sh
46
- npm install -g md-review-server
47
- md-review-server docs --port 3030
48
+ ```text
49
+ 评论完了,读取评论并生成下一版。
48
50
  ```
49
51
 
50
- ## 功能
52
+ Codex 会根据评论生成新版本,例如:
51
53
 
52
- - 内置 `markdown-review-loop` Codex skill,可通过 npm 安装和更新
53
- - 按原始结构预览 Markdown 和 MDX 文件
54
- - 解析并展示 Frontmatter 元数据
55
- - 对选中文本和指定行范围创建评论
56
- - 编辑和删除已有评论
57
- - 将评论持久化到 `.reviews/*.review.json`
58
- - 通过 HTTP API 读取评论和更新处理状态
59
- - 在目录模式中通过文件树选择 Markdown 文件
60
- - 支持深色模式,跟随系统偏好
61
- - 支持可调整、可折叠的评论侧边栏
62
- - 点击评论行号跳转到对应内容
63
- - Markdown 文件变更后通过 SSE 自动刷新
64
-
65
- ## 安装
66
-
67
- ```sh
68
- npm install -g md-review-server
54
+ ```text
55
+ example.v1.md -> example.v2.md
69
56
  ```
70
57
 
71
- 也可以在仓库中直接运行:
58
+ 如果还需要继续修改,在新版文档上补充评论,然后对 Codex 说:
72
59
 
73
- ```sh
74
- pnpm install
75
- pnpm build
76
- node bin/md-review.js docs --port 3030
60
+ ```text
61
+ 我已经在新版上补充了评论,继续处理。
77
62
  ```
78
63
 
79
- ## 使用方式
64
+ ## 示意流程
80
65
 
81
- ```sh
82
- md-review-server [options] # 浏览当前目录下的 Markdown 文件
83
- md-review-server <file> [options] # 预览单个 Markdown 文件
84
- md-review-server <directory> [options] # 浏览指定目录下的 Markdown 文件
85
- ```
66
+ ### 1. 进入评审流程
86
67
 
87
- ### 参数
68
+ ![进入评审流程](./assets/review-loop/01-enter-flow.png)
88
69
 
89
- ```sh
90
- -p, --port <port> 服务端口,默认 3030
91
- --host <host> 监听地址,默认 127.0.0.1
92
- --review-dir <dir> review sidecar 目录,默认 .reviews
93
- --active-file <file> 目录模式下初始选中的文件
94
- --readonly 禁用评论写入 API
95
- --no-open 不自动打开浏览器
96
- skill <command> 安装、更新或检查内置 Codex skills
97
- -h, --help 显示帮助信息
98
- -v, --version 显示版本号
99
- ```
70
+ ### 2. 在浏览器中阅读和圈选
100
71
 
101
- ### 示例
72
+ ![阅读和圈选文档](./assets/review-loop/02-review-comment.png)
102
73
 
103
- ```sh
104
- md-review-server
105
- md-review-server docs
106
- md-review-server README.md
107
- md-review-server docs/guide.mdx
108
- md-review-server docs --active-file docs/guide.md --port 8080
109
- md-review-server skill install
110
- md-review-server skill update --force
111
- ```
74
+ ### 3. 提交局部评论
112
75
 
113
- 默认只监听 `127.0.0.1`。如果使用 `--host 0.0.0.0`,服务会在启动时输出安全提示;MVP 不包含认证能力。
76
+ ![提交局部评论](./assets/review-loop/03-review-comment.png)
114
77
 
115
- ## 评论数据
78
+ ### 4. 回到 Codex 处理评论
116
79
 
117
- 评论由服务端写入 Markdown 所在 review 目录:
80
+ ![回到 Codex 处理评论](./assets/review-loop/04-submit-review.png)
118
81
 
119
- ```text
120
- docs/.reviews/guide.v2.review.json
121
- ```
82
+ ### 5. 查看结果并进入下一轮
122
83
 
123
- review 文件使用 JSON 存储,核心字段包括:
124
-
125
- ```json
126
- {
127
- "schemaVersion": 1,
128
- "document": "guide.v2.md",
129
- "comments": [
130
- {
131
- "id": "c001",
132
- "file": "guide.v2.md",
133
- "startLine": 12,
134
- "endLine": 12,
135
- "startOffset": 4,
136
- "endOffset": 18,
137
- "selectedText": "selected text",
138
- "beforeText": "before",
139
- "afterText": "after",
140
- "comment": "需要补充说明",
141
- "status": "open"
142
- }
143
- ]
144
- }
145
- ```
84
+ ![查看结果并进入下一轮](./assets/review-loop/05-review-result.png)
146
85
 
147
- 支持的评论状态:
86
+ 历史版本可以在文件树中切换查看:
148
87
 
149
- - `open`:待处理
150
- - `resolved`:已处理
151
- - `partially_resolved`:部分处理
152
- - `unresolved`:无法处理,需记录原因
153
- - `ignored`:明确跳过
88
+ ![查看历史版本](./assets/review-loop/06-history-versions.png)
154
89
 
155
- ## HTTP API
90
+ ## 手动启动 Review Server
156
91
 
157
- ### 获取会话信息
92
+ 不使用 Codex skill 时,可以直接启动本地服务:
158
93
 
159
94
  ```sh
160
- curl http://127.0.0.1:3030/api/session
161
- ```
162
-
163
- ### 获取待处理评论
164
-
165
- ```sh
166
- curl 'http://127.0.0.1:3030/api/comments?file=guide.v2.md&status=open'
95
+ npx -y md-review-server@latest docs --port 3030 --active-file docs/guide.md
167
96
  ```
168
97
 
169
- ### 创建评论
98
+ 也可以全局安装:
170
99
 
171
100
  ```sh
172
- curl -X POST 'http://127.0.0.1:3030/api/comments' \
173
- -H 'Content-Type: application/json' \
174
- -d '{
175
- "file": "guide.v2.md",
176
- "startLine": 12,
177
- "endLine": 12,
178
- "selectedText": "selected text",
179
- "comment": "需要补充说明"
180
- }'
101
+ npm install -g md-review-server
102
+ md-review-server docs --port 3030
181
103
  ```
182
104
 
183
- ### 批量回写状态
105
+ 默认只监听 `127.0.0.1`。如果使用 `--host 0.0.0.0`,服务会在启动时输出安全提示。
184
106
 
185
- ```sh
186
- curl -X PATCH 'http://127.0.0.1:3030/api/comments' \
187
- -H 'Content-Type: application/json' \
188
- -d '{
189
- "updates": [
190
- {
191
- "id": "c001",
192
- "file": "guide.v2.md",
193
- "status": "resolved",
194
- "targetFile": "guide.v3.md",
195
- "resolution": "已补充说明。"
196
- }
197
- ]
198
- }'
199
- ```
107
+ ## 主要能力
200
108
 
201
- ## Codex 评审循环
109
+ - 内置 `markdown-review-loop` Codex skill,支持 npm 安装和更新。
110
+ - 在浏览器中预览 Markdown / MDX,并对选中文本创建评论。
111
+ - 将评论持久化到 `.reviews/*.review.json`,刷新后继续保留。
112
+ - 提供 HTTP API,供 Codex 读取 open comments 并回写处理状态。
113
+ - 支持目录模式、文件树、版本化 Markdown 文件和深色模式。
114
+ - 支持评论编辑、删除、状态展示和对应内容跳转。
202
115
 
203
- 推荐使用目录模式启动 review server:
116
+ ## CLI 使用方式
204
117
 
205
118
  ```sh
206
- md-review-server docs --port 3030 --active-file docs/guide.v2.md
119
+ md-review-server [options] # 浏览当前目录下的 Markdown 文件
120
+ md-review-server <file> [options] # 预览单个 Markdown 文件
121
+ md-review-server <directory> [options] # 浏览指定目录下的 Markdown 文件
207
122
  ```
208
123
 
209
- 典型流程:
210
-
211
- 1. Codex 生成一个版本化 Markdown 文件,例如 `guide.v2.md`
212
- 2. 用户在浏览器中选区并创建评论
213
- 3. 服务端将评论写入 `.reviews/*.review.json`
214
- 4. Codex 通过 `GET /api/comments?status=open` 获取待处理评论
215
- 5. Codex 生成下一版 Markdown,例如 `guide.v3.md`
216
- 6. Codex 通过批量 `PATCH /api/comments` 回写每条评论的处理状态
217
- 7. 用户在同一个 review server 中选择新版本继续评审
218
-
219
- ### 安装 Codex Skill
220
-
221
- 包内提供 `markdown-review-loop` skill,用于让 Codex 自动执行启动 review server、读取评论、生成下一版 Markdown 和回写状态的流程。
124
+ ### 参数
222
125
 
223
126
  ```sh
224
- npx -y md-review-server@latest skill install
127
+ -p, --port <port> 服务端口,默认 3030
128
+ --host <host> 监听地址,默认 127.0.0.1
129
+ --review-dir <dir> review sidecar 目录,默认 .reviews
130
+ --active-file <file> 目录模式下初始选中的文件
131
+ --readonly 禁用评论写入 API
132
+ --no-open 不自动打开浏览器
133
+ skill <command> 安装、更新或检查内置 Codex skills
134
+ -h, --help 显示帮助信息
135
+ -v, --version 显示版本号
225
136
  ```
226
137
 
227
- 如果已经全局安装 `md-review-server`,也可以直接运行 `md-review-server skill install`。
138
+ ## 进阶说明
228
139
 
229
- 安装后可通过 `$markdown-review-loop` 显式触发,例如:
140
+ ### 评论数据
230
141
 
231
- ```text
232
- 使用 $markdown-review-loop 帮我启动这份 Markdown 的评审循环。
233
- ```
234
-
235
- skill 依赖本机可运行 `md-review-server`。本地开发阶段可以先在仓库中执行 `npm link`,或使用发布后的 npm 包。
142
+ 评论由服务端写入 Markdown 所在的 review 目录:
236
143
 
237
- 更新 skill:
238
-
239
- ```sh
240
- npx -y md-review-server@latest skill update
241
- md-review-server skill doctor
144
+ ```text
145
+ docs/.reviews/guide.v2.review.json
242
146
  ```
243
147
 
244
- ## 评论管理
245
-
246
- ### 添加评论
247
-
248
- 1. 在 Markdown 预览区域选择文本
249
- 2. 点击出现的 `Comment` 按钮
250
- 3. 输入评论内容
251
- 4. 按 `Cmd/Ctrl+Enter` 或点击 `Submit`
252
-
253
- ### 编辑评论
148
+ 支持的评论状态:
254
149
 
255
- 1. 点击评论上的编辑按钮
256
- 2. 修改文本框中的内容
257
- 3. `Cmd/Ctrl+Enter` 或点击 `Save`
258
- 4. `Escape` 或点击 `Cancel` 放弃修改
150
+ - `open`
151
+ - `resolved`
152
+ - `partially_resolved`
153
+ - `unresolved`
154
+ - `ignored`
259
155
 
260
- ### 快捷键
156
+ ### HTTP API
261
157
 
262
- - `Cmd/Ctrl+Enter`:提交或保存评论
263
- - `Escape`:取消编辑
264
- - `Cmd+K`:目录模式中聚焦搜索框
158
+ | Method | Path | 用途 |
159
+ | ------ | ------------------- | ------------------------------- |
160
+ | GET | `/api/session` | 获取当前 review server 会话信息 |
161
+ | GET | `/api/comments` | 按文件和状态读取评论 |
162
+ | POST | `/api/comments` | 创建评论 |
163
+ | PATCH | `/api/comments/:id` | 更新单条评论内容或状态 |
164
+ | PATCH | `/api/comments` | 批量回写评论状态 |
165
+ | DELETE | `/api/comments/:id` | 删除评论 |
265
166
 
266
167
  ## 本地开发
267
168
 
@@ -273,40 +174,6 @@ pnpm build
273
174
  pnpm lint
274
175
  ```
275
176
 
276
- ## 发布流程
277
-
278
- 项目使用 GitHub Actions 和 npm Trusted Publishing 发布 npm 包,不需要在 GitHub Secrets 中保存长期 `NPM_TOKEN`。
279
-
280
- npm 包后台需要配置 Trusted Publisher:
281
-
282
- - Package:`md-review-server`
283
- - Publisher:GitHub Actions
284
- - Owner:`tracyxiong1`
285
- - Repository:`md-review-server`
286
- - Workflow filename:`release-please.yml`
287
-
288
- 发布步骤:
289
-
290
- 1. 使用语义化 commit 合并改动到 `main`
291
- 2. `release-please` 自动创建或更新 release PR
292
- 3. 合并 release PR 后,workflow 创建 GitHub Release 和版本 tag
293
- 4. 同一个 workflow 在 tag 对应代码上执行 `lint`、`test`、`build`
294
- 5. 验证 npm 上不存在同版本后,通过 OIDC 发布到 npm
295
-
296
- 也可以手动创建版本 tag 触发同一个发布流程:
297
-
298
- ```sh
299
- npm version patch
300
- git push origin main --tags
301
- ```
302
-
303
- 发布完成后可验证:
304
-
305
- ```sh
306
- npm view md-review-server version --registry=https://registry.npmjs.org/
307
- npx -y md-review-server@latest skill doctor
308
- ```
309
-
310
177
  ## License
311
178
 
312
179
  [MIT](./LICENSE)
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- import{aV as L,br as ln,aE as A,aT as P,bs as gn,bt as dn,aD as W,bu as hn,bv as z,bw as pn,bm as An,bx as m,aW as N,a$ as U,b2 as T,by as _n,aZ as on,bz as wn,bp as On,aF as V,bn as vn,bA as I}from"./index-DonetEir.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Bn;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,yn as c,an as d,rn as e,qn as f,Zn as g,q as h,x as i,bn as j,M as k,Xr as l,qr as m,Zr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
1
+ import{aV as L,br as ln,aE as A,aT as P,bs as gn,bt as dn,aD as W,bu as hn,bv as z,bw as pn,bm as An,bx as m,aW as N,a$ as U,b2 as T,by as _n,aZ as on,bz as wn,bp as On,aF as V,bn as vn,bA as I}from"./index-BcvRuFYs.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Bn;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,yn as c,an as d,rn as e,qn as f,Zn as g,q as h,x as i,bn as j,M as k,Xr as l,qr as m,Zr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as B,a9 as rn,aa as L,ab as o,ac as sn,ad as on,ae as fn}from"./index-DonetEir.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?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(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,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,p,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,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as B,a9 as rn,aa as L,ab as o,ac as sn,ad as on,ae as fn}from"./index-BcvRuFYs.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?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(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,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,p,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,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};