@clawos-dev/clawd 0.2.254 → 0.2.256
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/cli.cjs +230 -128
- package/dist/dispatch/mcp-server.cjs +40 -6
- package/dist/share-md-viewer-error.html +1 -1
- package/dist/share-md-viewer.html +1 -1
- package/dist/share-ui/assets/{guest-B7FHhw7e.js → guest-hgeG05IO.js} +51 -51
- package/dist/share-ui/assets/{guest-53QJqRhe.css → guest-kK-Ir45s.css} +1 -1
- package/dist/share-ui/guest.html +2 -2
- package/package.json +1 -1
|
@@ -22009,13 +22009,13 @@ var AuthRequestFrameSchema = external_exports.object({
|
|
|
22009
22009
|
* guest 的设备 id / 人 id / 来源全部由 connect token 的 subDevice/subOwner/provider 签名背书
|
|
22010
22010
|
* (server 签、目标设备本地验签,不可伪造),不再接受任何自报身份。
|
|
22011
22011
|
*
|
|
22012
|
-
* selfUrl
|
|
22013
|
-
*
|
|
22012
|
+
* selfUrl 已废弃(spec 2026-07-22 双向确认建联):可达地址自报移入 contact:handshake
|
|
22013
|
+
* args——auth 层回归纯验票。旧客户端发来的 selfUrl 被 strip(zod 默认),无害;
|
|
22014
|
+
* 旧客户端本身由 whoami 的 connect-token 拒绝路径拦截(CLIENT_OUTDATED)。
|
|
22014
22015
|
*/
|
|
22015
|
-
selfUrl: external_exports.string().min(1).optional(),
|
|
22016
22016
|
/**
|
|
22017
22017
|
* 客户端自报的 user-agent 性质标签(诊断/展示用)。
|
|
22018
|
-
*
|
|
22018
|
+
* 「自报事实」,非身份(决策 #16 边界):不参与鉴权、不参与路由、
|
|
22019
22019
|
* 任何 handler 不得据此做权限判断。name 约定命名('clawd-desktop' / 'clawd-web' /
|
|
22020
22020
|
* 'clawd-mobile-android' / ...),宽容未知值(将来加新客户端不动 schema)。
|
|
22021
22021
|
* instanceId:客户端首启生成 UUID 并本地持久化——区分同种类多实例(多手机/多 desktop 同连)。
|
|
@@ -22427,6 +22427,24 @@ var ContactPinnedFrameSchema = external_exports.object({
|
|
|
22427
22427
|
pinnedAt: external_exports.number().int().nullable()
|
|
22428
22428
|
}).strict();
|
|
22429
22429
|
|
|
22430
|
+
// ../protocol/src/contact-handshake.ts
|
|
22431
|
+
var ContactHandshakeArgsSchema = external_exports.object({
|
|
22432
|
+
selfUrl: external_exports.string().min(1)
|
|
22433
|
+
});
|
|
22434
|
+
var ContactHandshakeOkSchema = external_exports.object({
|
|
22435
|
+
type: external_exports.literal("contact:handshake:ok"),
|
|
22436
|
+
owner: external_exports.object({
|
|
22437
|
+
/** 被调方 deviceId(路由主键;调用方落 Contact 的主键用自己请求的 args.deviceId,此值供校验/展示) */
|
|
22438
|
+
id: external_exports.string(),
|
|
22439
|
+
/** 归属人(落 Contact.ownerId / provider,显示分组用) */
|
|
22440
|
+
ownerId: external_exports.string(),
|
|
22441
|
+
provider: external_exports.string(),
|
|
22442
|
+
displayName: external_exports.string()
|
|
22443
|
+
}),
|
|
22444
|
+
/** 被调方授调用方的 grants(落 Contact.grants) */
|
|
22445
|
+
grants: external_exports.array(GrantSchema)
|
|
22446
|
+
});
|
|
22447
|
+
|
|
22430
22448
|
// ../protocol/src/contact-remote-access.ts
|
|
22431
22449
|
var ContactSetRemoteAccessArgsSchema = external_exports.object({
|
|
22432
22450
|
deviceId: external_exports.string().min(1),
|
|
@@ -22716,7 +22734,13 @@ var DispatchRunArgsSchema = external_exports.object({
|
|
|
22716
22734
|
// 合法值集与 claude adapter capabilities.models[].id 一致(见 daemon
|
|
22717
22735
|
// tools/claude.ts CLAUDE_MODEL_IDS);handler 层做二次校验,非法值 fail-fast。
|
|
22718
22736
|
// protocol 层保持 string 便于未来跨 tool 扩展(届时 union 收合法字面量)。
|
|
22719
|
-
model: external_exports.string().min(1).optional()
|
|
22737
|
+
model: external_exports.string().min(1).optional(),
|
|
22738
|
+
// 可选:给新 worker session 起 label(写入 SessionFile.label,sidebar 显示)。
|
|
22739
|
+
// 仅在**新开 dispatch**(dispatchId 缺席)时生效;续派(dispatchId 非空)
|
|
22740
|
+
// 时 daemon 层静默丢弃(避免半途改 label 造成 sidebar 抖动)。
|
|
22741
|
+
// 上限 60 字符——sidebar 显示 tolerance,卡在 dispatch 入口即可。
|
|
22742
|
+
// 协议层不硬拒 sessionLabel + dispatchId 同传,保留 forward-compat。
|
|
22743
|
+
sessionLabel: external_exports.string().min(1).max(60).optional()
|
|
22720
22744
|
}).refine((v) => v.targetPersona !== void 0 || v.dispatchId !== void 0, {
|
|
22721
22745
|
message: "either targetPersona (new dispatch) or dispatchId (follow-up) is required"
|
|
22722
22746
|
}).refine((v) => !(v.dispatchId !== void 0 && v.targetDeviceId !== void 0), {
|
|
@@ -23539,7 +23563,10 @@ async function handlePersonaDispatchToolCall(input, ctx) {
|
|
|
23539
23563
|
...input.targetDeviceId ? { targetDeviceId: input.targetDeviceId } : {},
|
|
23540
23564
|
// T-20: 可选 override B session 使用的 claude 模型;MCP tool 层已 enum 校验,
|
|
23541
23565
|
// daemon handler 层还会再校验一次(fail-fast)。
|
|
23542
|
-
...input.model ? { model: input.model } : {}
|
|
23566
|
+
...input.model ? { model: input.model } : {},
|
|
23567
|
+
// butler 顶部入口:可选 sessionLabel 落到新 worker SessionFile.label。
|
|
23568
|
+
// 长度 1-60 由 protocol schema 强约束;续派场景(dispatchId 非空)daemon 层静默丢弃。
|
|
23569
|
+
...input.sessionLabel ? { sessionLabel: input.sessionLabel } : {}
|
|
23543
23570
|
})
|
|
23544
23571
|
});
|
|
23545
23572
|
} catch (err) {
|
|
@@ -23720,6 +23747,13 @@ async function main() {
|
|
|
23720
23747
|
// 精确校验(按 target persona tool 选表)在 daemon handler 层做(fail-fast)。
|
|
23721
23748
|
model: external_exports.enum([...CLAUDE_MODEL_IDS, ...CODEX_MODEL_IDS]).optional().describe(
|
|
23722
23749
|
"override the target persona's default model. Omit to use the persona default. Claude personas: " + CLAUDE_MODEL_IDS.join(" / ") + ". Codex personas: " + CODEX_MODEL_IDS.join(" / ") + "."
|
|
23750
|
+
),
|
|
23751
|
+
// butler 顶部入口 (spec 2026-07-27):butler 给新 worker session 起 label 用。
|
|
23752
|
+
// Sidebar 直接显示这个 label(否则兜底 cwd-basename 都是 persona 目录名,同一
|
|
23753
|
+
// persona 的 dispatched session 长得都一样)。仅新开 dispatch 生效;续派
|
|
23754
|
+
// (dispatchId set) 时 daemon 静默丢弃,保 worker session 稳定命名。
|
|
23755
|
+
sessionLabel: external_exports.string().optional().describe(
|
|
23756
|
+
'short human-readable label for the new worker session (shown in sidebar, e.g. "\u4FEE sidebar \u9876\u90E8\u5165\u53E3" / "\u67E5\u6628\u665A SLS \u767B\u5F55\u5931\u8D25"). aim for 8-14 chars, verb-led. ignored when continuing an existing dispatch via dispatchId (worker session keeps its original label).'
|
|
23723
23757
|
)
|
|
23724
23758
|
}
|
|
23725
23759
|
},
|