botmux 3.6.0 → 3.7.0
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/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/riff-backend.d.ts +7 -6
- package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
- package/dist/adapters/backend/riff-backend.js +8 -7
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +5 -2
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +15 -6
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/fs-policy.d.ts +62 -6
- package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
- package/dist/adapters/cli/fs-policy.js +70 -7
- package/dist/adapters/cli/fs-policy.js.map +1 -1
- package/dist/bot-registry.d.ts +13 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +15 -7
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle-env.js +12 -0
- package/dist/cli/daemon-lifecycle-env.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -7
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts +7 -5
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +37 -21
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +3 -0
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +12 -9
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +1 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/initial-user-turn.d.ts +14 -0
- package/dist/core/initial-user-turn.d.ts.map +1 -0
- package/dist/core/initial-user-turn.js +65 -0
- package/dist/core/initial-user-turn.js.map +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +6 -0
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/per-bot-env.d.ts.map +1 -1
- package/dist/core/per-bot-env.js +10 -0
- package/dist/core/per-bot-env.js.map +1 -1
- package/dist/core/plugins/pm2.d.ts.map +1 -1
- package/dist/core/plugins/pm2.js +4 -0
- package/dist/core/plugins/pm2.js.map +1 -1
- package/dist/core/session-discovery.d.ts +23 -0
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +162 -82
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +23 -4
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/worker-pool.d.ts +2 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +27 -4
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +18 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +205 -39
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/bot-onboarding.js +29 -5
- package/dist/dashboard/bot-onboarding.js.map +1 -1
- package/dist/dashboard/bot-payload.js +3 -3
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +5 -5
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/web/bot-onboarding.js +1 -1
- package/dist/dashboard/web/bot-onboarding.js.map +1 -1
- package/dist/dashboard/web/i18n.js +18 -18
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/{bot-defaults-page-VQMPUJ4Y.js → bot-defaults-page-UKA7K4JV.js} +2 -2
- package/dist/dashboard-web/chunks/{chunk-NP4JUBGS.js → chunk-3QAUJXAS.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-JMRGZQDB.js → chunk-FLGXZJTD.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-FNPGOZMX.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-SNKATZWK.js → chunk-KQB42ML5.js} +4 -4
- package/dist/dashboard-web/chunks/{connectors-page-DOY4J3ZL.js → connectors-page-A77YAB5Y.js} +1 -1
- package/dist/dashboard-web/chunks/{groups-page-74TS2DIH.js → groups-page-RUZNVXQB.js} +1 -1
- package/dist/dashboard-web/chunks/{insights-page-AYCO65JC.js → insights-page-RF7U7RTA.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-YKYLTSAN.js → monitor-room-7IVIS75W.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-QBIUNRBR.js → monitoring-page-5SSJRQZF.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-4PH2A26P.js → office-page-EOND3L5D.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-H73D5UT4.js → overview-page-NISBVBBJ.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-U4BTOQ7F.js → roles-page-BUMKD7Y4.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-RHRHX7R7.js → schedules-page-AVOOKLUH.js} +1 -1
- package/dist/dashboard-web/chunks/{sessions-page-VSC6AM5G.js → sessions-page-6HLSEAB7.js} +2 -2
- package/dist/dashboard-web/chunks/{settings-page-LF3RKM5P.js → settings-page-MJDZHQ4X.js} +1 -1
- package/dist/dashboard-web/chunks/{skills-page-SYOIGGXH.js → skills-page-5MW54PCC.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-RMBLASTW.js → team-federation-page-2SNIMVXI.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-XJXKKJRN.js → v3-page-W6SBXXQC.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-K3YVSTHJ.js → whiteboards-page-STC54KTP.js} +1 -1
- package/dist/dashboard-web/style.css +5 -0
- package/dist/dashboard.js +2 -2
- package/dist/dashboard.js.map +1 -1
- package/dist/desktop/main/dashboard-compat.js +1 -1
- package/dist/i18n/en.js +6 -6
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.js +6 -6
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +5 -4
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +40 -7
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +82 -1
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +46 -12
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/relay-target-routing.d.ts.map +1 -1
- package/dist/im/lark/relay-target-routing.js +12 -11
- package/dist/im/lark/relay-target-routing.js.map +1 -1
- package/dist/im/lark/reply-mode-command.d.ts.map +1 -1
- package/dist/im/lark/reply-mode-command.js +4 -3
- package/dist/im/lark/reply-mode-command.js.map +1 -1
- package/dist/index-daemon.js +6 -1
- package/dist/index-daemon.js.map +1 -1
- package/dist/mir-runner.js +1 -1
- package/dist/mir-runner.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +1 -1
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/card-prefs-store.js +8 -8
- package/dist/services/card-prefs-store.js.map +1 -1
- package/dist/services/chat-reply-mode-store.d.ts.map +1 -1
- package/dist/services/chat-reply-mode-store.js +16 -11
- package/dist/services/chat-reply-mode-store.js.map +1 -1
- package/dist/services/insight/types.d.ts +3 -1
- package/dist/services/insight/types.d.ts.map +1 -1
- package/dist/services/insight/types.js.map +1 -1
- package/dist/services/project-scanner.d.ts +4 -4
- package/dist/services/project-scanner.d.ts.map +1 -1
- package/dist/services/project-scanner.js +13 -5
- package/dist/services/project-scanner.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts +4 -0
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +53 -5
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/services/usage-ledger.d.ts.map +1 -1
- package/dist/services/usage-ledger.js +1 -0
- package/dist/services/usage-ledger.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts +37 -1
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +61 -3
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/setup-args.js +1 -1
- package/dist/setup/setup-args.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/allowed-users-apply.d.ts.map +1 -1
- package/dist/utils/allowed-users-apply.js +3 -2
- package/dist/utils/allowed-users-apply.js.map +1 -1
- package/dist/utils/child-env.d.ts +31 -2
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +61 -3
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/file-lock.d.ts +10 -0
- package/dist/utils/file-lock.d.ts.map +1 -1
- package/dist/utils/file-lock.js +295 -53
- package/dist/utils/file-lock.js.map +1 -1
- package/dist/worker.js +52 -3
- package/dist/worker.js.map +1 -1
- package/dist/workflows/v3/run-envelope.d.ts +24 -24
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/chunk-P327LXOT.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-rows.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;iFAG6E;IAC7E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;gFAG4E;IAC5E,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;8EAG0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;mDAC+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;6CACyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;mDAC+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;wEAIoE;IACpE,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,6EAA6E;IAC7E,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;gFAC4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;8DAE0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAE9E;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAA0B;AACxE,wBAAgB,UAAU,IAAI,MAAM,CAA0B;AAY9D,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE1D;
|
|
1
|
+
{"version":3,"file":"dashboard-rows.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-rows.js","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAc,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA0B,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AA+E3D,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAe,QAAQ;IACpE,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,UAAU,CAAC,IAAY,IAAU,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AACxE,MAAM,UAAU,UAAU,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;AAE9D,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAU;IACpC,OAAO,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAU,EAAE,UAAmB;IACxD,OAAO,oBAAoB,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,GAAG,EAAE,UAAU,IAAI,CAAC,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"dashboard-rows.js","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DaemonSession } from './types.js';
|
|
2
|
+
/** CLI 空启动后置位。幂等。 */
|
|
3
|
+
export declare function markInitialUserTurnPending(ds: DaemonSession): void;
|
|
4
|
+
/** 只读探测——用于在 await 之前判断「这轮可能要走 opening」,不消费状态。 */
|
|
5
|
+
export declare function isInitialUserTurnPending(ds: DaemonSession): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* 同步一次性认领。返回 true 表示**本轮**是 opening;返回 false 表示别人已经拿走
|
|
8
|
+
* 了(或本来就没有),按普通 follow-up 处理。调用点与真正的 fork/send 之间可以有
|
|
9
|
+
* await,失败时用 {@link releaseInitialUserTurn} 归还。
|
|
10
|
+
*/
|
|
11
|
+
export declare function claimInitialUserTurn(ds: DaemonSession): boolean;
|
|
12
|
+
/** 认领后投递失败(fork 抛错 / worker 拒收)时归还,下一条消息重新竞争。 */
|
|
13
|
+
export declare function releaseInitialUserTurn(ds: DaemonSession): void;
|
|
14
|
+
//# sourceMappingURL=initial-user-turn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-user-turn.d.ts","sourceRoot":"","sources":["../../src/core/initial-user-turn.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAahD,qBAAqB;AACrB,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAIlE;AAED,kDAAkD;AAClD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAInE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAK/D;AAED,iDAAiD;AACjD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAE9D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 「CLI 已空启动,但还没吃过任何真实用户轮」的一次性会话状态。
|
|
3
|
+
*
|
|
4
|
+
* 背景:`/repo <name>` / 选仓卡 / 跳过 / mid-session 切仓这几条路径,在**没有**
|
|
5
|
+
* 任何 buffered 用户输入时会 `forkWorker(ds, '', false)` 把 CLI 拉起来待命。这时
|
|
6
|
+
* 进程活着、`ds.worker` 非空,但 CLI 从没见过 `<botmux_routing>` /
|
|
7
|
+
* `<botmux_builtin_skills>` / `<identity>` —— 这些只由 `buildNewTopicCliInput`
|
|
8
|
+
* 产出。下一条业务消息若只按「worker 活没活」判定,就会被当 follow-up,开场上下文
|
|
9
|
+
* 永久丢失(见 `Session.initialUserTurnPending` 的注释与 PR #477)。
|
|
10
|
+
*
|
|
11
|
+
* 状态放在**持久化的 `Session`** 上而不是内存 `DaemonSession`:空启动之后、首条
|
|
12
|
+
* 业务消息之前 daemon 重启,重启后那条消息仍必须是 opening。`ds.session` 在
|
|
13
|
+
* restore 时就是从磁盘读回来的同一个对象,所以恢复是自动的。
|
|
14
|
+
*
|
|
15
|
+
* 并发语义:`claimInitialUserTurn` 是**同步**的读-改-写,Node 单线程下天然互斥,
|
|
16
|
+
* 因此紧邻/并发到达的两条首消息只有一条能成为 opener,另一条按既有队列顺序退化为
|
|
17
|
+
* 普通 follow-up。投递失败(fork 抛错 / worker 拒收)时用 `releaseInitialUserTurn`
|
|
18
|
+
* 把状态放回去,下一条消息重新竞争。
|
|
19
|
+
*
|
|
20
|
+
* 边界(刻意不消费的路径):adopt/bridge 会话从不接受 botmux 包装,因此
|
|
21
|
+
* `isInitialUserTurnPending` 直接对它们返回 false;botmux 控制命令、CLI raw
|
|
22
|
+
* passthrough、卡片回调等在到达输入构造点之前就 return 了,天然不消费。
|
|
23
|
+
*/
|
|
24
|
+
import * as sessionStore from '../services/session-store.js';
|
|
25
|
+
import { logger } from '../utils/logger.js';
|
|
26
|
+
/** 落盘失败绝不能掀翻消息路由:状态最差退化成「只在本进程生效」。 */
|
|
27
|
+
function persist(ds) {
|
|
28
|
+
try {
|
|
29
|
+
sessionStore.updateSession(ds.session);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
logger.warn(`[${ds.session.sessionId.substring(0, 8)}] Failed to persist initialUserTurnPending: ${e instanceof Error ? e.message : e}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** CLI 空启动后置位。幂等。 */
|
|
36
|
+
export function markInitialUserTurnPending(ds) {
|
|
37
|
+
if (ds.session.initialUserTurnPending === true)
|
|
38
|
+
return;
|
|
39
|
+
ds.session.initialUserTurnPending = true;
|
|
40
|
+
persist(ds);
|
|
41
|
+
}
|
|
42
|
+
/** 只读探测——用于在 await 之前判断「这轮可能要走 opening」,不消费状态。 */
|
|
43
|
+
export function isInitialUserTurnPending(ds) {
|
|
44
|
+
// 外部 CLI 的桥接会话从不接受 botmux 的 XML 包装,opening 对它们无意义。
|
|
45
|
+
if (ds.adoptedFrom)
|
|
46
|
+
return false;
|
|
47
|
+
return ds.session.initialUserTurnPending === true;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 同步一次性认领。返回 true 表示**本轮**是 opening;返回 false 表示别人已经拿走
|
|
51
|
+
* 了(或本来就没有),按普通 follow-up 处理。调用点与真正的 fork/send 之间可以有
|
|
52
|
+
* await,失败时用 {@link releaseInitialUserTurn} 归还。
|
|
53
|
+
*/
|
|
54
|
+
export function claimInitialUserTurn(ds) {
|
|
55
|
+
if (!isInitialUserTurnPending(ds))
|
|
56
|
+
return false;
|
|
57
|
+
delete ds.session.initialUserTurnPending;
|
|
58
|
+
persist(ds);
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
/** 认领后投递失败(fork 抛错 / worker 拒收)时归还,下一条消息重新竞争。 */
|
|
62
|
+
export function releaseInitialUserTurn(ds) {
|
|
63
|
+
markInitialUserTurnPending(ds);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=initial-user-turn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-user-turn.js","sourceRoot":"","sources":["../../src/core/initial-user-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,sCAAsC;AACtC,SAAS,OAAO,CAAC,EAAiB;IAChC,IAAI,CAAC;QACH,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,+CAA+C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5H,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,0BAA0B,CAAC,EAAiB;IAC1D,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI;QAAE,OAAO;IACvD,EAAE,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,wBAAwB,CAAC,EAAiB;IACxD,mDAAmD;IACnD,IAAI,EAAE,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAiB;IACpD,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,sBAAsB,CAAC,EAAiB;IACtD,0BAA0B,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAY,KAAK,EAAa,MAAM,oBAAoB,CAAC;AAMhE,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAC;AAQ7C,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAChD,SAAS,EAAE,MAAM,gBAAgB,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,iEAAiE;IACjE,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA8D9D;AAMD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CASpE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAM9E;AAID;2CAC2C;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C;uEACuE;AACvE,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,iBAA8C,GAAG,IAAI,CAWlG;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGjC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAY,KAAK,EAAa,MAAM,oBAAoB,CAAC;AAMhE,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAC;AAQ7C,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAChD,SAAS,EAAE,MAAM,gBAAgB,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,iEAAiE;IACjE,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA8D9D;AAMD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CASpE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAM9E;AAID;2CAC2C;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C;uEACuE;AACvE,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,iBAA8C,GAAG,IAAI,CAWlG;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGjC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAmBnG;AAWD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,UAAU,CAAC,OAAO,KAAK,CAAC,CAmC1B;AA2CD,2EAA2E;AAC3E,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
package/dist/core/maintenance.js
CHANGED
|
@@ -194,6 +194,11 @@ export function detachedRestartEnv(inheritedEnv = process.env) {
|
|
|
194
194
|
const env = { ...inheritedEnv };
|
|
195
195
|
// The dashboard/daemon snapshot may outlive a ~/.botmux/.env edit. Let the
|
|
196
196
|
// fresh CLI reload these settings from the file.
|
|
197
|
+
//
|
|
198
|
+
// This list MUST mirror DAEMON_ENV_KEYS in src/cli/daemon-lifecycle-env.ts:
|
|
199
|
+
// every key baked into the PM2 env block there has to be stripped here, or a
|
|
200
|
+
// detached restart (dashboard update/restart, maintenance auto-update) keeps
|
|
201
|
+
// the stale baked value instead of reloading from the file. Keep them in sync.
|
|
197
202
|
for (const key of [
|
|
198
203
|
'WEB_EXTERNAL_HOST',
|
|
199
204
|
'BOTMUX_DASHBOARD_EXTERNAL_HOST',
|
|
@@ -201,6 +206,7 @@ export function detachedRestartEnv(inheritedEnv = process.env) {
|
|
|
201
206
|
'BOTMUX_DASHBOARD_PORT',
|
|
202
207
|
'BOTMUX_DAEMON_IPC_BASE_PORT',
|
|
203
208
|
'BOTMUX_DASHBOARD_PUBLIC_READONLY',
|
|
209
|
+
'BOTMUX_PUBLIC_URL',
|
|
204
210
|
])
|
|
205
211
|
delete env[key];
|
|
206
212
|
return env;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"per-bot-env.d.ts","sourceRoot":"","sources":["../../src/core/per-bot-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"per-bot-env.d.ts","sourceRoot":"","sources":["../../src/core/per-bot-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAwCH,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAatE"}
|
package/dist/core/per-bot-env.js
CHANGED
|
@@ -41,7 +41,17 @@ const RESERVED_ENV_KEYS = new Set([
|
|
|
41
41
|
'__OWNER_OPEN_ID',
|
|
42
42
|
'SESSION_DATA_DIR',
|
|
43
43
|
'IS_SANDBOX',
|
|
44
|
+
// Claude session-identity markers (mirrors CLAUDE_SESSION_MARKER_ENV_KEYS in
|
|
45
|
+
// utils/child-env.ts): explicitly configuring one would mark the bot's CLI
|
|
46
|
+
// as a nested Claude child session (CLAUDE_CODE_CHILD_SESSION silently turns
|
|
47
|
+
// transcript persistence off) or pin a foreign session identity. CLAUDE_EFFORT
|
|
48
|
+
// stays configurable — it's a behavior knob, not an identity marker.
|
|
44
49
|
'CLAUDECODE',
|
|
50
|
+
'CLAUDE_CODE_CHILD_SESSION',
|
|
51
|
+
'CLAUDE_CODE_SESSION_ID',
|
|
52
|
+
'CLAUDE_CODE_ENTRYPOINT',
|
|
53
|
+
'CLAUDE_CODE_EXECPATH',
|
|
54
|
+
'CLAUDE_PID',
|
|
45
55
|
'CLAUDE_CONFIG_DIR',
|
|
46
56
|
'CODEX_HOME',
|
|
47
57
|
// Grok data root: daemon installs hooks/skills and drains transcripts under
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"per-bot-env.js","sourceRoot":"","sources":["../../src/core/per-bot-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,YAAY;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,+DAA+D;IAC/D,WAAW;IACX,oCAAoC;IACpC,mBAAmB;CACpB,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,GAAG,GACP,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,CAAC,CAAE,GAA+B;QAClC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,sBAAsB,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"per-bot-env.js","sourceRoot":"","sources":["../../src/core/per-bot-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,+EAA+E;IAC/E,qEAAqE;IACrE,YAAY;IACZ,2BAA2B;IAC3B,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,YAAY;IACZ,mBAAmB;IACnB,YAAY;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,+DAA+D;IAC/D,WAAW;IACX,oCAAoC;IACpC,mBAAmB;CACpB,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,GAAG,GACP,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,CAAC,CAAE,GAA+B;QAClC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,sBAAsB,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/pm2.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,QAA2B,CAAC;AACxD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAqBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,IAAI,CAarI;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/pm2.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,QAA2B,CAAC;AACxD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAqBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,IAAI,CAarI;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAAG,MAAM,CAmBxH"}
|
package/dist/core/plugins/pm2.js
CHANGED
|
@@ -52,6 +52,10 @@ export function capturePluginPm2(args, opts = {}) {
|
|
|
52
52
|
env: pm2Env(opts.env),
|
|
53
53
|
shell: pm2.shell ?? false,
|
|
54
54
|
timeout: opts.timeoutMs ?? 10_000,
|
|
55
|
+
// `pm2 jlist` output scales with the process count (full env per process);
|
|
56
|
+
// Node's 1 MiB default spawnSync buffer overflows to ENOBUFS on large
|
|
57
|
+
// fleets. Match cli.ts pm2Capture — lift the cap far above any real size.
|
|
58
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
55
59
|
});
|
|
56
60
|
if (result.status !== 0) {
|
|
57
61
|
const detail = result.error?.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm2.js","sourceRoot":"","sources":["../../../src/core/plugins/pm2.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pm2.js","sourceRoot":"","sources":["../../../src/core/plugins/pm2.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,6 +180,29 @@ export declare function excludeOwnedHerdrAdoptTargets(candidates: readonly Adopt
|
|
|
180
180
|
sessionName: string;
|
|
181
181
|
agentName: string;
|
|
182
182
|
}[]): AdoptableSession[];
|
|
183
|
+
/**
|
|
184
|
+
* 只解析指定的那一个 tmux pane,不扫全机。
|
|
185
|
+
*
|
|
186
|
+
* 用在「用户已经从 /adopt 卡片里选好了目标」这种场景:卡片 option 里带着 tmux
|
|
187
|
+
* 地址,没必要为了拿到 cwd / 尺寸 / sessionId 再把所有 pane 重扫一遍。全量扫描
|
|
188
|
+
* 要对每个 pane 走进程树、且树里每个节点都拉一次全量 `ps`,pane 一多就是数秒级
|
|
189
|
+
* 同步阻塞(本机 31 个 pane 实测 5.4s);而飞书卡片回调只有 3s 预算,超了用户就
|
|
190
|
+
* 会看到「目标回调服务超时未响应」。
|
|
191
|
+
*
|
|
192
|
+
* `filterCliId` 语义与 `discoverAdoptableSessions` 完全一致,调用方必须原样传入
|
|
193
|
+
* 同一个值 —— 卡片 option 是用户可控输入,丢掉过滤等于允许把 bot 切到别的 CLI。
|
|
194
|
+
*
|
|
195
|
+
* ⚠️ `tmux display -t` 是**模糊解析**,且失败时不报错。实测(tmux 3.6a):
|
|
196
|
+
* 请求 `nonexist:0.0` → exit 0,stdout 只有分隔符、pane_pid 为空串
|
|
197
|
+
* 请求 `claude:99.0`(window 索引不存在)→ exit 0,解析到 `claude:2.3`
|
|
198
|
+
* 请求 `claude:1.99`(pane 索引不存在)→ exit 0,解析到 `claude:1.1`
|
|
199
|
+
* 请求 `clau:1.3`(会话名前缀)→ exit 0,解析到 `claude:1.3`
|
|
200
|
+
* 所以既不能靠 exit code 判死活,也不能相信「拿到一个正数 pid」就等于命中了
|
|
201
|
+
* 请求的那个 pane。这里让同一条 display 连 canonical 地址一起回显,再要求它与
|
|
202
|
+
* 请求的 target **严格相等**:一次同时挡掉「空 pid」和「静默命中别的 pane」。
|
|
203
|
+
* 格式串与 `discoverAdoptableSessions` 的 list-panes 完全一致,两边可直接比较。
|
|
204
|
+
*/
|
|
205
|
+
export declare function discoverAdoptableSessionByTarget(tmuxTarget: string, filterCliId?: CliId): AdoptableSession | undefined;
|
|
183
206
|
/**
|
|
184
207
|
* Scan all tmux panes for running CLI processes that can be adopted by Botmux.
|
|
185
208
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -763,7 +763,157 @@ export function excludeOwnedHerdrAdoptTargets(candidates, ownedTargets) {
|
|
|
763
763
|
return !owned.has(`${candidate.herdrSessionName}\0${candidate.herdrAgentName}`);
|
|
764
764
|
});
|
|
765
765
|
}
|
|
766
|
+
/**
|
|
767
|
+
* 把单个 tmux pane 解析成一条可 adopt 的会话,解析不出来就返回 undefined。
|
|
768
|
+
*
|
|
769
|
+
* 这是 `discoverAdoptableSessions` 每 pane 循环体的原样抽取,目的是让「扫全部
|
|
770
|
+
* pane」和「只解析某一个 pane」共用同一份判定逻辑 —— 包括 `bmx-*` 跳过、
|
|
771
|
+
* `filterCliId` 过滤、codex launcher 跟随。两条路径必须永远同构,否则快路径会
|
|
772
|
+
* 绕开 CLI 过滤,成为把 bot 切到别的 agent 实现的口子。
|
|
773
|
+
*/
|
|
774
|
+
function resolveAdoptableSessionForPane(tmuxTarget, panePid, filterCliId) {
|
|
775
|
+
// 2. Filter out bmx-* sessions
|
|
776
|
+
const sessionName = tmuxTarget.split(':')[0];
|
|
777
|
+
if (sessionName?.startsWith('bmx-'))
|
|
778
|
+
return undefined;
|
|
779
|
+
// 3. Recursively search process tree for known CLI binaries (up to 3 levels)
|
|
780
|
+
const match = findCliProcess(panePid, 3, filterCliId);
|
|
781
|
+
if (!match)
|
|
782
|
+
return undefined;
|
|
783
|
+
// 3b. Filter by CLI type if requested
|
|
784
|
+
if (filterCliId && match.cliId !== filterCliId)
|
|
785
|
+
return undefined;
|
|
786
|
+
// If the match came from an argv scan on a COMM_ARGV_LAUNCHER
|
|
787
|
+
// (node/ttadk/aiden/python… — matchedByComm=false), the matched pid is
|
|
788
|
+
// the LAUNCHER, not the CLI. The real CLI is a descendant that writes the
|
|
789
|
+
// session state / owns the transcript (e.g. claude keys
|
|
790
|
+
// ~/.claude/sessions/<pid>.json to the child, not the wrapper), so
|
|
791
|
+
// reading meta off the launcher pid misses it and leaves sessionId
|
|
792
|
+
// undefined → no bridgeJsonlPath → adopted claude's replies never reach
|
|
793
|
+
// Lark. findLaunchedCliPid does a comm-only BFS from the launcher's
|
|
794
|
+
// children to find the actual CLI binary. When none exists yet (or this
|
|
795
|
+
// process legitimately IS the CLI running under a launcher comm, e.g. a
|
|
796
|
+
// node-based CLI with no renamed process title), fall back to match.pid.
|
|
797
|
+
//
|
|
798
|
+
// matchedByComm=true means comm already named the CLI (`claude`/`codex`/…)
|
|
799
|
+
// — that process IS the selected CLI and may legitimately have another
|
|
800
|
+
// instance of the same CLI deeper in its tree, so never follow it.
|
|
801
|
+
const cliPid = !match.matchedByComm
|
|
802
|
+
? (findLaunchedCliPid(match.pid, match.cliId) ?? match.pid)
|
|
803
|
+
: match.pid;
|
|
804
|
+
// 4. Read CLI working directory (Linux: /proc; macOS: lsof)
|
|
805
|
+
const cwd = readCwd(cliPid);
|
|
806
|
+
if (!cwd)
|
|
807
|
+
return undefined;
|
|
808
|
+
// 5. Try to read CLI session metadata
|
|
809
|
+
let sessionId;
|
|
810
|
+
let startedAt;
|
|
811
|
+
if (match.cliId === 'claude-code') {
|
|
812
|
+
const meta = readClaudeSessionMeta(cliPid);
|
|
813
|
+
if (meta) {
|
|
814
|
+
sessionId = meta.sessionId;
|
|
815
|
+
startedAt = meta.startedAt;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
else if (match.cliId === 'codex') {
|
|
819
|
+
// Codex has no per-pid state file — bind via the native process's open
|
|
820
|
+
// rollout fd. Missing is acceptable: the worker keeps polling cliPid
|
|
821
|
+
// and attaches when the first post-adopt turn creates/opens the file.
|
|
822
|
+
const rollout = findCodexRolloutByPid(cliPid);
|
|
823
|
+
if (rollout)
|
|
824
|
+
sessionId = rollout.cliSessionId;
|
|
825
|
+
}
|
|
826
|
+
else if (match.cliId === 'coco') {
|
|
827
|
+
// CoCo: probe /proc/<pid>/fd for an open file under the session dir
|
|
828
|
+
// (session.log / traces.jsonl). events.jsonl itself is opened-written-
|
|
829
|
+
// closed per event so it's not reliable on its own. Worker-side
|
|
830
|
+
// re-probes too, so undefined here is acceptable.
|
|
831
|
+
const cocoSession = findCocoSessionByPid(cliPid);
|
|
832
|
+
if (cocoSession)
|
|
833
|
+
sessionId = cocoSession.sessionId;
|
|
834
|
+
}
|
|
835
|
+
else if (match.cliId === 'traex') {
|
|
836
|
+
// TRAE: same open-rollout-fd probe as Codex, with a TRAE-specific
|
|
837
|
+
// path matcher (~/.trae/cli/sessions/...). Worker-side re-probes by
|
|
838
|
+
// pid as a fallback, so undefined here is acceptable.
|
|
839
|
+
const rollout = findTraexRolloutByPid(cliPid);
|
|
840
|
+
if (rollout)
|
|
841
|
+
sessionId = rollout.cliSessionId;
|
|
842
|
+
}
|
|
843
|
+
// 5b. Fall back to the CLI process's own start time for uptime. Without
|
|
844
|
+
// this only Claude (which has a session JSON with startedAt) shows a real
|
|
845
|
+
// uptime; every other CLI — cursor/codex/coco/gemini… — rendered "未知".
|
|
846
|
+
if (startedAt === undefined) {
|
|
847
|
+
startedAt = readProcessStartTime(cliPid);
|
|
848
|
+
}
|
|
849
|
+
// 6. Get pane dimensions
|
|
850
|
+
const dims = getPaneDimensions(tmuxTarget);
|
|
851
|
+
if (!dims)
|
|
852
|
+
return undefined;
|
|
853
|
+
return {
|
|
854
|
+
source: 'tmux',
|
|
855
|
+
tmuxTarget,
|
|
856
|
+
panePid,
|
|
857
|
+
cliPid,
|
|
858
|
+
cliId: match.cliId,
|
|
859
|
+
sessionId,
|
|
860
|
+
cwd,
|
|
861
|
+
startedAt,
|
|
862
|
+
paneCols: dims.cols,
|
|
863
|
+
paneRows: dims.rows,
|
|
864
|
+
};
|
|
865
|
+
}
|
|
766
866
|
// ─── Public API ──────────────────────────────────────────────────────────────
|
|
867
|
+
/**
|
|
868
|
+
* 只解析指定的那一个 tmux pane,不扫全机。
|
|
869
|
+
*
|
|
870
|
+
* 用在「用户已经从 /adopt 卡片里选好了目标」这种场景:卡片 option 里带着 tmux
|
|
871
|
+
* 地址,没必要为了拿到 cwd / 尺寸 / sessionId 再把所有 pane 重扫一遍。全量扫描
|
|
872
|
+
* 要对每个 pane 走进程树、且树里每个节点都拉一次全量 `ps`,pane 一多就是数秒级
|
|
873
|
+
* 同步阻塞(本机 31 个 pane 实测 5.4s);而飞书卡片回调只有 3s 预算,超了用户就
|
|
874
|
+
* 会看到「目标回调服务超时未响应」。
|
|
875
|
+
*
|
|
876
|
+
* `filterCliId` 语义与 `discoverAdoptableSessions` 完全一致,调用方必须原样传入
|
|
877
|
+
* 同一个值 —— 卡片 option 是用户可控输入,丢掉过滤等于允许把 bot 切到别的 CLI。
|
|
878
|
+
*
|
|
879
|
+
* ⚠️ `tmux display -t` 是**模糊解析**,且失败时不报错。实测(tmux 3.6a):
|
|
880
|
+
* 请求 `nonexist:0.0` → exit 0,stdout 只有分隔符、pane_pid 为空串
|
|
881
|
+
* 请求 `claude:99.0`(window 索引不存在)→ exit 0,解析到 `claude:2.3`
|
|
882
|
+
* 请求 `claude:1.99`(pane 索引不存在)→ exit 0,解析到 `claude:1.1`
|
|
883
|
+
* 请求 `clau:1.3`(会话名前缀)→ exit 0,解析到 `claude:1.3`
|
|
884
|
+
* 所以既不能靠 exit code 判死活,也不能相信「拿到一个正数 pid」就等于命中了
|
|
885
|
+
* 请求的那个 pane。这里让同一条 display 连 canonical 地址一起回显,再要求它与
|
|
886
|
+
* 请求的 target **严格相等**:一次同时挡掉「空 pid」和「静默命中别的 pane」。
|
|
887
|
+
* 格式串与 `discoverAdoptableSessions` 的 list-panes 完全一致,两边可直接比较。
|
|
888
|
+
*/
|
|
889
|
+
export function discoverAdoptableSessionByTarget(tmuxTarget, filterCliId) {
|
|
890
|
+
let canonicalTarget;
|
|
891
|
+
let panePid;
|
|
892
|
+
try {
|
|
893
|
+
const out = execSync(`tmux display -t ${shellescape(tmuxTarget)} -p '#{session_name}:#{window_index}.#{pane_index} #{pane_pid}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], env: tmuxEnv() }).trim();
|
|
894
|
+
// 必须按**最后**一个空格切:会话名本身可能含空格(如「AD 智投星:0.0 651511」)。
|
|
895
|
+
// 与 discoverAdoptableSessions 解析 list-panes 的规则一致。
|
|
896
|
+
const spaceIdx = out.lastIndexOf(' ');
|
|
897
|
+
if (spaceIdx === -1)
|
|
898
|
+
return undefined;
|
|
899
|
+
canonicalTarget = out.slice(0, spaceIdx);
|
|
900
|
+
panePid = Number(out.slice(spaceIdx + 1));
|
|
901
|
+
}
|
|
902
|
+
catch {
|
|
903
|
+
// pane 已经不在了(或 tmux server 没起来)——交给调用方回落全量扫描。
|
|
904
|
+
return undefined;
|
|
905
|
+
}
|
|
906
|
+
// tmux 解析到了别的 pane(前缀命中 / 索引不存在时回落到活动 pane)→ 当作没找到。
|
|
907
|
+
if (canonicalTarget !== tmuxTarget)
|
|
908
|
+
return undefined;
|
|
909
|
+
// 死目标下 pane_pid 是空串,`Number('') === 0` 且 `isNaN(0) === false`——必须显式
|
|
910
|
+
// 挡掉 0 与负数,否则 findCliProcess(0, ...) 会从 pid 0 开始遍历整棵进程树,
|
|
911
|
+
// 每个节点再 fork 一次全量 `ps`,实测 >45s 同步冻结(比它要优化掉的 5.4s 更糟,
|
|
912
|
+
// 且直接冻住 daemon 事件循环、波及所有 bot)。
|
|
913
|
+
if (!Number.isInteger(panePid) || panePid <= 0)
|
|
914
|
+
return undefined;
|
|
915
|
+
return resolveAdoptableSessionForPane(tmuxTarget, panePid, filterCliId);
|
|
916
|
+
}
|
|
767
917
|
/**
|
|
768
918
|
* Scan all tmux panes for running CLI processes that can be adopted by Botmux.
|
|
769
919
|
*
|
|
@@ -796,87 +946,10 @@ export function discoverAdoptableSessions(filterCliId) {
|
|
|
796
946
|
const panePid = Number(line.slice(spaceIdx + 1));
|
|
797
947
|
if (isNaN(panePid))
|
|
798
948
|
continue;
|
|
799
|
-
// 2
|
|
800
|
-
const
|
|
801
|
-
if (
|
|
802
|
-
|
|
803
|
-
// 3. Recursively search process tree for known CLI binaries (up to 3 levels)
|
|
804
|
-
const match = findCliProcess(panePid, 3, filterCliId);
|
|
805
|
-
if (!match)
|
|
806
|
-
continue;
|
|
807
|
-
// 3b. Filter by CLI type if requested
|
|
808
|
-
if (filterCliId && match.cliId !== filterCliId)
|
|
809
|
-
continue;
|
|
810
|
-
// npm's `codex` shim can remain as a Node launcher whose argv matches
|
|
811
|
-
// before generic discovery reaches the native child. Only follow that
|
|
812
|
-
// launcher: a process whose comm is already `codex` is the selected CLI
|
|
813
|
-
// itself and may legitimately have another Codex deeper in its tree.
|
|
814
|
-
// Other CLIs preserve legacy pid selection; their wrapper behavior is
|
|
815
|
-
// handled by explicit wrapperCli.
|
|
816
|
-
const cliPid = match.cliId === 'codex' && !match.matchedByComm
|
|
817
|
-
? (findLaunchedCliPid(match.pid, 'codex') ?? match.pid)
|
|
818
|
-
: match.pid;
|
|
819
|
-
// 4. Read CLI working directory (Linux: /proc; macOS: lsof)
|
|
820
|
-
const cwd = readCwd(cliPid);
|
|
821
|
-
if (!cwd)
|
|
822
|
-
continue;
|
|
823
|
-
// 5. Try to read CLI session metadata
|
|
824
|
-
let sessionId;
|
|
825
|
-
let startedAt;
|
|
826
|
-
if (match.cliId === 'claude-code') {
|
|
827
|
-
const meta = readClaudeSessionMeta(cliPid);
|
|
828
|
-
if (meta) {
|
|
829
|
-
sessionId = meta.sessionId;
|
|
830
|
-
startedAt = meta.startedAt;
|
|
831
|
-
}
|
|
832
|
-
}
|
|
833
|
-
else if (match.cliId === 'codex') {
|
|
834
|
-
// Codex has no per-pid state file — bind via the native process's open
|
|
835
|
-
// rollout fd. Missing is acceptable: the worker keeps polling cliPid
|
|
836
|
-
// and attaches when the first post-adopt turn creates/opens the file.
|
|
837
|
-
const rollout = findCodexRolloutByPid(cliPid);
|
|
838
|
-
if (rollout)
|
|
839
|
-
sessionId = rollout.cliSessionId;
|
|
840
|
-
}
|
|
841
|
-
else if (match.cliId === 'coco') {
|
|
842
|
-
// CoCo: probe /proc/<pid>/fd for an open file under the session dir
|
|
843
|
-
// (session.log / traces.jsonl). events.jsonl itself is opened-written-
|
|
844
|
-
// closed per event so it's not reliable on its own. Worker-side
|
|
845
|
-
// re-probes too, so undefined here is acceptable.
|
|
846
|
-
const cocoSession = findCocoSessionByPid(cliPid);
|
|
847
|
-
if (cocoSession)
|
|
848
|
-
sessionId = cocoSession.sessionId;
|
|
849
|
-
}
|
|
850
|
-
else if (match.cliId === 'traex') {
|
|
851
|
-
// TRAE: same open-rollout-fd probe as Codex, with a TRAE-specific
|
|
852
|
-
// path matcher (~/.trae/cli/sessions/...). Worker-side re-probes by
|
|
853
|
-
// pid as a fallback, so undefined here is acceptable.
|
|
854
|
-
const rollout = findTraexRolloutByPid(cliPid);
|
|
855
|
-
if (rollout)
|
|
856
|
-
sessionId = rollout.cliSessionId;
|
|
857
|
-
}
|
|
858
|
-
// 5b. Fall back to the CLI process's own start time for uptime. Without
|
|
859
|
-
// this only Claude (which has a session JSON with startedAt) shows a real
|
|
860
|
-
// uptime; every other CLI — cursor/codex/coco/gemini… — rendered "未知".
|
|
861
|
-
if (startedAt === undefined) {
|
|
862
|
-
startedAt = readProcessStartTime(cliPid);
|
|
863
|
-
}
|
|
864
|
-
// 6. Get pane dimensions
|
|
865
|
-
const dims = getPaneDimensions(tmuxTarget);
|
|
866
|
-
if (!dims)
|
|
867
|
-
continue;
|
|
868
|
-
results.push({
|
|
869
|
-
source: 'tmux',
|
|
870
|
-
tmuxTarget,
|
|
871
|
-
panePid,
|
|
872
|
-
cliPid,
|
|
873
|
-
cliId: match.cliId,
|
|
874
|
-
sessionId,
|
|
875
|
-
cwd,
|
|
876
|
-
startedAt,
|
|
877
|
-
paneCols: dims.cols,
|
|
878
|
-
paneRows: dims.rows,
|
|
879
|
-
});
|
|
949
|
+
// 2-6 与单 pane 快路径共用同一份判定,见 resolveAdoptableSessionForPane。
|
|
950
|
+
const session = resolveAdoptableSessionForPane(tmuxTarget, panePid, filterCliId);
|
|
951
|
+
if (session)
|
|
952
|
+
results.push(session);
|
|
880
953
|
}
|
|
881
954
|
}
|
|
882
955
|
results.push(...discoverHerdrAdoptableSessions(filterCliId));
|
|
@@ -897,7 +970,14 @@ export function validateTmuxAdoptTarget(tmuxTarget, expectedPid, filterCliId) {
|
|
|
897
970
|
try {
|
|
898
971
|
const out = execSync(`tmux display -t ${shellescape(tmuxTarget)} -p '#{pane_pid}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], env: tmuxEnv() }).trim();
|
|
899
972
|
panePid = Number(out);
|
|
900
|
-
|
|
973
|
+
// 死/歧义目标下 `tmux display` 打印空 stdout 并以 exit 0 返回(不进 catch),
|
|
974
|
+
// 于是 `Number('') === 0` 且 `isNaN(0) === false`——必须显式挡掉 0 与负数,否则
|
|
975
|
+
// hasCliProcess(0, expectedPid, 6) 会从 pid 0 开始 BFS 整棵进程树、每个节点再
|
|
976
|
+
// fork 一次全量 `ps`(实测 >20s 同步冻结),并且一旦 expectedPid 恰好还活在机器
|
|
977
|
+
// 上任意位置就误报 alive。这条路径由 daemon 重启时对持久化 adopt 目标的校验触发
|
|
978
|
+
// (session-manager.ts 的 restore),目标 pane 可能已在两次重启间消失。
|
|
979
|
+
// 与 discoverAdoptableSessionByTarget 的守卫同源。
|
|
980
|
+
if (!Number.isInteger(panePid) || panePid <= 0)
|
|
901
981
|
return false;
|
|
902
982
|
}
|
|
903
983
|
catch {
|