zcode-acp-server 0.14.3 → 0.17.1

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 (93) hide show
  1. package/README.md +109 -9
  2. package/README.zh-CN.md +91 -9
  3. package/dist/backend/index.d.ts +1 -0
  4. package/dist/backend/index.d.ts.map +1 -1
  5. package/dist/backend/index.js +1 -0
  6. package/dist/backend/index.js.map +1 -1
  7. package/dist/backend/sandbox.d.ts +92 -23
  8. package/dist/backend/sandbox.d.ts.map +1 -1
  9. package/dist/backend/sandbox.js +265 -70
  10. package/dist/backend/sandbox.js.map +1 -1
  11. package/dist/cli.d.ts +2 -0
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +10 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/config/auto-compact.d.ts.map +1 -1
  16. package/dist/config/auto-compact.js +6 -4
  17. package/dist/config/auto-compact.js.map +1 -1
  18. package/dist/config/mcp-discovery.d.ts.map +1 -1
  19. package/dist/config/mcp-discovery.js +7 -5
  20. package/dist/config/mcp-discovery.js.map +1 -1
  21. package/dist/handlers/background-tasks.d.ts.map +1 -1
  22. package/dist/handlers/background-tasks.js +2 -2
  23. package/dist/handlers/background-tasks.js.map +1 -1
  24. package/dist/handlers/dispatch.d.ts.map +1 -1
  25. package/dist/handlers/dispatch.js +4 -4
  26. package/dist/handlers/dispatch.js.map +1 -1
  27. package/dist/handlers/replay.d.ts.map +1 -1
  28. package/dist/handlers/replay.js +11 -5
  29. package/dist/handlers/replay.js.map +1 -1
  30. package/dist/handlers/sandbox-allow.d.ts +71 -0
  31. package/dist/handlers/sandbox-allow.d.ts.map +1 -0
  32. package/dist/handlers/sandbox-allow.js +299 -0
  33. package/dist/handlers/sandbox-allow.js.map +1 -0
  34. package/dist/handlers/server-requests.d.ts.map +1 -1
  35. package/dist/handlers/server-requests.js +7 -5
  36. package/dist/handlers/server-requests.js.map +1 -1
  37. package/dist/handlers/session.d.ts +14 -1
  38. package/dist/handlers/session.d.ts.map +1 -1
  39. package/dist/handlers/session.js +193 -20
  40. package/dist/handlers/session.js.map +1 -1
  41. package/dist/handlers/slash.d.ts.map +1 -1
  42. package/dist/handlers/slash.js +15 -13
  43. package/dist/handlers/slash.js.map +1 -1
  44. package/dist/i18n.d.ts +111 -0
  45. package/dist/i18n.d.ts.map +1 -0
  46. package/dist/i18n.js +222 -0
  47. package/dist/i18n.js.map +1 -0
  48. package/dist/index.d.ts +18 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +114 -15
  51. package/dist/index.js.map +1 -1
  52. package/dist/interaction/adapter.d.ts.map +1 -1
  53. package/dist/interaction/adapter.js +10 -7
  54. package/dist/interaction/adapter.js.map +1 -1
  55. package/dist/remote/config.d.ts +7 -0
  56. package/dist/remote/config.d.ts.map +1 -1
  57. package/dist/remote/config.js +2 -0
  58. package/dist/remote/config.js.map +1 -1
  59. package/dist/remote/endpoint.d.ts.map +1 -1
  60. package/dist/remote/endpoint.js +66 -11
  61. package/dist/remote/endpoint.js.map +1 -1
  62. package/dist/remote/hub-server.d.ts +15 -0
  63. package/dist/remote/hub-server.d.ts.map +1 -1
  64. package/dist/remote/hub-server.js +205 -1
  65. package/dist/remote/hub-server.js.map +1 -1
  66. package/dist/repl/App.d.ts.map +1 -1
  67. package/dist/repl/App.js +3 -2
  68. package/dist/repl/App.js.map +1 -1
  69. package/dist/repl/model.d.ts +2 -0
  70. package/dist/repl/model.d.ts.map +1 -1
  71. package/dist/repl/model.js.map +1 -1
  72. package/dist/repl/run.d.ts.map +1 -1
  73. package/dist/repl/run.js +5 -0
  74. package/dist/repl/run.js.map +1 -1
  75. package/dist/server.d.ts +78 -1
  76. package/dist/server.d.ts.map +1 -1
  77. package/dist/server.js +114 -3
  78. package/dist/server.js.map +1 -1
  79. package/dist/tasks-index.d.ts +27 -0
  80. package/dist/tasks-index.d.ts.map +1 -1
  81. package/dist/tasks-index.js +72 -3
  82. package/dist/tasks-index.js.map +1 -1
  83. package/docs/REMOTE-CLIENTS.md +43 -0
  84. package/docs/TROUBLESHOOTING.md +9 -3
  85. package/package.json +13 -12
  86. package/dist/remote/session-liveness.d.ts +0 -19
  87. package/dist/remote/session-liveness.d.ts.map +0 -1
  88. package/dist/remote/session-liveness.js +0 -70
  89. package/dist/remote/session-liveness.js.map +0 -1
  90. package/dist/repl/mouse.d.ts +0 -49
  91. package/dist/repl/mouse.d.ts.map +0 -1
  92. package/dist/repl/mouse.js +0 -165
  93. package/dist/repl/mouse.js.map +0 -1
