@clawos-dev/clawd 0.2.578 → 0.2.580

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.
@@ -21563,8 +21563,16 @@ var DeployPatchArgsSchema = external_exports.object({
21563
21563
  /** 改的是历史里哪次扫描的清单。扫描期 butler 删条目也走这条(scanId 在它的任务提示里) */
21564
21564
  scanId: external_exports.string().min(1),
21565
21565
  patch: external_exports.object({
21566
- // 人工补依赖;整份替换 manifest
21567
- manifest: EnvironmentManifestSchema.optional()
21566
+ /**
21567
+ * 整份替换 manifest(butler 扫描期删条目走这条)。daemon 写的字段(package 的 version / localVersion / artifact / aptVersion /
21568
+ * aptMissing、连接器上点过的 credentialSource / auth)快照里缺了会从记录里补回——旧快照冲不掉它们。
21569
+ */
21570
+ manifest: EnvironmentManifestSchema.optional(),
21571
+ /**
21572
+ * 只换清单里**同名那一条**连接器(上云页连接器卡片上的点选走这条)。不带整份清单:页面手里的清单可能是旧快照,
21573
+ * 整份写回会把 daemon 之后写进去的东西冲掉(2026-09-23 persona-log-tracer 的 hbi 资产就是这么丢的)。同名的不在 → 拒
21574
+ */
21575
+ connector: EnvConnectorSchema.optional()
21568
21576
  }).strict()
21569
21577
  }).strict();
