@bkm016/calcite 0.3.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +103 -20
- package/dist/accounts.js +4 -2
- package/dist/accounts.js.map +1 -1
- package/dist/cli.js +12 -141
- package/dist/cli.js.map +1 -1
- package/dist/client-core.d.ts +22 -13
- package/dist/client-core.js +217 -260
- package/dist/client-core.js.map +1 -1
- package/dist/client.d.ts +44 -15
- package/dist/client.js +58 -21
- package/dist/client.js.map +1 -1
- package/dist/display.d.ts +0 -6
- package/dist/display.js +31 -44
- package/dist/display.js.map +1 -1
- package/dist/feed.d.ts +17 -0
- package/dist/feed.js +47 -0
- package/dist/feed.js.map +1 -0
- package/dist/game-run.d.ts +30 -0
- package/dist/game-run.js +51 -0
- package/dist/game-run.js.map +1 -0
- package/dist/hmc.d.ts +7 -0
- package/dist/hmc.js +42 -31
- package/dist/hmc.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +6 -0
- package/dist/install.js +26 -3
- package/dist/install.js.map +1 -1
- package/dist/java.js +11 -2
- package/dist/java.js.map +1 -1
- package/dist/launch.d.ts +79 -0
- package/dist/launch.js +142 -0
- package/dist/launch.js.map +1 -0
- package/dist/lock.js +18 -18
- package/dist/lock.js.map +1 -1
- package/dist/mcp/accounts.d.ts +3 -0
- package/dist/mcp/accounts.js +45 -0
- package/dist/mcp/accounts.js.map +1 -0
- package/dist/mcp/act.d.ts +3 -0
- package/dist/mcp/act.js +129 -0
- package/dist/mcp/act.js.map +1 -0
- package/dist/mcp/extensions.d.ts +3 -0
- package/dist/mcp/extensions.js +21 -0
- package/dist/mcp/extensions.js.map +1 -0
- package/dist/mcp/index.d.ts +13 -0
- package/dist/mcp/index.js +58 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/items.d.ts +3 -0
- package/dist/mcp/items.js +71 -0
- package/dist/mcp/items.js.map +1 -0
- package/dist/mcp/lifecycle.d.ts +3 -0
- package/dist/mcp/lifecycle.js +120 -0
- package/dist/mcp/lifecycle.js.map +1 -0
- package/dist/mcp/observe.d.ts +3 -0
- package/dist/mcp/observe.js +110 -0
- package/dist/mcp/observe.js.map +1 -0
- package/dist/mcp/shared.d.ts +49 -0
- package/dist/mcp/shared.js +56 -0
- package/dist/mcp/shared.js.map +1 -0
- package/dist/mcp/tasks.d.ts +15 -0
- package/dist/mcp/tasks.js +46 -0
- package/dist/mcp/tasks.js.map +1 -0
- package/dist/mods.js +6 -4
- package/dist/mods.js.map +1 -1
- package/dist/mojang.d.ts +5 -1
- package/dist/mojang.js.map +1 -1
- package/dist/names.js +30 -8
- package/dist/names.js.map +1 -1
- package/dist/net.js +25 -19
- package/dist/net.js.map +1 -1
- package/dist/paper.d.ts +48 -0
- package/dist/paper.js +215 -0
- package/dist/paper.js.map +1 -0
- package/dist/probe-server.d.ts +14 -4
- package/dist/probe-server.js +11 -10
- package/dist/probe-server.js.map +1 -1
- package/dist/repl.d.ts +6 -0
- package/dist/repl.js +207 -0
- package/dist/repl.js.map +1 -0
- package/dist/stage.d.ts +6 -0
- package/dist/stage.js +19 -0
- package/dist/stage.js.map +1 -0
- package/dist/types.d.ts +139 -5
- package/dist/types.js +12 -1
- package/dist/types.js.map +1 -1
- package/dist/zip.js.map +1 -1
- package/package.json +11 -3
- package/vendor/calcite-probe.jar +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
### 修复
|
|
6
|
+
|
|
7
|
+
- `startPaperServer` 不保留世界(`keepWorld` 为 false)时,同时清空 `plugins/` 下各插件的数据目录(配置、存档、数据库),不再把上一轮测试的残留带进新世界;插件 jar 与缓存保留。
|
|
8
|
+
- 宿主进程退出(包括崩溃)时一并结束 Paper 服务器,不再留下孤儿进程。
|
|
9
|
+
|
|
10
|
+
## 0.5.0
|
|
11
|
+
|
|
12
|
+
### 新增
|
|
13
|
+
|
|
14
|
+
- **单人世界**:`world` 选项(命令行 `-w, --world`、`--game-mode`、`--seed`,MCP `launch_client` 的 `world` 参数),从标题界面打开存档,不存在时按指定模式与种子创建;`stop` 时先保存世界再退出。
|
|
15
|
+
- **插件测试服**:`startPaperServer` 拉起一次性的 Paper 服务器,自动下载对应版本、挑选 Java、写入离线超平坦测试配置并安装插件(Java 17+ 时附带 ViaVersion/ViaBackwards);`keepWorld` 用于验证重启后的持久化,换版本时自动重置配置与世界。另导出 `offlineUuid`。
|
|
16
|
+
|
|
17
|
+
### 修复
|
|
18
|
+
|
|
19
|
+
- 游戏、启动器与 Paper 的控制台统一以 UTF-8 输出。此前 Java 17 及更早版本在 POSIX/C 区域设置下会把中文等非 ASCII 聊天内容变成 `?`。
|
|
20
|
+
|
|
21
|
+
### 其他
|
|
22
|
+
|
|
23
|
+
- 端到端测试改用托管的 Paper 服务器与单人世界;MCP 服务器通过内存传输测试;TypeScript 引入 ESLint 与 Prettier,探针测试迁移到 JUnit 5 并开启全部编译警告。
|
|
24
|
+
|
|
25
|
+
## 0.4.0
|
|
26
|
+
|
|
27
|
+
### 新增
|
|
28
|
+
|
|
29
|
+
- **寻路**:`walk_to` / `walkTo` 改为 A* 寻路,可绕墙、跳上一格台阶、安全下落,路线受阻时重新规划;`direct: true` 保留原来的直线行走。
|
|
30
|
+
- **方块搜索**:`find_blocks` / `findBlocks`,按 ID 或通配符(如 `*_ore`)在已加载区块中搜索并按距离排序。
|
|
31
|
+
- **周边感知**:`surroundings`,返回以玩家为中心的俯视字符地图、脚下与所处方块、附近方块统计、实体、群系、时间与天气。
|
|
32
|
+
- **合成**:`craft`,按配方书合成指定数量的物品;3×3 配方自动打开附近的工作台并在结束后关闭。
|
|
33
|
+
- **物品搬运**:`transfer`,在当前容器与背包之间按物品移动,可指定数量与目标槽位;`get_container` 对熔炉额外返回燃烧状态与进度。
|
|
34
|
+
- **内置游戏事件**:`world.join/leave`、`player.hurt/death/respawn/food/dimension`、`inventory.change`、`container.open/close`、`screen.change`,与扩展事件共用同一事件流。
|
|
35
|
+
- **长时操作**:寻路、挖掘、合成统一由探针调度,同一时间只运行一个;`task` / `get_task` 查询进度,`stop_actions` 取消(等待中的调用以 `cancelled` 结束);`stopOnDamage` 在受伤时以 `damaged` 中止。MCP 工具支持 `background: true` 后台运行。
|
|
36
|
+
- 交互模式新增 `:around`、`:find`、`:task`、`:craft`、`:transfer`、`:events`。
|
|
37
|
+
|
|
38
|
+
### 变更
|
|
39
|
+
|
|
40
|
+
- `Client` 的 `extension` 事件更名为 `event`,同时携带内置游戏事件;`ExtensionEvent` 类型更名为 `GameEvent`(旧名保留为已弃用别名)。
|
|
41
|
+
- 资源文件在首次成功启动时完整校验,之后的启动跳过逐文件哈希,启动约快 2–3 秒。
|
|
42
|
+
- MCP 服务器与交互模式拆分为独立模块,工具说明面向 Agent 重写。
|
package/README.md
CHANGED
|
@@ -43,7 +43,10 @@ Calcite 用于以编程方式驱动**真实的 Minecraft Java 版客户端**。
|
|
|
43
43
|
- **账号**:支持离线账号,也支持微软正版账号。正版账号使用设备码登录,凭据持久保存并自动刷新。
|
|
44
44
|
- **无显卡环境截图**:在 Linux 服务器上通过 Xvfb 与 Mesa 软件渲染完成截图。
|
|
45
45
|
- **模组加载器**:一行参数安装 Fabric、Forge 或 NeoForge,并从本地文件、URL 或 Modrinth 加载模组(自动补全前置依赖),探针功能在模组环境中同样可用。
|
|
46
|
-
-
|
|
46
|
+
- **玩家操作**:转向、移动、A* 寻路(绕墙、跳台阶、安全下落)、攻击、使用物品与方块、挖掘、切换快捷栏、丢弃物品,以及打开箱子等容器并点击槽位。操作走原版客户端逻辑,与真实玩家输入等价。
|
|
47
|
+
- **合成与熔炉**:按配方书合成物品(2×2 用背包合成格,3×3 自动打开附近的工作台),在容器与背包之间按物品搬运,可直接给熔炉装原料和燃料。
|
|
48
|
+
- **面向 Agent 的感知**:周边俯视字符地图、按 ID 或通配符搜索方块,以及受伤、死亡、背包变化、容器开关等内置游戏事件。
|
|
49
|
+
- **长时操作**:寻路、挖掘、合成可在后台运行,随时查询进度或取消;受到伤害时可自动中止。
|
|
47
50
|
- **按需渲染**:默认不渲染画面,截图时临时渲染。单次截图约 0.5 秒,进服后首次截图需等待区块编译,约 2–4 秒。
|
|
48
51
|
- **Java 自动管理**:按游戏版本自动选择 Java(render `off` 时原本需要 Java 8 的版本改用 Java 17,HeadlessMC 3 的 LWJGL 替身不支持 Java 8);本机缺少时从 Eclipse Adoptium 下载 Temurin,并校验 SHA-256。HeadlessMC 3 本身运行在 Java 25 上,同样按需下载。
|
|
49
52
|
- **可扩展**:第三方可用 Java 编写扩展 jar,为 bot 增加自定义命令与事件;游戏内的模组也可以零依赖地注册命令。Node.js、MCP、命令行均可直接调用,见[扩展](#扩展)。
|
|
@@ -97,17 +100,23 @@ calcite launch play.example.com -V 1.21.11 -n Bot1
|
|
|
97
100
|
| `:render on\|off` | 开启或关闭持续渲染 |
|
|
98
101
|
| `:respawn` | 死亡后重生 |
|
|
99
102
|
| `:look <yaw> <pitch>` / `:lookat <x> <y> <z>` | 设置视角 / 看向坐标 |
|
|
100
|
-
| `:
|
|
103
|
+
| `:around [半径]` | 周边俯视地图、附近方块统计与实体 |
|
|
104
|
+
| `:find <方块> [半径]` | 搜索方块,支持通配符,如 `*_ore` |
|
|
105
|
+
| `:goto <x> <z> [y]` | 寻路走到指定坐标 |
|
|
101
106
|
| `:move <按键,...> [tick]` | 按住按键若干 tick(默认 20),按键为 `forward`、`back`、`left`、`right`、`jump`、`sneak`、`sprint`、`attack`、`use` |
|
|
102
107
|
| `:stop` | 停止当前移动、挖掘等持续操作 |
|
|
108
|
+
| `:task` | 查看正在运行的长时操作及进度 |
|
|
103
109
|
| `:attack [实体ID]` | 攻击指定实体;省略时攻击准星所指 |
|
|
104
110
|
| `:use [实体ID \| x y z] [tick]` | 右键实体或方块;省略目标时使用手中物品,可指定按住时长 |
|
|
105
111
|
| `:dig <x> <y> <z>` | 挖掘方块直至破坏 |
|
|
106
112
|
| `:block <x> <y> <z>` / `:target` | 查看方块 / 查看准星目标 |
|
|
107
113
|
| `:inv` / `:slot <0-8>` | 查看背包 / 切换快捷栏 |
|
|
114
|
+
| `:craft <物品> [数量]` | 合成物品 |
|
|
108
115
|
| `:container` / `:close` | 查看 / 关闭当前打开的容器 |
|
|
116
|
+
| `:transfer <物品> [数量] [inventory]` | 把物品放进当前容器(加 `inventory` 则取回背包) |
|
|
109
117
|
| `:click <槽位> [按键] [模式]` | 点击容器槽位,模式见下文 |
|
|
110
118
|
| `:drop [all]` | 丢弃手中物品(`all` 丢弃整组) |
|
|
119
|
+
| `:events [名称正则]` | 最近的游戏事件 |
|
|
111
120
|
| `:ext` | 列出扩展命令 |
|
|
112
121
|
| `:call <命令> [JSON 参数]` | 调用扩展命令,例如 `:call hud.tablist {"limit":5}` |
|
|
113
122
|
| `:quit` | 退出并关闭客户端 |
|
|
@@ -116,7 +125,7 @@ calcite launch play.example.com -V 1.21.11 -n Bot1
|
|
|
116
125
|
|
|
117
126
|
| 命令 | 说明 |
|
|
118
127
|
| --- | --- |
|
|
119
|
-
| `calcite launch [server]` |
|
|
128
|
+
| `calcite launch [server]` | 启动客户端并在终端中交互;`-w <存档>` 进入单人世界 |
|
|
120
129
|
| `calcite install [version]` | 预下载指定版本(客户端、库、资源、Java),不启动游戏;`-l, --loader` 同时安装模组加载器 |
|
|
121
130
|
| `calcite versions` | 列出可用版本(`-t release\|snapshot\|old_beta\|old_alpha\|all`,`-l <数量>`) |
|
|
122
131
|
| `calcite login` | 微软账号登录(设备码) |
|
|
@@ -136,7 +145,10 @@ calcite launch play.example.com -V 1.21.11 -n Bot1
|
|
|
136
145
|
| `-r, --render <mode>` | `on-demand` | 渲染模式:`on-demand`、`always`、`off` |
|
|
137
146
|
| `-l, --loader <loader>` | — | 模组加载器:`fabric`、`forge`、`neoforge`,可加 `@<版本>`,见[模组](#模组) |
|
|
138
147
|
| `--mod <spec>` | — | 加载模组,可重复;需同时指定加载器 |
|
|
139
|
-
| `--ext <jar>` | — | 加载探针扩展(本地 jar 或 URL
|
|
148
|
+
| `--ext <jar>` | — | 加载探针扩展(本地 jar 或 URL),可重复;游戏事件与扩展事件输出到标准错误 |
|
|
149
|
+
| `-w, --world <name>` | — | 进入单人世界(不加入服务器),存档不存在时新建 |
|
|
150
|
+
| `--game-mode <mode>` | `survival` | 新建世界的游戏模式:`survival`、`creative`、`hardcore` |
|
|
151
|
+
| `--seed <seed>` | 随机 | 新建世界的种子 |
|
|
140
152
|
| `--java <path>` | 自动选择 | 指定游戏使用的 Java |
|
|
141
153
|
| `--no-java-download` | — | 禁止自动下载 Java |
|
|
142
154
|
| `--memory <size>` | `2G` | 最大堆内存 |
|
|
@@ -152,6 +164,15 @@ calcite accounts
|
|
|
152
164
|
calcite launch mc.example.com -V 1.21.11 --microsoft
|
|
153
165
|
```
|
|
154
166
|
|
|
167
|
+
### 单人世界
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
calcite launch -w 生存测试 -V 1.21.11 # 存档不存在时新建,允许作弊
|
|
171
|
+
calcite launch -w Creative --game-mode creative --seed 42
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
存档位于实例目录的 `saves/` 下,`stop()` 或 `:quit` 会先让内置服务器保存世界再退出。
|
|
175
|
+
|
|
155
176
|
## MCP 服务器
|
|
156
177
|
|
|
157
178
|
在支持 MCP 的客户端(Claude Code、Claude Desktop、Cursor 等)中添加如下配置:
|
|
@@ -180,19 +201,22 @@ claude mcp add calcite -- npx -y @bkm016/calcite mcp
|
|
|
180
201
|
| `stop_client` | 停止客户端 |
|
|
181
202
|
| `list_clients` | 列出当前管理的客户端 |
|
|
182
203
|
| `get_state` | 获取生命周期阶段与游戏状态(界面、坐标、生命值、维度、帧率、断开原因) |
|
|
204
|
+
| `surroundings` | 周边概况:俯视字符地图、脚下与所处方块、附近方块统计(含最近坐标)、附近实体、群系、时间、天气 |
|
|
205
|
+
| `find_blocks` | 按 ID 或通配符(如 `*_ore`)搜索已加载区块中的方块,按距离排序 |
|
|
183
206
|
| `get_entities` | 获取客户端已接收的实体,可按半径、类型、名称、UUID 过滤 |
|
|
184
207
|
| `send_chat` | 发送聊天消息 |
|
|
185
208
|
| `run_command` | 执行指令,并返回执行期间收到的聊天 |
|
|
186
209
|
| `screenshot` | 渲染并返回 PNG 截图 |
|
|
187
|
-
| `wait_for` |
|
|
210
|
+
| `wait_for` | 等待条件成立:聊天匹配正则、实体出现或消失、进入指定阶段、收到游戏或扩展事件 |
|
|
188
211
|
| `get_chat` | 获取聊天记录 |
|
|
189
212
|
| `get_logs` | 获取游戏日志与 Calcite 日志,用于排查崩溃 |
|
|
190
213
|
| `set_render` | 开启或关闭持续渲染 |
|
|
191
214
|
| `respawn` | 死亡后重生 |
|
|
192
215
|
| `look` | 设置视角,或看向指定坐标 |
|
|
193
|
-
| `walk_to` |
|
|
216
|
+
| `walk_to` | A* 寻路走到指定坐标,返回是否到达及失败原因(`no_path`、`stuck`、`off_path`、`timeout`、`damaged`) |
|
|
194
217
|
| `move` | 按住移动、跳跃、潜行、疾跑等按键若干 tick |
|
|
195
|
-
| `stop_actions` |
|
|
218
|
+
| `stop_actions` | 停止所有持续操作并松开按键,正在运行的长时操作以 `cancelled` 结束 |
|
|
219
|
+
| `get_task` | 查询正在运行的长时操作的进度,以及后台任务的结果;`waitSeconds` 可等待其结束 |
|
|
196
220
|
| `attack` | 攻击实体(按 ID 或准星目标) |
|
|
197
221
|
| `use` | 右键:使用手中物品、与方块交互(开箱、放置)、与实体交互 |
|
|
198
222
|
| `dig` | 挖掘方块直至破坏 |
|
|
@@ -200,13 +224,15 @@ claude mcp add calcite -- npx -y @bkm016/calcite mcp
|
|
|
200
224
|
| `get_target` | 查询准星所指的方块或实体 |
|
|
201
225
|
| `get_inventory` | 查询背包、快捷栏与手持物品 |
|
|
202
226
|
| `select_slot` | 切换快捷栏槽位 |
|
|
203
|
-
| `
|
|
227
|
+
| `craft` | 按配方书合成指定数量的物品,3×3 配方自动使用附近的工作台 |
|
|
228
|
+
| `get_container` | 查询当前打开的容器(类型、标题、槽位物品;熔炉另含燃烧状态与进度) |
|
|
229
|
+
| `transfer` | 在当前容器与背包之间按物品搬运,可指定数量与目标槽位 |
|
|
204
230
|
| `click_slot` | 点击容器槽位,支持拾取、快速移动、数字键交换、丢弃等模式 |
|
|
205
231
|
| `close_container` | 关闭当前容器 |
|
|
206
232
|
| `drop_item` | 丢弃手中物品 |
|
|
207
233
|
| `list_extensions` | 列出扩展与模组注册的命令(名称、说明、参数 schema)及已加载的扩展 jar |
|
|
208
234
|
| `call_extension` | 调用扩展命令 |
|
|
209
|
-
| `get_events` |
|
|
235
|
+
| `get_events` | 获取游戏事件与扩展事件(可按序号、名称正则过滤) |
|
|
210
236
|
| `install_version` | 预下载指定版本,可同时安装模组加载器 |
|
|
211
237
|
| `list_versions` | 列出可用版本 |
|
|
212
238
|
| `account_login_start` | 开始微软账号登录,返回验证链接 |
|
|
@@ -216,6 +242,8 @@ claude mcp add calcite -- npx -y @bkm016/calcite mcp
|
|
|
216
242
|
|
|
217
243
|
仅运行一个客户端时,各工具的 `client` 参数可以省略。工具调用失败时返回 `isError` 结果,错误信息格式为 `[错误码] 描述`。
|
|
218
244
|
|
|
245
|
+
`walk_to`、`dig`、`craft` 是长时操作,同一客户端同时只运行一个。默认等到结束再返回;传 `background: true` 则立即返回,之后用 `get_task` 跟进、用 `stop_actions` 取消。`walk_to` 与 `dig` 支持 `stopOnDamage`,受到伤害时以 `damaged` 中止,便于 Agent 及时应对。
|
|
246
|
+
|
|
219
247
|
## Node.js API
|
|
220
248
|
|
|
221
249
|
```js
|
|
@@ -247,7 +275,8 @@ await bot.stop();
|
|
|
247
275
|
| --- | --- |
|
|
248
276
|
| `name` | 实例名,只允许字母、数字、`-`、`_`、`.` |
|
|
249
277
|
| `version` | 版本号、`release` 或 `snapshot` |
|
|
250
|
-
| `server` | `host[:port]
|
|
278
|
+
| `server` | `host[:port]`;与 `world` 都省略时停留在标题界面 |
|
|
279
|
+
| `world` | 单人世界:存档名,或 `{ name, create?, gameMode?, seed? }`;存档不存在时默认新建(允许作弊),`stop()` 时先存档 |
|
|
251
280
|
| `account` | `{ type: 'offline', username }` 或 `{ type: 'microsoft', name? }` |
|
|
252
281
|
| `render` | `on-demand`(默认)、`always`、`off` |
|
|
253
282
|
| `loader` | 模组加载器:`fabric`、`forge`、`neoforge`,可加 `@<版本>` |
|
|
@@ -264,7 +293,7 @@ await bot.stop();
|
|
|
264
293
|
|
|
265
294
|
| 方法 | 说明 |
|
|
266
295
|
| --- | --- |
|
|
267
|
-
| `start()` / `stop()` |
|
|
296
|
+
| `start()` / `stop()` | 启动(进入服务器或单人世界后返回)/ 停止 |
|
|
268
297
|
| `prepare()` | 仅下载与校验依赖 |
|
|
269
298
|
| `status()` | 生命周期阶段、最近错误、玩家信息 |
|
|
270
299
|
| `state()` | 游戏状态 |
|
|
@@ -275,20 +304,27 @@ await bot.stop();
|
|
|
275
304
|
| `setRender(enabled)` / `respawn()` | 切换持续渲染 / 重生 |
|
|
276
305
|
| `chatSince(seq)` / `logsSince(opts)` | 读取聊天与日志缓冲 |
|
|
277
306
|
| `look({ yaw, pitch } \| { x, y, z })` | 设置视角或看向坐标 |
|
|
278
|
-
| `walkTo(x, z, { range, sprint, timeoutMs })` |
|
|
307
|
+
| `walkTo(x, z, { y, range, sprint, direct, stopOnDamage, timeoutMs })` | 寻路走到坐标(`direct` 为直线行走),返回 `{ arrived, reason?, distance, x, y, z, replans? }` |
|
|
308
|
+
| `task()` | 正在运行的长时操作:`{ running, name?, ticks?, ...进度 }` |
|
|
279
309
|
| `move(controls, { ticks })` / `stopActions()` | 按住按键若干 tick / 停止所有持续操作 |
|
|
280
310
|
| `attack(entityId?)` | 攻击实体,省略时攻击准星目标 |
|
|
281
311
|
| `use({ entityId?, block?, holdTicks? })` | 右键实体、方块或使用手中物品 |
|
|
282
|
-
| `dig(block, { timeoutMs })` | 挖掘方块,返回 `{ broken, block, ticks?, reason? }` |
|
|
312
|
+
| `dig(block, { stopOnDamage, timeoutMs })` | 挖掘方块,返回 `{ broken, block, ticks?, reason? }` |
|
|
313
|
+
| `surroundings({ radius })` | 周边概况,含以玩家为中心的俯视字符地图 `map` 与图例 `legend` |
|
|
314
|
+
| `findBlocks({ blocks, radius, limit })` | 搜索方块,`blocks` 为 ID、通配符或其数组 |
|
|
315
|
+
| `craft(item, { count, timeoutMs })` | 合成物品,返回 `{ item, crafted, count, reason? }` |
|
|
283
316
|
| `block(pos)` / `target()` | 查询方块 / 准星目标 |
|
|
284
317
|
| `inventory()` / `selectSlot(n)` | 查询背包 / 切换快捷栏 |
|
|
285
318
|
| `container({ waitMs })` / `closeContainer()` | 查询 / 关闭当前容器 |
|
|
286
319
|
| `click(slot, { button, mode })` | 点击容器槽位 |
|
|
320
|
+
| `transfer(item, { to, count, slot })` | 在容器与背包之间搬运物品,返回 `{ item, moved, container }` |
|
|
287
321
|
| `drop({ all })` | 丢弃手中物品 |
|
|
288
322
|
| `extensions()` / `call(name, args)` | 列出扩展命令 / 调用扩展命令 |
|
|
289
|
-
| `eventsSince({ since, name, limit })` |
|
|
323
|
+
| `eventsSince({ since, name, limit })` / `lastSeq` | 读取游戏与扩展事件缓冲(最多保留 1000 条)/ 最新序号 |
|
|
290
324
|
|
|
291
|
-
事件:`phase`、`state`、`chat`、`log`、`exit`、`
|
|
325
|
+
事件:`phase`、`state`、`chat`、`log`、`exit`、`event`(游戏事件与扩展事件,`{ seq, time, name, data }`)。
|
|
326
|
+
|
|
327
|
+
长时操作(`walkTo`、`dig`、`craft`)同一时间只运行一个;`stopActions()` 会让正在等待的调用以 `cancelled` 错误结束。
|
|
292
328
|
|
|
293
329
|
### 玩家操作示例
|
|
294
330
|
|
|
@@ -301,11 +337,56 @@ for (const item of chest.items.filter((i) => i.slot < chest.containerSlots)) {
|
|
|
301
337
|
await bot.click(item.slot, { mode: 'quick_move' }); // Shift+点击 取出物品
|
|
302
338
|
}
|
|
303
339
|
await bot.closeContainer();
|
|
340
|
+
|
|
341
|
+
await bot.craft('oak_planks', { count: 8 }); // 背包合成格
|
|
342
|
+
await bot.craft('wooden_pickaxe'); // 自动打开 4.5 格内的工作台
|
|
343
|
+
await bot.use({ block: furnacePos }); // 打开熔炉
|
|
344
|
+
await bot.container({ waitMs: 3000 });
|
|
345
|
+
await bot.transfer('raw_iron', { slot: 0 }); // 原料放入输入槽
|
|
346
|
+
await bot.transfer('coal'); // 不指定槽位时由游戏分配(燃料进燃料槽)
|
|
304
347
|
```
|
|
305
348
|
|
|
306
349
|
容器槽位编号与原版一致:容器自身的槽位在前(`0` 到 `containerSlots - 1`),玩家背包在后;`item.inventorySlot` 给出对应的背包槽位。`click` 的 `mode` 可取 `pickup`(默认,`button` 0 为左键、1 为右键)、`quick_move`(Shift+点击)、`swap`(数字键,`button` 为快捷栏序号 0–8)、`clone`、`throw`、`quick_craft`、`pickup_all`;槽位 `-999` 表示点击界面外部。未打开容器时,`click` 作用于玩家自身的背包界面。
|
|
307
350
|
|
|
308
|
-
|
|
351
|
+
操作距离与生存模式一致(约 4.5 格),目标超过 6 格时返回 `out_of_reach` 错误,需先用 `walkTo` 靠近。
|
|
352
|
+
|
|
353
|
+
### 游戏事件
|
|
354
|
+
|
|
355
|
+
探针内置以下事件,与扩展事件一起通过 `event`、`eventsSince`、`waitFor({ event })` 和 MCP 的 `get_events` 获取:
|
|
356
|
+
|
|
357
|
+
| 事件 | 数据 |
|
|
358
|
+
| --- | --- |
|
|
359
|
+
| `world.join` / `world.leave` | 进入世界时的维度与坐标 |
|
|
360
|
+
| `player.respawn` / `player.dimension` | 重生或切换维度后的维度与坐标 |
|
|
361
|
+
| `player.hurt` | `{ health, amount, source? }` |
|
|
362
|
+
| `player.death` | `{ message }` 死亡信息 |
|
|
363
|
+
| `player.food` | `{ food, previous }` |
|
|
364
|
+
| `inventory.change` | `{ changes: [{ slot, item, previous }] }` |
|
|
365
|
+
| `container.open` / `container.close` | 容器类型、标题、槽位数 |
|
|
366
|
+
| `screen.change` | `{ screen, previous }` 界面类名 |
|
|
367
|
+
|
|
368
|
+
### 插件测试服
|
|
369
|
+
|
|
370
|
+
`startPaperServer` 拉起一个一次性的 Paper 服务器,用来给插件写端到端测试:自动下载对应版本最新的 Paper 构建、按版本挑选 Java、写入离线模式与超平坦等测试默认配置,并装好 ViaVersion/ViaBackwards(Java 17+ 时)。
|
|
371
|
+
|
|
372
|
+
```ts
|
|
373
|
+
import { Client, startPaperServer } from '@bkm016/calcite';
|
|
374
|
+
|
|
375
|
+
const server = await startPaperServer({
|
|
376
|
+
dir: '.e2e/server',
|
|
377
|
+
version: '1.21.11',
|
|
378
|
+
plugins: ['build/libs/MyPlugin.jar'],
|
|
379
|
+
operators: ['Bot'],
|
|
380
|
+
});
|
|
381
|
+
const bot = new Client({ name: 'Bot', version: '1.21.11', server: server.address, render: 'off' });
|
|
382
|
+
await bot.start();
|
|
383
|
+
await bot.command('myplugin hello');
|
|
384
|
+
await server.run('myplugin status', /ready/); // 控制台指令,等待匹配的输出
|
|
385
|
+
await bot.stop();
|
|
386
|
+
await server.stop();
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
默认每次启动都重新生成世界;`keepWorld: true` 保留上次的世界,用于验证重启后的持久化。`properties` 覆盖 `server.properties`,`onLine` 接收全部控制台输出。
|
|
309
390
|
|
|
310
391
|
此外还导出 `ClientManager`(多客户端管理)、`installVersion`、`startLogin`、`listAccounts`、`removeAccount` 等函数,类型定义随包发布。
|
|
311
392
|
|
|
@@ -380,7 +461,7 @@ Forge 与 NeoForge 的安装器要求与游戏版本完全一致的 Java 主版
|
|
|
380
461
|
|
|
381
462
|
```js
|
|
382
463
|
const bot = new Client({ version: '1.21.11', server: 'localhost', extensions: ['./calcite-hud.jar'] });
|
|
383
|
-
bot.on('
|
|
464
|
+
bot.on('event', (e) => console.log(e.name, e.data)); // 例如 hud.title { title: 'Hello', subtitle: null }
|
|
384
465
|
await bot.start();
|
|
385
466
|
|
|
386
467
|
console.log(await bot.extensions()); // { commands: [...], extensions: [{ jar, ids }] }
|
|
@@ -457,10 +538,12 @@ static void registerCalcite() {
|
|
|
457
538
|
|
|
458
539
|
| 版本范围 | 支持情况 |
|
|
459
540
|
| --- | --- |
|
|
460
|
-
| 1.14.4 及以上 |
|
|
541
|
+
| 1.14.4 及以上 | 全部功能(状态、实体、聊天、指令、截图、玩家操作、寻路、合成、游戏事件) |
|
|
461
542
|
| 1.14.4 以前 | 可以启动并进入服务器;Mojang 未发布这些版本的映射表,探针功能不可用 |
|
|
462
543
|
|
|
463
|
-
已验证的版本:1.16.5、1.20.4、1.21.11、26.3。
|
|
544
|
+
已验证的版本:1.16.5、1.20.1、1.20.4、1.21.1、1.21.11、26.3。
|
|
545
|
+
|
|
546
|
+
通过 ViaBackwards 以低版本客户端进入高版本服务器时,服务器下发的配方会被替换为占位物品,合成不可用;其余功能不受影响。
|
|
464
547
|
|
|
465
548
|
## 数据目录与环境变量
|
|
466
549
|
|
|
@@ -510,7 +593,7 @@ static void registerCalcite() {
|
|
|
510
593
|
|
|
511
594
|
## 工作原理
|
|
512
595
|
|
|
513
|
-
1. Calcite 解析 Mojang
|
|
596
|
+
1. Calcite 解析 Mojang 版本清单,下载客户端、库与资源文件,并逐一校验哈希。资源文件在首次成功启动时完整校验一次,之后的启动不再逐个计算哈希。
|
|
514
597
|
2. 使用 [HeadlessMC](https://github.com/headlesshq/headlessmc) 3 启动游戏。每个实例拥有独立的游戏目录、HeadlessMC 配置和启动参数,并发启动互不干扰。
|
|
515
598
|
3. 向游戏注入一个轻量 Java Agent(探针)。探针借助 Mojang 官方映射表(模组环境下转换为 intermediary 或 SRG 名称)定位游戏内部类,并通过本地 TCP 连接与 Calcite 交换 JSON 消息。
|
|
516
599
|
4. 在 Linux 无显示环境中,Calcite 启动共享的 Xvfb,并配置 Mesa 软件渲染。Minecraft 26.x 的渲染器改用 EGL。
|
package/dist/accounts.js
CHANGED
|
@@ -81,7 +81,7 @@ export async function removeAccount(paths, name) {
|
|
|
81
81
|
const key = findKey(accounts, name);
|
|
82
82
|
if (!key)
|
|
83
83
|
return false;
|
|
84
|
-
|
|
84
|
+
Reflect.deleteProperty(accounts, key);
|
|
85
85
|
await writeStore(accountsFile(paths), accounts);
|
|
86
86
|
return true;
|
|
87
87
|
});
|
|
@@ -115,7 +115,9 @@ export async function prepareAccount(paths, location, account) {
|
|
|
115
115
|
const wanted = account.name;
|
|
116
116
|
const match = wanted ? accounts.find((a) => a.name.toLowerCase() === wanted.toLowerCase()) : accounts.find((a) => a.primary);
|
|
117
117
|
if (!match) {
|
|
118
|
-
throw Object.assign(new Error(`No stored Microsoft account named "${wanted}" (have: ${accounts.map((a) => a.name).join(', ')})`), {
|
|
118
|
+
throw Object.assign(new Error(`No stored Microsoft account named "${wanted}" (have: ${accounts.map((a) => a.name).join(', ')})`), {
|
|
119
|
+
code: 'unknown_account',
|
|
120
|
+
});
|
|
119
121
|
}
|
|
120
122
|
const session = (await readStore(accountsFile(paths)))[match.name];
|
|
121
123
|
await rm(storeFile(location, OFFLINE), { force: true });
|
package/dist/accounts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { writeFile } from 'node:fs/promises';
|
|
3
|
-
import { createInterface } from 'node:readline';
|
|
4
2
|
import { Command, InvalidArgumentError, Option } from 'commander';
|
|
5
3
|
import { listAccounts, removeAccount, startLogin } from './accounts.js';
|
|
6
4
|
import { Client, defaultUsername, installVersion } from './client.js';
|
|
@@ -8,8 +6,9 @@ import { hasSharedLib, which } from './display.js';
|
|
|
8
6
|
import { findJavaInstalls } from './java.js';
|
|
9
7
|
import { setLogLevel } from './log.js';
|
|
10
8
|
import { getManifest } from './mojang.js';
|
|
11
|
-
import { runMcpStdio } from './mcp.js';
|
|
9
|
+
import { runMcpStdio } from './mcp/index.js';
|
|
12
10
|
import { resolvePaths } from './paths.js';
|
|
11
|
+
import { runRepl } from './repl.js';
|
|
13
12
|
import { VERSION } from './version.js';
|
|
14
13
|
const out = (line = '') => process.stdout.write(`${line}\n`);
|
|
15
14
|
function positiveInt(value) {
|
|
@@ -23,83 +22,6 @@ function fail(err) {
|
|
|
23
22
|
process.stderr.write(`error${e.code ? ` [${e.code}]` : ''}: ${e.message}\n`);
|
|
24
23
|
process.exit(1);
|
|
25
24
|
}
|
|
26
|
-
const json = (value) => out(JSON.stringify(value, null, 2));
|
|
27
|
-
/** Interactive action commands of `calcite launch`; returns false for unknown commands. */
|
|
28
|
-
async function action(client, line) {
|
|
29
|
-
const [cmd, ...rest] = line.slice(1).split(/\s+/);
|
|
30
|
-
const n = rest.map(Number);
|
|
31
|
-
const need = (count) => {
|
|
32
|
-
if (n.length < count || n.slice(0, count).some((v) => !Number.isFinite(v)))
|
|
33
|
-
throw new Error(`:${cmd} needs ${count} numbers`);
|
|
34
|
-
};
|
|
35
|
-
switch (cmd) {
|
|
36
|
-
case 'look':
|
|
37
|
-
need(2);
|
|
38
|
-
json(await client.look({ yaw: n[0], pitch: n[1] }));
|
|
39
|
-
return true;
|
|
40
|
-
case 'lookat':
|
|
41
|
-
need(3);
|
|
42
|
-
json(await client.look({ x: n[0], y: n[1], z: n[2] }));
|
|
43
|
-
return true;
|
|
44
|
-
case 'goto':
|
|
45
|
-
need(2);
|
|
46
|
-
json(await client.walkTo(n[0], n[1]));
|
|
47
|
-
return true;
|
|
48
|
-
case 'move': {
|
|
49
|
-
const controls = Object.fromEntries((rest[0] ?? '').split(',').filter(Boolean).map((c) => [c, true]));
|
|
50
|
-
json(await client.move(controls, { ticks: rest[1] ? Number(rest[1]) : 20 }));
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
case 'stop':
|
|
54
|
-
await client.stopActions();
|
|
55
|
-
return true;
|
|
56
|
-
case 'attack':
|
|
57
|
-
json(await client.attack(rest[0] ? Number(rest[0]) : undefined));
|
|
58
|
-
return true;
|
|
59
|
-
case 'use':
|
|
60
|
-
if (rest.length >= 3) {
|
|
61
|
-
need(3);
|
|
62
|
-
json(await client.use({ block: { x: n[0], y: n[1], z: n[2] }, holdTicks: n[3] || undefined }));
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
json(await client.use({ entityId: rest[0] ? n[0] : undefined, holdTicks: n[1] || undefined }));
|
|
66
|
-
}
|
|
67
|
-
return true;
|
|
68
|
-
case 'dig':
|
|
69
|
-
need(3);
|
|
70
|
-
json(await client.dig({ x: n[0], y: n[1], z: n[2] }));
|
|
71
|
-
return true;
|
|
72
|
-
case 'block':
|
|
73
|
-
need(3);
|
|
74
|
-
json(await client.block({ x: n[0], y: n[1], z: n[2] }));
|
|
75
|
-
return true;
|
|
76
|
-
case 'target':
|
|
77
|
-
json(await client.target());
|
|
78
|
-
return true;
|
|
79
|
-
case 'inv':
|
|
80
|
-
json(await client.inventory());
|
|
81
|
-
return true;
|
|
82
|
-
case 'slot':
|
|
83
|
-
need(1);
|
|
84
|
-
json(await client.selectSlot(n[0]));
|
|
85
|
-
return true;
|
|
86
|
-
case 'container':
|
|
87
|
-
json(await client.container());
|
|
88
|
-
return true;
|
|
89
|
-
case 'click':
|
|
90
|
-
need(1);
|
|
91
|
-
json(await client.click(n[0], { button: rest[1] ? n[1] : 0, mode: rest[2] ?? 'pickup' }));
|
|
92
|
-
return true;
|
|
93
|
-
case 'close':
|
|
94
|
-
await client.closeContainer();
|
|
95
|
-
return true;
|
|
96
|
-
case 'drop':
|
|
97
|
-
json(await client.drop({ all: rest[0] === 'all' }));
|
|
98
|
-
return true;
|
|
99
|
-
default:
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
25
|
function collect(value, previous) {
|
|
104
26
|
return [...previous, value];
|
|
105
27
|
}
|
|
@@ -121,6 +43,9 @@ program
|
|
|
121
43
|
.option('-l, --loader <loader>', 'mod loader: fabric, forge or neoforge, optionally @version (e.g. fabric@0.19.5)')
|
|
122
44
|
.option('--mod <spec>', 'mod jar, folder, URL or modrinth:<project>[@version] (repeatable; needs --loader)', collect, [])
|
|
123
45
|
.option('--ext <jar>', 'probe extension jar or URL (repeatable)', collect, [])
|
|
46
|
+
.option('-w, --world <name>', 'play singleplayer in this world (created when missing) instead of joining a server')
|
|
47
|
+
.addOption(new Option('--game-mode <mode>', 'game mode of a new world').choices(['survival', 'creative', 'hardcore']).default('survival'))
|
|
48
|
+
.option('--seed <seed>', 'seed of a new world')
|
|
124
49
|
.option('-u, --username <name>', 'offline username (default: the client name)')
|
|
125
50
|
.option('-m, --microsoft [account]', 'use a stored Microsoft account (primary one, or by name)')
|
|
126
51
|
.addOption(new Option('-r, --render <mode>', 'renderer mode').choices(['on-demand', 'always', 'off']).default('on-demand'))
|
|
@@ -139,6 +64,7 @@ program
|
|
|
139
64
|
mods: o.mod,
|
|
140
65
|
extensions: o.ext,
|
|
141
66
|
server,
|
|
67
|
+
world: o.world ? { name: o.world, gameMode: o.gameMode, seed: o.seed } : undefined,
|
|
142
68
|
account,
|
|
143
69
|
render: o.render,
|
|
144
70
|
javaPath: o.java,
|
|
@@ -148,7 +74,7 @@ program
|
|
|
148
74
|
});
|
|
149
75
|
client.on('phase', (p) => process.stderr.write(`[${p}]\n`));
|
|
150
76
|
client.on('chat', (c) => out(c.message));
|
|
151
|
-
client.on('
|
|
77
|
+
client.on('event', (e) => process.stderr.write(`[${e.name}] ${JSON.stringify(e.data)}\n`));
|
|
152
78
|
let stopping = false;
|
|
153
79
|
const stop = async (code = 0) => {
|
|
154
80
|
if (stopping)
|
|
@@ -163,69 +89,14 @@ program
|
|
|
163
89
|
await client.start();
|
|
164
90
|
}
|
|
165
91
|
catch (err) {
|
|
166
|
-
process.stderr.write(client
|
|
92
|
+
process.stderr.write(client
|
|
93
|
+
.logsSince({ limit: 30 })
|
|
94
|
+
.map((l) => ` ${l.line}`)
|
|
95
|
+
.join('\n') + '\n');
|
|
167
96
|
await client.stop();
|
|
168
97
|
fail(err);
|
|
169
98
|
}
|
|
170
|
-
|
|
171
|
-
'Actions: :look yaw pitch | :lookat x y z | :goto x z | :move forward,jump [ticks] | :stop | :attack [id] | :use [id | x y z] [hold]\n' +
|
|
172
|
-
' :dig x y z | :block x y z | :target | :inv | :slot n | :container | :click slot [button] [mode] | :close | :drop [all]\n' +
|
|
173
|
-
'Extensions: :ext (list commands) | :call <name> [json args]\n');
|
|
174
|
-
const rl = createInterface({ input: process.stdin });
|
|
175
|
-
rl.on('close', () => void stop());
|
|
176
|
-
for await (const raw of rl) {
|
|
177
|
-
const line = raw.trim();
|
|
178
|
-
if (!line)
|
|
179
|
-
continue;
|
|
180
|
-
try {
|
|
181
|
-
if (line === ':quit' || line === ':q')
|
|
182
|
-
break;
|
|
183
|
-
else if (line === ':state')
|
|
184
|
-
out(JSON.stringify(await client.state(), null, 2));
|
|
185
|
-
else if (line.startsWith(':ents')) {
|
|
186
|
-
const radius = Number(line.split(/\s+/)[1] ?? 32);
|
|
187
|
-
for (const e of await client.entities({ radius })) {
|
|
188
|
-
out(`${e.id}\t${e.type}\t${e.name ?? ''}${e.customName ? ` (${e.customName})` : ''}\t${e.x?.toFixed(1)} ${e.y?.toFixed(1)} ${e.z?.toFixed(1)}`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
else if (line.startsWith(':shot')) {
|
|
192
|
-
const file = line.split(/\s+/)[1] ?? `calcite-${Date.now()}.png`;
|
|
193
|
-
const shot = await client.screenshot();
|
|
194
|
-
await writeFile(file, shot.png);
|
|
195
|
-
out(`saved ${file} (${shot.png.length} bytes)`);
|
|
196
|
-
}
|
|
197
|
-
else if (line.startsWith(':render')) {
|
|
198
|
-
await client.setRender(line.endsWith('on'));
|
|
199
|
-
}
|
|
200
|
-
else if (line === ':respawn')
|
|
201
|
-
await client.respawn();
|
|
202
|
-
else if (line === ':ext') {
|
|
203
|
-
const { commands, extensions } = await client.extensions();
|
|
204
|
-
for (const x of extensions)
|
|
205
|
-
out(`jar ${x.jar}: ${x.error ? `failed: ${x.error}` : x.ids.join(', ')}`);
|
|
206
|
-
for (const c of commands)
|
|
207
|
-
out(`${c.name}\t${c.description ?? ''}${c.schema ? `\targs ${JSON.stringify(c.schema)}` : ''}`);
|
|
208
|
-
if (!commands.length)
|
|
209
|
-
out('no extension commands');
|
|
210
|
-
}
|
|
211
|
-
else if (line.startsWith(':call ')) {
|
|
212
|
-
const m = /^:call\s+(\S+)\s*(.*)$/.exec(line);
|
|
213
|
-
out(JSON.stringify(await client.call(m[1], m[2] ? JSON.parse(m[2]) : {}), null, 2));
|
|
214
|
-
}
|
|
215
|
-
else if (line.startsWith(':') && (await action(client, line))) {
|
|
216
|
-
// handled
|
|
217
|
-
}
|
|
218
|
-
else if (line.startsWith('/'))
|
|
219
|
-
await client.command(line.slice(1));
|
|
220
|
-
else if (line.startsWith(':'))
|
|
221
|
-
process.stderr.write(`unknown command ${line}\n`);
|
|
222
|
-
else
|
|
223
|
-
await client.chat(line);
|
|
224
|
-
}
|
|
225
|
-
catch (err) {
|
|
226
|
-
process.stderr.write(`error: ${err.message}\n`);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
99
|
+
await runRepl(client);
|
|
229
100
|
await stop();
|
|
230
101
|
});
|
|
231
102
|
program
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|