package/dist/i18n.js ADDED
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Bridge-emitted user-facing strings (editor popups, status/hint lines).
3
+ *
4
+ * Language selection, first match wins:
5
+ * 1. ZCODE_ACP_LANG — explicit override ("zh", "en"; prefixes like "zh_CN"
6
+ * accepted, case-insensitive)
7
+ * 2. The ZCode desktop app's language choice — `localePreference` (explicit
8
+ * user pick), falling back to `locale` (effective), in
9
+ * ~/.zcode/v2/setting.json; absent when the app was never installed
10
+ * 3. LC_ALL / LC_MESSAGES / LANG — POSIX locale sniff ("zh*" → zh)
11
+ * 4. English (the project ships bilingual READMEs; international default)
12
+ *
13
+ * `log()`/`warn()` diagnostics stay English — they are developer-facing.
14
+ * Resolved per call (not at import) so tests can stub the env per case; the
15
+ * app-settings read is memoized per process (it would otherwise hit the disk
16
+ * on every emitted message).
17
+ */
18
+ import { readFileSync } from "node:fs";
19
+ import os from "node:os";
20
+ import path from "node:path";
21
+ export function resolveLanguage(env = process.env) {
22
+ // Non-string values (a malformed setting.json carrying `locale: 5` must
23
+ // never crash the bridge — pick is reached from messages() on hot paths)
24
+ // read as "no preference".
25
+ const pick = (value) => {
26
+ if (typeof value !== "string")
27
+ return undefined;
28
+ const v = value.toLowerCase();
29
+ if (v.startsWith("zh"))
30
+ return "zh";
31
+ if (v.startsWith("en"))
32
+ return "en";
33
+ return undefined;
34
+ };
35
+ return (pick(env.ZCODE_ACP_LANG) ??
36
+ pick(appLocale()) ??
37
+ pick(env.LC_ALL) ??
38
+ pick(env.LC_MESSAGES) ??
39
+ pick(env.LANG) ??
40
+ "en");
41
+ }
42
+ /** The ZCode desktop app's language choice, if the settings file exists.
43
+ * Memoized with an explicit flag: a settings value of literal null must
44
+ * cache as "no app locale", not re-read the file on every call. */
45
+ let appLocaleCache;
46
+ let appLocaleRead = false;
47
+ function appLocale() {
48
+ if (!appLocaleRead) {
49
+ appLocaleRead = true;
50
+ let locale;
51
+ try {
52
+ const raw = readFileSync(path.join(os.homedir(), ".zcode", "v2", "setting.json"), "utf8");
53
+ // Editors saving UTF-8 with a BOM leave \uFEFF in the string; JSON.parse
54
+ // rejects it, which would silently fall the bridge back to English.
55
+ const bomless = raw.charCodeAt(0) === 0xfeff ? raw.slice(1) : raw;
56
+ const parsed = JSON.parse(bomless);
57
+ const pref = typeof parsed.localePreference === "string" ? parsed.localePreference : undefined;
58
+ const eff = typeof parsed.locale === "string" ? parsed.locale : undefined;
59
+ locale = pref || eff; // an empty preference string reads as unset
60
+ }
61
+ catch {
62
+ locale = undefined; // app never installed / unreadable / malformed
63
+ }
64
+ appLocaleCache = locale;
65
+ }
66
+ return appLocaleCache;
67
+ }
68
+ const zh = {
69
+ sandboxOptionAllowAlways: "始终允许",
70
+ sandboxOptionAllowOnce: "仅此一次",
71
+ sandboxOptionRejectOnce: "拒绝一次",
72
+ sandboxOptionRejectAlways: "始终拒绝",
73
+ sandboxPopupTitle: (p) => `沙箱写入放行:${p}`,
74
+ sandboxPopupDetails: (p) => `沙箱拒绝了工作区外的写入:${p}\n“始终允许”写入配置的 allow 列表,“始终拒绝”写入 deny 列表(.zcode/acp/sandbox.json,可编辑撤销)。`,
75
+ sandboxProtectedHint: "[该路径受沙箱保护(.zcode/acp 配置区或 strictGit 的 .git),不能通过弹窗放行。strictGit 可在 .zcode/acp/sandbox.json 中关闭。]",
76
+ sandboxOverBroadHint: (p) => `[${p} 范围过宽($HOME 或其上级),沙箱不会弹窗放行;确需放行请手动编辑 .zcode/acp/sandbox.json 的 allow 列表。]`,
77
+ sandboxDenyListedHint: (p) => `[${p} 已在 .zcode/acp/sandbox.json 的 deny 列表中(你之前选择过始终拒绝)。要撤销,编辑该文件的 deny 数组即可。]`,
78
+ sandboxRejectAlwaysPersisted: (p) => `[已记入始终拒绝 ${p}(.zcode/acp/sandbox.json 的 deny 列表,可编辑撤销)。]`,
79
+ sandboxRejectAlwaysUnpersisted: (p) => `[已拒绝 ${p}(配置不可写,未持久化,同类写入下次仍会询问。)]`,
80
+ sandboxRejectOnceHint: (p) => `[已拒绝沙箱放行 ${p},未保存任何决定,同类写入会再次询问;如需放行,可编辑 .zcode/acp/sandbox.json 的 allow 列表(由桥写入,Agent 不可改)。]`,
81
+ sandboxContinuationPrompt: (p) => `[沙箱已放行 ${p},请继续刚才的任务。]`,
82
+ sandboxRestartHint: (p) => `[沙箱已放行 ${p},正在重启后端以应用新权限,随后自动继续…]`,
83
+ sandboxResumedStatus: "[沙箱后端已重启,会话已恢复,自动继续刚才的任务…]",
84
+ sandboxGenericDenialHint: "[沙箱拒绝了白名单外的写入。可放行目录:在弹窗中选择允许,或编辑 .zcode/acp/sandbox.json 后重启会话。]",
85
+ fsPermDeniedHint: (p) => `[命令被文件系统权限拒绝(Permission denied):${p}。这不是沙箱拦截,弹窗无法放行——请检查该目录的权限(chmod/chown)或 macOS 隐私设置,或让 Agent 改用有权限的路径。(同一路径仅提示一次。)]`,
86
+ networkRetry: (attempt, total) => `[网络异常,正在重试 (${attempt}/${total})…]`,
87
+ requestFailed: (err) => `[请求失败:${err}。会话仍可用,请重新发送消息重试。]`,
88
+ promptQueuedBehindTurn: "[上一个回复仍在生成,等待结束后发送…]",
89
+ thinkingPlaceholder: "正在思考…",
90
+ messageSwallowedByTurn: "[消息被并入仍在生成的回合,将被丢弃,请重新发送]",
91
+ interactionInterrupted: "交互中断:连接关闭或超时,请重新发起对话。",
92
+ planApproveOption: "同意——退出计划模式",
93
+ planRejectOption: "拒绝——继续规划",
94
+ planPopupTitle: "退出计划模式",
95
+ askSkipOption: "跳过",
96
+ askSkipQuestionTitle: "跳过此问题",
97
+ askIncludeOption: (lb) => `包含:${lb}`,
98
+ askSkipLabelOption: (lb) => `跳过:${lb}`,
99
+ askQuestionsTitle: "问题",
100
+ slashCompacted: "✓ 已压缩对话上下文",
101
+ slashCompactTimeout: "⚠ 压缩超时(300s),后端可能仍在处理——稍等片刻再发送",
102
+ slashGoalSet: (v) => `✓ 目标已设置:${v}`,
103
+ slashForked: (id) => `✓ 已分叉新会话:${id}`,
104
+ slashModelSet: (v) => `✓ 模型 = ${v}`,
105
+ slashTuiOnly: (cmd) => `⚠ /${cmd} 在 ACP 模式下不可用(需要 ZCode TUI)`,
106
+ replayCompactSummary: "压缩摘要",
107
+ replayContextHandoff: "上下文交接",
108
+ replayToolFallback: (tool) => `${tool} 工具`,
109
+ changedFilesTitle: (count, preview) => `变更文件 (${count}): ${preview}`,
110
+ affectedFilesList: (files) => `受影响文件:\n${files.join("\n")}`,
111
+ mcpNone: "📡 尚未配置 MCP 服务器。\n请使用 ZCode 桌面应用添加 MCP 服务器。",
112
+ mcpHeader: (n) => `📡 MCP 服务器 (${n})`,
113
+ mcpFromConfig: "来自 config.json:",
114
+ mcpFromPlugins: "来自插件:",
115
+ mcpFooter: "MCP 工具会在需要时由模型自动调用。",
116
+ slashCommandDescriptions: {
117
+ compact: "压缩对话上下文(释放 token)",
118
+ goal: "设置或查看会话目标",
119
+ fork: "在最新检查点分叉会话",
120
+ mode: "切换权限模式(plan/build/edit/yolo)",
121
+ model: "切换会话模型",
122
+ thought: "设置思考深度",
123
+ quota: "查看剩余用量配额(5 小时 / 周 / MCP)",
124
+ mcp: "列出可用的 MCP 服务器",
125
+ init: "创建或更新工作区 AGENTS.md 指令",
126
+ },
127
+ autoCompactStart: (used, threshold) => `🔄 自动压缩: 上下文用量 ${used} ≥ 阈值 ${threshold},正在压缩…`,
128
+ autoCompactTimeout: "⚠ 自动压缩超时(300s)——后端可能仍在处理",
129
+ autoCompactDone: "✓ 自动压缩: 上下文已压缩",
130
+ autoCompactFailed: (err) => `⚠ 自动压缩失败: ${err}`,
131
+ popupTitleExitPlan: "可以开始编码了吗?",
132
+ popupTitleToolPermission: (tool) => `工具权限 (${tool})`,
133
+ popupTitleInteraction: "交互",
134
+ replayToolCallFallback: "工具调用",
135
+ backgroundTaskTitle: (d) => (d ? `[后台] ${d}` : "[后台] 任务"),
136
+ slashErrGoalArg: "/goal 需要目标描述",
137
+ slashErrModelArg: "/model 需要模型 id",
138
+ slashErrSwitchFailed: (model) => `模型切换失败: ${model}`,
139
+ slashErrArg: (cmd) => `/${cmd} 需要参数`,
140
+ slashErrUnknown: (cmd) => `未知命令 /${cmd}`,
141
+ slashErrFailed: (cmd, msg) => `${cmd} 失败: ${msg}`,
142
+ };
143
+ const en = {
144
+ sandboxOptionAllowAlways: "Always allow",
145
+ sandboxOptionAllowOnce: "Allow once",
146
+ sandboxOptionRejectOnce: "Reject once",
147
+ sandboxOptionRejectAlways: "Always reject",
148
+ sandboxPopupTitle: (p) => `Sandbox write request: ${p}`,
149
+ sandboxPopupDetails: (p) => `The sandbox denied a write outside the workspace: ${p}\n"Always allow" persists to the config's allow list, "Always reject" to its deny list (.zcode/acp/sandbox.json, editable to undo).`,
150
+ sandboxProtectedHint: "[This path is sandbox-protected (the .zcode/acp config area, or .git under strictGit) and cannot be granted via popup. strictGit can be disabled in .zcode/acp/sandbox.json.]",
151
+ sandboxOverBroadHint: (p) => `[${p} is too broad ($HOME or an ancestor) for a popup grant; to allow it, edit the allow list in .zcode/acp/sandbox.json by hand.]`,
152
+ sandboxDenyListedHint: (p) => `[${p} is in the deny list of .zcode/acp/sandbox.json (you chose "Always reject" earlier). Edit that file's deny array to undo.]`,
153
+ sandboxRejectAlwaysPersisted: (p) => `[Recorded as always-rejected: ${p} (deny list in .zcode/acp/sandbox.json, editable to undo).]`,
154
+ sandboxRejectAlwaysUnpersisted: (p) => `[Rejected ${p} (config not writable, nothing persisted; the same write will ask again.)]`,
155
+ sandboxRejectOnceHint: (p) => `[Sandbox grant rejected for ${p}; no decision was saved and the same write will ask again. To grant, edit the allow list in .zcode/acp/sandbox.json (bridge-written, not agent-writable).]`,
156
+ sandboxContinuationPrompt: (p) => `[Sandbox granted ${p}; please continue the previous task.]`,
157
+ sandboxRestartHint: (p) => `[Sandbox granted ${p}; restarting the backend to apply the new permission, then continuing automatically…]`,
158
+ sandboxResumedStatus: "[Sandbox backend restarted, session restored; continuing the task…]",
159
+ sandboxGenericDenialHint: "[The sandbox denied a write outside the whitelist. To grant a directory: choose Allow in the popup, or edit .zcode/acp/sandbox.json and restart the session.]",
160
+ fsPermDeniedHint: (p) => `[A command was denied by filesystem permissions (Permission denied): ${p}. This is not a sandbox block and cannot be granted via popup — check the directory's permissions (chmod/chown) or macOS privacy settings, or steer the agent to a path it may access. (One-time notice per path.)]`,
161
+ networkRetry: (attempt, total) => `[Network error, retrying (${attempt}/${total})…]`,
162
+ requestFailed: (err) => `[Request failed: ${err}. The session is still usable — please resend.]`,
163
+ promptQueuedBehindTurn: "[The previous reply is still generating; sending once it finishes…]",
164
+ thinkingPlaceholder: "Thinking…",
165
+ messageSwallowedByTurn: "[The message was merged into a still-generating turn and will be dropped; please resend it.]",
166
+ interactionInterrupted: "Interaction interrupted: the connection closed or timed out; please start the request again.",
167
+ planApproveOption: "Approve — exit plan mode",
168
+ planRejectOption: "Reject — keep planning",
169
+ planPopupTitle: "Exit plan mode",
170
+ askSkipOption: "Skip",
171
+ askSkipQuestionTitle: "Skip this question",
172
+ askIncludeOption: (lb) => `Include: ${lb}`,
173
+ askSkipLabelOption: (lb) => `Skip: ${lb}`,
174
+ askQuestionsTitle: "questions",
175
+ slashCompacted: "✓ compacted conversation context",
176
+ slashCompactTimeout: "⚠ compact timed out (300s), backend may still be processing — wait a bit before sending",
177
+ slashGoalSet: (v) => `✓ goal set: ${v}`,
178
+ slashForked: (id) => `✓ forked new session: ${id}`,
179
+ slashModelSet: (v) => `✓ model = ${v}`,
180
+ slashTuiOnly: (cmd) => `⚠ /${cmd} is not available in ACP mode (requires ZCode TUI)`,
181
+ replayCompactSummary: "Compact summary",
182
+ replayContextHandoff: "Context handoff",
183
+ replayToolFallback: (tool) => `${tool} tool`,
184
+ changedFilesTitle: (count, preview) => `changed files (${count}): ${preview}`,
185
+ affectedFilesList: (files) => `affected files:\n${files.join("\n")}`,
186
+ mcpNone: "📡 No MCP servers configured.\nUse the ZCode desktop app to add MCP servers.",
187
+ mcpHeader: (n) => `📡 MCP Servers (${n})`,
188
+ mcpFromConfig: "From config.json:",
189
+ mcpFromPlugins: "From plugins:",
190
+ mcpFooter: "MCP tools are auto-invoked by the model when needed.",
191
+ slashCommandDescriptions: {
192
+ compact: "Compress conversation context (free up tokens)",
193
+ goal: "Set or show the session goal",
194
+ fork: "Fork the session at the latest checkpoint",
195
+ mode: "Switch permission mode (plan/build/edit/yolo)",
196
+ model: "Switch the session model",
197
+ thought: "Set the reasoning effort",
198
+ quota: "Show remaining usage quota (5h / weekly / MCP)",
199
+ mcp: "List available MCP servers",
200
+ init: "Create or update workspace AGENTS.md instructions",
201
+ },
202
+ autoCompactStart: (used, threshold) => `🔄 auto-compact: context usage ${used} ≥ threshold ${threshold}, compressing…`,
203
+ autoCompactTimeout: "⚠ auto-compact timed out (300s) — backend may still be processing",
204
+ autoCompactDone: "✓ auto-compact: context compressed",
205
+ autoCompactFailed: (err) => `⚠ auto-compact failed: ${err}`,
206
+ popupTitleExitPlan: "Ready to code?",
207
+ popupTitleToolPermission: (tool) => `tool permission (${tool})`,
208
+ popupTitleInteraction: "interaction",
209
+ replayToolCallFallback: "tool call",
210
+ backgroundTaskTitle: (d) => (d ? `[background] ${d}` : "[background] task"),
211
+ slashErrGoalArg: "/goal requires a goal description",
212
+ slashErrModelArg: "/model requires a model id",
213
+ slashErrSwitchFailed: (model) => `model switch failed for ${model}`,
214
+ slashErrArg: (cmd) => `/${cmd} requires an argument`,
215
+ slashErrUnknown: (cmd) => `unknown /${cmd}`,
216
+ slashErrFailed: (cmd, msg) => `${cmd} failed: ${msg}`,
217
+ };
218
+ /** Current message table — resolved per call so env changes/tests apply live. */
219
+ export function messages() {
220
+ return resolveLanguage() === "zh" ? zh : en;
221
+ }
222
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,wEAAwE;IACxE,yEAAyE;IACzE,2BAA2B;IAC3B,MAAM,IAAI,GAAG,CAAC,KAAc,EAAoB,EAAE;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACd,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;oEAEoE;AACpE,IAAI,cAAkC,CAAC;AACvC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,SAAS,SAAS;IAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1F,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqD,CAAC;YACvF,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,4CAA4C;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC,CAAC,+CAA+C;QACrE,CAAC;QACD,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AA4FD,MAAM,EAAE,GAAa;IACnB,wBAAwB,EAAE,MAAM;IAChC,sBAAsB,EAAE,MAAM;IAC9B,uBAAuB,EAAE,MAAM;IAC/B,yBAAyB,EAAE,MAAM;IACjC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzB,gBAAgB,CAAC,yEAAyE;IAC5F,oBAAoB,EAClB,iGAAiG;IACnG,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1B,IAAI,CAAC,2EAA2E;IAClF,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAI,CAAC,2EAA2E;IAClF,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,YAAY,CAAC,6CAA6C;IAC5D,8BAA8B,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,QAAQ,CAAC,2BAA2B;IACtC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3B,YAAY,CAAC,kFAAkF;IACjG,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa;IAC1D,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,wBAAwB;IAC9D,oBAAoB,EAAE,4BAA4B;IAClD,wBAAwB,EACtB,kEAAkE;IACpE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtB,mCAAmC,CAAC,qFAAqF;IAC3H,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,OAAO,IAAI,KAAK,KAAK;IACtE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,oBAAoB;IACxD,sBAAsB,EAAE,sBAAsB;IAC9C,mBAAmB,EAAE,OAAO;IAC5B,sBAAsB,EAAE,2BAA2B;IACnD,sBAAsB,EAAE,uBAAuB;IAC/C,iBAAiB,EAAE,YAAY;IAC/B,gBAAgB,EAAE,UAAU;IAC5B,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,OAAO;IAC7B,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;IACpC,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;IACtC,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,YAAY;IAC5B,mBAAmB,EAAE,gCAAgC;IACrD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE;IACnC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE;IACrC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,6BAA6B;IAC7D,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,OAAO;IAC7B,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK;IAC1C,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM,OAAO,EAAE;IACpE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC3D,OAAO,EAAE,6CAA6C;IACtD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG;IACrC,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,OAAO;IACvB,SAAS,EAAE,qBAAqB;IAChC,wBAAwB,EAAE;QACxB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,0BAA0B;QACjC,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,uBAAuB;KAC9B;IACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACpC,kBAAkB,IAAI,SAAS,SAAS,QAAQ;IAClD,kBAAkB,EAAE,0BAA0B;IAC9C,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE;IAC9C,kBAAkB,EAAE,WAAW;IAC/B,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,GAAG;IACpD,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,MAAM;IAC9B,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,eAAe,EAAE,cAAc;IAC/B,gBAAgB,EAAE,gBAAgB;IAClC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO;IACpC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE;IACxC,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE;CAClD,CAAC;AAEF,MAAM,EAAE,GAAa;IACnB,wBAAwB,EAAE,cAAc;IACxC,sBAAsB,EAAE,YAAY;IACpC,uBAAuB,EAAE,aAAa;IACtC,yBAAyB,EAAE,eAAe;IAC1C,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,EAAE;IACvD,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzB,qDAAqD,CAAC,qIAAqI;IAC7L,oBAAoB,EAClB,+KAA+K;IACjL,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1B,IAAI,CAAC,+HAA+H;IACtI,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAI,CAAC,4HAA4H;IACnI,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,iCAAiC,CAAC,6DAA6D;IACjG,8BAA8B,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,aAAa,CAAC,4EAA4E;IAC5F,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3B,+BAA+B,CAAC,4JAA4J;IAC9L,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,uCAAuC;IAC9F,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CACxB,oBAAoB,CAAC,uFAAuF;IAC9G,oBAAoB,EAAE,qEAAqE;IAC3F,wBAAwB,EACtB,+JAA+J;IACjK,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtB,wEAAwE,CAAC,qNAAqN;IAChS,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,6BAA6B,OAAO,IAAI,KAAK,KAAK;IACpF,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,GAAG,iDAAiD;IAChG,sBAAsB,EAAE,qEAAqE;IAC7F,mBAAmB,EAAE,WAAW;IAChC,sBAAsB,EACpB,8FAA8F;IAChG,sBAAsB,EACpB,8FAA8F;IAChG,iBAAiB,EAAE,0BAA0B;IAC7C,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,MAAM;IACrB,oBAAoB,EAAE,oBAAoB;IAC1C,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE;IAC1C,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE;IACzC,iBAAiB,EAAE,WAAW;IAC9B,cAAc,EAAE,kCAAkC;IAClD,mBAAmB,EACjB,yFAAyF;IAC3F,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;IACvC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE;IAClD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;IACtC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,oDAAoD;IACpF,oBAAoB,EAAE,iBAAiB;IACvC,oBAAoB,EAAE,iBAAiB;IACvC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO;IAC5C,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,kBAAkB,KAAK,MAAM,OAAO,EAAE;IAC7E,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACpE,OAAO,EAAE,8EAA8E;IACvF,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG;IACzC,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,eAAe;IAC/B,SAAS,EAAE,sDAAsD;IACjE,wBAAwB,EAAE;QACxB,OAAO,EAAE,gDAAgD;QACzD,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,+CAA+C;QACrD,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,gDAAgD;QACvD,GAAG,EAAE,4BAA4B;QACjC,IAAI,EAAE,mDAAmD;KAC1D;IACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACpC,kCAAkC,IAAI,gBAAgB,SAAS,gBAAgB;IACjF,kBAAkB,EAAE,mEAAmE;IACvF,eAAe,EAAE,oCAAoC;IACrD,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,0BAA0B,GAAG,EAAE;IAC3D,kBAAkB,EAAE,gBAAgB;IACpC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,GAAG;IAC/D,qBAAqB,EAAE,aAAa;IACpC,sBAAsB,EAAE,WAAW;IACnC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3E,eAAe,EAAE,mCAAmC;IACpD,gBAAgB,EAAE,4BAA4B;IAC9C,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,KAAK,EAAE;IACnE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,uBAAuB;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE;IAC3C,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,GAAG,EAAE;CACtD,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,QAAQ;IACtB,OAAO,eAAe,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,4 +11,22 @@
11
11
  * subcommand / the `zcode-acp-server` bin alias (both resolve to `dist/cli.js`).
