@clawos-dev/clawd 0.2.77-beta.146.7bb5cff → 0.2.78-beta.147.fdea83e

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 -2
  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)是不同概念。
@@ -22983,7 +22988,6 @@ var SessionManager = class {
22983
22988
  const pty = tsid ? this.ptyTransports.get(tsid) : void 0;
22984
22989
  if (pty) {
22985
22990
  pty.write("\x1B");
22986
- runner.input({ kind: "inject-events", events: [{ kind: "turn_end" }] });
22987
22991
  return;
22988
22992
  }
22989
22993
  await runner.sendControlRequest("interrupt");
@@ -28460,6 +28464,31 @@ function buildSessionHandlers(deps) {
28460
28464
  }
28461
28465
  return { response: { type: "session:pty:resize", ok: true } };
28462
28466
  };
28467
+ const ptySnapshot = async (frame) => {
28468
+ const sid = frame.sessionId;
28469
+ if (!sid) {
28470
+ return { response: { type: "session:pty:snapshot", ok: false } };
28471
+ }
28472
+ const snap = manager.getPtyReplay(sid);
28473
+ if (!snap) {
28474
+ return {
28475
+ response: {
28476
+ type: "session:pty:snapshot",
28477
+ ok: true,
28478
+ data: null,
28479
+ popupKind: null
28480
+ }
28481
+ };
28482
+ }
28483
+ return {
28484
+ response: {
28485
+ type: "session:pty:snapshot",
28486
+ ok: true,
28487
+ data: Buffer.from(snap.data, "utf8").toString("base64"),
28488
+ popupKind: snap.popupKind
28489
+ }
28490
+ };
28491
+ };
28463
28492
  return {
28464
28493
  "session:create": create,
28465
28494
  "session:list": list,
@@ -28484,7 +28513,8 @@ function buildSessionHandlers(deps) {
28484
28513
  "session:answerQuestion": answerQuestion,
28485
28514
  "session:cancelQuestion": cancelQuestion,
28486
28515
  "session:pty:input": ptyInput,
28487
- "session:pty:resize": ptyResize
28516
+ "session:pty:resize": ptyResize,
28517
+ "session:pty:snapshot": ptySnapshot
28488
28518
  };
28489
28519
  }
28490
28520
 
@@ -29449,6 +29479,7 @@ var METHOD_GRANT_MAP = {
29449
29479
  "persona:delete": ADMIN_ANY,
29450
29480
  "session:pty:input": ADMIN_ANY,
29451
29481
  "session:pty:resize": ADMIN_ANY,
29482
+ "session:pty:snapshot": ADMIN_ANY,
29452
29483
  // file-sharing attachment.* RPC:dispatcher 用 admin-only 兜底(wire-level 拦),
29453
29484
  // 实际只有 owner 能调(personal token 链路 2026-05-21 删除,HTTP Bearer 只识别 owner)
29454
29485
  "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-beta.146.7bb5cff",
3
+ "version": "0.2.78-beta.147.fdea83e",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",