@clawos-dev/clawd 0.2.574 → 0.2.576
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-builder-plugin/mcp-server.cjs +15 -4
- package/dist/cli.cjs +990 -854
- package/dist/dispatch/mcp-server.cjs +14 -3
- package/dist/persona-defaults/persona-app-builder/mcp/clawd-app-builder/mcp-server.cjs +15 -4
- package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md +31 -38
- package/dist/persona-defaults/persona-dataclaw-builder/mcp/clawd-app-builder/mcp-server.cjs +15 -4
- package/dist/share-ui/assets/{guest-Co-OS509.js → guest-O4U4ALAC.js} +11 -11
- package/dist/share-ui/guest.html +1 -1
- package/package.json +1 -1
|
@@ -21291,8 +21291,8 @@ var EnvArtifactSchema = external_exports.object({
|
|
|
21291
21291
|
url: external_exports.string().url(),
|
|
21292
21292
|
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21293
21293
|
bin: external_exports.string(),
|
|
21294
|
-
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/)
|
|
21295
|
-
size: external_exports.number().int().positive()
|
|
21294
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21295
|
+
size: external_exports.number().int().positive()
|
|
21296
21296
|
});
|
|
21297
21297
|
var EnvPackageSchema = external_exports.object({
|
|
21298
21298
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
@@ -21332,7 +21332,18 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21332
21332
|
*/
|
|
21333
21333
|
localVersion: external_exports.string().optional(),
|
|
21334
21334
|
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21335
|
-
artifact: EnvArtifactSchema.optional()
|
|
21335
|
+
artifact: EnvArtifactSchema.optional(),
|
|
21336
|
+
/**
|
|
21337
|
+
* `apt:` 专用——daemon 上报时查过 Debian 12(bookworm)仓库,**没有**这个包。云上装不了,怎么办由老板在页面上定(换源 / 去掉 / 接受);
|
|
21338
|
+
* 不打回 butler(它也不见得找得到对的 npm / github 源)。有这个包时不写此字段,`version` 就是 Debian 12 会装的那一版(不是本机的)。
|
|
21339
|
+
*/
|
|
21340
|
+
aptMissing: external_exports.literal(true).optional(),
|
|
21341
|
+
/**
|
|
21342
|
+
* `apt:` 专用——daemon 查到的 Debian 12 里这个包的版本(上游号,如 `3.11.2`;元包抠不出上游号时是 Debian 的版本串原样)。
|
|
21343
|
+
* 是**事实**不是要求:`version` 才是构建期要验的那个——Debian 版本满足 `min`(或没 `min`)时 `version` = 它;不满足时只记这里、不钉 `version`,
|
|
21344
|
+
* 页面把「Debian 12 只有 x,要求 ≥ min」摆出来让老板定。查不到(出网失败)时两者都不写,页面显示「没查到」。
|
|
21345
|
+
*/
|
|
21346
|
+
aptVersion: external_exports.string().optional()
|
|
21336
21347
|
});
|
|
21337
21348
|
var EnvSecretSchema = external_exports.object({
|
|
21338
21349
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -21477,8 +21477,8 @@ var EnvArtifactSchema = external_exports.object({
|
|
|
21477
21477
|
url: external_exports.string().url(),
|
|
21478
21478
|
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21479
21479
|
bin: external_exports.string(),
|
|
21480
|
-
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/)
|
|
21481
|
-
size: external_exports.number().int().positive()
|
|
21480
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21481
|
+
size: external_exports.number().int().positive()
|
|
21482
21482
|
});
|
|
21483
21483
|
var EnvPackageSchema = external_exports.object({
|
|
21484
21484
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
@@ -21518,7 +21518,18 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21518
21518
|
*/
|
|
21519
21519
|
localVersion: external_exports.string().optional(),
|
|
21520
21520
|
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21521
|
-
artifact: EnvArtifactSchema.optional()
|
|
21521
|
+
artifact: EnvArtifactSchema.optional(),
|
|
21522
|
+
/**
|
|
21523
|
+
* `apt:` 专用——daemon 上报时查过 Debian 12(bookworm)仓库,**没有**这个包。云上装不了,怎么办由老板在页面上定(换源 / 去掉 / 接受);
|
|
21524
|
+
* 不打回 butler(它也不见得找得到对的 npm / github 源)。有这个包时不写此字段,`version` 就是 Debian 12 会装的那一版(不是本机的)。
|
|
21525
|
+
*/
|
|
21526
|
+
aptMissing: external_exports.literal(true).optional(),
|
|
21527
|
+
/**
|
|
21528
|
+
* `apt:` 专用——daemon 查到的 Debian 12 里这个包的版本(上游号,如 `3.11.2`;元包抠不出上游号时是 Debian 的版本串原样)。
|
|
21529
|
+
* 是**事实**不是要求:`version` 才是构建期要验的那个——Debian 版本满足 `min`(或没 `min`)时 `version` = 它;不满足时只记这里、不钉 `version`,
|
|
21530
|
+
* 页面把「Debian 12 只有 x,要求 ≥ min」摆出来让老板定。查不到(出网失败)时两者都不写,页面显示「没查到」。
|
|
21531
|
+
*/
|
|
21532
|
+
aptVersion: external_exports.string().optional()
|
|
21522
21533
|
});
|
|
21523
21534
|
var EnvSecretSchema = external_exports.object({
|
|
21524
21535
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -24807,7 +24818,7 @@ var DEPLOY_FILE = import_node_path3.default.join(".clawd", "deploy.json");
|
|
|
24807
24818
|
var SCAN_FILE = import_node_path3.default.join(".clawd", "deploy-scan.json");
|
|
24808
24819
|
var z1 = DeployScanSchema.omit({ id: true, manifest: true }).extend({ releasedHead: DeployScanSchema.shape.head }).strict();
|
|
24809
24820
|
var z2 = external_exports.object({ version: external_exports.literal(2), scans: external_exports.array(DeployScanSchema), released: DeployReleasedSchema.optional() }).strict();
|
|
24810
|
-
var PackageFindingSchema = EnvPackageSchema.omit({ localVersion: true, artifact: true }).extend({
|
|
24821
|
+
var PackageFindingSchema = EnvPackageSchema.omit({ localVersion: true, artifact: true, aptMissing: true, aptVersion: true }).extend({
|
|
24811
24822
|
artifact: external_exports.object({ url: external_exports.string().url(), bin: external_exports.string() }).strict().optional()
|
|
24812
24823
|
});
|
|
24813
24824
|
|
package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md
CHANGED
|
@@ -38,12 +38,10 @@ git diff --name-only <任务里给的 sha> -- .
|
|
|
38
38
|
1. 调 `deploy:get`,在 `scans` 里找 `id` 等于任务给的 scanId 那条,拿它的 `manifest.packages` 和 `evidence`。
|
|
39
39
|
2. 对 `packages` 里的每一条调一次 `deploy:reportFinding`(`kind: "package"`):
|
|
40
40
|
- `item` 只带 `name` / `from` / `min` / `version`;有 `artifact` 的只带 `{ url, bin }`。
|
|
41
|
-
`localVersion` 是 daemon
|
|
41
|
+
`localVersion`、`artifact.sha256`、`artifact.size` 是 daemon 写的,**不要带**(带了 sha256 会被按形状拒)。
|
|
42
42
|
- `evidence` 用记录里 `target` 等于 `package:<name>` 那条的 `reason` / `file` / `quote` 原样回传。
|
|
43
43
|
- 记录里**没有**这条 evidence 的(老板在页面上手工补的条目)跳过不报——上报口要求 evidence,编一条就是造假。
|
|
44
|
-
- 被拒就按错误里说的做:`github:` 包本机版本变了,daemon 会告诉你新版本,按它重找资产再报(规则见 package
|
|
45
|
-
- 重报后返回的那条**没有 `localVersion`** = 本机已经没有这个工具了(卸了、或它本来就是 npx 现拉现跑的)。
|
|
46
|
-
按「本机有啥就上云啥」它不该再在清单里,记下来,收尾时用 `deploy:patch` 删掉(见收尾那节)。
|
|
44
|
+
- 被拒就按错误里说的做:`github:` 包本机版本变了,daemon 会告诉你新版本,按它重找资产再报(规则见 package 那节第 2 步)。
|
|
47
45
|
3. 然后再去读改动文件。改动涉及的条目在那一趟会再报一次,新结论盖过这里的,顺序不能反。
|
|
48
46
|
|
|
49
47
|
两件最容易做错的事:
|
|
@@ -65,7 +63,7 @@ git diff --name-only <任务里给的 sha> -- .
|
|
|
65
63
|
|
|
66
64
|
| 有什么 | 说明 |
|
|
67
65
|
|---|---|
|
|
68
|
-
| node 22、npm、npx | 底座镜像就是 `node:22-bookworm-slim
|
|
66
|
+
| node 22、npm、npx | 底座镜像就是 `node:22-bookworm-slim`。npm 包型的 MCP server / CLI 只需报一条 `package` 让它预装,node 本身不用管 |
|
|
69
67
|
| git | 底座自带 |
|
|
70
68
|
| codex | 云上唯一的引擎,底座自带 |
|
|
71
69
|
| lark-cli | 底座自带,带凭据隔离编译。飞书的登录态由**飞书连接器**在容器起来时带进去,不需要也不能在容器里 `auth login` / `config init`;persona 里写的交互式初始化步骤在云上不会走到 |
|
|
@@ -110,20 +108,8 @@ call({ method: "deploy:reportFinding", args: {
|
|
|
110
108
|
|
|
111
109
|
`item` 字段:`name`(必填,装完落在 PATH 上的可执行名)、`from`(从哪装)、`version`(精确版本,见下)、`min`(版本下限)、`artifact`(`github:` 专用,见下)。
|
|
112
110
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
- 判据是 daemon 的探测:你每报一条 `package`,daemon 在这台机器的登录 shell PATH 上找同名可执行,
|
|
117
|
-
探到了返回的那条带 `localVersion`。**报之前自己先 `command -v <name>` 一下**——找不到就不报,
|
|
118
|
-
省得报进去再删(上报口只增不删)。
|
|
119
|
-
- **本机没装的不报,也不猜版本。** persona 文件里引用了、但这台机器上没有的工具,云上也不会有——
|
|
120
|
-
要不要写进 `notes` 按收尾那节的三道门槛判,不进清单。
|
|
121
|
-
- **`npx` / `uvx` 现拉现跑的不报。** `.mcp.json` 里 `"command": "npx"` 的 MCP server、skill 里
|
|
122
|
-
`npx -y <pkg>` 跑的工具,本机就是现拉现跑,云上也现拉现跑(底座有 node / npm / npx,见「云上容器已经有的」)。
|
|
123
|
-
它在 npx 缓存里、不在 PATH 上,daemon 探不到,正好和原则一致。全局装了的(`npm i -g`,PATH 上有 bin)才报。
|
|
124
|
-
|
|
125
|
-
只列**干净容器里不会自带**的:`aliyun` / `s`(Serverless Devs) / `pnpm` / `python3`
|
|
126
|
-
这类;不必列 `ls` `cat` `grep` `sed` `awk` `curl` `tar` `bash` 这些基础镜像自带的(`git` 在底座里,见「云上容器已经有的」)。
|
|
111
|
+
只列**干净容器里不会自带**的:要列 `aliyun` / `s`(Serverless Devs) / `pnpm` / `python3` / `git`
|
|
112
|
+
这类;不必列 `ls` `cat` `grep` `sed` `awk` `curl` `tar` `bash` 这些基础镜像自带的。
|
|
127
113
|
|
|
128
114
|
**`from` 必须给出,查清楚是你的活,不是留给老板的作业。** 写成 `<kind>:<ref>`,如
|
|
129
115
|
`npm:@serverless-devs/s` / `github:aliyun/aliyun-cli` / `apt:python3`。按这个顺序找:
|
|
@@ -138,29 +124,37 @@ call({ method: "deploy:reportFinding", args: {
|
|
|
138
124
|
|
|
139
125
|
注意目标是 **Linux 容器**:persona 脚本里的 macOS 装法(brew 之类)不能照抄,要找 Linux 对应的。
|
|
140
126
|
|
|
141
|
-
**版本不用你定——daemon 探本机。**
|
|
142
|
-
|
|
127
|
+
**版本不用你定——daemon 探本机。** 你每报一条 `package`,daemon 会在这台机器的登录 shell PATH 上找同名
|
|
128
|
+
可执行、问它的版本,写进返回值里那条的 `version`(同时落 `localVersion`)。本机是啥就上云啥,这是硬约束。
|
|
129
|
+
只有本机没装时才由你按官方文档填一个 `version`,并在收尾的 `notes` 里写明「本机未装 <name>,取的 x.y.z」。
|
|
143
130
|
`min` 只在你确知下限时填。**不要猜版本号。**
|
|
144
131
|
|
|
145
|
-
**`
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
132
|
+
**`apt:` 条目的版本由 daemon 按 Debian 12 定,你只管报 `apt:<包名>`。** apt 每个包只有 Debian 12 (bookworm) 冻结的那一个版本,
|
|
133
|
+
本机 brew 装的永远比它新,「本机是啥就上云啥」对 apt 不成立。daemon 收到 `apt:` 条目会去查 Debian 官方仓库(一次元数据查询,不下载),
|
|
134
|
+
把云上会装的版本写进 `version`,本机的记在 `localVersion`,页面那一行直接显示「云上装 Debian 12 的 3.11.2,本机 3.12.9」;
|
|
135
|
+
Debian 12 没有这个包也照样记下(页面显示「云上装不了」)。**你不要因为版本对不上就自己换成 npm / github 源,也不要下包来验证**——
|
|
136
|
+
怎么办由老板在页面上定。想先看一眼 Debian 12 有没有、是哪版,用这条(只回一行元数据):
|
|
137
|
+
`curl -s 'https://api.ftp-master.debian.org/madison?package=<包名>&s=bookworm&a=amd64,all&text=on'`,空输出就是没有。
|
|
150
138
|
|
|
151
|
-
npm
|
|
152
|
-
的 bin 是 `supabase-mcp`。名字拿不准就去看那个包的 `package.json` 的 `bin` 字段(或官方文档),别拿包名顶上;
|
|
153
|
-
`from` 写 `npm:<完整包名>`。
|
|
139
|
+
**`npm:` / `github:` 必须能装出 `version` 那个确切版本**:npm 注册表和 GitHub release 每个历史版本都在,选错了就是源选错了,不要报一个装出来版本不对的源。
|
|
154
140
|
|
|
155
|
-
**`github:` 要钉资产。**
|
|
156
|
-
GitHub 不是包注册表,从「仓库 + 版本」推不出该下哪个文件,构建器不猜。分两步:
|
|
141
|
+
**`github:` 要钉资产。** GitHub 不是包注册表,从「仓库 + 版本」推不出该下哪个文件,构建器不猜。分两步:
|
|
157
142
|
1. 先报 `{ name, from: "github:<owner>/<repo>" }`,从返回的 view 里读 daemon 定下的 `version`;
|
|
158
143
|
2. 按**那个版本**打开该仓库的 Releases 页(或读它官方 install 脚本里的下载 URL),找到 **linux-amd64** 资产的直链
|
|
159
144
|
和包内可执行文件的路径,再报一次同名条目:
|
|
160
145
|
`{ name, from, version: <第 1 步读到的>, artifact: { url: "<直链>", bin: "<包内路径,如 hbi 或 dist/bin/x;裸二进制留空串>" } }`。
|
|
161
|
-
只认 `.tar.gz` / `.tgz`
|
|
162
|
-
|
|
163
|
-
|
|
146
|
+
只认 `.tar.gz` / `.tgz` 和裸二进制。**不要自己算 sha256**,daemon 会下载核实并写入。
|
|
147
|
+
被拒时错误里会说原因(版本不是本机那个 / 包里没有 bin / 404),按它说的重找再报。
|
|
148
|
+
|
|
149
|
+
**`.mcp.json` 里 `npx` / `uvx` 现拉现跑的 MCP server,也要报一条 `package`。** 它看着像一条配置
|
|
150
|
+
不像一个命令行工具,但语义是一样的:容器里没有这个包时,MCP 首次启动要连 registry 现拉,
|
|
151
|
+
离线或抖动就直接起不来,persona 少一整块能力。所以它必须预装进镜像。
|
|
152
|
+
|
|
153
|
+
- `name` 写它装完**落在 PATH 上的可执行名**,常常跟包名不一样——
|
|
154
|
+
`@aliyun-rds/supabase-mcp-server` 的 bin 是 `supabase-mcp`。名字拿不准就去看那个包的
|
|
155
|
+
`package.json` 的 `bin` 字段(或官方文档),别拿包名顶上。
|
|
156
|
+
- `from` 写 `npm:<完整包名>`(`npm:@aliyun-rds/supabase-mcp-server`)。
|
|
157
|
+
- `evidence.quote` 引 `.mcp.json` 里那两行 `"command": "npx"` / `"args": [...]` 就够。
|
|
164
158
|
|
|
165
159
|
### kind: "secret" —— 需要的凭据
|
|
166
160
|
|
|
@@ -179,7 +173,7 @@ GitHub 不是包注册表,从「仓库 + 版本」推不出该下哪个文件
|
|
|
179
173
|
**连接器分两种来源,你只报其中一种:**
|
|
180
174
|
|
|
181
175
|
- **MCP 连接器**(`.mcp.json` 里的每个 server)——**不用报**。daemon 在扫描开始时已经从文件里机械列好
|
|
182
|
-
(http 型、stdio 型、要填哪些 `${VAR}`
|
|
176
|
+
(http 型、stdio 型、要填哪些 `${VAR}` 都读得出来),你报了也是重复。它们的 `npx` 包照样要报一条 `package`(见上)。
|
|
183
177
|
- **CLI 连接器**——**要报**。判据:persona 里出现**以用户本人身份操作某个第三方的命令行工具**:
|
|
184
178
|
`lark-cli … --as user` 操作飞书、`gh` 开 PR、`railway up`、`vercel deploy` 这类。这些工具没有配置文件可读,
|
|
185
179
|
只有你读了文档才知道它从哪个环境变量拿凭据。
|
|
@@ -245,8 +239,7 @@ call({ method: "deploy:patch", args: {
|
|
|
245
239
|
去掉该去的那几条,其余原样带上。**没有要删的就别调**——整份改写是有风险的动作,没必要时不做。
|
|
246
240
|
|
|
247
241
|
判「该删」要有依据:来源文件在这次 diff 里被删了,或者你读了改动后的文件、确认它不再引用那个
|
|
248
|
-
|
|
249
|
-
**光是「这次 diff 没碰到它」不是依据**——软扫下多数条目 diff 都碰不到。
|
|
242
|
+
东西。**光是「这次 diff 没碰到它」不是依据**——软扫下多数条目 diff 都碰不到。
|
|
250
243
|
|
|
251
244
|
### 然后收尾
|
|
252
245
|
|
|
@@ -283,7 +276,7 @@ call({ method: "deploy:finishScan", args: {
|
|
|
283
276
|
|---|---|
|
|
284
277
|
| persona 目录里没有 .mcp.json,没有 MCP 连接器 | 空结论 |
|
|
285
278
|
| 人格里的初始化流程(lark-cli config init / auth login)是交互式,得靠飞书连接器把登录态带进去 | 容器已有:飞书登录态本来就是连接器带进去的,交互式步骤不会走到 |
|
|
286
|
-
| whiteboard-cli 是 npm 包运行需要 node,我按底座已有 node 处理、没单报一条 | 容器已有 +
|
|
279
|
+
| whiteboard-cli 是 npm 包运行需要 node,我按底座已有 node 处理、没单报一条 | 容器已有 + 自述推理 |
|
|
287
280
|
| lark-event 是长连接,云上容器有执行时长上限或出网限制的话可能跑不完整 | 猜测;且 2 小时上限在「已有」那节 |
|
|
288
281
|
| 画板上传会落临时文件,容器里需要一个可写的工作目录 | 容器已有 |
|
|
289
282
|
|
|
@@ -21477,8 +21477,8 @@ var EnvArtifactSchema = external_exports.object({
|
|
|
21477
21477
|
url: external_exports.string().url(),
|
|
21478
21478
|
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21479
21479
|
bin: external_exports.string(),
|
|
21480
|
-
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/)
|
|
21481
|
-
size: external_exports.number().int().positive()
|
|
21480
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21481
|
+
size: external_exports.number().int().positive()
|
|
21482
21482
|
});
|
|
21483
21483
|
var EnvPackageSchema = external_exports.object({
|
|
21484
21484
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
@@ -21518,7 +21518,18 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21518
21518
|
*/
|
|
21519
21519
|
localVersion: external_exports.string().optional(),
|
|
21520
21520
|
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21521
|
-
artifact: EnvArtifactSchema.optional()
|
|
21521
|
+
artifact: EnvArtifactSchema.optional(),
|
|
21522
|
+
/**
|
|
21523
|
+
* `apt:` 专用——daemon 上报时查过 Debian 12(bookworm)仓库,**没有**这个包。云上装不了,怎么办由老板在页面上定(换源 / 去掉 / 接受);
|
|
21524
|
+
* 不打回 butler(它也不见得找得到对的 npm / github 源)。有这个包时不写此字段,`version` 就是 Debian 12 会装的那一版(不是本机的)。
|
|
21525
|
+
*/
|
|
21526
|
+
aptMissing: external_exports.literal(true).optional(),
|
|
21527
|
+
/**
|
|
21528
|
+
* `apt:` 专用——daemon 查到的 Debian 12 里这个包的版本(上游号,如 `3.11.2`;元包抠不出上游号时是 Debian 的版本串原样)。
|
|
21529
|
+
* 是**事实**不是要求:`version` 才是构建期要验的那个——Debian 版本满足 `min`(或没 `min`)时 `version` = 它;不满足时只记这里、不钉 `version`,
|
|
21530
|
+
* 页面把「Debian 12 只有 x,要求 ≥ min」摆出来让老板定。查不到(出网失败)时两者都不写,页面显示「没查到」。
|
|
21531
|
+
*/
|
|
21532
|
+
aptVersion: external_exports.string().optional()
|
|
21522
21533
|
});
|
|
21523
21534
|
var EnvSecretSchema = external_exports.object({
|
|
21524
21535
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -24807,7 +24818,7 @@ var DEPLOY_FILE = import_node_path3.default.join(".clawd", "deploy.json");
|
|
|
24807
24818
|
var SCAN_FILE = import_node_path3.default.join(".clawd", "deploy-scan.json");
|
|
24808
24819
|
var z1 = DeployScanSchema.omit({ id: true, manifest: true }).extend({ releasedHead: DeployScanSchema.shape.head }).strict();
|
|
24809
24820
|
var z2 = external_exports.object({ version: external_exports.literal(2), scans: external_exports.array(DeployScanSchema), released: DeployReleasedSchema.optional() }).strict();
|
|
24810
|
-
var PackageFindingSchema = EnvPackageSchema.omit({ localVersion: true, artifact: true }).extend({
|
|
24821
|
+
var PackageFindingSchema = EnvPackageSchema.omit({ localVersion: true, artifact: true, aptMissing: true, aptVersion: true }).extend({
|
|
24811
24822
|
artifact: external_exports.object({ url: external_exports.string().url(), bin: external_exports.string() }).strict().optional()
|
|
24812
24823
|
});
|
|
24813
24824
|
|