aws-runtime-bridge 1.9.186 → 1.9.192

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 (108) hide show
  1. package/CHANGELOG.md +1878 -1673
  2. package/README.md +256 -256
  3. package/dist/adapter/AcodeSdkAdapter.d.ts +13 -0
  4. package/dist/adapter/AcodeSdkAdapter.js +3 -3
  5. package/dist/browser/browser-pool.d.ts +2 -0
  6. package/dist/browser/browser-pool.js +1 -1
  7. package/dist/config.d.ts +12 -31
  8. package/dist/config.js +2 -2
  9. package/dist/index.js +1 -1
  10. package/dist/remote-desktop/win32-api.js +1 -1
  11. package/dist/routes/background-tasks.js +4 -4
  12. package/dist/routes/dashboard.js +17 -17
  13. package/dist/routes/media-files.d.ts +19 -0
  14. package/dist/routes/media-files.js +2 -0
  15. package/dist/routes/plugin-ui.d.ts +17 -0
  16. package/dist/routes/plugin-ui.js +2 -0
  17. package/dist/routes/plugins.d.ts +3 -0
  18. package/dist/routes/plugins.js +1 -1
  19. package/dist/routes/terminal.d.ts +83 -0
  20. package/dist/routes/terminal.js +23 -23
  21. package/dist/scripts/migrate-user-scopes.js +1 -1
  22. package/dist/services/acode-bg-manager.js +1 -1
  23. package/dist/services/agent-capability-sync.js +1 -1
  24. package/dist/services/auto-register.js +1 -1
  25. package/dist/services/capability-config.d.ts +0 -1
  26. package/dist/services/capability-config.js +2 -2
  27. package/dist/services/instance-ai-config-service.js +1 -1
  28. package/dist/services/instance-features.d.ts +9 -0
  29. package/dist/services/instance-features.js +1 -1
  30. package/dist/services/panel-auth.d.ts +4 -0
  31. package/dist/services/panel-auth.js +1 -1
  32. package/dist/services/plugin-deployment.d.ts +2 -30
  33. package/dist/services/plugin-deployment.js +2 -2
  34. package/dist/services/plugin-handler-adapter.d.ts +10 -1
  35. package/dist/services/plugin-handler-adapter.js +2 -2
  36. package/dist/services/plugin-listener-runner.js +4 -4
  37. package/dist/services/plugin-loader.d.ts +7 -1
  38. package/dist/services/plugin-loader.js +1 -1
  39. package/dist/services/plugin-manager.d.ts +32 -12
  40. package/dist/services/plugin-manager.js +4 -4
  41. package/dist/services/plugin-manifest.d.ts +53 -3
  42. package/dist/services/plugin-manifest.js +1 -1
  43. package/dist/services/plugin-runtime.d.ts +8 -9
  44. package/dist/services/plugin-ui-status-runtime.d.ts +8 -0
  45. package/dist/services/plugin-ui-status-runtime.js +2 -0
  46. package/dist/services/plugin-ui-status.d.ts +96 -0
  47. package/dist/services/plugin-ui-status.js +2 -0
  48. package/dist/services/plugin-wecom-callback.d.ts +61 -0
  49. package/dist/services/plugin-wecom-callback.js +3 -0
  50. package/dist/services/user-scope.d.ts +1 -9
  51. package/dist/services/user-scope.js +1 -1
  52. package/dist/services/workspace-files.js +1 -1
  53. package/dist/utils/dynamic-import.d.ts +31 -0
  54. package/dist/utils/dynamic-import.js +2 -0
  55. package/dist/utils/sdk-package-loader.js +1 -1
  56. package/node_modules/playwright/cli.js +0 -0
  57. package/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -0
  58. package/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -0
  59. package/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -0
  60. package/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -0
  61. package/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -0
  62. package/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -0
  63. package/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -0
  64. package/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -0
  65. package/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -0
  66. package/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -0
  67. package/node_modules/playwright-core/cli.js +0 -0
  68. package/node_modules/playwright-core/lib/webp_codec.wasm +0 -0
  69. package/node_modules/playwright-core/lib/xdg-open +0 -0
  70. package/package/acode/dist/await-complete-tool.js +3 -3
  71. package/package/acode/dist/plugin-types.d.ts +41 -1
  72. package/package/acode/dist/runtime.d.ts +26 -0
  73. package/package/acode/dist/runtime.js +21 -22
  74. package/package/acode/dist/sub-agent-manager.d.ts +33 -0
  75. package/package/acode/dist/sub-agent-manager.js +9 -1
  76. package/package/acode/dist/sub-agent-tools.d.ts +4 -0
  77. package/package/acode/dist/sub-agent-tools.js +27 -12
  78. package/package/acode/dist/subagent-handback.d.ts +16 -0
  79. package/package/acode/dist/subagent-handback.js +7 -0
  80. package/package/acode/dist/tool-allocation.js +1 -1
  81. package/package/acode/package.json +38 -38
  82. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -5
  83. package/package/aws-client-agent-mcp/dist/agent-client.js +1 -1
  84. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +27 -0
  85. package/package/aws-client-agent-mcp/dist/mcp-server.js +16 -16
  86. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +34 -0
  87. package/package/aws-client-agent-mcp/dist/mcp-tools.js +65 -19
  88. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +10 -0
  89. package/package/aws-client-agent-mcp/dist/message-buffer.js +1 -1
  90. package/package/aws-client-agent-mcp/dist/tool-groups.js +2 -2
  91. package/package/aws-client-agent-mcp/dist/types.d.ts +81 -3
  92. package/package/aws-client-agent-mcp/package.json +53 -53
  93. package/package.json +134 -132
  94. /package/package/acode/dist/grammars/{grammars/tree-sitter-bash.wasm → tree-sitter-bash.wasm} +0 -0
  95. /package/package/acode/dist/grammars/{grammars/tree-sitter-c-sharp.wasm → tree-sitter-c-sharp.wasm} +0 -0
  96. /package/package/acode/dist/grammars/{grammars/tree-sitter-c.wasm → tree-sitter-c.wasm} +0 -0
  97. /package/package/acode/dist/grammars/{grammars/tree-sitter-cpp.wasm → tree-sitter-cpp.wasm} +0 -0
  98. /package/package/acode/dist/grammars/{grammars/tree-sitter-go.wasm → tree-sitter-go.wasm} +0 -0
  99. /package/package/acode/dist/grammars/{grammars/tree-sitter-java.wasm → tree-sitter-java.wasm} +0 -0
  100. /package/package/acode/dist/grammars/{grammars/tree-sitter-javascript.wasm → tree-sitter-javascript.wasm} +0 -0
  101. /package/package/acode/dist/grammars/{grammars/tree-sitter-jsx.wasm → tree-sitter-jsx.wasm} +0 -0
  102. /package/package/acode/dist/grammars/{grammars/tree-sitter-lua.wasm → tree-sitter-lua.wasm} +0 -0
  103. /package/package/acode/dist/grammars/{grammars/tree-sitter-php.wasm → tree-sitter-php.wasm} +0 -0
  104. /package/package/acode/dist/grammars/{grammars/tree-sitter-python.wasm → tree-sitter-python.wasm} +0 -0
  105. /package/package/acode/dist/grammars/{grammars/tree-sitter-ruby.wasm → tree-sitter-ruby.wasm} +0 -0
  106. /package/package/acode/dist/grammars/{grammars/tree-sitter-rust.wasm → tree-sitter-rust.wasm} +0 -0
  107. /package/package/acode/dist/grammars/{grammars/tree-sitter-tsx.wasm → tree-sitter-tsx.wasm} +0 -0
  108. /package/package/acode/dist/grammars/{grammars/tree-sitter-typescript.wasm → tree-sitter-typescript.wasm} +0 -0