12
12
  */
13
13
  export declare function main(): Promise<void>;
14
+ /**
15
+ * Pure idle decision for the serve bridge: exit only when nothing is attached
16
+ * (no ACP clients, no in-flight turns) AND that has been true for `idleMs`.
17
+ * Busy ticks refresh `lastBusy` at the call site, so a long turn with all
18
+ * clients gone still exits one idle window after it finishes — never mid-turn.
19
+ */
20
+ export declare function serveIdleDecision(clients: number, pendingTurns: number, lastBusy: number, now: number, idleMs: number): boolean;
21
+ /**
22
+ * Headless bridge for remote session-create (`zcode-acp serve`): the same ACP
23
+ * surface as `main`, minus the stdio editor. Spawned detached by the hub with
24
+ * cwd = the chosen project; its lifecycle is the mirror of ADR-0001 — instead
25
+ * of following the editor's stdio, it follows remote interest: stays alive
26
+ * while any client is attached or any turn runs, exits SERVE_IDLE_MS after
27
+ * the last of those ends. Remote access is not optional here — without the
28
+ * endpoint the process has no reason to exist, so a missing config or failed
29
+ * endpoint exits instead of degrading.
30
+ */
31
+ export declare function runHeadless(): Promise<void>;
14
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AA4DH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAuJ1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAmEH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA2D1C;AA+GD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEjD"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import { loadSkillCommands } from "./config/skill-discovery.js";
24
24
  import { trackConnections } from "./remote/broadcast.js";
