@clawos-dev/clawd 0.2.239 → 0.2.240

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.
@@ -40756,21 +40756,21 @@ var ContactSchema = external_exports.object({
40756
40756
  */
40757
40757
  pinnedAt: external_exports.number().int().nullable().default(null),
40758
40758
  /**
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 演进空间。
40759
+ * 远程访问授权(spec 2026-07-16)。owner 视角:允许该 contact 反向操作我的设备——
40760
+ * 一个开关两种实现:跨设备 exec(peerExec:run handler 判它)+ SSH 反向访问
40761
+ * (rebuildAuthorizedKeys 读它)。default=false,owner 显式开。
40762
+ * 授权粒度 per-people (per-contact):借用别人 persona 本来就带信任对方本人的前提。
40763
40763
  */
40764
- sshAllowed: external_exports.boolean().default(false),
40764
+ remoteAccessAllowed: external_exports.boolean().default(false),
40765
40765
  /** 对端设备 SSH identity pubkey(一行 `ssh-ed25519 AAAA... comment`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40766
40766
  sshPublicKey: external_exports.string().optional(),
40767
40767
  /** 对端 OS 登录账号名,SSH 拨号登录名(`<osUser>@127.0.0.1`);见 doc/glossary/peer-mesh.md#建联交换清单 */
40768
40768
  osUser: external_exports.string().optional(),
40769
40769
  /**
40770
40770
  * @deprecated T-29 去沙箱后废弃。原为授权访问的目录白名单(clawd-ssh-jail 生成 sbpl/bwrap
40771
- * policy 用);去掉 OS 沙箱后不再有目录级限制,SSH 授权即 on/off(见 sshAllowed)。
40771
+ * policy 用);去掉 OS 沙箱后不再有目录级限制,远程访问授权即 on/off(见 remoteAccessAllowed)。
40772
40772
  * 字段仅为兼容老 contacts.json 保留(default [] 保证 strict parse 不炸),不再有代码读写它,
40773
- * 也不再进 setSshAccess RPC / ContactSettingsDrawer / jail。勿新增消费方。
40773
+ * 也不再进 setRemoteAccess RPC / ContactSettingsDrawer / jail。勿新增消费方。
40774
40774
  */
40775
40775
  exposedDirs: external_exports.array(external_exports.string()).default([])
40776
40776
  }).strict();
@@ -40810,19 +40810,39 @@ var ContactPinnedFrameSchema = external_exports.object({
40810
40810
  }).strict();
40811
40811
 
40812
40812
  // ../protocol/src/contact-ssh.ts
40813
- var ContactSetSshAccessArgsSchema = external_exports.object({
40813
+ var ContactSetRemoteAccessArgsSchema = external_exports.object({
40814
40814
  deviceId: external_exports.string().min(1),
40815
- sshAllowed: external_exports.boolean()
40815
+ remoteAccessAllowed: external_exports.boolean()
40816
40816
  }).strict();
40817
- var ContactSetSshAccessOkSchema = external_exports.object({
40818
- type: external_exports.literal("contact:setSshAccess:ok"),
40817
+ var ContactSetRemoteAccessOkSchema = external_exports.object({
40818
+ type: external_exports.literal("contact:setRemoteAccess:ok"),
40819
40819
  deviceId: external_exports.string().min(1),
40820
- sshAllowed: external_exports.boolean()
40820
+ remoteAccessAllowed: external_exports.boolean()
40821
40821
  }).strict();
40822
- var ContactSshAccessUpdatedFrameSchema = external_exports.object({
40823
- type: external_exports.literal("contact:ssh-access-updated"),
40822
+ var ContactRemoteAccessUpdatedFrameSchema = external_exports.object({
40823
+ type: external_exports.literal("contact:remote-access-updated"),
40824
40824
  deviceId: external_exports.string().min(1),
40825
- sshAllowed: external_exports.boolean()
40825
+ remoteAccessAllowed: external_exports.boolean()
40826
+ }).strict();
40827
+
40828
+ // ../protocol/src/peer-exec.ts
40829
+ var PeerExecRunArgsSchema = external_exports.object({
40830
+ /** A 侧发起时带:目标设备 deviceId。peer-forward 转发前 strip 掉,B 侧本地执行时无此字段。 */
40831
+ peerDeviceId: external_exports.string().min(1).optional(),
40832
+ /** 交给对端 `bash -c` 的命令;cc 自拼完整路径(一发一收,无跨命令会话状态)。 */
40833
+ command: external_exports.string().min(1),
40834
+ /** 超时上限(ms);缺省用 handler 默认 30_000,clamp 300_000。 */
40835
+ timeoutMs: external_exports.number().int().positive().optional()
40836
+ }).strict();
40837
+ var PeerExecRunOkSchema = external_exports.object({
40838
+ type: external_exports.literal("peerExec:run:ok"),
40839
+ stdout: external_exports.string(),
40840
+ stderr: external_exports.string(),
40841
+ /** 进程退出码;被超时 kill 时 null。 */
40842
+ exitCode: external_exports.number().int().nullable(),
40843
+ timedOut: external_exports.boolean(),
40844
+ stdoutTruncated: external_exports.boolean(),
40845
+ stderrTruncated: external_exports.boolean()
40826
40846
  }).strict();
40827
40847
 
40828
40848
  // ../protocol/src/extension.ts