21570
21578
  var DeployPutSecretArgsSchema = external_exports.object({
@@ -22719,6 +22727,18 @@ var EngineConnectPoolResponseSchema = external_exports.object({
22719
22727
  ok: external_exports.literal(true)
22720
22728
  }).strict();
22721
22729
 
22730
+ // ../protocol/src/dashboard-schemas.ts
22731
+ var DASHBOARD_PAGES = ["cloud-persona-metrics"];
22732
+ var DashboardPageSchema = external_exports.enum(DASHBOARD_PAGES);
22733
+ var DASHBOARD_LINK_TTL_SECONDS = 24 * 3600;
22734
+ var DashboardOpenUrlArgs = external_exports.object({ page: DashboardPageSchema }).strict();
22735
+ var DashboardOpenUrlResultSchema = external_exports.object({
22736
+ /** `https://<tunnel 地址>/dashboard/<page>?e=&s=` */
22737
+ url: external_exports.string(),
22738
+ /** 过期时刻(ms) */
22739
+ expiresAt: external_exports.number().int()
22740
+ }).strict();
22741
+
22722
22742
  // ../protocol/src/persona-schemas.ts
22723
22743
  var PERSONA_SIZES = ["tiny", "small", "medium", "large"];
22724
22744
  var PersonaSizeSchema = external_exports.enum(PERSONA_SIZES);
@@ -24046,7 +24066,7 @@ var METHOD_DOCS = {
24046
24066
  args: DeployScanArgsSchema
24047
24067
  },
24048
24068
  "deploy:patch": {
24049
- summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\uFF1A\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24069
+ summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\u3002patch.connector = \u53EA\u6362\u540C\u540D\u90A3\u4E00\u6761\u8FDE\u63A5\u5668\uFF08\u4E0A\u4E91\u9875\u70B9\u9009\u8D70\u8FD9\u6761\uFF0C\u4E0D\u5728\u5C31\u62D2\uFF09\uFF1Bpatch.manifest = \u6574\u4EFD\u66FF\u6362\uFF08\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\uFF09\uFF0C\u4F46 daemon \u5199\u7684\u5B57\u6BB5\uFF08\u5305\u7684 version / localVersion / artifact / aptVersion / aptMissing\u3001\u8FDE\u63A5\u5668\u70B9\u8FC7\u7684 credentialSource / auth\uFF09\u5FEB\u7167\u91CC\u7F3A\u4E86\u4F1A\u4ECE\u8BB0\u5F55\u8865\u56DE\uFF0C\u6E05\u4E0D\u6389\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24050
24070
  args: DeployPatchArgsSchema
24051
24071
  },
24052
24072
  "deploy:putSecret": {
@@ -24096,6 +24116,11 @@ var METHOD_DOCS = {
24096
24116
  summary: "\u8C03\u7528\u65B9\u81EA\u5DF1\u90A3\u5757\u4E91\u76D8\u4E0A\u4E00\u8F6E\u672B\u7684\u7528\u91CF\uFF08usedBytes / sizeBytes / measuredAt\uFF09\u3002\u6309\u4EBA\u4E0D\u6309 persona\uFF1A\u4E91\u4E0A\u6240\u6709 persona \u5171\u7528\u4E00\u5757\u76D8\u3002daemon \u62FF\u672C\u673A api key \u95EE gateway /me/volume\uFF1B\u6CA1\u767B\u5F55 / \u6CA1 key / gateway \u4E0D\u901A / \u6CA1\u8DD1\u8FC7\u4EFB\u52A1\u4E00\u5F8B\u56DE volume:null\uFF08\u89D2\u6807\u4E0D\u6E32\uFF09\uFF0C\u4E0D\u629B\uFF1Bowner-only\u3002\u65E0\u53C2\u6570\uFF08\u67E5\u7684\u662F\u8C03\u7528\u65B9\u81EA\u5DF1\u7684\u76D8\uFF09",
24097
24117
  args: NO_ARGS
24098
24118
  },
24119
+ // ---- dashboard:*(设置 → Dashboard 专区;design 2026-09-23-cloud-persona-metrics §3.8)----
24120
+ "dashboard:openUrl": {
24121
+ summary: "\u7B7E\u4E00\u4E2A\u770B\u677F\u9875\u9762\u7684\u6D4F\u89C8\u5668\u94FE\u63A5\uFF08\u73B0\u5728\u53EA\u6709 cloud-persona-metrics\uFF1A\u4E91 persona \u8FD0\u884C\u72B6\u51B5\uFF09\u3002\u94FE\u63A5\u8D70\u672C\u673A tunnel \u516C\u7F51\u5730\u5740\u300124 \u5C0F\u65F6\u540E\u8FC7\u671F\uFF0C\u9875\u9762\u4E0E\u5B83\u7684\u6570\u636E\u63A5\u53E3\u90FD\u51ED\u94FE\u63A5\u4E0A\u7684\u7B7E\u540D\u653E\u884C\uFF1B\u6570\u636E\u7531\u672C\u673A daemon \u62FF\u672C\u673A api key \u5411\u4E91\u4E0A gateway \u4EE3\u53D6\u3002tunnel \u6CA1\u8FDE\u4E0A\u62A5 TUNNEL_UNAVAILABLE\uFF1Bowner-only",
24122
+ args: DashboardOpenUrlArgs
24123
+ },
24099
24124
  "shift:list": {
24100
24125
  summary: "\u5217\u51FA owner \u7684\u5168\u90E8 shift\uFF08\u6392\u73ED\uFF09\uFF0C\u7ED9 UI \u65E5\u5386\u6E32\u67D3\u7528\uFF1Bowner-only",
24101
24126
  args: NO_ARGS
@@ -21749,8 +21749,16 @@ var DeployPatchArgsSchema = external_exports.object({
21749
21749
  /** 改的是历史里哪次扫描的清单。扫描期 butler 删条目也走这条(scanId 在它的任务提示里) */
21750
21750
  scanId: external_exports.string().min(1),
21751
21751
  patch: external_exports.object({
21752
- // 人工补依赖;整份替换 manifest
21753
- manifest: EnvironmentManifestSchema.optional()
21752
+ /**
21753
+ * 整份替换 manifest(butler 扫描期删条目走这条)。daemon 写的字段(package 的 version / localVersion / artifact / aptVersion /
21754
+ * aptMissing、连接器上点过的 credentialSource / auth)快照里缺了会从记录里补回——旧快照冲不掉它们。
21755
+ */
21756
+ manifest: EnvironmentManifestSchema.optional(),
21757
+ /**
21758
+ * 只换清单里**同名那一条**连接器(上云页连接器卡片上的点选走这条)。不带整份清单:页面手里的清单可能是旧快照,
21759
+ * 整份写回会把 daemon 之后写进去的东西冲掉(2026-09-23 persona-log-tracer 的 hbi 资产就是这么丢的)。同名的不在 → 拒
21760
+ */
21761
+ connector: EnvConnectorSchema.optional()
21754
21762
  }).strict()
21755
21763
  }).strict();
21756
21764
  var DeployPutSecretArgsSchema = external_exports.object({
@@ -22905,6 +22913,18 @@ var EngineConnectPoolResponseSchema = external_exports.object({
22905
22913
  ok: external_exports.literal(true)
22906
22914
  }).strict();
22907
22915
 
22916
+ // ../protocol/src/dashboard-schemas.ts
22917
+ var DASHBOARD_PAGES = ["cloud-persona-metrics"];
22918
+ var DashboardPageSchema = external_exports.enum(DASHBOARD_PAGES);
22919
+ var DASHBOARD_LINK_TTL_SECONDS = 24 * 3600;
22920
+ var DashboardOpenUrlArgs = external_exports.object({ page: DashboardPageSchema }).strict();
22921
+ var DashboardOpenUrlResultSchema = external_exports.object({
22922
+ /** `https://<tunnel 地址>/dashboard/<page>?e=&s=` */
22923
+ url: external_exports.string(),
22924
+ /** 过期时刻(ms) */
22925
+ expiresAt: external_exports.number().int()
22926
+ }).strict();
22927
+
22908
22928
  // ../protocol/src/persona-schemas.ts
22909
22929
  var PERSONA_SIZES = ["tiny", "small", "medium", "large"];
22910
22930
  var PersonaSizeSchema = external_exports.enum(PERSONA_SIZES);
@@ -24232,7 +24252,7 @@ var METHOD_DOCS = {
24232
24252
  args: DeployScanArgsSchema
24233
24253
  },
24234
24254
  "deploy:patch": {
24235
- summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\uFF1A\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24255
+ summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\u3002patch.connector = \u53EA\u6362\u540C\u540D\u90A3\u4E00\u6761\u8FDE\u63A5\u5668\uFF08\u4E0A\u4E91\u9875\u70B9\u9009\u8D70\u8FD9\u6761\uFF0C\u4E0D\u5728\u5C31\u62D2\uFF09\uFF1Bpatch.manifest = \u6574\u4EFD\u66FF\u6362\uFF08\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\uFF09\uFF0C\u4F46 daemon \u5199\u7684\u5B57\u6BB5\uFF08\u5305\u7684 version / localVersion / artifact / aptVersion / aptMissing\u3001\u8FDE\u63A5\u5668\u70B9\u8FC7\u7684 credentialSource / auth\uFF09\u5FEB\u7167\u91CC\u7F3A\u4E86\u4F1A\u4ECE\u8BB0\u5F55\u8865\u56DE\uFF0C\u6E05\u4E0D\u6389\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24236
24256
  args: DeployPatchArgsSchema
24237
24257
  },
24238
24258
  "deploy:putSecret": {
@@ -24282,6 +24302,11 @@ var METHOD_DOCS = {
24282
24302
  summary: "\u8C03\u7528\u65B9\u81EA\u5DF1\u90A3\u5757\u4E91\u76D8\u4E0A\u4E00\u8F6E\u672B\u7684\u7528\u91CF\uFF08usedBytes / sizeBytes / measuredAt\uFF09\u3002\u6309\u4EBA\u4E0D\u6309 persona\uFF1A\u4E91\u4E0A\u6240\u6709 persona \u5171\u7528\u4E00\u5757\u76D8\u3002daemon \u62FF\u672C\u673A api key \u95EE gateway /me/volume\uFF1B\u6CA1\u767B\u5F55 / \u6CA1 key / gateway \u4E0D\u901A / \u6CA1\u8DD1\u8FC7\u4EFB\u52A1\u4E00\u5F8B\u56DE volume:null\uFF08\u89D2\u6807\u4E0D\u6E32\uFF09\uFF0C\u4E0D\u629B\uFF1Bowner-only\u3002\u65E0\u53C2\u6570\uFF08\u67E5\u7684\u662F\u8C03\u7528\u65B9\u81EA\u5DF1\u7684\u76D8\uFF09",
24283
24303
  args: NO_ARGS
24284
24304
  },
24305
+ // ---- dashboard:*(设置 → Dashboard 专区;design 2026-09-23-cloud-persona-metrics §3.8)----
24306
+ "dashboard:openUrl": {
24307
+ summary: "\u7B7E\u4E00\u4E2A\u770B\u677F\u9875\u9762\u7684\u6D4F\u89C8\u5668\u94FE\u63A5\uFF08\u73B0\u5728\u53EA\u6709 cloud-persona-metrics\uFF1A\u4E91 persona \u8FD0\u884C\u72B6\u51B5\uFF09\u3002\u94FE\u63A5\u8D70\u672C\u673A tunnel \u516C\u7F51\u5730\u5740\u300124 \u5C0F\u65F6\u540E\u8FC7\u671F\uFF0C\u9875\u9762\u4E0E\u5B83\u7684\u6570\u636E\u63A5\u53E3\u90FD\u51ED\u94FE\u63A5\u4E0A\u7684\u7B7E\u540D\u653E\u884C\uFF1B\u6570\u636E\u7531\u672C\u673A daemon \u62FF\u672C\u673A api key \u5411\u4E91\u4E0A gateway \u4EE3\u53D6\u3002tunnel \u6CA1\u8FDE\u4E0A\u62A5 TUNNEL_UNAVAILABLE\uFF1Bowner-only",
24308
+ args: DashboardOpenUrlArgs
24309
+ },
24285
24310
  "shift:list": {
24286
24311
  summary: "\u5217\u51FA owner \u7684\u5168\u90E8 shift\uFF08\u6392\u73ED\uFF09\uFF0C\u7ED9 UI \u65E5\u5386\u6E32\u67D3\u7528\uFF1Bowner-only",
24287
24312
  args: NO_ARGS
@@ -21749,8 +21749,16 @@ var DeployPatchArgsSchema = external_exports.object({
21749
21749
  /** 改的是历史里哪次扫描的清单。扫描期 butler 删条目也走这条(scanId 在它的任务提示里) */
21750
21750
  scanId: external_exports.string().min(1),
21751
21751
  patch: external_exports.object({
21752
- // 人工补依赖;整份替换 manifest
21753
- manifest: EnvironmentManifestSchema.optional()
21752
+ /**
21753
+ * 整份替换 manifest(butler 扫描期删条目走这条)。daemon 写的字段(package 的 version / localVersion / artifact / aptVersion /
21754
+ * aptMissing、连接器上点过的 credentialSource / auth)快照里缺了会从记录里补回——旧快照冲不掉它们。
21755
+ */
21756
+ manifest: EnvironmentManifestSchema.optional(),
21757
+ /**
21758
+ * 只换清单里**同名那一条**连接器(上云页连接器卡片上的点选走这条)。不带整份清单:页面手里的清单可能是旧快照,
21759
+ * 整份写回会把 daemon 之后写进去的东西冲掉(2026-09-23 persona-log-tracer 的 hbi 资产就是这么丢的)。同名的不在 → 拒
21760
+ */
21761
+ connector: EnvConnectorSchema.optional()
21754
21762
  }).strict()
21755
21763
  }).strict();
21756
21764
  var DeployPutSecretArgsSchema = external_exports.object({
@@ -22905,6 +22913,18 @@ var EngineConnectPoolResponseSchema = external_exports.object({
22905
22913
  ok: external_exports.literal(true)
22906
22914
  }).strict();
22907
22915
 
22916
+ // ../protocol/src/dashboard-schemas.ts
22917
+ var DASHBOARD_PAGES = ["cloud-persona-metrics"];
22918
+ var DashboardPageSchema = external_exports.enum(DASHBOARD_PAGES);
22919
+ var DASHBOARD_LINK_TTL_SECONDS = 24 * 3600;
22920
+ var DashboardOpenUrlArgs = external_exports.object({ page: DashboardPageSchema }).strict();
22921
+ var DashboardOpenUrlResultSchema = external_exports.object({
22922
+ /** `https://<tunnel 地址>/dashboard/<page>?e=&s=` */
22923
+ url: external_exports.string(),
22924
+ /** 过期时刻(ms) */
22925
+ expiresAt: external_exports.number().int()
22926
+ }).strict();
22927
+
22908
22928
  // ../protocol/src/persona-schemas.ts
22909
22929
  var PERSONA_SIZES = ["tiny", "small", "medium", "large"];
22910
22930
  var PersonaSizeSchema = external_exports.enum(PERSONA_SIZES);
@@ -24232,7 +24252,7 @@ var METHOD_DOCS = {
24232
24252
  args: DeployScanArgsSchema
24233
24253
  },
24234
24254
  "deploy:patch": {
24235
- summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\uFF1A\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24255
+ summary: "\u7F16\u8F91\u5386\u53F2\u91CC\u67D0\u6B21\u626B\u63CF\u7684\u6E05\u5355\uFF08scanId \u6307\u540D\uFF09\u3002patch.connector = \u53EA\u6362\u540C\u540D\u90A3\u4E00\u6761\u8FDE\u63A5\u5668\uFF08\u4E0A\u4E91\u9875\u70B9\u9009\u8D70\u8FD9\u6761\uFF0C\u4E0D\u5728\u5C31\u62D2\uFF09\uFF1Bpatch.manifest = \u6574\u4EFD\u66FF\u6362\uFF08\u624B\u5DE5\u8865 / \u5220\u4F9D\u8D56\uFF0C\u626B\u63CF\u671F butler \u5220\u6761\u76EE\u4E5F\u8D70\u8FD9\u6761\uFF09\uFF0C\u4F46 daemon \u5199\u7684\u5B57\u6BB5\uFF08\u5305\u7684 version / localVersion / artifact / aptVersion / aptMissing\u3001\u8FDE\u63A5\u5668\u70B9\u8FC7\u7684 credentialSource / auth\uFF09\u5FEB\u7167\u91CC\u7F3A\u4E86\u4F1A\u4ECE\u8BB0\u5F55\u8865\u56DE\uFF0C\u6E05\u4E0D\u6389\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
24236
24256
  args: DeployPatchArgsSchema
24237
24257
  },
24238
24258
  "deploy:putSecret": {
@@ -24282,6 +24302,11 @@ var METHOD_DOCS = {
24282
24302
  summary: "\u8C03\u7528\u65B9\u81EA\u5DF1\u90A3\u5757\u4E91\u76D8\u4E0A\u4E00\u8F6E\u672B\u7684\u7528\u91CF\uFF08usedBytes / sizeBytes / measuredAt\uFF09\u3002\u6309\u4EBA\u4E0D\u6309 persona\uFF1A\u4E91\u4E0A\u6240\u6709 persona \u5171\u7528\u4E00\u5757\u76D8\u3002daemon \u62FF\u672C\u673A api key \u95EE gateway /me/volume\uFF1B\u6CA1\u767B\u5F55 / \u6CA1 key / gateway \u4E0D\u901A / \u6CA1\u8DD1\u8FC7\u4EFB\u52A1\u4E00\u5F8B\u56DE volume:null\uFF08\u89D2\u6807\u4E0D\u6E32\uFF09\uFF0C\u4E0D\u629B\uFF1Bowner-only\u3002\u65E0\u53C2\u6570\uFF08\u67E5\u7684\u662F\u8C03\u7528\u65B9\u81EA\u5DF1\u7684\u76D8\uFF09",
24283
24303
  args: NO_ARGS
24284
24304
  },
24305
+ // ---- dashboard:*(设置 → Dashboard 专区;design 2026-09-23-cloud-persona-metrics §3.8)----
24306
+ "dashboard:openUrl": {
24307
+ summary: "\u7B7E\u4E00\u4E2A\u770B\u677F\u9875\u9762\u7684\u6D4F\u89C8\u5668\u94FE\u63A5\uFF08\u73B0\u5728\u53EA\u6709 cloud-persona-metrics\uFF1A\u4E91 persona \u8FD0\u884C\u72B6\u51B5\uFF09\u3002\u94FE\u63A5\u8D70\u672C\u673A tunnel \u516C\u7F51\u5730\u5740\u300124 \u5C0F\u65F6\u540E\u8FC7\u671F\uFF0C\u9875\u9762\u4E0E\u5B83\u7684\u6570\u636E\u63A5\u53E3\u90FD\u51ED\u94FE\u63A5\u4E0A\u7684\u7B7E\u540D\u653E\u884C\uFF1B\u6570\u636E\u7531\u672C\u673A daemon \u62FF\u672C\u673A api key \u5411\u4E91\u4E0A gateway \u4EE3\u53D6\u3002tunnel \u6CA1\u8FDE\u4E0A\u62A5 TUNNEL_UNAVAILABLE\uFF1Bowner-only",
24308
+ args: DashboardOpenUrlArgs
24309
+ },
24285
24310
  "shift:list": {
24286
24311
  summary: "\u5217\u51FA owner \u7684\u5168\u90E8 shift\uFF08\u6392\u73ED\uFF09\uFF0C\u7ED9 UI \u65E5\u5386\u6E32\u67D3\u7528\uFF1Bowner-only",
24287
24312
  args: NO_ARGS