@clawos-dev/clawd 0.2.569 → 0.2.571
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 +20 -2
- package/dist/cli.cjs +1061 -906
- package/dist/dispatch/mcp-server.cjs +17 -2
- package/dist/persona-defaults/persona-app-builder/mcp/clawd-app-builder/mcp-server.cjs +20 -2
- package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md +19 -2
- package/dist/persona-defaults/persona-dataclaw-builder/mcp/clawd-app-builder/mcp-server.cjs +20 -2
- package/dist/share-ui/assets/{guest-mPDtY_hz.js → guest-CRh5Qm47.js} +116 -116
- package/dist/share-ui/guest.html +1 -1
- package/package.json +1 -1
|
@@ -21287,6 +21287,13 @@ var GithubAuthOauthStartArgsSchema = external_exports.object({
|
|
|
21287
21287
|
}).strict();
|
|
21288
21288
|
|
|
21289
21289
|
// ../protocol/src/environment-schemas.ts
|
|
21290
|
+
var EnvArtifactSchema = external_exports.object({
|
|
21291
|
+
url: external_exports.string().url(),
|
|
21292
|
+
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21293
|
+
bin: external_exports.string(),
|
|
21294
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21295
|
+
size: external_exports.number().int().positive()
|
|
21296
|
+
});
|
|
21290
21297
|
var EnvPackageSchema = external_exports.object({
|
|
21291
21298
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
21292
21299
|
name: external_exports.string().min(1),
|
|
@@ -21308,7 +21315,7 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21308
21315
|
* ensure-toolchain.sh 的事,云上只构一个镜像、一个基础环境,多给反而要求构建器做选择。
|
|
21309
21316
|
*/
|
|
21310
21317
|
from: external_exports.string().optional(),
|
|
21311
|
-
//
|
|
21318
|
+
// 精确版本;本机探到时 = localVersion(本机是啥就上云啥),本机没装才是扫描器按官方文档填的。缺省 = 不挑版本
|
|
21312
21319
|
version: external_exports.string().optional(),
|
|
21313
21320
|
// 版本下限('20.6' 这种)。与 version 的区别:version 是「就要这个」,min 是「不低于」。
|
|
21314
21321
|
// 两者都缺省即完全不约束。
|
|
@@ -21317,7 +21324,15 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21317
21324
|
* 没有可执行、只是个包(引擎扩展这类:pi 底座里的 cliproxyapi 扩展)。构建器只断言它装上了(npm ls),不查 PATH 上有没有 `name` 这条命令。
|
|
21318
21325
|
* 只有引擎底座清单(cloud-host/engines/<e>/manifest.json)用得到;扫描器不产它。
|
|
21319
21326
|
*/
|
|
21320
|
-
library: external_exports.boolean().optional()
|
|
21327
|
+
library: external_exports.boolean().optional(),
|
|
21328
|
+
/**
|
|
21329
|
+
* 本机探到的版本。daemon 在 deploy:reportFinding 时探登录 shell PATH 上的同名可执行写入,
|
|
21330
|
+
* agent 报了也不算(design 2026-09-22 §3.1)。缺省 = 本机没探到。
|
|
21331
|
+
* 与 version 并存:老板事后在页面上手改 version(显式接受差异)时,version ≠ localVersion 一眼可见。
|
|
21332
|
+
*/
|
|
21333
|
+
localVersion: external_exports.string().optional(),
|
|
21334
|
+
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21335
|
+
artifact: EnvArtifactSchema.optional()
|
|
21321
21336
|
});
|
|
21322
21337
|
var EnvSecretSchema = external_exports.object({
|
|
21323
21338
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -21473,6 +21473,13 @@ var GithubAuthOauthStartArgsSchema = external_exports.object({
|
|
|
21473
21473
|
}).strict();
|
|
21474
21474
|
|
|
21475
21475
|
// ../protocol/src/environment-schemas.ts
|
|
21476
|
+
var EnvArtifactSchema = external_exports.object({
|
|
21477
|
+
url: external_exports.string().url(),
|
|
21478
|
+
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21479
|
+
bin: external_exports.string(),
|
|
21480
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21481
|
+
size: external_exports.number().int().positive()
|
|
21482
|
+
});
|
|
21476
21483
|
var EnvPackageSchema = external_exports.object({
|
|
21477
21484
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
21478
21485
|
name: external_exports.string().min(1),
|
|
@@ -21494,7 +21501,7 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21494
21501
|
* ensure-toolchain.sh 的事,云上只构一个镜像、一个基础环境,多给反而要求构建器做选择。
|
|
21495
21502
|
*/
|
|
21496
21503
|
from: external_exports.string().optional(),
|
|
21497
|
-
//
|
|
21504
|
+
// 精确版本;本机探到时 = localVersion(本机是啥就上云啥),本机没装才是扫描器按官方文档填的。缺省 = 不挑版本
|
|
21498
21505
|
version: external_exports.string().optional(),
|
|
21499
21506
|
// 版本下限('20.6' 这种)。与 version 的区别:version 是「就要这个」,min 是「不低于」。
|
|
21500
21507
|
// 两者都缺省即完全不约束。
|
|
@@ -21503,7 +21510,15 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21503
21510
|
* 没有可执行、只是个包(引擎扩展这类:pi 底座里的 cliproxyapi 扩展)。构建器只断言它装上了(npm ls),不查 PATH 上有没有 `name` 这条命令。
|
|
21504
21511
|
* 只有引擎底座清单(cloud-host/engines/<e>/manifest.json)用得到;扫描器不产它。
|
|
21505
21512
|
*/
|
|
21506
|
-
library: external_exports.boolean().optional()
|
|
21513
|
+
library: external_exports.boolean().optional(),
|
|
21514
|
+
/**
|
|
21515
|
+
* 本机探到的版本。daemon 在 deploy:reportFinding 时探登录 shell PATH 上的同名可执行写入,
|
|
21516
|
+
* agent 报了也不算(design 2026-09-22 §3.1)。缺省 = 本机没探到。
|
|
21517
|
+
* 与 version 并存:老板事后在页面上手改 version(显式接受差异)时,version ≠ localVersion 一眼可见。
|
|
21518
|
+
*/
|
|
21519
|
+
localVersion: external_exports.string().optional(),
|
|
21520
|
+
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21521
|
+
artifact: EnvArtifactSchema.optional()
|
|
21507
21522
|
});
|
|
21508
21523
|
var EnvSecretSchema = external_exports.object({
|
|
21509
21524
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -24792,6 +24807,9 @@ var DEPLOY_FILE = import_node_path3.default.join(".clawd", "deploy.json");
|
|
|
24792
24807
|
var SCAN_FILE = import_node_path3.default.join(".clawd", "deploy-scan.json");
|
|
24793
24808
|
var z1 = DeployScanSchema.omit({ id: true, manifest: true }).extend({ releasedHead: DeployScanSchema.shape.head }).strict();
|
|
24794
24809
|
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({
|
|
24811
|
+
artifact: external_exports.object({ url: external_exports.string().url(), bin: external_exports.string() }).strict().optional()
|
|
24812
|
+
});
|
|
24795
24813
|
|
|
24796
24814
|
// src/deploy/templates.ts
|
|
24797
24815
|
var CLAWOS_REPO = "ottin4ttc/clawos";
|
package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md
CHANGED
|
@@ -90,7 +90,7 @@ call({ method: "deploy:reportFinding", args: {
|
|
|
90
90
|
镜像里要装的**一切**都报这一种:命令行工具、运行时(`python3` / `node`)、npm 包(MCP server 的)……
|
|
91
91
|
页面上这一类叫「镜像」;「CLI」这个词只用于连接器的一种(下面那节),报的时候别叫它 cli。
|
|
92
92
|
|
|
93
|
-
`item` 字段:`name`(必填,装完落在 PATH 上的可执行名)、`from`(从哪装)、`version
|
|
93
|
+
`item` 字段:`name`(必填,装完落在 PATH 上的可执行名)、`from`(从哪装)、`version`(精确版本,见下)、`min`(版本下限)、`artifact`(`github:` 专用,见下)。
|
|
94
94
|
|
|
95
95
|
只列**干净容器里不会自带**的:要列 `aliyun` / `s`(Serverless Devs) / `pnpm` / `python3` / `git`
|
|
96
96
|
这类;不必列 `ls` `cat` `grep` `sed` `awk` `curl` `tar` `bash` 这些基础镜像自带的。
|
|
@@ -108,7 +108,24 @@ call({ method: "deploy:reportFinding", args: {
|
|
|
108
108
|
|
|
109
109
|
注意目标是 **Linux 容器**:persona 脚本里的 macOS 装法(brew 之类)不能照抄,要找 Linux 对应的。
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
**版本不用你定——daemon 探本机。** 你每报一条 `package`,daemon 会在这台机器的登录 shell PATH 上找同名
|
|
112
|
+
可执行、问它的版本,写进返回值里那条的 `version`(同时落 `localVersion`)。本机是啥就上云啥,这是硬约束。
|
|
113
|
+
只有本机没装时才由你按官方文档填一个 `version`,并在收尾的 `notes` 里写明「本机未装 <name>,取的 x.y.z」。
|
|
114
|
+
`min` 只在你确知下限时填。**不要猜版本号。**
|
|
115
|
+
|
|
116
|
+
**`from` 必须能装出 `version` 那个确切版本。** 这是选源的硬规则:
|
|
117
|
+
- `apt:` 只在 Debian 12 (bookworm) 仓库里有该版本时才报——去 packages.debian.org 核一眼(本机 brew 装的 jq 1.7.1,
|
|
118
|
+
bookworm 只有 1.6,那就不能报 `apt:jq`);
|
|
119
|
+
- 没有就找上游 release 走 `github:`(jq 有 GitHub release 裸二进制);
|
|
120
|
+
- 哪种都装不出本机那一版 → 写进 `notes` 作为存疑项,让老板决定。**不要报一个装出来版本不对的源。**
|
|
121
|
+
|
|
122
|
+
**`github:` 要钉资产。** GitHub 不是包注册表,从「仓库 + 版本」推不出该下哪个文件,构建器不猜。分两步:
|
|
123
|
+
1. 先报 `{ name, from: "github:<owner>/<repo>" }`,从返回的 view 里读 daemon 定下的 `version`;
|
|
124
|
+
2. 按**那个版本**打开该仓库的 Releases 页(或读它官方 install 脚本里的下载 URL),找到 **linux-amd64** 资产的直链
|
|
125
|
+
和包内可执行文件的路径,再报一次同名条目:
|
|
126
|
+
`{ name, from, version: <第 1 步读到的>, artifact: { url: "<直链>", bin: "<包内路径,如 hbi 或 dist/bin/x;裸二进制留空串>" } }`。
|
|
127
|
+
只认 `.tar.gz` / `.tgz` 和裸二进制。**不要自己算 sha256**,daemon 会下载核实并写入。
|
|
128
|
+
被拒时错误里会说原因(版本不是本机那个 / 包里没有 bin / 404),按它说的重找再报。
|
|
112
129
|
|
|
113
130
|
**`.mcp.json` 里 `npx` / `uvx` 现拉现跑的 MCP server,也要报一条 `package`。** 它看着像一条配置
|
|
114
131
|
不像一个命令行工具,但语义是一样的:容器里没有这个包时,MCP 首次启动要连 registry 现拉,
|
|
@@ -21473,6 +21473,13 @@ var GithubAuthOauthStartArgsSchema = external_exports.object({
|
|
|
21473
21473
|
}).strict();
|
|
21474
21474
|
|
|
21475
21475
|
// ../protocol/src/environment-schemas.ts
|
|
21476
|
+
var EnvArtifactSchema = external_exports.object({
|
|
21477
|
+
url: external_exports.string().url(),
|
|
21478
|
+
// 包内可执行文件的路径(`hbi` / `dist/bin/x`);空串 = 裸二进制
|
|
21479
|
+
bin: external_exports.string(),
|
|
21480
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
|
|
21481
|
+
size: external_exports.number().int().positive()
|
|
21482
|
+
});
|
|
21476
21483
|
var EnvPackageSchema = external_exports.object({
|
|
21477
21484
|
// 装完后在 PATH 里能直接调到的名字('aliyun' / 's' / 'pnpm' / 'python3');npm 包报 bin 名,包名进 from
|
|
21478
21485
|
name: external_exports.string().min(1),
|
|
@@ -21494,7 +21501,7 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21494
21501
|
* ensure-toolchain.sh 的事,云上只构一个镜像、一个基础环境,多给反而要求构建器做选择。
|
|
21495
21502
|
*/
|
|
21496
21503
|
from: external_exports.string().optional(),
|
|
21497
|
-
//
|
|
21504
|
+
// 精确版本;本机探到时 = localVersion(本机是啥就上云啥),本机没装才是扫描器按官方文档填的。缺省 = 不挑版本
|
|
21498
21505
|
version: external_exports.string().optional(),
|
|
21499
21506
|
// 版本下限('20.6' 这种)。与 version 的区别:version 是「就要这个」,min 是「不低于」。
|
|
21500
21507
|
// 两者都缺省即完全不约束。
|
|
@@ -21503,7 +21510,15 @@ var EnvPackageSchema = external_exports.object({
|
|
|
21503
21510
|
* 没有可执行、只是个包(引擎扩展这类:pi 底座里的 cliproxyapi 扩展)。构建器只断言它装上了(npm ls),不查 PATH 上有没有 `name` 这条命令。
|
|
21504
21511
|
* 只有引擎底座清单(cloud-host/engines/<e>/manifest.json)用得到;扫描器不产它。
|
|
21505
21512
|
*/
|
|
21506
|
-
library: external_exports.boolean().optional()
|
|
21513
|
+
library: external_exports.boolean().optional(),
|
|
21514
|
+
/**
|
|
21515
|
+
* 本机探到的版本。daemon 在 deploy:reportFinding 时探登录 shell PATH 上的同名可执行写入,
|
|
21516
|
+
* agent 报了也不算(design 2026-09-22 §3.1)。缺省 = 本机没探到。
|
|
21517
|
+
* 与 version 并存:老板事后在页面上手改 version(显式接受差异)时,version ≠ localVersion 一眼可见。
|
|
21518
|
+
*/
|
|
21519
|
+
localVersion: external_exports.string().optional(),
|
|
21520
|
+
/** `github:` 专用——那个版本是哪个文件。见 EnvArtifactSchema */
|
|
21521
|
+
artifact: EnvArtifactSchema.optional()
|
|
21507
21522
|
});
|
|
21508
21523
|
var EnvSecretSchema = external_exports.object({
|
|
21509
21524
|
// 凭据的命名引用('aliyun-ak' / 'supabase-shared')。部署时按这个名字去解析实际的值。
|
|
@@ -24792,6 +24807,9 @@ var DEPLOY_FILE = import_node_path3.default.join(".clawd", "deploy.json");
|
|
|
24792
24807
|
var SCAN_FILE = import_node_path3.default.join(".clawd", "deploy-scan.json");
|
|
24793
24808
|
var z1 = DeployScanSchema.omit({ id: true, manifest: true }).extend({ releasedHead: DeployScanSchema.shape.head }).strict();
|
|
24794
24809
|
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({
|
|
24811
|
+
artifact: external_exports.object({ url: external_exports.string().url(), bin: external_exports.string() }).strict().optional()
|
|
24812
|
+
});
|
|
24795
24813
|
|
|
24796
24814
|
// src/deploy/templates.ts
|
|
24797
24815
|
var CLAWOS_REPO = "ottin4ttc/clawos";
|