25
25
  import { parseRemoteConfig } from "./remote/config.js";
26
26
  import { startRemoteEndpoint } from "./remote/endpoint.js";
27
+ import { messages } from "./i18n.js";
27
28
  import { ZcodeAcpServer } from "./server.js";
28
29
  import { AGENT_INFO, SLASH_COMMANDS, log, warn } from "./utils.js";
29
30
  /**
@@ -35,9 +36,15 @@ import { AGENT_INFO, SLASH_COMMANDS, log, warn } from "./utils.js";
35
36
  function buildAllCommands() {
36
37
  const pluginCommands = loadPluginCommands();
37
38
  const skillCommands = loadSkillCommands();
39
+ // Localize the static commands' descriptions (names/hints stay as-is —
40
+ // they are tokens); plugin/skill descriptions come from their own sources.
41
+ const m = messages();
38
42
  const seen = new Set(SLASH_COMMANDS.map((c) => c.name));
39
43
  const merged = [
40
- ...SLASH_COMMANDS,
44
+ ...SLASH_COMMANDS.map((c) => ({
45
+ ...c,
46
+ description: m.slashCommandDescriptions[c.name] ?? c.description,
47
+ })),
41
48
  ];
42
49
  for (const c of [...pluginCommands, ...skillCommands]) {
43
50
  if (!seen.has(c.name)) {
@@ -55,8 +62,6 @@ export async function main() {
55
62
  const server = new ZcodeAcpServer();
56
63
  // Load all commands once at startup (they don't change mid-session).
57
64
  const allCommands = buildAllCommands();
58
- /** Passthrough params parser for the ZCode-specific extension methods. */
59
- const extParams = z.object({ sessionId: z.string() }).passthrough();
60
65
  log(`starting ${AGENT_INFO.name} ${AGENT_INFO.version}, ACP protocol v${acp.PROTOCOL_VERSION}`);
