@tom2012/cc-web 2026.6.17-b → 2026.9.6-c
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.
- package/CHANGELOG.json +96 -21
- package/backend/dist/adapters/claude-adapter.d.ts +4 -0
- package/backend/dist/adapters/claude-adapter.d.ts.map +1 -1
- package/backend/dist/adapters/claude-adapter.js +18 -2
- package/backend/dist/adapters/claude-adapter.js.map +1 -1
- package/backend/dist/adapters/types.d.ts +8 -0
- package/backend/dist/adapters/types.d.ts.map +1 -1
- package/backend/dist/auth.d.ts.map +0 -0
- package/backend/dist/config.d.ts +0 -0
- package/backend/dist/config.js +0 -0
- package/backend/dist/config.js.map +0 -0
- package/backend/dist/hooks-manager.d.ts +0 -1
- package/backend/dist/hooks-manager.d.ts.map +1 -1
- package/backend/dist/hooks-manager.js +19 -19
- package/backend/dist/hooks-manager.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +76 -1
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/logger.d.ts.map +1 -1
- package/backend/dist/logger.js +3 -0
- package/backend/dist/logger.js.map +1 -1
- package/backend/dist/routes/auth.d.ts +0 -0
- package/backend/dist/routes/auth.d.ts.map +0 -0
- package/backend/dist/routes/auth.js.map +0 -0
- package/backend/dist/routes/projects.d.ts.map +0 -0
- package/backend/dist/routes/projects.js.map +0 -0
- package/backend/dist/session-manager.d.ts +0 -0
- package/backend/dist/session-manager.d.ts.map +0 -0
- package/backend/dist/session-manager.js +0 -0
- package/backend/dist/session-manager.js.map +0 -0
- package/backend/dist/terminal-manager.d.ts +10 -1
- package/backend/dist/terminal-manager.d.ts.map +1 -1
- package/backend/dist/terminal-manager.js +19 -2
- package/backend/dist/terminal-manager.js.map +1 -1
- package/backend/dist/types.d.ts +0 -0
- package/backend/dist/types.d.ts.map +0 -0
- package/backend/dist/types.js +0 -0
- package/backend/dist/types.js.map +0 -0
- package/frontend/dist/assets/{ChatOverlay-Dp1BzsYb.js → ChatOverlay-CymdKeQK.js} +1 -1
- package/frontend/dist/assets/{ClaudeMemPage-CpzMjJnb.js → ClaudeMemPage-BZ4UtUoz.js} +1 -1
- package/frontend/dist/assets/{GraphPreview-DDY1yVOX.js → GraphPreview-21EwV_e_.js} +1 -1
- package/frontend/dist/assets/{MobilePage-BnnE820D.js → MobilePage-99vv9cWh.js} +3 -3
- package/frontend/dist/assets/{NotebookPage-BOiYcs-l.js → NotebookPage-B-mcSRJm.js} +1 -1
- package/frontend/dist/assets/{OfficePreview-C5N2gr8-.js → OfficePreview-C3rHS2Te.js} +2 -2
- package/frontend/dist/assets/{PdfPreview-COG-9AQa.js → PdfPreview-B-toyaoA.js} +1 -1
- package/frontend/dist/assets/{ProjectPage-ARPH_J5o.js → ProjectPage-CShqyrUl.js} +4 -4
- package/frontend/dist/assets/{ProjectSettingsPage-CMWcT-5r.js → ProjectSettingsPage-FxkEGuUP.js} +1 -1
- package/frontend/dist/assets/{SettingsPage-BMrIDtg8.js → SettingsPage-B-bqNp6b.js} +1 -1
- package/frontend/dist/assets/{SkillHubPage-Bq93A7Rt.js → SkillHubPage-DN79j9Is.js} +1 -1
- package/frontend/dist/assets/{check-circle-2-BGT1eH1f.js → check-circle-2-DRT7EX5I.js} +1 -1
- package/frontend/dist/assets/{chevron-down-Bbg11n9i.js → chevron-down-DdtdiM4b.js} +1 -1
- package/frontend/dist/assets/{chevron-left-BmStQriC.js → chevron-left-Chv-EE6G.js} +1 -1
- package/frontend/dist/assets/{file-text-D9WjmbhK.js → file-text-D3ZDULSr.js} +1 -1
- package/frontend/dist/assets/{index-EFhMcMWk.js → index-BIGQ6n-i.js} +2 -2
- package/frontend/dist/assets/index-BpdaJxoa.css +1 -0
- package/frontend/dist/assets/{index-BRqvDxO6.js → index-CH1oLpmL.js} +1 -1
- package/frontend/dist/assets/{index-Bhp9CVTp.js → index-Dbm49BgL.js} +1 -1
- package/frontend/dist/assets/{index-COZnAgez.js → index-xJR85RJZ.js} +1 -1
- package/frontend/dist/assets/{jszip.min-Dyo__hKc.js → jszip.min-CMcZF4_M.js} +1 -1
- package/frontend/dist/assets/{save-CAjdgnp7.js → save-Dhw-I0uF.js} +1 -1
- package/frontend/dist/assets/{search-DmWhhICR.js → search-zoOED2R0.js} +1 -1
- package/frontend/dist/assets/{select-DAfsBGCS.js → select-B7xEE81_.js} +1 -1
- package/frontend/dist/assets/{tabs-zra46FZv.js → tabs-BCHX4LWy.js} +1 -1
- package/frontend/dist/assets/{textarea-BG4Tvy0e.js → textarea-CGPmR1Ae.js} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +36 -10
- package/backend/dist/backup/config.d.ts +0 -10
- package/backend/dist/backup/config.d.ts.map +0 -1
- package/backend/dist/backup/config.js +0 -128
- package/backend/dist/backup/config.js.map +0 -1
- package/backend/dist/backup/engine.d.ts +0 -22
- package/backend/dist/backup/engine.d.ts.map +0 -1
- package/backend/dist/backup/engine.js +0 -298
- package/backend/dist/backup/engine.js.map +0 -1
- package/backend/dist/backup/providers/dropbox.d.ts +0 -25
- package/backend/dist/backup/providers/dropbox.d.ts.map +0 -1
- package/backend/dist/backup/providers/dropbox.js +0 -320
- package/backend/dist/backup/providers/dropbox.js.map +0 -1
- package/backend/dist/backup/providers/google-drive.d.ts +0 -29
- package/backend/dist/backup/providers/google-drive.d.ts.map +0 -1
- package/backend/dist/backup/providers/google-drive.js +0 -303
- package/backend/dist/backup/providers/google-drive.js.map +0 -1
- package/backend/dist/backup/providers/index.d.ts +0 -3
- package/backend/dist/backup/providers/index.d.ts.map +0 -1
- package/backend/dist/backup/providers/index.js +0 -19
- package/backend/dist/backup/providers/index.js.map +0 -1
- package/backend/dist/backup/providers/onedrive.d.ts +0 -29
- package/backend/dist/backup/providers/onedrive.d.ts.map +0 -1
- package/backend/dist/backup/providers/onedrive.js +0 -317
- package/backend/dist/backup/providers/onedrive.js.map +0 -1
- package/backend/dist/backup/scheduler.d.ts +0 -6
- package/backend/dist/backup/scheduler.d.ts.map +0 -1
- package/backend/dist/backup/scheduler.js +0 -55
- package/backend/dist/backup/scheduler.js.map +0 -1
- package/backend/dist/backup/types.d.ts +0 -73
- package/backend/dist/backup/types.d.ts.map +0 -1
- package/backend/dist/backup/types.js +0 -4
- package/backend/dist/backup/types.js.map +0 -1
- package/backend/dist/chat-process-manager.d.ts +0 -45
- package/backend/dist/chat-process-manager.d.ts.map +0 -1
- package/backend/dist/chat-process-manager.js +0 -258
- package/backend/dist/chat-process-manager.js.map +0 -1
- package/backend/dist/flows/runner.d.ts +0 -37
- package/backend/dist/flows/runner.d.ts.map +0 -1
- package/backend/dist/flows/runner.js +0 -660
- package/backend/dist/flows/runner.js.map +0 -1
- package/backend/dist/flows/store.d.ts +0 -40
- package/backend/dist/flows/store.d.ts.map +0 -1
- package/backend/dist/flows/store.js +0 -284
- package/backend/dist/flows/store.js.map +0 -1
- package/backend/dist/flows/types.d.ts +0 -176
- package/backend/dist/flows/types.d.ts.map +0 -1
- package/backend/dist/flows/types.js +0 -25
- package/backend/dist/flows/types.js.map +0 -1
- package/backend/dist/information/condenser.d.ts +0 -12
- package/backend/dist/information/condenser.d.ts.map +0 -1
- package/backend/dist/information/condenser.js +0 -568
- package/backend/dist/information/condenser.js.map +0 -1
- package/backend/dist/information/conversation-sync.d.ts +0 -22
- package/backend/dist/information/conversation-sync.d.ts.map +0 -1
- package/backend/dist/information/conversation-sync.js +0 -500
- package/backend/dist/information/conversation-sync.js.map +0 -1
- package/backend/dist/information/types.d.ts +0 -36
- package/backend/dist/information/types.d.ts.map +0 -1
- package/backend/dist/information/types.js +0 -4
- package/backend/dist/information/types.js.map +0 -1
- package/backend/dist/memory-pool/buoyancy.d.ts +0 -2
- package/backend/dist/memory-pool/buoyancy.d.ts.map +0 -1
- package/backend/dist/memory-pool/buoyancy.js +0 -12
- package/backend/dist/memory-pool/buoyancy.js.map +0 -1
- package/backend/dist/memory-pool/global-pool-manager.d.ts +0 -12
- package/backend/dist/memory-pool/global-pool-manager.d.ts.map +0 -1
- package/backend/dist/memory-pool/global-pool-manager.js +0 -295
- package/backend/dist/memory-pool/global-pool-manager.js.map +0 -1
- package/backend/dist/memory-pool/pool-lock.d.ts +0 -2
- package/backend/dist/memory-pool/pool-lock.d.ts.map +0 -1
- package/backend/dist/memory-pool/pool-lock.js +0 -31
- package/backend/dist/memory-pool/pool-lock.js.map +0 -1
- package/backend/dist/memory-pool/pool-manager.d.ts +0 -57
- package/backend/dist/memory-pool/pool-manager.d.ts.map +0 -1
- package/backend/dist/memory-pool/pool-manager.js +0 -322
- package/backend/dist/memory-pool/pool-manager.js.map +0 -1
- package/backend/dist/memory-pool/templates.d.ts +0 -5
- package/backend/dist/memory-pool/templates.d.ts.map +0 -1
- package/backend/dist/memory-pool/templates.js +0 -234
- package/backend/dist/memory-pool/templates.js.map +0 -1
- package/backend/dist/memory-pool/types.d.ts +0 -61
- package/backend/dist/memory-pool/types.d.ts.map +0 -1
- package/backend/dist/memory-pool/types.js +0 -4
- package/backend/dist/memory-pool/types.js.map +0 -1
- package/backend/dist/plan-control/checker.d.ts +0 -3
- package/backend/dist/plan-control/checker.d.ts.map +0 -1
- package/backend/dist/plan-control/checker.js +0 -103
- package/backend/dist/plan-control/checker.js.map +0 -1
- package/backend/dist/plan-control/executor.d.ts +0 -93
- package/backend/dist/plan-control/executor.d.ts.map +0 -1
- package/backend/dist/plan-control/executor.js +0 -955
- package/backend/dist/plan-control/executor.js.map +0 -1
- package/backend/dist/plan-control/parser.d.ts +0 -12
- package/backend/dist/plan-control/parser.d.ts.map +0 -1
- package/backend/dist/plan-control/parser.js +0 -216
- package/backend/dist/plan-control/parser.js.map +0 -1
- package/backend/dist/plan-control/templates.d.ts +0 -4
- package/backend/dist/plan-control/templates.d.ts.map +0 -1
- package/backend/dist/plan-control/templates.js +0 -271
- package/backend/dist/plan-control/templates.js.map +0 -1
- package/backend/dist/plan-control/types.d.ts +0 -102
- package/backend/dist/plan-control/types.d.ts.map +0 -1
- package/backend/dist/plan-control/types.js +0 -12
- package/backend/dist/plan-control/types.js.map +0 -1
- package/backend/dist/routes/backup.d.ts +0 -4
- package/backend/dist/routes/backup.d.ts.map +0 -1
- package/backend/dist/routes/backup.js +0 -274
- package/backend/dist/routes/backup.js.map +0 -1
- package/backend/dist/routes/flows.d.ts +0 -5
- package/backend/dist/routes/flows.d.ts.map +0 -1
- package/backend/dist/routes/flows.js +0 -457
- package/backend/dist/routes/flows.js.map +0 -1
- package/backend/dist/routes/global-flows.d.ts +0 -3
- package/backend/dist/routes/global-flows.d.ts.map +0 -1
- package/backend/dist/routes/global-flows.js +0 -90
- package/backend/dist/routes/global-flows.js.map +0 -1
- package/backend/dist/routes/information.d.ts +0 -3
- package/backend/dist/routes/information.d.ts.map +0 -1
- package/backend/dist/routes/information.js +0 -159
- package/backend/dist/routes/information.js.map +0 -1
- package/backend/dist/routes/memory-pool.d.ts +0 -3
- package/backend/dist/routes/memory-pool.d.ts.map +0 -1
- package/backend/dist/routes/memory-pool.js +0 -837
- package/backend/dist/routes/memory-pool.js.map +0 -1
- package/backend/dist/routes/plan-control.d.ts +0 -15
- package/backend/dist/routes/plan-control.d.ts.map +0 -1
- package/backend/dist/routes/plan-control.js +0 -337
- package/backend/dist/routes/plan-control.js.map +0 -1
- package/backend/dist/routes/share.d.ts +0 -3
- package/backend/dist/routes/share.d.ts.map +0 -1
- package/backend/dist/routes/share.js +0 -167
- package/backend/dist/routes/share.js.map +0 -1
- package/backend/dist/routes/sounds.d.ts +0 -3
- package/backend/dist/routes/sounds.d.ts.map +0 -1
- package/backend/dist/routes/sounds.js +0 -285
- package/backend/dist/routes/sounds.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts +0 -24
- package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-starter-templates.js +0 -175
- package/backend/dist/tracks/__tests__/verify-starter-templates.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts +0 -23
- package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-cancel.js +0 -153
- package/backend/dist/tracks/__tests__/verify-track-cancel.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-t1.d.ts +0 -11
- package/backend/dist/tracks/__tests__/verify-track-t1.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-t1.js +0 -293
- package/backend/dist/tracks/__tests__/verify-track-t1.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track.d.ts +0 -20
- package/backend/dist/tracks/__tests__/verify-track.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track.js +0 -187
- package/backend/dist/tracks/__tests__/verify-track.js.map +0 -1
- package/backend/dist/tracks/registry.d.ts +0 -61
- package/backend/dist/tracks/registry.d.ts.map +0 -1
- package/backend/dist/tracks/registry.js +0 -202
- package/backend/dist/tracks/registry.js.map +0 -1
- package/backend/dist/tracks/track-runner.d.ts +0 -69
- package/backend/dist/tracks/track-runner.d.ts.map +0 -1
- package/backend/dist/tracks/track-runner.js +0 -158
- package/backend/dist/tracks/track-runner.js.map +0 -1
- package/backend/dist/tracks/train-loader.d.ts +0 -44
- package/backend/dist/tracks/train-loader.d.ts.map +0 -1
- package/backend/dist/tracks/train-loader.js +0 -32
- package/backend/dist/tracks/train-loader.js.map +0 -1
- package/backend/dist/tracks/types-train.d.ts +0 -12
- package/backend/dist/tracks/types-train.d.ts.map +0 -1
- package/backend/dist/tracks/types-train.js +0 -13
- package/backend/dist/tracks/types-train.js.map +0 -1
- package/backend/dist/usage-terminal.d.ts +0 -18
- package/backend/dist/usage-terminal.d.ts.map +0 -1
- package/backend/dist/usage-terminal.js +0 -191
- package/backend/dist/usage-terminal.js.map +0 -1
- package/frontend/dist/assets/index-GfCaMXPO.css +0 -1
package/CHANGELOG.json
CHANGED
|
@@ -1,23 +1,98 @@
|
|
|
1
1
|
[
|
|
2
|
-
{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
{
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
2
|
+
{
|
|
3
|
+
"version": "2026.9.6-c",
|
|
4
|
+
"note": "整体 review 修复:slash 溯源日志只记纯命令动词(粘贴的路径/URL 不再入日志);3R 去重只统计终端页面(手机监控页不再误触发);深浅主题混开时颜色应答去重生效;复制按钮定时器边界修复。另注:hooks 迁入 --settings 托管文件后,ccweb 之外手动启动的 claude 会话不再触发 ccweb 状态上报(预期行为)"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"version": "2026.9.6-b",
|
|
8
|
+
"note": "终端选中文本后出现浮动「复制」按钮(自动定位在选区上方/下方),一键复制到剪贴板;http 部署下自动回退 execCommand 方案"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"version": "2026.9.6-a",
|
|
12
|
+
"note": "Claude hooks/statusLine 改为 `--settings` 托管文件注入(不再写入 ~/.claude/settings.json,避免被 Claude Code 重写配置时清掉,修复网页端状态监控失灵);终端 WS 新增 slash command 溯源日志(记录 user + 来源 IP + 命令动词);修复多页面同看一个项目时输入框冒出 3R/;13R 残片(回放前剥离终端设备查询序列 + 多客户端重复应答去重)"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"version": "2026.6.17-b",
|
|
16
|
+
"note": "待办清单新增「日历」「甘特图」查看模式(可按项目筛选);ccweb 启动不再自动打开浏览器,改用 `ccweb open` 手动打开"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"version": "2026.6.17-a",
|
|
20
|
+
"note": "笔记本新增「待办清单」:按项目分块、支持层级子任务、状态(未开始/进行中/完成)、计划与实际完成日期、Markdown 描述"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"version": "2026.6.16-b",
|
|
24
|
+
"note": "同步远端路径选择器默认进入远端用户主目录(~/),并支持在浏览器中新建远端文件夹"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"version": "2026.6.16-a",
|
|
28
|
+
"note": "新增「笔记本」页面(开发时长统计):自动记录在各项目详情页的停留时间,按天/周/月查看每个项目的开发时长"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"version": "2026.6.15-b",
|
|
32
|
+
"note": "文件树新增「新建文件夹」按钮,可在项目根目录直接创建文件夹"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"version": "2026.6.15-a",
|
|
36
|
+
"note": "项目同步设置新增「浏览」远端目录选择器(经 SSH 列目录,免手输远端路径);记忆库新增「会话总结」视图,可浏览 session summary"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"version": "2026.6.13-f",
|
|
40
|
+
"note": "终端触屏方向键新增 Enter(回车)键,方便触屏设备直接确认输入"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"version": "2026.6.13-e",
|
|
44
|
+
"note": "修复 WSL 下后台启动失效:浏览器改为非阻塞解耦启动(不再阻塞 CLI、关闭浏览器不再退出 ccweb),WSL 优先用 wslview 开 Windows 浏览器"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"version": "2026.6.13-d",
|
|
48
|
+
"note": "登录安全加固:防暴力破解双层限流 + 登录 IP 审计(含失败尝试)+ 实时异地登录弹窗预警;修复项目改名后重启被还原"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"version": "2026.6.13-c",
|
|
52
|
+
"note": "检查更新时在待更新面板显示「当前版本→最新版本」的更新内容"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"version": "2026.6.13-b",
|
|
56
|
+
"note": "同步重构:每个项目单独设远端路径 + 项目设置页 + 卡片云朵同步状态"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"version": "2026.6.13-a",
|
|
60
|
+
"note": "支持 .doc 文档预览;首页 header 在小屏不再挤压重叠"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"version": "2026.6.12-c",
|
|
64
|
+
"note": "终端界面左下角新增触屏方向键,方便触屏设备"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"version": "2026.6.12-b",
|
|
68
|
+
"note": "全局记忆页面(claude-mem 只读浏览),桌面与移动端均可进入"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"version": "2026.6.12-a",
|
|
72
|
+
"note": "首页显示主机使用情况(CPU/内存/磁盘/网络上下行)+ header 全宽重排"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"version": "2026.6.8-a",
|
|
76
|
+
"note": "ccweb MCP server:把项目/文件/记忆等工具暴露给 Claude Code / Codex"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"version": "2026.5.24-j",
|
|
80
|
+
"note": "浏览器标签页支持文件上传"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"version": "2026.5.24-i",
|
|
84
|
+
"note": "浏览器标签页支持文件下载"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"version": "2026.5.24-h",
|
|
88
|
+
"note": "浏览器标签页剪贴板透传 + 页面标题显示"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"version": "2026.5.24-g",
|
|
92
|
+
"note": "浏览器标签页多用户隔离 + 内存监控"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"version": "2026.5.24-c",
|
|
96
|
+
"note": "浏览器标签页改用 headless chromium 架构"
|
|
97
|
+
}
|
|
23
98
|
]
|
|
@@ -7,6 +7,10 @@ export declare class ClaudeAdapter implements CliToolAdapter {
|
|
|
7
7
|
getSessionDir(folderPath: string): string | null;
|
|
8
8
|
parseLineBlocks(line: string): ChatBlock | null;
|
|
9
9
|
getHooksSettingsPath(): string | null;
|
|
10
|
+
/** ccweb-owned settings file passed via `claude --settings`. Holds ccweb's
|
|
11
|
+
* hooks + statusLine so Claude Code rewriting ~/.claude/settings.json can't
|
|
12
|
+
* wipe them. */
|
|
13
|
+
getManagedSettingsPath(): string;
|
|
10
14
|
getHookEvents(): string[];
|
|
11
15
|
buildHookCommand(event: string, portFile: string): string | null;
|
|
12
16
|
getCurrentModel(): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,oBAAoB,CAAC;AAsEnE,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,YAAY;IAGzB,YAAY,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM;IAgBvF,gBAAgB,IAAI,OAAO;IAK3B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IA0D/C,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIrC;;qBAEiB;IACjB,sBAAsB,IAAI,MAAM;IAIhC,aAAa,IAAI,MAAM,EAAE;IAIzB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAyBhE,eAAe,IAAI,MAAM,GAAG,IAAI;IAWhC,kBAAkB,IAAI,SAAS,EAAE;IAejC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAyLhD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAItC,8BAA8B,IAAI,MAAM;IAExC,eAAe,IAAI,IAAI;CAGxB"}
|
|
@@ -38,6 +38,7 @@ const fs = __importStar(require("fs"));
|
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const os = __importStar(require("os"));
|
|
40
40
|
const usage_1 = require("./claude/usage");
|
|
41
|
+
const config_1 = require("../config");
|
|
41
42
|
const logger_1 = require("../logger");
|
|
42
43
|
const log = (0, logger_1.modLogger)('adapter');
|
|
43
44
|
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
@@ -87,9 +88,18 @@ class ClaudeAdapter {
|
|
|
87
88
|
// ── Command ─────────────────────────────────────────────────────────────
|
|
88
89
|
buildCommand(permissionMode, continueSession) {
|
|
89
90
|
const cont = continueSession ? ' --continue' : '';
|
|
91
|
+
// Load ccweb's hooks + statusLine from a ccweb-owned file via --settings.
|
|
92
|
+
// `--settings` MERGES as an additional high-precedence source (it does NOT
|
|
93
|
+
// replace user settings, MCP, model, or other hooks — those still load from
|
|
94
|
+
// ~/.claude/settings.json / project / local). Living outside the user's
|
|
95
|
+
// shared settings.json means Claude Code rewriting that file can't wipe our
|
|
96
|
+
// hooks/statusLine — the bug this fixes.
|
|
97
|
+
// Single-quote for the shell: JSON.stringify's double quotes would leave
|
|
98
|
+
// `$` and backticks live inside bash/zsh double-quote semantics.
|
|
99
|
+
const settings = ` --settings '${this.getManagedSettingsPath().replace(/'/g, "'\\''")}'`;
|
|
90
100
|
return permissionMode === 'unlimited'
|
|
91
|
-
? `claude --dangerously-skip-permissions${cont}`
|
|
92
|
-
: `claude${cont}`;
|
|
101
|
+
? `claude --dangerously-skip-permissions${cont}${settings}`
|
|
102
|
+
: `claude${cont}${settings}`;
|
|
93
103
|
}
|
|
94
104
|
supportsContinue() {
|
|
95
105
|
return true;
|
|
@@ -166,6 +176,12 @@ class ClaudeAdapter {
|
|
|
166
176
|
getHooksSettingsPath() {
|
|
167
177
|
return path.join(os.homedir(), '.claude', 'settings.json');
|
|
168
178
|
}
|
|
179
|
+
/** ccweb-owned settings file passed via `claude --settings`. Holds ccweb's
|
|
180
|
+
* hooks + statusLine so Claude Code rewriting ~/.claude/settings.json can't
|
|
181
|
+
* wipe them. */
|
|
182
|
+
getManagedSettingsPath() {
|
|
183
|
+
return path.join(config_1.DATA_DIR, 'claude-settings.json');
|
|
184
|
+
}
|
|
169
185
|
getHookEvents() {
|
|
170
186
|
return ['PreToolUse', 'PostToolUse', 'Stop', 'PermissionRequest'];
|
|
171
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,14 @@ export interface CliToolAdapter {
|
|
|
42
42
|
parseSessionFile?(content: string): ChatBlock[];
|
|
43
43
|
/** Settings file path where hooks should be installed, or null if unsupported */
|
|
44
44
|
getHooksSettingsPath(): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* A ccweb-OWNED settings file passed to the tool via a flag (e.g. claude
|
|
47
|
+
* `--settings`) instead of writing into the user's shared settings file.
|
|
48
|
+
* When set, hooks + statusLine are written here (overwritten wholesale) and
|
|
49
|
+
* the shared file is only cleaned of legacy ccweb entries. This survives the
|
|
50
|
+
* tool rewriting its own shared settings.json. null/undefined → use the
|
|
51
|
+
* shared file. */
|
|
52
|
+
getManagedSettingsPath?(): string | null;
|
|
45
53
|
getHookEvents(): string[];
|
|
46
54
|
buildHookCommand(event: string, portFile: string): string | null;
|
|
47
55
|
getCurrentModel(): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;yEACqE;IACrE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,GAAG,EAAE,aAAa,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IACxF,gBAAgB,IAAI,OAAO,CAAC;IAG5B,0FAA0F;IAC1F,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,kGAAkG;IAClG,yBAAyB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzD,gGAAgG;IAChG,uBAAuB,CAAC,IAAI,MAAM,CAAC;IACnC,0EAA0E;IAC1E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,2FAA2F;IAC3F,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAGhD,iFAAiF;IACjF,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC;IACtC,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAGjE,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAClC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAGvD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,eAAe,IAAI,IAAI,CAAC;IAGxB;;;;;;;;OAQG;IACH,8BAA8B,IAAI,MAAM,GAAG,IAAI,CAAC;CACjD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;yEACqE;IACrE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,GAAG,EAAE,aAAa,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IACxF,gBAAgB,IAAI,OAAO,CAAC;IAG5B,0FAA0F;IAC1F,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,kGAAkG;IAClG,yBAAyB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzD,gGAAgG;IAChG,uBAAuB,CAAC,IAAI,MAAM,CAAC;IACnC,0EAA0E;IAC1E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,2FAA2F;IAC3F,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAGhD,iFAAiF;IACjF,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC;IACtC;;;;;;sBAMkB;IAClB,sBAAsB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;IACzC,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAGjE,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAClC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAGvD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,eAAe,IAAI,IAAI,CAAC;IAGxB;;;;;;;;OAQG;IACH,8BAA8B,IAAI,MAAM,GAAG,IAAI,CAAC;CACjD"}
|
|
File without changes
|
package/backend/dist/config.d.ts
CHANGED
|
File without changes
|
package/backend/dist/config.js
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -27,7 +27,6 @@ declare class HooksManager {
|
|
|
27
27
|
uninstall(): void;
|
|
28
28
|
/** Idempotent install: remove stale entries first, then add fresh hooks for all supported tools */
|
|
29
29
|
install(): void;
|
|
30
|
-
isInstalled(): boolean;
|
|
31
30
|
}
|
|
32
31
|
export { HooksManager };
|
|
33
32
|
//# sourceMappingURL=hooks-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-manager.d.ts","sourceRoot":"","sources":["../src/hooks-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuCH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B,wFAAwF;IACxF,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"hooks-manager.d.ts","sourceRoot":"","sources":["../src/hooks-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuCH,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B,wFAAwF;IACxF,OAAO,CAAC,mBAAmB;IAiD3B,2CAA2C;IAC3C,OAAO,CAAC,iBAAiB;IAyCzB,6DAA6D;IAC7D,SAAS,IAAI,IAAI;IAMjB,mGAAmG;IACnG,OAAO,IAAI,IAAI;CAShB;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -92,6 +92,17 @@ class HooksManager {
|
|
|
92
92
|
}
|
|
93
93
|
/** Remove all ccweb hook entries (identified by CCWEB_MARKER) for a specific adapter */
|
|
94
94
|
uninstallForAdapter(adapter) {
|
|
95
|
+
// ccweb-owned managed file (e.g. claude --settings target): remove wholesale.
|
|
96
|
+
const managed = adapter.getManagedSettingsPath?.() ?? null;
|
|
97
|
+
if (managed) {
|
|
98
|
+
try {
|
|
99
|
+
fs.unlinkSync(managed);
|
|
100
|
+
}
|
|
101
|
+
catch { /* absent — fine */ }
|
|
102
|
+
}
|
|
103
|
+
// Also strip any LEGACY ccweb entries from the shared settings file — older
|
|
104
|
+
// ccweb versions wrote hooks/statusLine there; leaving them would double-run
|
|
105
|
+
// (hooks concatenate across sources) or linger after the move to --settings.
|
|
95
106
|
const settingsPath = adapter.getHooksSettingsPath();
|
|
96
107
|
if (!settingsPath)
|
|
97
108
|
return;
|
|
@@ -130,10 +141,15 @@ class HooksManager {
|
|
|
130
141
|
/** Install hooks for a specific adapter */
|
|
131
142
|
installForAdapter(adapter) {
|
|
132
143
|
this.uninstallForAdapter(adapter); // always clean first — handles crash-without-cleanup
|
|
133
|
-
|
|
144
|
+
// Prefer a ccweb-owned managed file (passed to the tool via a flag) so the
|
|
145
|
+
// tool rewriting its shared settings.json can't wipe our hooks/statusLine.
|
|
146
|
+
const managed = adapter.getManagedSettingsPath?.() ?? null;
|
|
147
|
+
const settingsPath = managed ?? adapter.getHooksSettingsPath();
|
|
134
148
|
if (!settingsPath)
|
|
135
149
|
return;
|
|
136
|
-
|
|
150
|
+
// Managed file is ccweb-owned → start fresh. Shared file → merge into the
|
|
151
|
+
// user's existing settings (never returns null only when corrupt).
|
|
152
|
+
const settings = managed ? {} : readSettings(settingsPath);
|
|
137
153
|
if (settings === null)
|
|
138
154
|
return; // corrupted — skip to avoid data loss
|
|
139
155
|
const hooks = (settings.hooks ?? {});
|
|
@@ -158,7 +174,7 @@ class HooksManager {
|
|
|
158
174
|
settings.statusLine = { type: 'command', command: statusLineCmd };
|
|
159
175
|
}
|
|
160
176
|
atomicWrite(settingsPath, settings);
|
|
161
|
-
log.info({ tool: adapter.tool }, 'installed ccweb hooks');
|
|
177
|
+
log.info({ tool: adapter.tool, managed: !!managed }, 'installed ccweb hooks');
|
|
162
178
|
}
|
|
163
179
|
/** Remove all ccweb hook entries from all supported tools */
|
|
164
180
|
uninstall() {
|
|
@@ -172,22 +188,6 @@ class HooksManager {
|
|
|
172
188
|
this.installForAdapter((0, adapters_1.getAdapter)(tool));
|
|
173
189
|
}
|
|
174
190
|
}
|
|
175
|
-
isInstalled() {
|
|
176
|
-
// Check the primary tool (Claude) — if its hooks are installed, consider all installed
|
|
177
|
-
const adapter = (0, adapters_1.getAdapter)('claude');
|
|
178
|
-
const settingsPath = adapter.getHooksSettingsPath();
|
|
179
|
-
if (!settingsPath)
|
|
180
|
-
return false;
|
|
181
|
-
const settings = readSettings(settingsPath);
|
|
182
|
-
if (settings === null)
|
|
183
|
-
return false;
|
|
184
|
-
const hooks = (settings.hooks ?? {});
|
|
185
|
-
const events = adapter.getHookEvents();
|
|
186
|
-
if (events.length === 0)
|
|
187
|
-
return false;
|
|
188
|
-
const list = (hooks[events[0]] ?? []);
|
|
189
|
-
return list.some((g) => g.hooks?.some((h) => h.command?.includes(CCWEB_MARKER)));
|
|
190
|
-
}
|
|
191
191
|
}
|
|
192
192
|
exports.HooksManager = HooksManager;
|
|
193
193
|
//# sourceMappingURL=hooks-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-manager.js","sourceRoot":"","sources":["../src/hooks-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hooks-manager.js","sourceRoot":"","sources":["../src/hooks-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqGA,QAAA,MAAM,GAAG,6CAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqGA,QAAA,MAAM,GAAG,6CAAY,CAAC;AA2kCtB,eAAe,GAAG,CAAC"}
|
package/backend/dist/index.js
CHANGED
|
@@ -279,6 +279,19 @@ const server = http.createServer(app);
|
|
|
279
279
|
const wss = new WebSocket.Server({ noServer: true, maxPayload: 1024 * 1024 }); // 1MB max message
|
|
280
280
|
// projectId → connected WebSocket clients (all in terminal mode)
|
|
281
281
|
const projectClients = new Map();
|
|
282
|
+
// ── Multi-viewer device-reply dedupe ─────────────────────────────────────────
|
|
283
|
+
// xterm.js in EVERY connected page auto-answers terminal device queries
|
|
284
|
+
// (cursor position → "\x1b[<r>;<c>R", DA "\x1b[?1;2c", DSR "\x1b[0n", OSC
|
|
285
|
+
// color). The CLI needs exactly one answer per query; the extras arrive when
|
|
286
|
+
// nothing is reading and their tail shows up as literal "3R" / ";13R" in the
|
|
287
|
+
// input line. A WS frame consisting SOLELY of such replies (auto-replies are
|
|
288
|
+
// emitted as standalone frames; human input can never take this shape) is
|
|
289
|
+
// deduped per project by reply CLASS (digits stripped, so two viewers'
|
|
290
|
+
// different cursor positions still collide) within a short window.
|
|
291
|
+
// eslint-disable-next-line no-control-regex
|
|
292
|
+
const DEVICE_REPLY_FRAME = /^(?:\x1b\[[\d;?>=]*[Rnc]|\x1b\]\d+;[^\x07\x1b]*(?:\x07|\x1b\\)|\x1bP[^\x1b]*\x1b\\)+$/;
|
|
293
|
+
const DEVICE_REPLY_WINDOW_MS = 300;
|
|
294
|
+
const deviceReplyGate = new Map();
|
|
282
295
|
// Paste body / CR split + per-project serial queue lives in terminal-paste.ts —
|
|
283
296
|
// chat send + v3 track-flow runtime(routes/_flow-injector.ts)共享同一条路径。
|
|
284
297
|
// v1 任务流系统(backend/src/flows/)已在 v-h 删除。
|
|
@@ -858,6 +871,8 @@ wss.on('connection', (ws, req) => {
|
|
|
858
871
|
}
|
|
859
872
|
const projectId = match[1];
|
|
860
873
|
const localConnection = isLocalWs(req);
|
|
874
|
+
const wsIp = req.socket.remoteAddress || '';
|
|
875
|
+
let wsUser = localConnection ? ((0, config_1.getAdminUsername)() ?? '__local_admin__') : '';
|
|
861
876
|
let authenticated = localConnection; // localhost = pre-authenticated
|
|
862
877
|
let wsReadOnly = false; // true for view-only shared projects
|
|
863
878
|
const chatListener = (msg) => {
|
|
@@ -910,6 +925,7 @@ wss.on('connection', (ws, req) => {
|
|
|
910
925
|
}
|
|
911
926
|
// Check access: owner, admin for legacy, or shared user
|
|
912
927
|
const wsUsername = tokenUser.username;
|
|
928
|
+
wsUser = wsUsername;
|
|
913
929
|
if (!(0, config_1.isProjectOwner)(project, wsUsername)) {
|
|
914
930
|
const share = project.shares?.find((s) => s.username === wsUsername);
|
|
915
931
|
if (!share) {
|
|
@@ -941,6 +957,10 @@ wss.on('connection', (ws, req) => {
|
|
|
941
957
|
// sees bufferedAmount > 8 MiB from the scrollback we just queued and
|
|
942
958
|
// ws.terminate()'s the connection. See safeSend comment block.
|
|
943
959
|
ws.__subscribeAt = Date.now();
|
|
960
|
+
// Terminal viewers run xterm and auto-answer device queries; chat-
|
|
961
|
+
// only clients (mobile monitor) don't. The device-reply dedupe gate
|
|
962
|
+
// must count ONLY these — see deviceReplyGate.
|
|
963
|
+
ws.__terminal = true;
|
|
944
964
|
// Replay history so reconnecting clients see prior output
|
|
945
965
|
{
|
|
946
966
|
const scrollback = terminal_manager_1.terminalManager.getScrollback(projectId);
|
|
@@ -966,8 +986,63 @@ wss.on('connection', (ws, req) => {
|
|
|
966
986
|
case 'terminal_input':
|
|
967
987
|
if (wsReadOnly)
|
|
968
988
|
break; // view-only users cannot send input
|
|
969
|
-
if (typeof parsed.data === 'string')
|
|
989
|
+
if (typeof parsed.data === 'string') {
|
|
990
|
+
// Pure device-reply frame → per-project class dedupe (see
|
|
991
|
+
// deviceReplyGate). First reply in the window passes; the rest
|
|
992
|
+
// are the other viewers answering the same query — drop them.
|
|
993
|
+
// Gate only with 2+ TERMINAL viewers (chat-only mobile clients
|
|
994
|
+
// don't run xterm and never auto-answer — counting them would
|
|
995
|
+
// open the gate when only one answer will ever arrive): a single
|
|
996
|
+
// xterm page can't duplicate, and skipping keeps a legitimate
|
|
997
|
+
// second reply to a rapid re-query from ever being dropped.
|
|
998
|
+
// Known ambiguity (accepted): modified F3 encodes as
|
|
999
|
+
// ESC[1;<mod>R — indistinguishable from CPR, so it can be
|
|
1000
|
+
// swallowed within the window on multi-viewer projects.
|
|
1001
|
+
// Class signature keeps STRUCTURE, strips payload: OSC keeps its
|
|
1002
|
+
// selector (]10; vs ]11; answer different queries and must stay
|
|
1003
|
+
// distinct classes) but drops the color payload (differs per
|
|
1004
|
+
// theme yet answers the same query); CSI drops params, keeps
|
|
1005
|
+
// prefix + final byte; DCS drops payload.
|
|
1006
|
+
let terminalViewers = 0;
|
|
1007
|
+
for (const c of projectClients.get(projectId) ?? []) {
|
|
1008
|
+
if (c.__terminal)
|
|
1009
|
+
terminalViewers++;
|
|
1010
|
+
}
|
|
1011
|
+
if (terminalViewers > 1 && DEVICE_REPLY_FRAME.test(parsed.data)) {
|
|
1012
|
+
const cls = projectId + ':' + parsed.data
|
|
1013
|
+
.replace(/(\x1b\]\d+;)[^\x07\x1b]*/g, '$1')
|
|
1014
|
+
.replace(/(\x1b\[[?>=]*)[\d;]*/g, '$1')
|
|
1015
|
+
.replace(/(\x1bP)[^\x1b]*/g, '$1');
|
|
1016
|
+
const now = Date.now();
|
|
1017
|
+
if (now - (deviceReplyGate.get(cls) ?? 0) < DEVICE_REPLY_WINDOW_MS)
|
|
1018
|
+
break;
|
|
1019
|
+
if (deviceReplyGate.size > 1000)
|
|
1020
|
+
deviceReplyGate.clear();
|
|
1021
|
+
deviceReplyGate.set(cls, now);
|
|
1022
|
+
}
|
|
1023
|
+
// Attribution log for whole-message sends (chat sends, pastes,
|
|
1024
|
+
// scripts arrive as one frame; hand-typed keys arrive per-char and
|
|
1025
|
+
// stay unlogged). Slash commands only — keeps noise near zero while
|
|
1026
|
+
// making /clear-style floods traceable to a user + source IP.
|
|
1027
|
+
// logger.ts 红线 #1 exemption: PTY input itself never enters the
|
|
1028
|
+
// log — only a bare slash-command VERB (/clear, /model:foo …) is
|
|
1029
|
+
// recorded. The verb must match the strict pattern below so that
|
|
1030
|
+
// pasted absolute paths / URLs starting with "/" (which are PTY
|
|
1031
|
+
// input and may embed secrets) never qualify. Arguments are never
|
|
1032
|
+
// logged.
|
|
1033
|
+
{
|
|
1034
|
+
const body = parsed.data.startsWith('\x1b[200~') ? parsed.data.slice(6) : parsed.data;
|
|
1035
|
+
const clean = body.replace(/[\x00-\x1f\x7f-\x9f]/g, ' ').trimStart();
|
|
1036
|
+
const verb = clean.split(/\s/, 1)[0];
|
|
1037
|
+
if (parsed.data.length > 1 && /^\/[A-Za-z0-9:_-]{1,30}$/.test(verb)) {
|
|
1038
|
+
log.info({
|
|
1039
|
+
projectId, user: wsUser, ip: wsIp, mod: 'ws',
|
|
1040
|
+
command: verb, len: parsed.data.length,
|
|
1041
|
+
}, 'slash command input');
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
970
1044
|
(0, terminal_paste_1.writeTerminalInputSplit)(projectId, parsed.data);
|
|
1045
|
+
}
|
|
971
1046
|
break;
|
|
972
1047
|
case 'terminal_resize':
|
|
973
1048
|
if (typeof parsed.cols === 'number' && typeof parsed.rows === 'number') {
|