agent-embassy 1.7.0 → 1.7.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.
- package/CHANGELOG.md +13 -0
- package/dist/src/gateway/cli-copy.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.d.ts +3 -1
- package/dist/src/gateway/cli-copy.en.js +3 -0
- package/dist/src/gateway/cli-copy.en.js.map +1 -1
- package/dist/src/gateway/cli-copy.js +2 -0
- package/dist/src/gateway/cli-copy.js.map +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +3 -1
- package/dist/src/gateway/cli-copy.zh-CN.js +3 -0
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/cli.d.ts +2 -2
- package/dist/src/gateway/cli.js +48 -2
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/codex-app-server.js +1 -1
- package/dist/src/gateway/codex-doctor.d.ts +33 -0
- package/dist/src/gateway/codex-doctor.js +148 -0
- package/dist/src/gateway/codex-doctor.js.map +1 -0
- package/dist/src/gateway/codex-local-transport.d.ts +5 -0
- package/dist/src/gateway/codex-local-transport.js +5 -0
- package/dist/src/gateway/codex-local-transport.js.map +1 -1
- package/dist/src/gateway/control.js +40 -3
- package/dist/src/gateway/control.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.d.ts +1 -1
- package/dist/src/gateway/dashboard-copy.en.d.ts +5 -0
- package/dist/src/gateway/dashboard-copy.en.js +5 -0
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +5 -0
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +5 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js +5 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +3 -0
- package/dist/src/gateway/dashboard-model.js +9 -1
- package/dist/src/gateway/dashboard-model.js.map +1 -1
- package/dist/src/gateway/dashboard.js +3 -1
- package/dist/src/gateway/dashboard.js.map +1 -1
- package/dist/src/gateway/live-dashboard-app/app.js +11 -2
- package/dist/src/gateway/providers.d.ts +7 -0
- package/dist/src/gateway/providers.js +60 -0
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.js +12 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +26 -2
- package/dist/src/gateway/service.js +553 -104
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/store.js +26 -12
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +9 -0
- package/dist/src/gateway/types.js +2 -0
- package/dist/src/gateway/types.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,19 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
6
|
|
|
7
|
+
## [1.7.1] - 2026-08-16
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Provider I/O no longer runs under the gateway's commit lane: a slow provider turn (an 84-second first ACP dispatch, live) previously starved status reads, callbacks, and observations for its whole duration. Dispatch now prepares and performs outside the mutex with commit-time revalidation; interrupted operations settle honestly (ambiguous, never replayed); callback draining coalesces and re-arms.
|
|
12
|
+
- Connector health can no longer report "healthy" on stale evidence: a periodic bounded positive observation keeps evidence fresh, health degrades after 35 seconds without it, `observationAgeMs` is exported, and the static dashboard republishes at the freshness boundary.
|
|
13
|
+
- Claude routes no longer go stale across broker restarts: the previously-selected session is re-observed at boot and on a fixed timer by exact UUID (observation-only; such connections can never send, pair, answer approvals, or read credentials or history), including across the session's own restarts.
|
|
14
|
+
- The v1.6 stale-Codex reconnect guidance renders again (a v1.7.0 regression), in both languages.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- `embassy doctor`: bounded, normalized attachment diagnosis — detects an orphaned Desktop (daemon running, no client attached) and a private-App-Server split-brain (Desktop running unattached, its tasks unreachable), identifies processes by executable path with distinct-PID accounting, reports every detected condition with a localized remedy, and never grants authority.
|
|
19
|
+
|
|
7
20
|
## [1.7.0] - 2026-08-16
|
|
8
21
|
|
|
9
22
|
### Added
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DashboardLocale } from "./locale.js";
|
|
2
|
-
export declare const cliCopyKeys: readonly ["help.usage", "hint.dashboardLiveRequired", "hint.dashboardPortInUse", "hint.controlInvalidResponse", "hint.messageTooLarge", "hint.progressWatchOwnerConflict", "error.input", "error.decision", "error.unavailable", "error.ambiguous", "error.failure", "error.unsafe", "error.tokenUnknown", "error.deliveryTimeout"];
|
|
2
|
+
export declare const cliCopyKeys: readonly ["help.usage", "hint.dashboardLiveRequired", "hint.dashboardPortInUse", "hint.controlInvalidResponse", "hint.messageTooLarge", "hint.progressWatchOwnerConflict", "hint.codexSplitBrain", "hint.codexOrphaned", "error.input", "error.decision", "error.unavailable", "error.ambiguous", "error.failure", "error.unsafe", "error.tokenUnknown", "error.deliveryTimeout"];
|
|
3
3
|
export type CliCopyKey = (typeof cliCopyKeys)[number];
|
|
4
4
|
export type CliCopy = Readonly<Record<CliCopyKey, string>>;
|
|
5
5
|
export type CliStderrKind = {
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export declare const callerIdentityConflictHintEn = "both agent identities were inherited; the Codex App Server daemon may have been started inside an agent session. From a normal terminal, run: codex app-server daemon restart";
|
|
2
2
|
export declare const cliCopyEn: {
|
|
3
|
-
readonly "help.usage": "Embassy — local messaging for Claude Code and Codex\n\nUsage:\n embassy <command> [options] [--lang en|zh-CN]\n\nCommands:\n serve [--inbound open] Run the socket-only broker (paired inbound by default)\n health Check broker health\n status Read the public status snapshot\n refresh-dashboard Publish both static dashboard files\n dashboard --live [--port <n>]\n Open live status and bounded route consent\n register-codex Register or succeed a Codex task\n unregister-codex Unregister the current Codex task\n select-claude Select a discovered Claude session\n unselect-claude Clear the Claude selection\n pair [--from <alias> --to <alias>] Add one cross-provider consent edge\n unpair [--from <alias> --to <alias>] Remove one cross-provider consent edge\n send-to-claude Send stdin to the selected Claude route\n send-to-codex Send stdin to a registered Codex route\n reply Reply with a conversation token\n delivery-status Read a delivery token\n wait-delivery Wait for terminal delivery status\n untrack Close one active progress watch\n\nOptions:\n --lang en|zh-CN Localize user-facing text\n --port <n> Live dashboard port, 1024–65535 (default 41961)\n --version, -v Print the version\n --help, -h Show this help\n";
|
|
3
|
+
readonly "help.usage": "Embassy — local messaging for Claude Code and Codex\n\nUsage:\n embassy <command> [options] [--lang en|zh-CN]\n\nCommands:\n serve [--inbound open] Run the socket-only broker (paired inbound by default)\n health Check broker health\n status Read the public status snapshot\n doctor Diagnose Codex Desktop attachment\n refresh-dashboard Publish both static dashboard files\n dashboard --live [--port <n>]\n Open live status and bounded route consent\n register-codex Register or succeed a Codex task\n unregister-codex Unregister the current Codex task\n select-claude Select a discovered Claude session\n unselect-claude Clear the Claude selection\n pair [--from <alias> --to <alias>] Add one cross-provider consent edge\n unpair [--from <alias> --to <alias>] Remove one cross-provider consent edge\n send-to-claude Send stdin to the selected Claude route\n send-to-codex Send stdin to a registered Codex route\n reply Reply with a conversation token\n delivery-status Read a delivery token\n wait-delivery Wait for terminal delivery status\n untrack Close one active progress watch\n\nOptions:\n --lang en|zh-CN Localize user-facing text\n --port <n> Live dashboard port, 1024–65535 (default 41961)\n --version, -v Print the version\n --help, -h Show this help\n";
|
|
4
4
|
readonly "hint.dashboardLiveRequired": "dashboard requires --live; static files are published by serve and refresh-dashboard.";
|
|
5
5
|
readonly "hint.dashboardPortInUse": "live dashboard port {port} is already in use; close the holding process or choose another with --port <n>.";
|
|
6
6
|
readonly "hint.controlInvalidResponse": "client/broker version skew is likely; rebuild or repoint this client to the broker's Embassy installation, then retry.";
|
|
7
7
|
readonly "hint.messageTooLarge": "message exceeds the 16 KiB acceptance cap; shorten or split it. For long prose, pipe the body from a file.";
|
|
8
8
|
readonly "hint.progressWatchOwnerConflict": "this pair already has a watch owned by the other participant; ask that owner to run `embassy untrack --conversation <conversation-token>` first.";
|
|
9
|
+
readonly "hint.codexSplitBrain": "Desktop is on a private App Server; its tasks are unreachable by Embassy. Relaunch: /usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT";
|
|
10
|
+
readonly "hint.codexOrphaned": "the daemon is running but no Desktop client is attached; threads cannot load. Run: /usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT, then open your Codex task.";
|
|
9
11
|
readonly "error.input": "request rejected.";
|
|
10
12
|
readonly "error.decision": "gateway rejected the request.";
|
|
11
13
|
readonly "error.unavailable": "gateway unavailable.";
|
|
@@ -9,6 +9,7 @@ Commands:
|
|
|
9
9
|
serve [--inbound open] Run the socket-only broker (paired inbound by default)
|
|
10
10
|
health Check broker health
|
|
11
11
|
status Read the public status snapshot
|
|
12
|
+
doctor Diagnose Codex Desktop attachment
|
|
12
13
|
refresh-dashboard Publish both static dashboard files
|
|
13
14
|
dashboard --live [--port <n>]
|
|
14
15
|
Open live status and bounded route consent
|
|
@@ -36,6 +37,8 @@ Options:
|
|
|
36
37
|
"hint.controlInvalidResponse": "client/broker version skew is likely; rebuild or repoint this client to the broker's Embassy installation, then retry.",
|
|
37
38
|
"hint.messageTooLarge": "message exceeds the 16 KiB acceptance cap; shorten or split it. For long prose, pipe the body from a file.",
|
|
38
39
|
"hint.progressWatchOwnerConflict": "this pair already has a watch owned by the other participant; ask that owner to run `embassy untrack --conversation <conversation-token>` first.",
|
|
40
|
+
"hint.codexSplitBrain": "Desktop is on a private App Server; its tasks are unreachable by Embassy. Relaunch: /usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT",
|
|
41
|
+
"hint.codexOrphaned": "the daemon is running but no Desktop client is attached; threads cannot load. Run: /usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT, then open your Codex task.",
|
|
39
42
|
"error.input": "request rejected.",
|
|
40
43
|
"error.decision": "gateway rejected the request.",
|
|
41
44
|
"error.unavailable": "gateway unavailable.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-copy.en.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GACvC,+KAA+K,CAAC;AAElL,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"cli-copy.en.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GACvC,+KAA+K,CAAC;AAElL,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf;IACC,4BAA4B,EAC1B,uFAAuF;IACzF,yBAAyB,EACvB,4GAA4G;IAC9G,6BAA6B,EAC3B,wHAAwH;IAC1H,sBAAsB,EACpB,4GAA4G;IAC9G,iCAAiC,EAC/B,kJAAkJ;IACpJ,sBAAsB,EACpB,wJAAwJ;IAC1J,oBAAoB,EAClB,mLAAmL;IACrL,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,+BAA+B;IACjD,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,gDAAgD;IACnE,eAAe,EAAE,iBAAiB;IAClC,cAAc,EACZ,iJAAiJ;IACnJ,oBAAoB,EAClB,6FAA6F;IAC/F,uBAAuB,EACrB,iHAAiH;CACzF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-copy.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,4BAA4B;IAC5B,yBAAyB;IACzB,6BAA6B;IAC7B,sBAAsB;IACtB,iCAAiC;IACjC,aAAa;IACb,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,uBAAuB;CACf,CAAC;AAQX,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli-copy.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,4BAA4B;IAC5B,yBAAyB;IACzB,6BAA6B;IAC7B,sBAAsB;IACtB,iCAAiC;IACjC,sBAAsB;IACtB,oBAAoB;IACpB,aAAa;IACb,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,uBAAuB;CACf,CAAC;AAQX,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export declare const callerIdentityConflictHintZhCn = "\u540C\u65F6\u7EE7\u627F\u4E86\u4E24\u79CD\u4EE3\u7406\u8EAB\u4EFD\uFF1BCodex App Server \u5B88\u62A4\u8FDB\u7A0B\u53EF\u80FD\u662F\u5728\u4EE3\u7406\u4F1A\u8BDD\u5185\u542F\u52A8\u7684\u3002\u8BF7\u5728\u666E\u901A\u7EC8\u7AEF\u4E2D\u8FD0\u884C\uFF1Acodex app-server daemon restart";
|
|
2
2
|
export declare const cliCopyZhCn: {
|
|
3
|
-
readonly "help.usage": "Embassy — Claude Code 与 Codex 的本地消息通道\n\n用法:\n embassy <command> [options] [--lang en|zh-CN]\n\n命令:\n serve [--inbound open] 在前台运行仅使用套接字的代理(默认配对入站)\n health 检查代理健康状态\n status 读取公开状态快照\n refresh-dashboard 发布两份静态仪表盘文件\n dashboard --live [--port <n>]\n 打开实时状态与有限路由同意操作\n register-codex 注册或继任 Codex 任务\n unregister-codex 注销当前 Codex 任务\n select-claude 选择已发现的 Claude 会话\n unselect-claude 清除 Claude 选择\n pair [--from <别名> --to <别名>] 添加一条跨提供商同意边\n unpair [--from <别名> --to <别名>] 移除一条跨提供商同意边\n send-to-claude 将标准输入发送到所选 Claude 路由\n send-to-codex 将标准输入发送到已注册 Codex 路由\n reply 使用会话令牌回复\n delivery-status 读取投递令牌状态\n wait-delivery 等待终结投递状态\n untrack 关闭一个活跃的进度监视\n\n选项:\n --lang en|zh-CN 本地化面向用户的文本\n --port <n> 实时仪表盘端口,1024–65535(默认 41961)\n --version, -v 输出版本\n --help, -h 显示此帮助\n";
|
|
3
|
+
readonly "help.usage": "Embassy — Claude Code 与 Codex 的本地消息通道\n\n用法:\n embassy <command> [options] [--lang en|zh-CN]\n\n命令:\n serve [--inbound open] 在前台运行仅使用套接字的代理(默认配对入站)\n health 检查代理健康状态\n status 读取公开状态快照\n doctor 诊断 Codex 桌面应用连接状态\n refresh-dashboard 发布两份静态仪表盘文件\n dashboard --live [--port <n>]\n 打开实时状态与有限路由同意操作\n register-codex 注册或继任 Codex 任务\n unregister-codex 注销当前 Codex 任务\n select-claude 选择已发现的 Claude 会话\n unselect-claude 清除 Claude 选择\n pair [--from <别名> --to <别名>] 添加一条跨提供商同意边\n unpair [--from <别名> --to <别名>] 移除一条跨提供商同意边\n send-to-claude 将标准输入发送到所选 Claude 路由\n send-to-codex 将标准输入发送到已注册 Codex 路由\n reply 使用会话令牌回复\n delivery-status 读取投递令牌状态\n wait-delivery 等待终结投递状态\n untrack 关闭一个活跃的进度监视\n\n选项:\n --lang en|zh-CN 本地化面向用户的文本\n --port <n> 实时仪表盘端口,1024–65535(默认 41961)\n --version, -v 输出版本\n --help, -h 显示此帮助\n";
|
|
4
4
|
readonly "hint.dashboardLiveRequired": "dashboard 需要 --live;静态文件由 serve 和 refresh-dashboard 发布。";
|
|
5
5
|
readonly "hint.dashboardPortInUse": "实时仪表盘端口 {port} 已被占用;请关闭占用进程,或使用 --port <n> 选择其他端口。";
|
|
6
6
|
readonly "hint.controlInvalidResponse": "客户端与网关进程的版本可能不一致;请重新构建客户端,或将其重新指向网关进程所使用的 Embassy 安装,然后重试。";
|
|
7
7
|
readonly "hint.messageTooLarge": "消息超过 16 KiB 接收上限;请缩短消息或将其拆分。对于长篇内容,请通过管道从文件传入正文。";
|
|
8
8
|
readonly "hint.progressWatchOwnerConflict": "此配对已有由另一参与方拥有的监视;请先让该所有者运行 `embassy untrack --conversation <conversation-token>`。";
|
|
9
|
+
readonly "hint.codexSplitBrain": "桌面应用正在使用私有 App Server;Embassy 无法访问其任务。请重新启动:/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT";
|
|
10
|
+
readonly "hint.codexOrphaned": "守护进程正在运行,但没有桌面客户端连接;线程无法加载。请运行:/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT,然后打开你的 Codex 任务。";
|
|
9
11
|
readonly "error.input": "请求被拒绝。";
|
|
10
12
|
readonly "error.decision": "网关拒绝了该请求。";
|
|
11
13
|
readonly "error.unavailable": "网关不可用。";
|
|
@@ -9,6 +9,7 @@ export const cliCopyZhCn = {
|
|
|
9
9
|
serve [--inbound open] 在前台运行仅使用套接字的代理(默认配对入站)
|
|
10
10
|
health 检查代理健康状态
|
|
11
11
|
status 读取公开状态快照
|
|
12
|
+
doctor 诊断 Codex 桌面应用连接状态
|
|
12
13
|
refresh-dashboard 发布两份静态仪表盘文件
|
|
13
14
|
dashboard --live [--port <n>]
|
|
14
15
|
打开实时状态与有限路由同意操作
|
|
@@ -36,6 +37,8 @@ export const cliCopyZhCn = {
|
|
|
36
37
|
"hint.controlInvalidResponse": "客户端与网关进程的版本可能不一致;请重新构建客户端,或将其重新指向网关进程所使用的 Embassy 安装,然后重试。",
|
|
37
38
|
"hint.messageTooLarge": "消息超过 16 KiB 接收上限;请缩短消息或将其拆分。对于长篇内容,请通过管道从文件传入正文。",
|
|
38
39
|
"hint.progressWatchOwnerConflict": "此配对已有由另一参与方拥有的监视;请先让该所有者运行 `embassy untrack --conversation <conversation-token>`。",
|
|
40
|
+
"hint.codexSplitBrain": "桌面应用正在使用私有 App Server;Embassy 无法访问其任务。请重新启动:/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT",
|
|
41
|
+
"hint.codexOrphaned": "守护进程正在运行,但没有桌面客户端连接;线程无法加载。请运行:/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT,然后打开你的 Codex 任务。",
|
|
39
42
|
"error.input": "请求被拒绝。",
|
|
40
43
|
"error.decision": "网关拒绝了该请求。",
|
|
41
44
|
"error.unavailable": "网关不可用。",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-copy.zh-CN.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.zh-CN.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,8BAA8B,GACzC,yFAAyF,CAAC;AAE5F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE
|
|
1
|
+
{"version":3,"file":"cli-copy.zh-CN.js","sourceRoot":"","sources":["../../../src/gateway/cli-copy.zh-CN.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,8BAA8B,GACzC,yFAAyF,CAAC;AAE5F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf;IACC,4BAA4B,EAC1B,yDAAyD;IAC3D,yBAAyB,EACvB,oDAAoD;IACtD,6BAA6B,EAC3B,4DAA4D;IAC9D,sBAAsB,EACpB,kDAAkD;IACpD,iCAAiC,EAC/B,mFAAmF;IACrF,sBAAsB,EACpB,gHAAgH;IAClH,oBAAoB,EAClB,oHAAoH;IACtH,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,eAAe;IAClC,eAAe,EAAE,OAAO;IACxB,cAAc,EACZ,wDAAwD;IAC1D,oBAAoB,EAAE,8BAA8B;IACpD,uBAAuB,EACrB,oDAAoD;CAC5B,CAAC"}
|
|
@@ -3,8 +3,8 @@ import { type GatewayControlMethod, type GatewayControlResponse, type SendGatewa
|
|
|
3
3
|
import { type GatewayConfig } from "./config.js";
|
|
4
4
|
import { type LiveDashboardCommandOutcome, type LiveDashboardCommandOptions } from "./live-dashboard-command.js";
|
|
5
5
|
import { type GatewayServerOptions } from "./server.js";
|
|
6
|
-
export declare const EMBASSY_VERSION = "1.7.
|
|
7
|
-
export declare const gatewayCliCommands: readonly ["serve", "health", "status", "delivery-status", "wait-delivery", "untrack", "refresh-dashboard", "dashboard", "register-codex", "unregister-codex", "select-claude", "unselect-claude", "pair", "unpair", "send-to-claude", "send-to-codex", "reply"];
|
|
6
|
+
export declare const EMBASSY_VERSION = "1.7.1";
|
|
7
|
+
export declare const gatewayCliCommands: readonly ["serve", "health", "status", "doctor", "delivery-status", "wait-delivery", "untrack", "refresh-dashboard", "dashboard", "register-codex", "unregister-codex", "select-claude", "unselect-claude", "pair", "unpair", "send-to-claude", "send-to-codex", "reply"];
|
|
8
8
|
export type GatewayCliCommand = (typeof gatewayCliCommands)[number];
|
|
9
9
|
export declare const gatewayCliExitCodes: Readonly<{
|
|
10
10
|
readonly ok: 0;
|
package/dist/src/gateway/cli.js
CHANGED
|
@@ -26,7 +26,7 @@ const DEFAULT_HOST_ID = "this-mac";
|
|
|
26
26
|
const CLI_MAX_OUTPUT_BYTES = GATEWAY_CONTROL_MAX_RESPONSE_BYTES;
|
|
27
27
|
const DELIVERY_POLL_INTERVAL_MS = 250;
|
|
28
28
|
const DELIVERY_POLL_MIN_REQUEST_TIMEOUT_MS = 50;
|
|
29
|
-
export const EMBASSY_VERSION = "1.7.
|
|
29
|
+
export const EMBASSY_VERSION = "1.7.1";
|
|
30
30
|
// RELEASE VERSION SWEEP — every place the version lives: package.json,
|
|
31
31
|
// npm-shrinkwrap.json (x2), this constant, codex-app-server.ts clientInfo,
|
|
32
32
|
// test/gateway-cli.test.ts package-metadata assertion.
|
|
@@ -35,6 +35,7 @@ export const gatewayCliCommands = [
|
|
|
35
35
|
"serve",
|
|
36
36
|
"health",
|
|
37
37
|
"status",
|
|
38
|
+
"doctor",
|
|
38
39
|
"delivery-status",
|
|
39
40
|
"wait-delivery",
|
|
40
41
|
"untrack",
|
|
@@ -369,6 +370,7 @@ async function buildRequest(command, args, env, stdin) {
|
|
|
369
370
|
params: emptyParams(args),
|
|
370
371
|
};
|
|
371
372
|
case "status":
|
|
373
|
+
case "doctor":
|
|
372
374
|
return {
|
|
373
375
|
protocolVersion: GATEWAY_CONTROL_PROTOCOL_VERSION,
|
|
374
376
|
method: "list_snapshot",
|
|
@@ -666,6 +668,26 @@ function responseExitCode(response) {
|
|
|
666
668
|
return gatewayCliExitCodes.rejected;
|
|
667
669
|
return gatewayCliExitCodes.ok;
|
|
668
670
|
}
|
|
671
|
+
function codexDoctorConditions(result) {
|
|
672
|
+
if (result === null ||
|
|
673
|
+
typeof result !== "object" ||
|
|
674
|
+
!Object.hasOwn(result, "connectors") ||
|
|
675
|
+
!Array.isArray(result.connectors)) {
|
|
676
|
+
return ["unknown"];
|
|
677
|
+
}
|
|
678
|
+
const connector = result.connectors.find((row) => row !== null &&
|
|
679
|
+
typeof row === "object" &&
|
|
680
|
+
row.provider === "codex");
|
|
681
|
+
const doctor = connector !== null && typeof connector === "object"
|
|
682
|
+
? connector.codexDoctor
|
|
683
|
+
: undefined;
|
|
684
|
+
if (doctor === null ||
|
|
685
|
+
typeof doctor !== "object" ||
|
|
686
|
+
!Array.isArray(doctor.conditions)) {
|
|
687
|
+
return ["unknown"];
|
|
688
|
+
}
|
|
689
|
+
return doctor.conditions.filter((condition) => typeof condition === "string");
|
|
690
|
+
}
|
|
669
691
|
function waitDeliveryExitCode(response) {
|
|
670
692
|
if (!response.ok ||
|
|
671
693
|
!response.result.found ||
|
|
@@ -874,10 +896,13 @@ export async function runGatewayCli(argv = process.argv.slice(2), dependencies =
|
|
|
874
896
|
});
|
|
875
897
|
return gatewayCliExitCodes.failure;
|
|
876
898
|
}
|
|
899
|
+
const result = command === "doctor"
|
|
900
|
+
? { conditions: codexDoctorConditions(response.result) }
|
|
901
|
+
: response.result;
|
|
877
902
|
stdout.write(serializedOutput({
|
|
878
903
|
ok: true,
|
|
879
904
|
command,
|
|
880
|
-
result
|
|
905
|
+
result,
|
|
881
906
|
}));
|
|
882
907
|
const exitCode = waitedDeliveryResponse === undefined
|
|
883
908
|
? responseExitCode(response)
|
|
@@ -887,6 +912,27 @@ export async function runGatewayCli(argv = process.argv.slice(2), dependencies =
|
|
|
887
912
|
if (isProgressWatchOwnerConflict(response.result)) {
|
|
888
913
|
stderr.write(`[embassy] ${getCliCopy(locale)["hint.progressWatchOwnerConflict"]}\n`);
|
|
889
914
|
}
|
|
915
|
+
if (command === "register-codex") {
|
|
916
|
+
const diagnosis = await sendRequest({
|
|
917
|
+
socketPath: config.controlSocketPath,
|
|
918
|
+
request: {
|
|
919
|
+
protocolVersion: GATEWAY_CONTROL_PROTOCOL_VERSION,
|
|
920
|
+
method: "list_snapshot",
|
|
921
|
+
params: {},
|
|
922
|
+
},
|
|
923
|
+
}).catch(() => undefined);
|
|
924
|
+
if (diagnosis?.ok === true) {
|
|
925
|
+
const conditions = codexDoctorConditions(diagnosis.result);
|
|
926
|
+
const hint = conditions.includes("split_brain")
|
|
927
|
+
? "hint.codexSplitBrain"
|
|
928
|
+
: conditions.includes("orphaned")
|
|
929
|
+
? "hint.codexOrphaned"
|
|
930
|
+
: undefined;
|
|
931
|
+
if (hint !== undefined) {
|
|
932
|
+
stderr.write(`[embassy] ${getCliCopy(locale)[hint]}\n`);
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
}
|
|
890
936
|
}
|
|
891
937
|
else if (command === "wait-delivery" &&
|
|
892
938
|
exitCode === gatewayCliExitCodes.failure) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/gateway/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/gateway/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -379,7 +379,7 @@ export class CodexAppServerConnector {
|
|
|
379
379
|
this.clientInfo = validateClientInfo(options.clientInfo ?? {
|
|
380
380
|
name: "agent_embassy_gateway",
|
|
381
381
|
title: "Embassy Gateway",
|
|
382
|
-
version: "1.7.
|
|
382
|
+
version: "1.7.1",
|
|
383
383
|
});
|
|
384
384
|
this.maxFrameBytes = positiveInteger(options.maxFrameBytes ?? DEFAULT_MAX_FRAME_BYTES, "INVALID_CONFIGURATION");
|
|
385
385
|
this.maxDeadlineMs = positiveInteger(options.maxDeadlineMs ?? DEFAULT_MAX_DEADLINE_MS, "INVALID_CONFIGURATION");
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const CODEX_DOCTOR_MAX_PROCESSES = 512;
|
|
2
|
+
export declare const CODEX_DOCTOR_MAX_SOCKET_HOLDERS = 32;
|
|
3
|
+
export type CodexDoctorCondition = "split_brain" | "orphaned" | "attached" | "unknown";
|
|
4
|
+
export type CodexDoctorProcess = Readonly<{
|
|
5
|
+
pid: number;
|
|
6
|
+
parentPid?: number;
|
|
7
|
+
executablePath: string;
|
|
8
|
+
bundleIdentifier?: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type CodexDoctorInspection = Readonly<{
|
|
11
|
+
processes: readonly CodexDoctorProcess[];
|
|
12
|
+
socketHolderPids: readonly number[];
|
|
13
|
+
}>;
|
|
14
|
+
export type CodexDoctorInspector = Readonly<{
|
|
15
|
+
inspect(request: Readonly<{
|
|
16
|
+
socketPath: string;
|
|
17
|
+
maximumProcesses: number;
|
|
18
|
+
maximumSocketHolders: number;
|
|
19
|
+
}>): Promise<CodexDoctorInspection>;
|
|
20
|
+
}>;
|
|
21
|
+
export type CodexDoctorOptions = Readonly<{
|
|
22
|
+
socketPath: string;
|
|
23
|
+
daemonExecutablePath: string;
|
|
24
|
+
embassyPid: number;
|
|
25
|
+
inspector: CodexDoctorInspector;
|
|
26
|
+
}>;
|
|
27
|
+
export type CodexDoctorResult = Readonly<{
|
|
28
|
+
conditions: readonly CodexDoctorCondition[];
|
|
29
|
+
}>;
|
|
30
|
+
/** Returns only bounded public-safe state; process inspection failures stay provider-local. */
|
|
31
|
+
export declare function diagnoseCodexAttachment(options: CodexDoctorOptions): Promise<CodexDoctorResult>;
|
|
32
|
+
/** Bounded macOS process evidence. Raw output never leaves this module. */
|
|
33
|
+
export declare function createSystemCodexDoctorInspector(): CodexDoctorInspector;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
export const CODEX_DOCTOR_MAX_PROCESSES = 512;
|
|
4
|
+
export const CODEX_DOCTOR_MAX_SOCKET_HOLDERS = 32;
|
|
5
|
+
const execFileAsync = promisify(execFile);
|
|
6
|
+
const MAX_INSPECTOR_OUTPUT_BYTES = 64 * 1024;
|
|
7
|
+
const INSPECTOR_TIMEOUT_MS = 2_000;
|
|
8
|
+
const UNKNOWN = Object.freeze({ conditions: ["unknown"] });
|
|
9
|
+
function validPid(value) {
|
|
10
|
+
return Number.isSafeInteger(value) && value > 0;
|
|
11
|
+
}
|
|
12
|
+
function isDesktop(process) {
|
|
13
|
+
return process.bundleIdentifier === "com.openai.codex" &&
|
|
14
|
+
/^\/Applications\/[^/]+\.app\/.+/.test(process.executablePath);
|
|
15
|
+
}
|
|
16
|
+
function ownedByEmbassy(pid, embassyPid, processes) {
|
|
17
|
+
const visited = new Set();
|
|
18
|
+
let current = pid;
|
|
19
|
+
while (!visited.has(current) && visited.size <= processes.size) {
|
|
20
|
+
if (current === embassyPid)
|
|
21
|
+
return true;
|
|
22
|
+
visited.add(current);
|
|
23
|
+
const parent = processes.get(current)?.parentPid;
|
|
24
|
+
if (parent === undefined || !validPid(parent) || parent === current)
|
|
25
|
+
return false;
|
|
26
|
+
current = parent;
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
function classify(inspection, options) {
|
|
31
|
+
if (inspection.processes.length > CODEX_DOCTOR_MAX_PROCESSES ||
|
|
32
|
+
inspection.socketHolderPids.length > CODEX_DOCTOR_MAX_SOCKET_HOLDERS) {
|
|
33
|
+
return UNKNOWN;
|
|
34
|
+
}
|
|
35
|
+
const processes = new Map();
|
|
36
|
+
for (const process of inspection.processes) {
|
|
37
|
+
if (!validPid(process.pid) ||
|
|
38
|
+
typeof process.executablePath !== "string" ||
|
|
39
|
+
process.executablePath.includes("\0") ||
|
|
40
|
+
processes.has(process.pid) ||
|
|
41
|
+
(process.parentPid !== undefined && !validPid(process.parentPid))) {
|
|
42
|
+
return UNKNOWN;
|
|
43
|
+
}
|
|
44
|
+
processes.set(process.pid, process);
|
|
45
|
+
}
|
|
46
|
+
const holders = new Set();
|
|
47
|
+
for (const pid of inspection.socketHolderPids) {
|
|
48
|
+
if (!validPid(pid))
|
|
49
|
+
return UNKNOWN;
|
|
50
|
+
holders.add(pid);
|
|
51
|
+
}
|
|
52
|
+
const daemonHolders = [...holders].filter((pid) => processes.get(pid)?.executablePath === options.daemonExecutablePath);
|
|
53
|
+
if (daemonHolders.length !== 1)
|
|
54
|
+
return UNKNOWN;
|
|
55
|
+
const externalHolders = [];
|
|
56
|
+
for (const pid of holders) {
|
|
57
|
+
if (pid === daemonHolders[0] || ownedByEmbassy(pid, options.embassyPid, processes)) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const process = processes.get(pid);
|
|
61
|
+
if (process === undefined)
|
|
62
|
+
return UNKNOWN;
|
|
63
|
+
externalHolders.push(process);
|
|
64
|
+
}
|
|
65
|
+
if (externalHolders.some(isDesktop)) {
|
|
66
|
+
return { conditions: ["attached"] };
|
|
67
|
+
}
|
|
68
|
+
if (externalHolders.length > 0)
|
|
69
|
+
return UNKNOWN;
|
|
70
|
+
return {
|
|
71
|
+
conditions: [inspection.processes.some(isDesktop) ? "split_brain" : "orphaned"],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** Returns only bounded public-safe state; process inspection failures stay provider-local. */
|
|
75
|
+
export async function diagnoseCodexAttachment(options) {
|
|
76
|
+
if (options.socketPath.length === 0 || options.socketPath.includes("\0") ||
|
|
77
|
+
!options.daemonExecutablePath.startsWith("/") ||
|
|
78
|
+
options.daemonExecutablePath.includes("\0") ||
|
|
79
|
+
!validPid(options.embassyPid)) {
|
|
80
|
+
return UNKNOWN;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
return classify(await options.inspector.inspect({
|
|
84
|
+
socketPath: options.socketPath,
|
|
85
|
+
maximumProcesses: CODEX_DOCTOR_MAX_PROCESSES,
|
|
86
|
+
maximumSocketHolders: CODEX_DOCTOR_MAX_SOCKET_HOLDERS,
|
|
87
|
+
}), options);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return UNKNOWN;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Bounded macOS process evidence. Raw output never leaves this module. */
|
|
94
|
+
export function createSystemCodexDoctorInspector() {
|
|
95
|
+
return {
|
|
96
|
+
inspect: async ({ socketPath, maximumProcesses, maximumSocketHolders }) => {
|
|
97
|
+
const options = {
|
|
98
|
+
encoding: "utf8",
|
|
99
|
+
maxBuffer: MAX_INSPECTOR_OUTPUT_BYTES,
|
|
100
|
+
timeout: INSPECTOR_TIMEOUT_MS,
|
|
101
|
+
};
|
|
102
|
+
const [{ stdout: lsofOutput }, { stdout: psOutput }] = await Promise.all([
|
|
103
|
+
execFileAsync("/usr/sbin/lsof", ["-n", "-F", "p", "--", socketPath], options),
|
|
104
|
+
execFileAsync("/bin/ps", ["-ww", "-axo", "pid=,ppid=,comm="], options),
|
|
105
|
+
]);
|
|
106
|
+
const socketHolderPids = [...new Set(lsofOutput.split("\n").flatMap((line) => /^p[1-9][0-9]*$/.test(line) ? [Number(line.slice(1))] : []))];
|
|
107
|
+
if (socketHolderPids.length > maximumSocketHolders) {
|
|
108
|
+
throw new Error("bounded socket-holder evidence exceeded");
|
|
109
|
+
}
|
|
110
|
+
const parsed = psOutput.split("\n").flatMap((line) => {
|
|
111
|
+
const match = /^\s*([1-9][0-9]*)\s+([1-9][0-9]*)\s+(.+?)\s*$/.exec(line);
|
|
112
|
+
if (match === null)
|
|
113
|
+
return [];
|
|
114
|
+
return [{
|
|
115
|
+
pid: Number(match[1]),
|
|
116
|
+
parentPid: Number(match[2]),
|
|
117
|
+
executablePath: match[3],
|
|
118
|
+
}];
|
|
119
|
+
});
|
|
120
|
+
if (parsed.length > maximumProcesses) {
|
|
121
|
+
throw new Error("bounded process evidence exceeded");
|
|
122
|
+
}
|
|
123
|
+
const appRoots = [...new Set(parsed.flatMap(({ executablePath }) => {
|
|
124
|
+
const match = /^(\/Applications\/[^/]+\.app)\//.exec(executablePath);
|
|
125
|
+
return match?.[1] === undefined ? [] : [match[1]];
|
|
126
|
+
}))];
|
|
127
|
+
if (appRoots.length > 32)
|
|
128
|
+
throw new Error("bounded app evidence exceeded");
|
|
129
|
+
const identifiers = new Map();
|
|
130
|
+
await Promise.all(appRoots.map(async (appRoot) => {
|
|
131
|
+
const { stdout } = await execFileAsync("/usr/bin/mdls", ["-raw", "-name", "kMDItemCFBundleIdentifier", appRoot], options);
|
|
132
|
+
identifiers.set(appRoot, stdout.trim());
|
|
133
|
+
}));
|
|
134
|
+
return {
|
|
135
|
+
socketHolderPids,
|
|
136
|
+
processes: parsed.map((process) => {
|
|
137
|
+
const appRoot = /^(\/Applications\/[^/]+\.app)\//.exec(process.executablePath)?.[1];
|
|
138
|
+
const bundleIdentifier = appRoot === undefined ? undefined : identifiers.get(appRoot);
|
|
139
|
+
return {
|
|
140
|
+
...process,
|
|
141
|
+
...(bundleIdentifier === undefined ? {} : { bundleIdentifier }),
|
|
142
|
+
};
|
|
143
|
+
}),
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=codex-doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-doctor.js","sourceRoot":"","sources":["../../../src/gateway/codex-doctor.ts"],"names":[],"mappings":"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"}
|