61
66
  // Remote access handle (null unless ZCODE_ACP_REMOTE is enabled and the
62
67
  // loopback endpoint came up). Declared before shutdown so signal handlers
@@ -91,7 +96,29 @@ export async function main() {
91
96
  void shutdown("backend dead");
92
97
  }, 2000);
93
98
  backendDeathInterval.unref();
94
- const app = acp
99
+ const app = buildAgentApp(server, allCommands);
100
+ // Register broadcast tracking BEFORE connect so the stdio connection is
101
+ // captured, then wire the stdio transport. The same app is later shared
102
+ // with the remote WS endpoint.
103
+ trackConnections(app, server.clients);
104
+ app.connect(stream);
105
+ // Remote access (opt-in via ENV): serve the same app on a loopback WS/HTTP
106
+ // endpoint and register with the machine-level hub. Failures warn and leave
107
+ // the stdio link untouched.
108
+ const remoteConfig = parseRemoteConfig();
109
+ if (remoteConfig) {
110
+ remoteHandle = await startRemoteEndpoint(server, app, remoteConfig);
111
+ }
112
+ }
113
+ /**
114
+ * The full ACP method surface (spec + ZCode extensions), shared verbatim by
115
+ * the stdio server (`main`) and the headless serve bridge (`runHeadless`) —
116
+ * one build, two transports.
117
+ */
118
+ function buildAgentApp(server, allCommands) {
119
+ /** Passthrough params parser for the ZCode-specific extension methods. */
120
+ const extParams = z.object({ sessionId: z.string() }).passthrough();
121
+ return (acp
95
122
  .agent({ name: AGENT_INFO.name })
96
123
  .onRequest("initialize", (ctx) => server.initialize(ctx.params))
97
124
  .onRequest("session/new", async (ctx) => {
@@ -159,19 +186,91 @@ export async function main() {
159
186
  // clients (e.g. Paseo) get -32601 and cannot create agents in a non-default
160
187
  // mode.
161
188
  .onRequest("session/set_mode", extParams, (ctx) => setMode(server, ctx.params, server.clients.broadcast()))
162
- .onNotification("session/cancel", (ctx) => cancel(server, ctx.params));
163
- // Register broadcast tracking BEFORE connect so the stdio connection is
164
- // captured, then wire the stdio transport. The same app is later shared
165
- // with the remote WS endpoint.
166
- trackConnections(app, server.clients);
167
- app.connect(stream);
168
- // Remote access (opt-in via ENV): serve the same app on a loopback WS/HTTP
169
- // endpoint and register with the machine-level hub. Failures warn and leave
170
- // the stdio link untouched.
189
+ .onNotification("session/cancel", (ctx) => cancel(server, ctx.params)));
190
+ }
191
+ // ---------- headless serve bridge (remote session-create, ADR-0014) ----------
192
+ /** How long a serve bridge stays up with no clients attached and no turn running. */
193
+ const SERVE_IDLE_MS = 10 * 60_000;
194
+ const SERVE_IDLE_CHECK_MS = 30_000;
195
+ /**
196
+ * Pure idle decision for the serve bridge: exit only when nothing is attached
197
+ * (no ACP clients, no in-flight turns) AND that has been true for `idleMs`.
198
+ * Busy ticks refresh `lastBusy` at the call site, so a long turn with all
199
+ * clients gone still exits one idle window after it finishes — never mid-turn.
200
+ */
201
+ export function serveIdleDecision(clients, pendingTurns, lastBusy, now, idleMs) {
202
+ if (clients > 0 || pendingTurns > 0)
203
+ return false;
204
+ return now - lastBusy >= idleMs;
205
+ }
206
+ /**
207
+ * Headless bridge for remote session-create (`zcode-acp serve`): the same ACP
208
+ * surface as `main`, minus the stdio editor. Spawned detached by the hub with
209
+ * cwd = the chosen project; its lifecycle is the mirror of ADR-0001 — instead
210
+ * of following the editor's stdio, it follows remote interest: stays alive
211
+ * while any client is attached or any turn runs, exits SERVE_IDLE_MS after
212
+ * the last of those ends. Remote access is not optional here — without the
213
+ * endpoint the process has no reason to exist, so a missing config or failed
214
+ * endpoint exits instead of degrading.
215
+ */
216
+ export async function runHeadless() {
171
217
  const remoteConfig = parseRemoteConfig();
172
- if (remoteConfig) {
173
- remoteHandle = await startRemoteEndpoint(server, app, remoteConfig);
218
+ if (!remoteConfig) {
219
+ warn("serve: remote access is required for a headless bridge — set " +
220
+ "ZCODE_ACP_REMOTE=1 and ZCODE_ACP_REMOTE_TOKEN");
221
+ process.exit(2);
174
222
  }
223
+ const server = new ZcodeAcpServer({ serveMode: true });
224
+ const allCommands = buildAllCommands();
225
+ log(`starting ${AGENT_INFO.name} ${AGENT_INFO.version} serve (headless), project=${server.projectCwd()}`);
226
+ let remoteHandle = null;
227
+ let shuttingDown = false;
228
+ const shutdown = async (reason) => {
229
+ if (shuttingDown)
230
+ return;
231
+ shuttingDown = true;
232
+ log(`serve: shutting down (${reason})`);
233
+ if (remoteHandle)
234
+ await remoteHandle.stop();
235
+ if (server.backend)
236
+ await server.backend.close();
237
+ process.exit(0);
238
+ };
239
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
240
+ process.on(sig, () => void shutdown(sig));
241
+ }
242
+ // Backend reader died (zcode subprocess exited) — bridge is useless without it.
243
+ const backendDeathInterval = setInterval(() => {
244
+ if (server.backend?.isDead)
245
+ void shutdown("backend dead");
246
+ }, 2000);
247
+ backendDeathInterval.unref();
248
+ // No stdin lifecycle here by design: the hub spawns the serve bridge with
249
+ // stdin ignored, and ADR-0001's "editor closed stdin" signal has no editor
250
+ // to come from — idle exit below is this mode's shutdown path.
251
+ const app = buildAgentApp(server, allCommands);
252
+ // Track connections BEFORE the endpoint accepts any WS client so every
253
+ // remote connection lands in the broadcast registry from its first message.
254
+ trackConnections(app, server.clients);
255
+ remoteHandle = await startRemoteEndpoint(server, app, { ...remoteConfig, origin: "serve" });
256
+ if (!remoteHandle) {
257
+ warn("serve: remote endpoint failed to start — exiting");
258
+ process.exit(1);
259
+ }
260
+ // Idle lifecycle + the process's only keep-alive: the endpoint's HTTP server
261
+ // and heartbeat timers are all unref'd (ADR-0001), so without this interval
262
+ // the process would exit immediately. Deliberately NOT unref'd.
263
+ let lastBusy = Date.now();
264
+ const idleCheck = setInterval(() => {
265
+ if (server.clients.size > 0 || server.pendingTurns.size > 0) {
266
+ lastBusy = Date.now();
267
+ return;
268
+ }
269
+ if (serveIdleDecision(server.clients.size, server.pendingTurns.size, lastBusy, Date.now(), SERVE_IDLE_MS)) {
270
+ void shutdown("idle — no clients attached and no turn running");
271
+ }
272
+ }, SERVE_IDLE_CHECK_MS);
273
+ void idleCheck;
175
274
  }
176
275
  // Only auto-run when invoked directly (not when imported by the Unified CLI
177
276
  // dispatcher). In an ESM build there is no `require.main`, so fall back to an
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;GAKG;AACH,SAAS,gBAAgB;IACvB,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAA2E;QACrF,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,WAAW,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW;SACjE,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,kEAAkE;IAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAA+B,CAAC;IAE5E,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IAEpC,qEAAqE;IACrE,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,GAAG,CAAC,YAAY,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEhG,wEAAwE;IACxE,0EAA0E;IAC1E,sCAAsC;IACtC,IAAI,YAAY,GAAgC,IAAI,CAAC;IAErD,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,kBAAkB,MAAM,GAAG,CAAC,CAAC;QACjC,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,YAAY;YAAE,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,iDAAiD;IACjD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM;YAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAE7B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE/C,wEAAwE;IACxE,wEAAwE;IACxE,+BAA+B;IAC/B,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpB,2EAA2E;IAC3E,4EAA4E;IAC5E,4BAA4B;IAC5B,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAsB,EAAE,WAAgD;IAC7F,0EAA0E;IAC1E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpE,OAAO,CACL,GAAG;SACA,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;SAChC,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/D,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACpE,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACnF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,yEAAyE;QACzE,qEAAqE;QACrE,uDAAuD;QACvD,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACjF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;QACF,qEAAqE;QACrE,wEAAwE;QACxE,gDAAgD;SAC/C,SAAS,CACR,sBAAsB,EACtB,CAAC;SACE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SACnF,WAAW,EAAE,EAChB,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CACrE;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,gDAAgD;SAC/C,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;SACvF,SAAS,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,kEAAkE;QAClE,oEAAoE;QACpE,+BAA+B;QAC/B,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,wEAAwE;QACxE,6CAA6C;QAC7C,OAAO,MAAM,CACX,MAAM,EACN,GAAG,CAAC,MAAM,EACV,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAC1B,GAAG,CAAC,SAA4B,CACjC,CAAC;IACJ,CAAC,CAAC;SACD,SAAS,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CACvE;QACD,0EAA0E;QAC1E,2DAA2D;QAC3D,uEAAuE;QACvE,0EAA0E;QAC1E,mDAAmD;SAClD,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACvE,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACvE,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CACxD;SACA,SAAS,CAAC,8BAA8B,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5D,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CACzC;SACA,SAAS,CAAC,yBAAyB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SAC7F,SAAS,CAAC,kCAAkC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAChE,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAC7C;SACA,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/E,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CACxD;QACD,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,QAAQ;SACP,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAChD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CACxD;SACA,cAAc,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,qFAAqF;AACrF,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,YAAoB,EACpB,QAAgB,EAChB,GAAW,EACX,MAAc;IAEd,IAAI,OAAO,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CACF,+DAA+D;YAC7D,+CAA+C,CAClD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACvC,GAAG,CACD,YAAY,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,8BAA8B,MAAM,CAAC,UAAU,EAAE,EAAE,CACrG,CAAC;IAEF,IAAI,YAAY,GAAgC,IAAI,CAAC;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,yBAAyB,MAAM,GAAG,CAAC,CAAC;QACxC,IAAI,YAAY;YAAE,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM;YAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,2EAA2E;IAC3E,+DAA+D;IAE/D,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,uEAAuE;IACvE,4EAA4E;IAC5E,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtC,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,gEAAgE;IAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5D,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IACE,iBAAiB,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,EACnB,MAAM,CAAC,YAAY,CAAC,IAAI,EACxB,QAAQ,EACR,IAAI,CAAC,GAAG,EAAE,EACV,aAAa,CACd,EACD,CAAC;YACD,KAAK,QAAQ,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACxB,KAAK,SAAS,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,kDAAkD;AAClD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC3E,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,eAAe,EAAE,CAAC;IACpB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,IAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@
15
15
  * into per-option yes/no popups; the user's Include picks are comma-joined
16
16
  * into the final answer (mirrors the reference impl's `answers[q]: "a, b"`).
17
17
  */
18
+ import { messages } from "../i18n.js";
18
19
  // ---------- classification ----------
19
20
  export function isPermissionRequest(method) {
20
21
  return method === "interaction/requestPermission";
@@ -105,15 +106,16 @@ export function acpPermissionResponseToZcode(acpResp) {
105
106
  // ---------- ExitPlanMode → ACP requestPermission ----------
106
107
  /** ExitPlanMode rendered as approve/reject permission options. */
107
108
  export function exitPlanModeToAcpPermission(params, acpSid) {
109
+ const m = messages();
108
110
  return {
109
111
  options: [
110
- { kind: "allow_once", name: "Approve — exit plan mode", optionId: "approve" },
111
- { kind: "reject_once", name: "Reject — keep planning", optionId: "reject" },
112
+ { kind: "allow_once", name: m.planApproveOption, optionId: "approve" },
113
+ { kind: "reject_once", name: m.planRejectOption, optionId: "reject" },
112
114
  ],
113
115
  sessionId: acpSid,
114
116
  toolCall: {
115
117
  toolCallId: params.toolCallId ?? "",
116
- title: "Exit plan mode",
118
+ title: m.planPopupTitle,
117
119
  rawInput: params.input,
118
120
  },
119
121
  };
@@ -161,11 +163,12 @@ export function splitAskUserQuestions(params) {
161
163
  if (labels.length === 0)
162
164
  continue;
163
165
  const multi = q.multiSelect === true;
166
+ const m = messages();
164
167
  if (multi) {
165
168
  const options = [];
166
169
  for (const lb of labels) {
167
- options.push({ optionId: `${lb}:yes`, kind: "allow_once", name: `Include: ${lb}` });
168
- options.push({ optionId: `${lb}:no`, kind: "reject_once", name: `Skip: ${lb}` });
170
+ options.push({ optionId: `${lb}:yes`, kind: "allow_once", name: m.askIncludeOption(lb) });
171
+ options.push({ optionId: `${lb}:no`, kind: "reject_once", name: m.askSkipLabelOption(lb) });
169
172
  }
170
173
  result.push({ question: q.question, multiSelect: true, options });
171
174
  }
@@ -175,7 +178,7 @@ export function splitAskUserQuestions(params) {
175
178
  kind: "allow_once",
176
179
  name: lb,
177
180
  }));
178
- options.push({ optionId: "__skip__", kind: "reject_once", name: "Skip" });
181
+ options.push({ optionId: "__skip__", kind: "reject_once", name: m.askSkipOption });
179
182
  result.push({ question: q.question, multiSelect: false, options });
180
183
  }
181
184
  }
@@ -250,7 +253,7 @@ export function buildAskUserElicitationForm(params, acpSid, toolCallId) {
250
253
  continue;
251
254
  // Titled enum option for "skip": const carries the sentinel value the
252
255
  // parser recognizes; title is what the client renders in the dropdown.
253
- const skipOption = { const: ELICIT_SKIP, title: "Skip this question" };
256
+ const skipOption = { const: ELICIT_SKIP, title: messages().askSkipQuestionTitle };
254
257
  if (q.multiSelect) {
255
258
  properties[key] = {
256
259
  type: "array",
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ export interface RemoteConfig {
21
21
  hubPort: number;
22
22
  hubHost: string;
23
23
  bridgePort: number;
24
+ /**
25
+ * Who this bridge serves: "editor" (spawned by an editor over stdio) or
26
+ * "serve" (headless, hub-spawned for remote session-create, ADR-0014).
27
+ * Rides the registration heartbeat; the hub uses it to dedupe headless
28
+ * instances per workspace and label them for remote clients.
29
+ */
30
+ origin: "editor" | "serve";
24
31
  }
25
32
  export declare const DEFAULT_HUB_PORT = 8377;
26
33
  export declare const DEFAULT_BRIDGE_PORT = 8378;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/remote/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAY5C,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,IAAI,CAiB3F;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,IAAI,CAYxF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/remote/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAY5C,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,IAAI,CAkB3F;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,IAAI,CAaxF"}