@clawos-dev/clawd 0.2.239 → 0.2.241

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.
@@ -40380,11 +40380,7 @@ var AuthRequestFrameSchema = external_exports.object({
40380
40380
  * selfUrl 保留:它只是"可达地址"(auto-reverse 反向连接用),不是身份——填错只影响
40381
40381
  * 反向连通性,不构成伪造风险,且 url 不在 token 里(token 只签身份不签地址)。
40382
40382
  */
40383
- selfUrl: external_exports.string().min(1).optional(),
40384
- /** 连接方自报本机 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
40385
- selfSshPublicKey: external_exports.string().min(1).optional(),
40386
- /** 连接方自报本机 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
40387
- selfOsUser: external_exports.string().min(1).optional()
40383
+ selfUrl: external_exports.string().min(1).optional()
40388
40384
  });
40389
40385
  var AuthOkFrameSchema = external_exports.object({
40390
40386
  type: external_exports.literal("auth:ok"),
@@ -40678,11 +40674,7 @@ var WhoamiResponseSchema = external_exports.object({
40678
40674
  id: external_exports.string().min(1),
40679
40675
  displayName: external_exports.string()
40680
40676
  }).strict()
40681
- ),
40682
- /** 被连方 SSH identity pubkey;见 doc/glossary/peer-mesh.md#建联交换清单 */
40683
- sshPublicKey: external_exports.string().min(1).optional(),
40684
- /** 被连方 OS 登录账号名;见 doc/glossary/peer-mesh.md#建联交换清单 */
40685
- osUser: external_exports.string().min(1).optional()
40677
+ )
40686
40678
  }).strict();
40687
40679
  var PERSONAL_CAP_GRANTS = Object.freeze([
40688
40680
  Object.freeze({
@@ -40756,23 +40748,11 @@ var ContactSchema = external_exports.object({
40756
40748
  */
40757
40749
  pinnedAt: external_exports.number().int().nullable().default(null),
40758
40750
  /**
40759
- * SSH 反向访问授权(PR: contact-ssh-sandbox)。owner 视角:允许该 contact 通过 daemon
40760
- * 专用 sshd 反向 SSH 进本机。default=false 保证老 contacts.json 兼容(zod default 补齐)。
40761
- * 授权粒度 per-people (per-contact):借用别人 persona 本来就带信任对方本人的前提;
40762
- * 极端场景(区别对方多个 persona)留 per-persona override 演进空间。
40751
+ * 远程访问授权(spec 2026-07-16)。owner 视角:允许该 contact 反向操作我的设备——
40752
+ * 跨设备 exec 的总开关(peerExec:run handler 运行时判它)。default=false,owner 显式开。
40753
+ * 授权粒度 per-people (per-contact):借用别人 persona 本来就带信任对方本人的前提。
40763
40754
  */
40764
- sshAllowed: external_exports.boolean().default(false),
40765
- /** 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40766
- sshPublicKey: external_exports.string().optional(),
40767
- /** 对端 OS 登录账号名,SSH 拨号登录名(`<osUser>@127.0.0.1`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40768
- osUser: external_exports.string().optional(),
40769
- /**
40770
- * @deprecated T-29 去沙箱后废弃。原为授权访问的目录白名单(clawd-ssh-jail 生成 sbpl/bwrap
40771
- * policy 用);去掉 OS 沙箱后不再有目录级限制,SSH 授权即 on/off(见 sshAllowed)。
40772
- * 字段仅为兼容老 contacts.json 保留(default [] 保证 strict parse 不炸),不再有代码读写它,
40773
- * 也不再进 setSshAccess RPC / ContactSettingsDrawer / jail。勿新增消费方。
40774
- */
40775
- exposedDirs: external_exports.array(external_exports.string()).default([])
40755
+ remoteAccessAllowed: external_exports.boolean().default(false)
40776
40756
  }).strict();
40777
40757
  var ContactWireSchema = ContactSchema;
40778
40758
  var ContactRemoveArgsSchema = external_exports.object({
@@ -40809,20 +40789,40 @@ var ContactPinnedFrameSchema = external_exports.object({
40809
40789
  pinnedAt: external_exports.number().int().nullable()
40810
40790
  }).strict();
40811
40791
 
40812
- // ../protocol/src/contact-ssh.ts
40813
- var ContactSetSshAccessArgsSchema = external_exports.object({
40792
+ // ../protocol/src/contact-remote-access.ts
40793
+ var ContactSetRemoteAccessArgsSchema = external_exports.object({
40814
40794
  deviceId: external_exports.string().min(1),
40815
- sshAllowed: external_exports.boolean()
40795
+ remoteAccessAllowed: external_exports.boolean()
40816
40796
  }).strict();
40817
- var ContactSetSshAccessOkSchema = external_exports.object({
40818
- type: external_exports.literal("contact:setSshAccess:ok"),
40797
+ var ContactSetRemoteAccessOkSchema = external_exports.object({
40798
+ type: external_exports.literal("contact:setRemoteAccess:ok"),
40819
40799
  deviceId: external_exports.string().min(1),
40820
- sshAllowed: external_exports.boolean()
40800
+ remoteAccessAllowed: external_exports.boolean()
40821
40801
  }).strict();
40822
- var ContactSshAccessUpdatedFrameSchema = external_exports.object({
40823
- type: external_exports.literal("contact:ssh-access-updated"),
40802
+ var ContactRemoteAccessUpdatedFrameSchema = external_exports.object({
40803
+ type: external_exports.literal("contact:remote-access-updated"),
40824
40804
  deviceId: external_exports.string().min(1),
40825
- sshAllowed: external_exports.boolean()
40805
+ remoteAccessAllowed: external_exports.boolean()
40806
+ }).strict();
40807
+
40808
+ // ../protocol/src/peer-exec.ts
40809
+ var PeerExecRunArgsSchema = external_exports.object({
40810
+ /** A 侧发起时带:目标设备 deviceId。peer-forward 转发前 strip 掉,B 侧本地执行时无此字段。 */
40811
+ peerDeviceId: external_exports.string().min(1).optional(),
40812
+ /** 交给对端 `bash -c` 的命令;cc 自拼完整路径(一发一收,无跨命令会话状态)。 */
40813
+ command: external_exports.string().min(1),
40814
+ /** 超时上限(ms);缺省用 handler 默认 30_000,clamp 300_000。 */
40815
+ timeoutMs: external_exports.number().int().positive().optional()
40816
+ }).strict();
40817
+ var PeerExecRunOkSchema = external_exports.object({
40818
+ type: external_exports.literal("peerExec:run:ok"),
40819
+ stdout: external_exports.string(),
40820
+ stderr: external_exports.string(),
40821
+ /** 进程退出码;被超时 kill 时 null。 */
40822
+ exitCode: external_exports.number().int().nullable(),
40823
+ timedOut: external_exports.boolean(),
40824
+ stdoutTruncated: external_exports.boolean(),
40825
+ stderrTruncated: external_exports.boolean()
40826
40826
  }).strict();
40827
40827
 
40828
40828
  // ../protocol/src/extension.ts