package/README.md CHANGED
@@ -1,256 +1,256 @@
1
- # aws-runtime-bridge
2
-
3
- AgentsWorkStudio 机器实例运行时桥接服务,用于在实例上管理 Agent 运行时、终端、配置与回调通信。
4
-
5
- > `aws-runtime-bridge` 面向机器实例宿主机运行,需要访问本机工作区、终端、运行时配置和文件系统;不要将它作为 Docker/Compose 服务部署。Docker Compose 用于仓库根目录的 `aws-dashboard`、`aws-mcp-server` 与自托管邮件服务 `james`。
6
-
7
- ## 能力范围
8
-
9
- Bridge 是执行机器上的能力宿主,调度中心只下发指令与配置,实际执行都在本机:
10
-
11
- | 领域 | 能力 |
12
- | --- | --- |
13
- | Agent 运行时 | 启动/停止/重启自研 ACode 运行时;会话、状态、时间线、调试日志、子 Agent |
14
- | 工作区 | 文件浏览/读写/上传下载、搜索、变更记录与 diff、快照、文件监听、忽略规则 |
15
- | 终端 | 多 PTY 会话、断线恢复、系统指标、命令模板、后台任务 |
16
- | Git | 状态、diff、提交图/分页、提交、重置、历史 |
17
- | MCP / Skill / Plugin | 持久化配置、包型 MCP 解压装配、市场安装、开发期临时挂载与热重载 |
18
- | LSP | 语言服务进程池与 WebSocket 桥接,工作区符号/定义/引用索引 |
19
- | 浏览器 | Playwright 会话、实时画面、截图、人工接管、按 scope 持久化登录态 |
20
- | 远程桌面 | 屏幕采集、键鼠输入、AI 操作时间线、人工互斥 |
21
- | 启动项 | 业务程序起停、就绪探测、日志与指标 |
22
- | 通信 | 主动注册、反向隧道、运行时 token 刷新、配置下发与能力热推 |
23
-
24
- ## 全局安装
25
-
26
- 从 npm 包安装时:
27
-
28
- ```bash
29
- npm install -g aws-runtime-bridge
30
- ```
31
-
32
- 安装脚本会在 macOS、Linux 与常见 Unix 平台自动为 CLI 入口补齐可执行权限;Windows 平台无需 chmod,会自动跳过该步骤。
33
-
34
- > **Linux 编译工具链自动安装**:`node-pty`(终端 PTY)只为 macOS/Windows 提供预编译产物,Linux 上安装时必然现场编译,因此服务器需有 `g++`/`make`/`python3`。以 root 执行 `npm install -g`(或 `sudo npm install -g`)时,安装过程会自动用 `apt-get`/`dnf`/`yum`/`zypper`/`apk`/`pacman` 补齐工具链,无需手动干预;非 root 环境会提示手动执行 `sudo apt-get install -y build-essential python3`(按发行版对应命令)。可用 `AWS_BRIDGE_SKIP_BUILD_TOOLS=1` 跳过自动安装。
35
-
36
- > **浏览器内核自动安装**:安装完成后会自动下载 Playwright Chromium(约 150MB,存于 `~/.cache/ms-playwright`),Linux 上以 root 安装(如 `sudo npm install -g`)时还会自动补齐系统依赖,装完即可使用浏览器功能。可用 `AWS_BRIDGE_SKIP_PLAYWRIGHT_INSTALL=1 npm install -g aws-runtime-bridge` 跳过;跳过或安装失败后,可随时手动执行:`npx playwright install chromium`(Linux 缺系统库时:`sudo npx playwright install --with-deps chromium`)。
37
-
38
- 从当前仓库安装时:
39
-
40
- ```bash
41
- cd aws-runtime-bridge
42
- npm install
43
- npm run build
44
- npm install -g .
45
- ```
46
-
47
- ## 启动
48
-
49
- 首次运行 `awsb` / `aws-bridge` 时,如果不存在 `~/.aws-bridge/config.json`,CLI 会进入交互式配置引导;也可以在提示中选择跳过。跳过时仍会创建配置文件并自动生成随机 `connectionKey`,终端会输出该密钥,请保存后在 server/面板连接此 Bridge 时使用。非交互环境(如 systemd、CI 后台启动)不会阻塞等待输入,也会自动生成随机 `connectionKey` 并跳过引导。
50
-
51
- 引导会生成类似下面的配置:
52
-
53
- ```json
54
- {
55
- "connectionKey": "awsb_xxxxxxxxxxxxxxxxxxxxxxxx",
56
- "autoRegisterTargets": [
57
- {
58
- "serverUrl": "http://203.0.113.10:8080",
59
- "instanceName": "my-instance",
60
- "userKey": "aws_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
61
- "registerAddr": "127.0.0.1"
62
- }
63
- ]
64
- }
65
- ```
66
-
67
- ### `registerAddr` 字段说明
68
-
69
- `registerAddr` 用于告知调度中心如何回连本机 Bridge,支持三种写法:
70
-
71
- | 写法 | 示例 | 解析结果 | 适用场景 |
72
- | --- | --- | --- | --- |
73
- | 完整 URL(含协议) | `https://bridge.example.com` | 原样使用 | Bridge 在反代后面或启用 TLS |
74
- | `host:port` | `127.0.0.1:18081` | 自动补 `http://` 前缀 | http 直连 + 自定义端口 |
75
- | 纯 `host` | `10.0.0.8` | 自动补 `http://` 前缀和 `AWS_RUNTIME_BRIDGE_PORT`(默认 18081) | http 直连 + 默认端口 |
76
-
77
- > **TLS / 反代场景**:当 Bridge 部署在 Nginx/Caddy/Cloudflare 后面走 https 时,必须用完整 URL 形式(如 `https://bridge.example.com`),此时环境变量 `AWS_RUNTIME_BRIDGE_PORT` 不再生效。
78
-
79
- > **向后兼容**:旧字段 `registerIp`(仅接受纯 IP)仍可读取,但已废弃,推荐迁移到 `registerAddr`。配置引导会在重新配置时自动将 `registerIp` 迁移为 `registerAddr` 并剥离老字段。
80
-
81
- 如需在交互式终端中也强制跳过引导,可设置 `AWS_BRIDGE_SKIP_SETUP=true`;此时仍会生成随机 `connectionKey`。
82
-
83
- ```bash
84
- AWS_RUNTIME_BRIDGE_PORT=18081 \
85
- AWS_RUNTIME_HOME_DIR=/opt/agentswork/runtime-home \
86
- aws-bridge
87
- ```
88
-
89
- 当 `~/.aws-bridge/config.json` 只配置了一个 `autoRegisterTargets[].serverUrl` 时,bridge 会自动将该地址作为 `/runtime/ping` 回连调度中心的地址,无需重复配置 `AWS_RUNTIME_SCHEDULER_BASE_URL`。如需显式覆盖,或同一个 bridge 配置了多个自动注册目标,请设置 `AWS_RUNTIME_SCHEDULER_BASE_URL` 指定当前实例测试连接时应回连的调度中心。
90
-
91
- If an existing runtime binding still stores an old scheduler URL such as `http://127.0.0.1:8080`, re-run auto-register, refresh the runtime token, or re-pair after changing `serverUrl` / `AWS_RUNTIME_SCHEDULER_BASE_URL`; bridge will not reuse a token issued for the old scheduler URL against the new scheduler URL.
92
-
93
- `aws-runtime-bridge` 命令仍作为兼容别名保留。安装 `aws-runtime-bridge` 后,包内会随附
94
- `aws-client-agent-mcp` 的编译产物;bridge 启动时只负责准备该 MCP 产物,不再在 Agent 启动时默认动态注入 `aws-mcp`。
95
-
96
- 请在面板中为 ACode 运行时安装/配置 MCP,走统一的持久化 MCP 配置链路。
97
-
98
- 如需使用自定义 MCP 可执行文件,可设置:
99
-
100
- ```bash
101
- AWS_CLIENT_AGENT_MCP_COMMAND=/absolute/path/to/aws-client-agent-mcp \
102
- AWS_CLIENT_AGENT_MCP_ARGS='[]' \
103
- aws-bridge
104
- ```
105
-
106
- ## 开发环境与生产环境
107
-
108
- Bridge 区分两类运行形态,二者可在同一台机器上同时运行、互不干扰(适用于"用本项目开发本项目"的场景):
109
-
110
- | | 生产环境 | 开发环境 |
111
- | --- | --- | --- |
112
- | 启动方式 | npm 全局安装后 `awsb` / `node dist/index.js` / 系统服务 | 仓库内 `npm run dev` |
113
- | 判定依据 | 无环境标记(默认即生产) | `scripts/dev-runner.mjs` 注入 `AWS_RUNTIME_ENV=development` |
114
- | 运行主目录 | `~/.aws-bridge/` | `<仓库根>/.dev-home/.aws-bridge/` |
115
- | 首选端口 | `18081` | `28081` |
116
- | MCP 服务名 | `aws-mcp` | `aws-mcp-dev` |
117
-
118
- 行为要点:
119
-
120
- - **数据隔离**:开发态的全部持久化数据(config.json、自动注册目标、面板凭据、IP 访问控制、日志、实例状态、mcp/acode 部署目录等)都落在仓库根 `.dev-home/` 下(已加入 `.gitignore`),不碰已安装实例的 `~/.aws-bridge/`;删除 `.dev-home/` 即可完全重置开发环境。
121
- - **Agent CLI 配置保持共享**:`~/.claude`、`~/.codex`、`~/.opencode` 等 Agent CLI 配置在两种环境下都使用真实用户主目录——开发态 Bridge 拉起的也是真实 Agent 进程。MCP 服务名按环境区分(`aws-mcp` / `aws-mcp-dev`),两个实例写入 Agent 配置的条目并存,互不顶掉线。
122
- - **端口错开**:两环境首选端口不同(冲突时仍会自动顺延),保证同时监听、地址可预期。
123
- - **显式覆盖优先**:设置 `AWS_TEST_HOME` 或 `AWS_RUNTIME_HOME_DIR` 时,无论何种环境都使用该目录,测试与系统服务部署行为不受影响。
124
- - **注意**:在仓库内直接执行 `npm start` / `node dist/index.js` 视为生产环境(与已安装实例共用 `~/.aws-bridge/`),需要隔离时请使用 `npm run dev`。
125
-
126
- ## systemd 服务管理
127
-
128
- Linux systemd 环境中可使用 CLI 安装或卸载 `awsb.service`。安装命令会写入 systemd unit、执行 `systemctl daemon-reload`、启用开机自启,并在服务尚未运行时立即启动:
129
-
130
- ```bash
131
- sudo awsb service install
132
- ```
133
-
134
- 卸载命令会在服务运行时先停止服务,禁用开机自启,删除 unit 文件,并重新执行 `systemctl daemon-reload`:
135
-
136
- ```bash
137
- sudo awsb service uninstall
138
- ```
139
-
140
- `service` 命令还支持 `start` / `stop` / `restart` 子命令,分别对应 `systemctl start/stop/restart awsb.service`。生成的 unit 会设置 `AWS_BRIDGE_SKIP_SETUP=true`,避免后台服务启动时阻塞在交互式配置引导。
141
-
142
- ## macOS launchd 服务管理
143
-
144
- macOS 环境中可使用同一套 `awsb service` CLI 安装或卸载用户级 LaunchAgent(无需 `sudo`)。安装命令会生成 plist 文件写入 `~/Library/LaunchAgents/com.agentsworkstudio.awsb.plist`,并通过 `launchctl bootstrap` 加载启动:
145
-
146
- ```bash
147
- awsb service install
148
- ```
149
-
150
- 卸载命令会执行 `launchctl bootout` 停止并卸载服务,然后删除 plist 文件:
151
-
152
- ```bash
153
- awsb service uninstall
154
- ```
155
-
156
- 其他子命令与 launchctl 的对应关系:
157
-
158
- | 子命令 | 行为 |
159
- | --- | --- |
160
- | `start` | 先尝试 `launchctl kickstart`(已加载未运行时启动),失败再 `bootstrap` 重新加载 |
161
- | `stop` | `launchctl bootout` 卸载并停止(保留 plist,下次 `start` 重新加载) |
162
- | `restart` | `launchctl bootout`(忽略错误)→ `launchctl bootstrap` 重新加载 |
163
-
164
- 生成的 plist 配置要点:
165
-
166
- - `RunAtLoad=true`:加载时立即启动;
167
- - `KeepAlive=true`:进程退出后自动拉起;
168
- - `AWS_BRIDGE_SKIP_SETUP=true`:避免后台服务阻塞在交互式配置引导;
169
- - `AWS_RUNTIME_HOME_DIR`:注入当前用户主目录,确保服务读到 `~/.aws-bridge/config.json`;
170
- - `StandardOutPath` / `StandardErrorPath`:日志输出到 `~/.aws-bridge/log/awsb.out.log` 与 `awsb.err.log`,可用 `awsb log` 读取。
171
-
172
- > 注意:因 `KeepAlive=true`,`stop` 通过 `bootout` 卸载服务才能真正停止;仅发信号会被 launchd 立即拉起。`stop` 后 plist 仍保留,`start` 会重新 `bootstrap` 加载。
173
-
174
- ## Windows 服务管理
175
-
176
- Windows 环境中可使用同一套 `awsb service` CLI 通过 [node-windows](https://github.com/coreybutler/node-windows)(随包作为可选依赖安装)注册系统服务。安装命令会用 node-windows 注册服务(SCM 服务名 `awsb.exe`),并调用 `sc.exe start` 启动:
177
-
178
- ```bash
179
- awsb service install
180
- ```
181
-
182
- 卸载命令会执行 `sc.exe stop` + `sc.exe delete`:
183
-
184
- ```bash
185
- awsb service uninstall
186
- ```
187
-
188
- 其他子命令均通过 `sc.exe` 操作:`start` / `stop` / `restart`(`stop` + `start`)。服务日志重定向到 `~/.aws-bridge/log/awsb.out.log`,可用 `awsb log` 读取。
189
-
190
- > Windows 服务默认以 `LocalSystem` 身份运行,其主目录是 `C:\Windows\System32\config\systemprofile`,找不到当前用户的 `~/.aws-bridge/config.json`。安装时会自动注入 `AWS_RUNTIME_HOME_DIR` 环境变量指向当前用户主目录,bridge 才能读到正确配置。
191
-
192
- ## 查看服务日志
193
-
194
- `awsb log` 命令按平台读取服务日志,支持 `--follow` / `-f` 实时跟踪:
195
-
196
- - Linux:`journalctl -u awsb.service`;
197
- - macOS:`tail -n 200 ~/.aws-bridge/log/awsb.out.log`(`--follow` 时 `tail -f`);
198
- - Windows:`Get-Content -Tail 200 ~/.aws-bridge/log/awsb.out.log`(`--follow` 时附加 `-Wait`)。
199
-
200
- 服务未安装或日志文件未生成时会返回明确错误提示。
201
-
202
- ## 多用户隔离
203
-
204
- Bridge 以 `(tenantId, userId)` 为命名空间隔离所有「用户配置」,与 Java 侧
205
- `t_agent.owner_user_id` / `tenant_id` 及浏览器 `scopeKey`(`t:{tenant}:u:{user}`)对齐:
206
-
207
- ```
208
- {root}/.aws-bridge/
209
- users/{tenantId}/{userId}/
210
- ai/acode.json 每用户 AI 配置(provider/model/apiKey)
211
- skills/deployed/{name}/ + manifest.json 每用户技能库
212
- skills/{name}/ 每用户全局技能
213
- mcp/deployed/{name}.json + manifest.json 每用户 MCP 库
214
- mcp/packages/{name}/ 每用户 MCP 包
215
- plugins/deployed/{name}/ + manifest.json 每用户插件库
216
- capability/{skills,mcp,plugins}/config.json 每用户默认开关
217
- capability/{skills,mcp,plugins}/agents/{agentId}.json per-agent 覆盖 + 继承
218
- instance-runtime/{agentId}/
219
- owner.json 实例归属(多用户解析依据)
220
- skills/ + plugins/ 每实例链接农场
221
- config.json + mcp-extra.json 每实例装配结果
222
- config.json / binding.json / … 机器级配置(面板凭据、配对、访问控制)
223
- ```
224
-
225
- 身份契约:
226
-
227
- - Java `RuntimeBridgeService` 在每次 bridge 调用上注入 `X-Tenant-Id` / `X-User-Id`;
228
- `/runtime/start` 与 `/runtime/init-instance` 的 body 另带 `tenantId` + `ownerUserId`。
229
- - Bridge 侧 `requireUserScope` 强制用户配置类路由携带身份,`requireAgentOwnership`
230
- 校验实例归属(`owner.json`),不匹配返回 `403 agent-ownership-mismatch`。
231
- - 实例归属在 `/runtime/start`、`/runtime/init-instance` 时登记;存量实例无 `owner.json`
232
- 时按只读遗留层兜底(`AWS_BRIDGE_DISABLE_LEGACY_FALLBACK=1` 可关闭)。
233
-
234
- 迁移:执行
235
- `node dist/scripts/migrate-user-scopes.js --tenant <tenantId> --user <userId> [--dry-run] [--overwrite]`
236
- 把原有 bridge 级共享配置一次性复制进指定用户命名空间(幂等、不删除遗留数据)。
237
-
238
- > **版本要求**:多用户隔离需要 bridge 与 aws-mcp-server 同版本部署。旧版 Java 不带身份头时,
239
- > 用户配置类写操作会返回 `400 user-scope-required`;迁移期可临时设
240
- > `AWS_BRIDGE_LEGACY_SCOPE=1` 回退。
241
-
242
- ## 关键环境变量
243
-
244
- | 变量名 | 说明 | 默认值 |
245
- | --- | --- | --- |
246
- | `AWS_RUNTIME_BRIDGE_PORT` | Bridge HTTP 端口 | `18081`(开发态 `28081`) |
247
- | `AWS_RUNTIME_ENV` | 运行环境标记;仅 `npm run dev` 由 `scripts/dev-runner.mjs` 自动注入 `development`,一般无需手动设置。决定运行主目录、默认端口与 MCP 服务名,详见上文「开发环境与生产环境」 | 未设置(生产) |
248
- | `AWS_RUNTIME_SCHEDULER_BASE_URL` | aws-mcp-server 地址;显式配置优先级最高,未配置且只有一个 `autoRegisterTargets[].serverUrl` 时自动使用该地址 | 单目标自动注册地址;否则 `http://localhost:8080` |
249
- | `AWS_REGISTER_ADDR` | Bridge 对外注册地址,覆盖配置文件中的 `registerAddr`;支持 `host:port` / 纯 `host` / 完整 URL(`http(s)://...`) | 未设置时读取配置文件 |
250
- | `AWS_REGISTER_IP` | 已废弃,仅做向后兼容;等同 `registerAddr` 但只接受纯 IP,端口由 `AWS_RUNTIME_BRIDGE_PORT` 决定 | 未设置时读取配置文件 |
251
- | `AWS_RUNTIME_HOME_DIR` | Bridge 管理配置与状态的主目录;显式设置时优先于开发/生产环境的默认主目录 | 当前用户 Home(开发态为 `<仓库根>/.dev-home`) |
252
- | `AWS_RUNTIME_CORS_ORIGINS` | 允许访问 bridge 的来源,逗号分隔 | 本地开发地址 |
253
- | `AWS_BRIDGE_LEGACY_SCOPE` | 迁移期逃生门:设为 `1` 时,缺少 `(tenantId, userId)` 身份的请求回退到 `users/_legacy/_legacy` 命名空间;默认严格模式直接拒绝用户配置类写操作 | 未设置(严格) |
254
- | `AWS_BRIDGE_DISABLE_LEGACY_FALLBACK` | 设为 `1` 关闭对遗留 `instance-template/` 层的只读回退(迁移完成后可启用) | 未设置(允许回退) |
255
-
256
- 生产环境中,bridge 最终解析出的调度中心地址必须是机器实例可访问的 `aws-mcp-server` 地址,不能使用不可达的容器内 `localhost`。如果配置了多个 `autoRegisterTargets`,bridge 不会静默选择第一个目标,需通过 `AWS_RUNTIME_SCHEDULER_BASE_URL` 或后续多调度中心身份路由明确目标。
1
+ # aws-runtime-bridge
2
+
3
+ AgentsWorkStudio 机器实例运行时桥接服务,用于在实例上管理 Agent 运行时、终端、配置与回调通信。
4
+
5
+ > `aws-runtime-bridge` 面向机器实例宿主机运行,需要访问本机工作区、终端、运行时配置和文件系统;不要将它作为 Docker/Compose 服务部署。Docker Compose 用于仓库根目录的 `aws-dashboard`、`aws-mcp-server` 与自托管邮件服务 `james`。
6
+
7
+ ## 能力范围
8
+
9
+ Bridge 是执行机器上的能力宿主,调度中心只下发指令与配置,实际执行都在本机:
10
+
11
+ | 领域 | 能力 |
12
+ | --- | --- |
13
+ | Agent 运行时 | 启动/停止/重启自研 ACode 运行时;会话、状态、时间线、调试日志、子 Agent |
14
+ | 工作区 | 文件浏览/读写/上传下载、搜索、变更记录与 diff、快照、文件监听、忽略规则 |
15
+ | 终端 | 多 PTY 会话、断线恢复、系统指标、命令模板、后台任务 |
16
+ | Git | 状态、diff、提交图/分页、提交、重置、历史 |
17
+ | MCP / Skill / Plugin | 持久化配置、包型 MCP 解压装配、市场安装、开发期临时挂载与热重载 |
18
+ | LSP | 语言服务进程池与 WebSocket 桥接,工作区符号/定义/引用索引 |
19
+ | 浏览器 | Playwright 会话、实时画面、截图、人工接管、按 scope 持久化登录态 |
20
+ | 远程桌面 | 屏幕采集、键鼠输入、AI 操作时间线、人工互斥 |
21
+ | 启动项 | 业务程序起停、就绪探测、日志与指标 |
22
+ | 通信 | 主动注册、反向隧道、运行时 token 刷新、配置下发与能力热推 |
23
+
24
+ ## 全局安装
25
+
26
+ 从 npm 包安装时:
27
+
28
+ ```bash
29
+ npm install -g aws-runtime-bridge
30
+ ```
31
+
32
+ 安装脚本会在 macOS、Linux 与常见 Unix 平台自动为 CLI 入口补齐可执行权限;Windows 平台无需 chmod,会自动跳过该步骤。
33
+
34
+ > **Linux 编译工具链自动安装**:`node-pty`(终端 PTY)只为 macOS/Windows 提供预编译产物,Linux 上安装时必然现场编译,因此服务器需有 `g++`/`make`/`python3`。以 root 执行 `npm install -g`(或 `sudo npm install -g`)时,安装过程会自动用 `apt-get`/`dnf`/`yum`/`zypper`/`apk`/`pacman` 补齐工具链,无需手动干预;非 root 环境会提示手动执行 `sudo apt-get install -y build-essential python3`(按发行版对应命令)。可用 `AWS_BRIDGE_SKIP_BUILD_TOOLS=1` 跳过自动安装。
35
+
36
+ > **浏览器内核自动安装**:安装完成后会自动下载 Playwright Chromium(约 150MB,存于 `~/.cache/ms-playwright`),Linux 上以 root 安装(如 `sudo npm install -g`)时还会自动补齐系统依赖,装完即可使用浏览器功能。可用 `AWS_BRIDGE_SKIP_PLAYWRIGHT_INSTALL=1 npm install -g aws-runtime-bridge` 跳过;跳过或安装失败后,可随时手动执行:`npx playwright install chromium`(Linux 缺系统库时:`sudo npx playwright install --with-deps chromium`)。
37
+
38
+ 从当前仓库安装时:
39
+
40
+ ```bash
41
+ cd aws-runtime-bridge
42
+ npm install
43
+ npm run build
44
+ npm install -g .
45
+ ```
46
+
47
+ ## 启动
48
+
49
+ 首次运行 `awsb` / `aws-bridge` 时,如果不存在 `~/.aws-bridge/config.json`,CLI 会进入交互式配置引导;也可以在提示中选择跳过。跳过时仍会创建配置文件并自动生成随机 `connectionKey`,终端会输出该密钥,请保存后在 server/面板连接此 Bridge 时使用。非交互环境(如 systemd、CI 后台启动)不会阻塞等待输入,也会自动生成随机 `connectionKey` 并跳过引导。
50
+
51
+ 引导会生成类似下面的配置:
52
+
53
+ ```json
54
+ {
55
+ "connectionKey": "awsb_xxxxxxxxxxxxxxxxxxxxxxxx",
56
+ "autoRegisterTargets": [
57
+ {
58
+ "serverUrl": "http://203.0.113.10:8080",
59
+ "instanceName": "my-instance",
60
+ "userKey": "aws_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
61
+ "registerAddr": "127.0.0.1"
62
+ }
63
+ ]
64
+ }
65
+ ```
66
+
67
+ ### `registerAddr` 字段说明
68
+
69
+ `registerAddr` 用于告知调度中心如何回连本机 Bridge,支持三种写法:
70
+
71
+ | 写法 | 示例 | 解析结果 | 适用场景 |
72
+ | --- | --- | --- | --- |
73
+ | 完整 URL(含协议) | `https://bridge.example.com` | 原样使用 | Bridge 在反代后面或启用 TLS |
74
+ | `host:port` | `127.0.0.1:18081` | 自动补 `http://` 前缀 | http 直连 + 自定义端口 |
75
+ | 纯 `host` | `10.0.0.8` | 自动补 `http://` 前缀和 `AWS_RUNTIME_BRIDGE_PORT`(默认 18081) | http 直连 + 默认端口 |
76
+
77
+ > **TLS / 反代场景**:当 Bridge 部署在 Nginx/Caddy/Cloudflare 后面走 https 时,必须用完整 URL 形式(如 `https://bridge.example.com`),此时环境变量 `AWS_RUNTIME_BRIDGE_PORT` 不再生效。
78
+
79
+ > **向后兼容**:旧字段 `registerIp`(仅接受纯 IP)仍可读取,但已废弃,推荐迁移到 `registerAddr`。配置引导会在重新配置时自动将 `registerIp` 迁移为 `registerAddr` 并剥离老字段。
80
+
81
+ 如需在交互式终端中也强制跳过引导,可设置 `AWS_BRIDGE_SKIP_SETUP=true`;此时仍会生成随机 `connectionKey`。
82
+
83
+ ```bash
84
+ AWS_RUNTIME_BRIDGE_PORT=18081 \
85
+ AWS_RUNTIME_HOME_DIR=/opt/agentswork/runtime-home \
86
+ aws-bridge
87
+ ```
88
+
89
+ 当 `~/.aws-bridge/config.json` 只配置了一个 `autoRegisterTargets[].serverUrl` 时,bridge 会自动将该地址作为 `/runtime/ping` 回连调度中心的地址,无需重复配置 `AWS_RUNTIME_SCHEDULER_BASE_URL`。如需显式覆盖,或同一个 bridge 配置了多个自动注册目标,请设置 `AWS_RUNTIME_SCHEDULER_BASE_URL` 指定当前实例测试连接时应回连的调度中心。
90
+
91
+ If an existing runtime binding still stores an old scheduler URL such as `http://127.0.0.1:8080`, re-run auto-register, refresh the runtime token, or re-pair after changing `serverUrl` / `AWS_RUNTIME_SCHEDULER_BASE_URL`; bridge will not reuse a token issued for the old scheduler URL against the new scheduler URL.
92
+
93
+ `aws-runtime-bridge` 命令仍作为兼容别名保留。安装 `aws-runtime-bridge` 后,包内会随附
94
+ `aws-client-agent-mcp` 的编译产物;bridge 启动时只负责准备该 MCP 产物,不再在 Agent 启动时默认动态注入 `aws-mcp`。
95
+
96
+ 请在面板中为 ACode 运行时安装/配置 MCP,走统一的持久化 MCP 配置链路。
97
+
98
+ 如需使用自定义 MCP 可执行文件,可设置:
99
+
100
+ ```bash
101
+ AWS_CLIENT_AGENT_MCP_COMMAND=/absolute/path/to/aws-client-agent-mcp \
102
+ AWS_CLIENT_AGENT_MCP_ARGS='[]' \
103
+ aws-bridge
104
+ ```
105
+
106
+ ## 开发环境与生产环境
107
+
108
+ Bridge 区分两类运行形态,二者可在同一台机器上同时运行、互不干扰(适用于"用本项目开发本项目"的场景):
109
+
110
+ | | 生产环境 | 开发环境 |
111
+ | --- | --- | --- |
112
+ | 启动方式 | npm 全局安装后 `awsb` / `node dist/index.js` / 系统服务 | 仓库内 `npm run dev` |
113
+ | 判定依据 | 无环境标记(默认即生产) | `scripts/dev-runner.mjs` 注入 `AWS_RUNTIME_ENV=development` |
114
+ | 运行主目录 | `~/.aws-bridge/` | `<仓库根>/.dev-home/.aws-bridge/` |
115
+ | 首选端口 | `18081` | `28081` |
116
+ | MCP 服务名 | `aws-mcp` | `aws-mcp-dev` |
117
+
118
+ 行为要点:
119
+
120
+ - **数据隔离**:开发态的全部持久化数据(config.json、自动注册目标、面板凭据、IP 访问控制、日志、实例状态、mcp/acode 部署目录等)都落在仓库根 `.dev-home/` 下(已加入 `.gitignore`),不碰已安装实例的 `~/.aws-bridge/`;删除 `.dev-home/` 即可完全重置开发环境。
121
+ - **Agent CLI 配置保持共享**:`~/.claude`、`~/.codex`、`~/.opencode` 等 Agent CLI 配置在两种环境下都使用真实用户主目录——开发态 Bridge 拉起的也是真实 Agent 进程。MCP 服务名按环境区分(`aws-mcp` / `aws-mcp-dev`),两个实例写入 Agent 配置的条目并存,互不顶掉线。
122
+ - **端口错开**:两环境首选端口不同(冲突时仍会自动顺延),保证同时监听、地址可预期。
123
+ - **显式覆盖优先**:设置 `AWS_TEST_HOME` 或 `AWS_RUNTIME_HOME_DIR` 时,无论何种环境都使用该目录,测试与系统服务部署行为不受影响。
124
+ - **注意**:在仓库内直接执行 `npm start` / `node dist/index.js` 视为生产环境(与已安装实例共用 `~/.aws-bridge/`),需要隔离时请使用 `npm run dev`。
125
+
126
+ ## systemd 服务管理
127
+
128
+ Linux systemd 环境中可使用 CLI 安装或卸载 `awsb.service`。安装命令会写入 systemd unit、执行 `systemctl daemon-reload`、启用开机自启,并在服务尚未运行时立即启动:
129
+
130
+ ```bash
131
+ sudo awsb service install
132
+ ```
133
+
134
+ 卸载命令会在服务运行时先停止服务,禁用开机自启,删除 unit 文件,并重新执行 `systemctl daemon-reload`:
135
+
136
+ ```bash
137
+ sudo awsb service uninstall
138
+ ```
139
+
140
+ `service` 命令还支持 `start` / `stop` / `restart` 子命令,分别对应 `systemctl start/stop/restart awsb.service`。生成的 unit 会设置 `AWS_BRIDGE_SKIP_SETUP=true`,避免后台服务启动时阻塞在交互式配置引导。
141
+
142
+ ## macOS launchd 服务管理
143
+
144
+ macOS 环境中可使用同一套 `awsb service` CLI 安装或卸载用户级 LaunchAgent(无需 `sudo`)。安装命令会生成 plist 文件写入 `~/Library/LaunchAgents/com.agentsworkstudio.awsb.plist`,并通过 `launchctl bootstrap` 加载启动:
145
+
146
+ ```bash
147
+ awsb service install
148
+ ```
149
+
150
+ 卸载命令会执行 `launchctl bootout` 停止并卸载服务,然后删除 plist 文件:
151
+
152
+ ```bash
153
+ awsb service uninstall
154
+ ```
155
+
156
+ 其他子命令与 launchctl 的对应关系:
157
+
158
+ | 子命令 | 行为 |
159
+ | --- | --- |
160
+ | `start` | 先尝试 `launchctl kickstart`(已加载未运行时启动),失败再 `bootstrap` 重新加载 |
161
+ | `stop` | `launchctl bootout` 卸载并停止(保留 plist,下次 `start` 重新加载) |
162
+ | `restart` | `launchctl bootout`(忽略错误)→ `launchctl bootstrap` 重新加载 |
163
+
164
+ 生成的 plist 配置要点:
165
+
166
+ - `RunAtLoad=true`:加载时立即启动;
167
+ - `KeepAlive=true`:进程退出后自动拉起;
168
+ - `AWS_BRIDGE_SKIP_SETUP=true`:避免后台服务阻塞在交互式配置引导;
169
+ - `AWS_RUNTIME_HOME_DIR`:注入当前用户主目录,确保服务读到 `~/.aws-bridge/config.json`;
170
+ - `StandardOutPath` / `StandardErrorPath`:日志输出到 `~/.aws-bridge/log/awsb.out.log` 与 `awsb.err.log`,可用 `awsb log` 读取。
171
+
172
+ > 注意:因 `KeepAlive=true`,`stop` 通过 `bootout` 卸载服务才能真正停止;仅发信号会被 launchd 立即拉起。`stop` 后 plist 仍保留,`start` 会重新 `bootstrap` 加载。
173
+
174
+ ## Windows 服务管理
175
+
176
+ Windows 环境中可使用同一套 `awsb service` CLI 通过 [node-windows](https://github.com/coreybutler/node-windows)(随包作为可选依赖安装)注册系统服务。安装命令会用 node-windows 注册服务(SCM 服务名 `awsb.exe`),并调用 `sc.exe start` 启动:
177
+
178
+ ```bash
179
+ awsb service install
180
+ ```
181
+
182
+ 卸载命令会执行 `sc.exe stop` + `sc.exe delete`:
183
+
184
+ ```bash
185
+ awsb service uninstall
186
+ ```
187
+
188
+ 其他子命令均通过 `sc.exe` 操作:`start` / `stop` / `restart`(`stop` + `start`)。服务日志重定向到 `~/.aws-bridge/log/awsb.out.log`,可用 `awsb log` 读取。
189
+
190
+ > Windows 服务默认以 `LocalSystem` 身份运行,其主目录是 `C:\Windows\System32\config\systemprofile`,找不到当前用户的 `~/.aws-bridge/config.json`。安装时会自动注入 `AWS_RUNTIME_HOME_DIR` 环境变量指向当前用户主目录,bridge 才能读到正确配置。
191
+
192
+ ## 查看服务日志
193
+
194
+ `awsb log` 命令按平台读取服务日志,支持 `--follow` / `-f` 实时跟踪:
195
+
196
+ - Linux:`journalctl -u awsb.service`;
197
+ - macOS:`tail -n 200 ~/.aws-bridge/log/awsb.out.log`(`--follow` 时 `tail -f`);
198
+ - Windows:`Get-Content -Tail 200 ~/.aws-bridge/log/awsb.out.log`(`--follow` 时附加 `-Wait`)。
199
+
200
+ 服务未安装或日志文件未生成时会返回明确错误提示。
201
+
202
+ ## 多用户隔离
203
+
204
+ Bridge 以 `(tenantId, userId)` 为命名空间隔离所有「用户配置」,与 Java 侧
205
+ `t_agent.owner_user_id` / `tenant_id` 及浏览器 `scopeKey`(`t:{tenant}:u:{user}`)对齐:
206
+
207
+ ```
208
+ {root}/.aws-bridge/
209
+ users/{tenantId}/{userId}/
210
+ ai/acode.json 每用户 AI 配置(provider/model/apiKey)
211
+ skills/deployed/{name}/ + manifest.json 每用户技能库
212
+ skills/{name}/ 每用户全局技能
213
+ mcp/deployed/{name}.json + manifest.json 每用户 MCP 库
214
+ mcp/packages/{name}/ 每用户 MCP 包
215
+ plugins/deployed/{name}/ + manifest.json 每用户插件库
216
+ capability/{skills,mcp,plugins}/config.json 每用户默认开关
217
+ capability/{skills,mcp,plugins}/agents/{agentId}.json per-agent 覆盖 + 继承
218
+ instance-runtime/{agentId}/
219
+ owner.json 实例归属(多用户解析依据)
220
+ skills/ + plugins/ 每实例链接农场
221
+ config.json + mcp-extra.json 每实例装配结果
222
+ config.json / binding.json / … 机器级配置(面板凭据、配对、访问控制)
223
+ ```
224
+
225
+ 身份契约:
226
+
227
+ - Java `RuntimeBridgeService` 在每次 bridge 调用上注入 `X-Tenant-Id` / `X-User-Id`;
228
+ `/runtime/start` 与 `/runtime/init-instance` 的 body 另带 `tenantId` + `ownerUserId`。
229
+ - Bridge 侧 `requireUserScope` 强制用户配置类路由携带身份,`requireAgentOwnership`
230
+ 校验实例归属(`owner.json`),不匹配返回 `403 agent-ownership-mismatch`。
231
+ - 实例归属在 `/runtime/start`、`/runtime/init-instance` 时登记;存量实例无 `owner.json`
232
+ 时按只读遗留层兜底(`AWS_BRIDGE_DISABLE_LEGACY_FALLBACK=1` 可关闭)。
233
+
234
+ 迁移:执行
235
+ `node dist/scripts/migrate-user-scopes.js --tenant <tenantId> --user <userId> [--dry-run] [--overwrite]`
236
+ 把原有 bridge 级共享配置一次性复制进指定用户命名空间(幂等、不删除遗留数据)。
237
+
238
+ > **版本要求**:多用户隔离需要 bridge 与 aws-mcp-server 同版本部署。旧版 Java 不带身份头时,
239
+ > 用户配置类写操作会返回 `400 user-scope-required`;迁移期可临时设
240
+ > `AWS_BRIDGE_LEGACY_SCOPE=1` 回退。
241
+
242
+ ## 关键环境变量
243
+
244
+ | 变量名 | 说明 | 默认值 |
245
+ | --- | --- | --- |
246
+ | `AWS_RUNTIME_BRIDGE_PORT` | Bridge HTTP 端口 | `18081`(开发态 `28081`) |
247
+ | `AWS_RUNTIME_ENV` | 运行环境标记;仅 `npm run dev` 由 `scripts/dev-runner.mjs` 自动注入 `development`,一般无需手动设置。决定运行主目录、默认端口与 MCP 服务名,详见上文「开发环境与生产环境」 | 未设置(生产) |
248
+ | `AWS_RUNTIME_SCHEDULER_BASE_URL` | aws-mcp-server 地址;显式配置优先级最高,未配置且只有一个 `autoRegisterTargets[].serverUrl` 时自动使用该地址 | 单目标自动注册地址;否则 `http://localhost:8080` |
249
+ | `AWS_REGISTER_ADDR` | Bridge 对外注册地址,覆盖配置文件中的 `registerAddr`;支持 `host:port` / 纯 `host` / 完整 URL(`http(s)://...`) | 未设置时读取配置文件 |
250
+ | `AWS_REGISTER_IP` | 已废弃,仅做向后兼容;等同 `registerAddr` 但只接受纯 IP,端口由 `AWS_RUNTIME_BRIDGE_PORT` 决定 | 未设置时读取配置文件 |
251
+ | `AWS_RUNTIME_HOME_DIR` | Bridge 管理配置与状态的主目录;显式设置时优先于开发/生产环境的默认主目录 | 当前用户 Home(开发态为 `<仓库根>/.dev-home`) |
252
+ | `AWS_RUNTIME_CORS_ORIGINS` | 允许访问 bridge 的来源,逗号分隔 | 本地开发地址 |
253
+ | `AWS_BRIDGE_LEGACY_SCOPE` | 迁移期逃生门:设为 `1` 时,缺少 `(tenantId, userId)` 身份的请求回退到 `users/_legacy/_legacy` 命名空间;默认严格模式直接拒绝用户配置类写操作 | 未设置(严格) |
254
+ | `AWS_BRIDGE_DISABLE_LEGACY_FALLBACK` | 设为 `1` 关闭对遗留 `instance-template/` 层的只读回退(迁移完成后可启用) | 未设置(允许回退) |
255
+
256
+ 生产环境中,bridge 最终解析出的调度中心地址必须是机器实例可访问的 `aws-mcp-server` 地址,不能使用不可达的容器内 `localhost`。如果配置了多个 `autoRegisterTargets`,bridge 不会静默选择第一个目标,需通过 `AWS_RUNTIME_SCHEDULER_BASE_URL` 或后续多调度中心身份路由明确目标。
@@ -48,6 +48,12 @@ type ACodeRuntimeInstance = {
48
48
 
49
49
  importTranscript?(transcript: unknown[]): Promise<number>;
50
50
 
51
+
52
+
53
+
54
+
55
+ appendResumeContextNotice?(): void;
56
+
51
57
  submitQuestionAnswer?(toolCallId: string, answers: Record<string, string>): boolean;
52
58
 
53
59
  cancelQuestionAnswer?(toolCallId: string, reason?: string): boolean;
@@ -328,9 +334,15 @@ export declare class AcodeSdkAdapter extends EventEmitter implements BaseProvide
328
334
 
329
335
 
330
336
 
337
+
338
+
331
339
  getTotalUsage(sessionId: string): {
332
340
  inputTokens?: number;
333
341
  outputTokens?: number;
342
+ contextLimit?: number;
343
+ maxOutput?: number;
344
+ inputLimit?: number;
345
+ compactionThreshold?: number;
334
346
  totalInputTokens?: number;
335
347
  totalOutputTokens?: number;
336
348
  cacheHitTokens?: number;
@@ -367,6 +379,7 @@ export declare class AcodeSdkAdapter extends EventEmitter implements BaseProvide
367
379
 
368
380
 
369
381
 
382
+
370
383
  private resolveAgentSkillsDir;
371
384
  applyAgentFeatures(agentId: string): Promise<void>;
372
385