@clawos-dev/clawd 0.2.77 → 0.2.78

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.
Files changed (2) hide show
  1. package/dist/cli.cjs +33 -1
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -104,6 +104,11 @@ var init_methods = __esm({
104
104
  // 触发频率低(仅 window resize),response 也是 ack。
105
105
  "session:pty:input",
106
106
  "session:pty:resize",
107
+ // session:pty:snapshot — UI XtermPanel 重新挂载(切 session 回来 / 刷新)时主动拉一次当前
108
+ // 屏幕全量快照,再开始消费 incremental session:pty。daemon 调 manager.getPtyReplay(sessionId)
109
+ // 取该 session 的 @xterm/headless detector serialize 结果。response.data 与 session:pty
110
+ // push 帧同格式(base64-utf8);session 不存在 / 非 tui / pty 已 exit 时 data=null。
111
+ "session:pty:snapshot",
107
112
  // ---- attachment.* file-sharing(详见 attachment-schemas.ts) ----
108
113
  // 命名警告:这里的 `attachment.*` RPC 与 CC v2.x 上行 `type:"attachment"` 系统行
109
114
  // (attachment-skills / attachment-deferred-tools / attachment_memories)是不同概念。
@@ -28460,6 +28465,31 @@ function buildSessionHandlers(deps) {
28460
28465
  }
28461
28466
  return { response: { type: "session:pty:resize", ok: true } };
28462
28467
  };
28468
+ const ptySnapshot = async (frame) => {
28469
+ const sid = frame.sessionId;
28470
+ if (!sid) {
28471
+ return { response: { type: "session:pty:snapshot", ok: false } };
28472
+ }
28473
+ const snap = manager.getPtyReplay(sid);
28474
+ if (!snap) {
28475
+ return {
28476
+ response: {
28477
+ type: "session:pty:snapshot",
28478
+ ok: true,
28479
+ data: null,
28480
+ popupKind: null
28481
+ }
28482
+ };
28483
+ }
28484
+ return {
28485
+ response: {
28486
+ type: "session:pty:snapshot",
28487
+ ok: true,
28488
+ data: Buffer.from(snap.data, "utf8").toString("base64"),
28489
+ popupKind: snap.popupKind
28490
+ }
28491
+ };
28492
+ };
28463
28493
  return {
28464
28494
  "session:create": create,
28465
28495
  "session:list": list,
@@ -28484,7 +28514,8 @@ function buildSessionHandlers(deps) {
28484
28514
  "session:answerQuestion": answerQuestion,
28485
28515
  "session:cancelQuestion": cancelQuestion,
28486
28516
  "session:pty:input": ptyInput,
28487
- "session:pty:resize": ptyResize
28517
+ "session:pty:resize": ptyResize,
28518
+ "session:pty:snapshot": ptySnapshot
28488
28519
  };
28489
28520
  }
28490
28521
 
@@ -29449,6 +29480,7 @@ var METHOD_GRANT_MAP = {
29449
29480
  "persona:delete": ADMIN_ANY,
29450
29481
  "session:pty:input": ADMIN_ANY,
29451
29482
  "session:pty:resize": ADMIN_ANY,
29483
+ "session:pty:snapshot": ADMIN_ANY,
29452
29484
  // file-sharing attachment.* RPC:dispatcher 用 admin-only 兜底(wire-level 拦),
29453
29485
  // 实际只有 owner 能调(personal token 链路 2026-05-21 删除,HTTP Bearer 只识别 owner)
29454
29486
  "attachment.signUrl": ADMIN_ANY,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.77",
3
+ "version": "0.2.78",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",