botmux 3.4.3 → 3.5.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/README.en.md +10 -7
- package/README.md +11 -6
- package/dist/adapters/backend/herdr-backend.d.ts +43 -6
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +362 -28
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/reproduce-command.d.ts +39 -0
- package/dist/adapters/backend/reproduce-command.d.ts.map +1 -0
- package/dist/adapters/backend/reproduce-command.js +63 -0
- package/dist/adapters/backend/reproduce-command.js.map +1 -0
- package/dist/adapters/backend/session-backend-selector.d.ts +10 -1
- package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
- package/dist/adapters/backend/session-backend-selector.js +73 -4
- package/dist/adapters/backend/session-backend-selector.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +16 -0
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/cli/pi-initial-prompt.d.ts.map +1 -1
- package/dist/adapters/cli/pi-initial-prompt.js +5 -1
- package/dist/adapters/cli/pi-initial-prompt.js.map +1 -1
- package/dist/adapters/cli/traex.d.ts.map +1 -1
- package/dist/adapters/cli/traex.js +5 -0
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +3 -3
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/adapters/hook-installer.d.ts +7 -0
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +56 -0
- package/dist/adapters/hook-installer.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 +118 -2
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/capabilities.d.ts +24 -0
- package/dist/cli/capabilities.d.ts.map +1 -0
- package/dist/cli/capabilities.js +25 -0
- package/dist/cli/capabilities.js.map +1 -0
- package/dist/cli/create-group-resolver.d.ts +24 -0
- package/dist/cli/create-group-resolver.d.ts.map +1 -1
- package/dist/cli/create-group-resolver.js +23 -0
- package/dist/cli/create-group-resolver.js.map +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts +5 -7
- package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle-env.js +13 -7
- package/dist/cli/daemon-lifecycle-env.js.map +1 -1
- package/dist/cli/exact-chat-grant-client.d.ts +48 -0
- package/dist/cli/exact-chat-grant-client.d.ts.map +1 -0
- package/dist/cli/exact-chat-grant-client.js +108 -0
- package/dist/cli/exact-chat-grant-client.js.map +1 -0
- package/dist/cli/exact-chat-grant.d.ts +18 -0
- package/dist/cli/exact-chat-grant.d.ts.map +1 -0
- package/dist/cli/exact-chat-grant.js +97 -0
- package/dist/cli/exact-chat-grant.js.map +1 -0
- package/dist/cli.d.ts +10 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +770 -126
- package/dist/cli.js.map +1 -1
- package/dist/codex-rpc-engine.d.ts +26 -0
- package/dist/codex-rpc-engine.d.ts.map +1 -1
- package/dist/codex-rpc-engine.js +113 -2
- package/dist/codex-rpc-engine.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -0
- package/dist/config.js.map +1 -1
- package/dist/core/bot-live-control.d.ts +41 -0
- package/dist/core/bot-live-control.d.ts.map +1 -0
- package/dist/core/bot-live-control.js +135 -0
- package/dist/core/bot-live-control.js.map +1 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +28 -8
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/daemon-config-fence.d.ts +8 -0
- package/dist/core/daemon-config-fence.d.ts.map +1 -0
- package/dist/core/daemon-config-fence.js +13 -0
- package/dist/core/daemon-config-fence.js.map +1 -0
- package/dist/core/dashboard-events.d.ts +5 -0
- package/dist/core/dashboard-events.d.ts.map +1 -1
- package/dist/core/dashboard-events.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +21 -2
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +232 -5
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dispatch-registry.d.ts +12 -0
- package/dist/core/dispatch-registry.d.ts.map +1 -0
- package/dist/core/dispatch-registry.js +33 -0
- package/dist/core/dispatch-registry.js.map +1 -0
- package/dist/core/dispatch.d.ts +99 -0
- package/dist/core/dispatch.d.ts.map +1 -1
- package/dist/core/dispatch.js +136 -0
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +10 -3
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/persistent-backend.d.ts +16 -2
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +40 -0
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/session-discovery.d.ts +8 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +140 -8
- 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 +12 -8
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-title.d.ts +8 -0
- package/dist/core/session-title.d.ts.map +1 -1
- package/dist/core/session-title.js +54 -0
- package/dist/core/session-title.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +15 -0
- package/dist/core/terminal-write-auth.d.ts.map +1 -1
- package/dist/core/terminal-write-auth.js +20 -0
- package/dist/core/terminal-write-auth.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +3 -2
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +33 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +27 -8
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +389 -19
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +4 -2
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +397 -26
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/bot-onboarding.d.ts +127 -1
- package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/bot-onboarding.js +1104 -25
- package/dist/dashboard/bot-onboarding.js.map +1 -1
- package/dist/dashboard/debug-terminal.d.ts +18 -0
- package/dist/dashboard/debug-terminal.d.ts.map +1 -0
- package/dist/dashboard/debug-terminal.js +338 -0
- package/dist/dashboard/debug-terminal.js.map +1 -0
- package/dist/dashboard/public-redact.d.ts +2 -0
- package/dist/dashboard/public-redact.d.ts.map +1 -1
- package/dist/dashboard/public-redact.js +12 -3
- package/dist/dashboard/public-redact.js.map +1 -1
- package/dist/dashboard/registry.d.ts +8 -0
- package/dist/dashboard/registry.d.ts.map +1 -1
- package/dist/dashboard/registry.js +13 -0
- package/dist/dashboard/registry.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +47 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +102 -1
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +2 -0
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +1 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +24 -5
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +15 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +19 -0
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +76 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/icon-tooltip.d.ts +3 -0
- package/dist/dashboard/web/icon-tooltip.d.ts.map +1 -0
- package/dist/dashboard/web/icon-tooltip.js +108 -0
- package/dist/dashboard/web/icon-tooltip.js.map +1 -0
- package/dist/dashboard/web/sessions-kanban.js +2 -2
- package/dist/dashboard/web/sessions-kanban.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +48 -9
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +2 -0
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +46 -2
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +78 -0
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +88 -1
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/store.d.ts +2 -0
- package/dist/dashboard/web/store.d.ts.map +1 -1
- package/dist/dashboard/web/store.js +13 -1
- package/dist/dashboard/web/store.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-O376WSER.js +5 -0
- package/dist/dashboard-web/chunks/{chunk-JNRSPKLS.js → chunk-EJDYUINZ.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-CUV65BIQ.js → chunk-H7P5UV4W.js} +6 -6
- package/dist/dashboard-web/chunks/{chunk-P6GO5KT4.js → chunk-QCPPKCX3.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-UBOLHQCK.js → chunk-WXPMNEYV.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-KTC2QWNW.js → connectors-page-IR54AOAI.js} +1 -1
- package/dist/dashboard-web/chunks/{groups-page-B3EKGOLY.js → groups-page-3P4TLUMF.js} +1 -1
- package/dist/dashboard-web/chunks/{insights-page-X6RXNCWX.js → insights-page-TDCZV56A.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-LLRA5LQW.js → monitor-room-QWCWL3SX.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-7MT5FEOS.js → monitoring-page-IOWFSNVC.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-KD46D5TD.js → office-page-5AUPEHZP.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-JUWNH32O.js → overview-page-QJMI6NLW.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-P6F7NLOI.js → roles-page-WJVB52ET.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-XIHWZST4.js → schedules-page-RVRWHP4V.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-KWLGBX6G.js +3 -0
- package/dist/dashboard-web/chunks/settings-page-TNZEPC7V.js +2 -0
- package/dist/dashboard-web/chunks/{skills-page-A46KVWBL.js → skills-page-7YT5TIX5.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-SDUC56DF.js → team-federation-page-NJZKTU7A.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-J5JOTUSQ.js → v3-page-NQ73UA2Q.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-U7LSOAWI.js → whiteboards-page-DSM3MDMN.js} +1 -1
- package/dist/dashboard-web/style.css +198 -7
- package/dist/dashboard.js +294 -7
- package/dist/dashboard.js.map +1 -1
- package/dist/features/codex-notifier/adoption.d.ts +11 -0
- package/dist/features/codex-notifier/adoption.d.ts.map +1 -0
- package/dist/features/codex-notifier/adoption.js +11 -0
- package/dist/features/codex-notifier/adoption.js.map +1 -0
- package/dist/features/codex-notifier/app-opener.d.ts +21 -0
- package/dist/features/codex-notifier/app-opener.d.ts.map +1 -0
- package/dist/features/codex-notifier/app-opener.js +33 -0
- package/dist/features/codex-notifier/app-opener.js.map +1 -0
- package/dist/features/codex-notifier/card-action.d.ts +27 -0
- package/dist/features/codex-notifier/card-action.d.ts.map +1 -0
- package/dist/features/codex-notifier/card-action.js +84 -0
- package/dist/features/codex-notifier/card-action.js.map +1 -0
- package/dist/features/codex-notifier/card.d.ts +12 -0
- package/dist/features/codex-notifier/card.d.ts.map +1 -0
- package/dist/features/codex-notifier/card.js +150 -0
- package/dist/features/codex-notifier/card.js.map +1 -0
- package/dist/features/codex-notifier/codex-context.d.ts +12 -0
- package/dist/features/codex-notifier/codex-context.d.ts.map +1 -0
- package/dist/features/codex-notifier/codex-context.js +161 -0
- package/dist/features/codex-notifier/codex-context.js.map +1 -0
- package/dist/features/codex-notifier/config.d.ts +9 -0
- package/dist/features/codex-notifier/config.d.ts.map +1 -0
- package/dist/features/codex-notifier/config.js +11 -0
- package/dist/features/codex-notifier/config.js.map +1 -0
- package/dist/features/codex-notifier/confirmed-turn.d.ts +20 -0
- package/dist/features/codex-notifier/confirmed-turn.d.ts.map +1 -0
- package/dist/features/codex-notifier/confirmed-turn.js +130 -0
- package/dist/features/codex-notifier/confirmed-turn.js.map +1 -0
- package/dist/features/codex-notifier/emitter.d.ts +13 -0
- package/dist/features/codex-notifier/emitter.d.ts.map +1 -0
- package/dist/features/codex-notifier/emitter.js +33 -0
- package/dist/features/codex-notifier/emitter.js.map +1 -0
- package/dist/features/codex-notifier/event-store.d.ts +29 -0
- package/dist/features/codex-notifier/event-store.d.ts.map +1 -0
- package/dist/features/codex-notifier/event-store.js +217 -0
- package/dist/features/codex-notifier/event-store.js.map +1 -0
- package/dist/features/codex-notifier/event.d.ts +46 -0
- package/dist/features/codex-notifier/event.d.ts.map +1 -0
- package/dist/features/codex-notifier/event.js +188 -0
- package/dist/features/codex-notifier/event.js.map +1 -0
- package/dist/features/codex-notifier/hook-cli.d.ts +23 -0
- package/dist/features/codex-notifier/hook-cli.d.ts.map +1 -0
- package/dist/features/codex-notifier/hook-cli.js +130 -0
- package/dist/features/codex-notifier/hook-cli.js.map +1 -0
- package/dist/features/codex-notifier/hook-installer.d.ts +19 -0
- package/dist/features/codex-notifier/hook-installer.d.ts.map +1 -0
- package/dist/features/codex-notifier/hook-installer.js +158 -0
- package/dist/features/codex-notifier/hook-installer.js.map +1 -0
- package/dist/features/codex-notifier/index.d.ts +21 -0
- package/dist/features/codex-notifier/index.d.ts.map +1 -0
- package/dist/features/codex-notifier/index.js +19 -0
- package/dist/features/codex-notifier/index.js.map +1 -0
- package/dist/features/codex-notifier/internal-turn.d.ts +5 -0
- package/dist/features/codex-notifier/internal-turn.d.ts.map +1 -0
- package/dist/features/codex-notifier/internal-turn.js +43 -0
- package/dist/features/codex-notifier/internal-turn.js.map +1 -0
- package/dist/features/codex-notifier/outbox-worker.d.ts +71 -0
- package/dist/features/codex-notifier/outbox-worker.d.ts.map +1 -0
- package/dist/features/codex-notifier/outbox-worker.js +290 -0
- package/dist/features/codex-notifier/outbox-worker.js.map +1 -0
- package/dist/features/codex-notifier/outbox.d.ts +25 -0
- package/dist/features/codex-notifier/outbox.d.ts.map +1 -0
- package/dist/features/codex-notifier/outbox.js +225 -0
- package/dist/features/codex-notifier/outbox.js.map +1 -0
- package/dist/features/codex-notifier/paths.d.ts +7 -0
- package/dist/features/codex-notifier/paths.d.ts.map +1 -0
- package/dist/features/codex-notifier/paths.js +20 -0
- package/dist/features/codex-notifier/paths.js.map +1 -0
- package/dist/features/codex-notifier/screen-lock.d.ts +12 -0
- package/dist/features/codex-notifier/screen-lock.d.ts.map +1 -0
- package/dist/features/codex-notifier/screen-lock.js +47 -0
- package/dist/features/codex-notifier/screen-lock.js.map +1 -0
- package/dist/features/codex-notifier/side-conversation-monitor.d.ts +102 -0
- package/dist/features/codex-notifier/side-conversation-monitor.d.ts.map +1 -0
- package/dist/features/codex-notifier/side-conversation-monitor.js +774 -0
- package/dist/features/codex-notifier/side-conversation-monitor.js.map +1 -0
- package/dist/features/codex-notifier/types.d.ts +42 -0
- package/dist/features/codex-notifier/types.d.ts.map +1 -0
- package/dist/features/codex-notifier/types.js +2 -0
- package/dist/features/codex-notifier/types.js.map +1 -0
- package/dist/features/codex-notifier/worker-lock.d.ts +8 -0
- package/dist/features/codex-notifier/worker-lock.d.ts.map +1 -0
- package/dist/features/codex-notifier/worker-lock.js +108 -0
- package/dist/features/codex-notifier/worker-lock.js.map +1 -0
- package/dist/global-config.d.ts +13 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +30 -0
- package/dist/global-config.js.map +1 -1
- package/dist/im/lark/card-builder.js +2 -2
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +2 -0
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +165 -34
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +62 -4
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +237 -29
- 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 +20 -30
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/services/codex-app-threads.d.ts +47 -0
- package/dist/services/codex-app-threads.d.ts.map +1 -1
- package/dist/services/codex-app-threads.js +502 -10
- package/dist/services/codex-app-threads.js.map +1 -1
- package/dist/services/exact-chat-grant.d.ts +83 -0
- package/dist/services/exact-chat-grant.d.ts.map +1 -0
- package/dist/services/exact-chat-grant.js +249 -0
- package/dist/services/exact-chat-grant.js.map +1 -0
- package/dist/services/group-creator.d.ts +11 -0
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +18 -9
- package/dist/services/group-creator.js.map +1 -1
- package/dist/services/local-cli-opener.d.ts.map +1 -1
- package/dist/services/local-cli-opener.js +10 -5
- package/dist/services/local-cli-opener.js.map +1 -1
- package/dist/services/traex-user-input.d.ts +19 -0
- package/dist/services/traex-user-input.d.ts.map +1 -0
- package/dist/services/traex-user-input.js +57 -0
- package/dist/services/traex-user-input.js.map +1 -0
- package/dist/setup/open-platform-automation.d.ts +24 -3
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +45 -8
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/setup/verify-permissions.d.ts +18 -0
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +60 -0
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/types.d.ts +70 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/stuck-detector.d.ts +45 -0
- package/dist/utils/stuck-detector.d.ts.map +1 -0
- package/dist/utils/stuck-detector.js +188 -0
- package/dist/utils/stuck-detector.js.map +1 -0
- package/dist/utils/stuck-key-guard.d.ts +75 -0
- package/dist/utils/stuck-key-guard.d.ts.map +1 -0
- package/dist/utils/stuck-key-guard.js +77 -0
- package/dist/utils/stuck-key-guard.js.map +1 -0
- package/dist/worker.js +705 -93
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-B5AY4B2J.js +0 -5
- package/dist/dashboard-web/chunks/sessions-page-2VECQ27T.js +0 -3
- package/dist/dashboard-web/chunks/settings-page-HMIUE2JA.js +0 -2
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { execFileSync, spawn } from 'node:child_process';
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { basename, delimiter, dirname, isAbsolute, join } from 'node:path';
|
|
2
5
|
import * as pty from 'node-pty';
|
|
3
6
|
import xtermHeadless from '@xterm/headless';
|
|
4
7
|
import { logger } from '../../utils/logger.js';
|
|
@@ -19,6 +22,19 @@ const SERVER_BOOT_DEADLINE_MS = 5000;
|
|
|
19
22
|
// agent still re-arms the watcher and we never accumulate an
|
|
20
23
|
// indefinitely-orphaned subprocess on process teardown.
|
|
21
24
|
const STATUS_WAIT_TIMEOUT_MS = 30_000;
|
|
25
|
+
// Herdr 0.7.5 replaced the free-form `agent start --cwd -- <argv...>` command
|
|
26
|
+
// with a managed-agent facade that targets an existing shell pane and launches
|
|
27
|
+
// one of Herdr's known coding-agent kinds. The command itself waits for the TUI
|
|
28
|
+
// to become interactive, so let it use its 30s default plus a small IPC margin.
|
|
29
|
+
const PANE_AGENT_START_TIMEOUT_MS = 30_000;
|
|
30
|
+
const PANE_AGENT_EXEC_TIMEOUT_MS = PANE_AGENT_START_TIMEOUT_MS + 5_000;
|
|
31
|
+
// A newly-created workspace can be returned before its login shell reaches an
|
|
32
|
+
// interactive prompt. `agent start` then fails immediately with
|
|
33
|
+
// `agent_pane_busy`; retry only that transient response, bounded independently
|
|
34
|
+
// from the agent's own startup timeout.
|
|
35
|
+
const PANE_SHELL_READY_TIMEOUT_MS = 5_000;
|
|
36
|
+
const PANE_SHELL_READY_POLL_MS = 100;
|
|
37
|
+
const PANE_SHELL_READY_MAX_ATTEMPTS = Math.ceil(PANE_SHELL_READY_TIMEOUT_MS / PANE_SHELL_READY_POLL_MS);
|
|
22
38
|
// Watch the full useful lifecycle, not just settled statuses. Herdr's
|
|
23
39
|
// `wait agent-status --status X` is level-triggered: when the pane is already
|
|
24
40
|
// in X it succeeds immediately. After one status wins we therefore exclude it
|
|
@@ -26,6 +42,21 @@ const STATUS_WAIT_TIMEOUT_MS = 30_000;
|
|
|
26
42
|
// is what re-enables `done`/`blocked`/`idle` for the following turn without
|
|
27
43
|
// hot-looping on the settled state between turns.
|
|
28
44
|
const WATCHED_STATUSES = ['working', 'done', 'blocked', 'idle'];
|
|
45
|
+
const PANE_AGENT_KIND_BY_EXECUTABLE = {
|
|
46
|
+
pi: 'pi',
|
|
47
|
+
claude: 'claude',
|
|
48
|
+
codex: 'codex',
|
|
49
|
+
gemini: 'gemini',
|
|
50
|
+
'cursor-agent': 'cursor',
|
|
51
|
+
agy: 'agy',
|
|
52
|
+
omp: 'omp',
|
|
53
|
+
opencode: 'opencode',
|
|
54
|
+
copilot: 'copilot',
|
|
55
|
+
kimi: 'kimi',
|
|
56
|
+
'kiro-cli': 'kiro',
|
|
57
|
+
grok: 'grok',
|
|
58
|
+
hermes: 'hermes',
|
|
59
|
+
};
|
|
29
60
|
function tryJsonCommand(args, opts) {
|
|
30
61
|
try {
|
|
31
62
|
const out = execFileSync('herdr', args, {
|
|
@@ -46,6 +77,135 @@ function jsonCommand(args, opts) {
|
|
|
46
77
|
const result = tryJsonCommand(args, opts);
|
|
47
78
|
return result.ok ? result.value : undefined;
|
|
48
79
|
}
|
|
80
|
+
/** Required command variant used by multi-step Herdr protocols.
|
|
81
|
+
*
|
|
82
|
+
* `jsonCommand()` intentionally collapses command failures to undefined for
|
|
83
|
+
* best-effort probes. Spawn is different: swallowing stderr turned Herdr
|
|
84
|
+
* 0.7.5's actionable `unknown option: --cwd` into the generic
|
|
85
|
+
* "failed to start agent" message. Keep command arguments (which may contain
|
|
86
|
+
* credentials in --env values) out of the exception while preserving the
|
|
87
|
+
* upstream error code/message.
|
|
88
|
+
*/
|
|
89
|
+
function requiredJsonCommand(operation, args, opts) {
|
|
90
|
+
let raw = '';
|
|
91
|
+
try {
|
|
92
|
+
raw = execFileSync('herdr', args, {
|
|
93
|
+
encoding: 'utf-8',
|
|
94
|
+
input: opts?.input,
|
|
95
|
+
stdio: opts?.input === undefined ? ['ignore', 'pipe', 'pipe'] : ['pipe', 'pipe', 'pipe'],
|
|
96
|
+
timeout: opts?.timeout ?? 5000,
|
|
97
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
98
|
+
env: opts?.env,
|
|
99
|
+
}).trim();
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
const stderr = typeof err?.stderr === 'string' ? err.stderr.trim() : err?.stderr?.toString?.().trim();
|
|
103
|
+
const stdout = typeof err?.stdout === 'string' ? err.stdout.trim() : err?.stdout?.toString?.().trim();
|
|
104
|
+
const detail = stderr || stdout;
|
|
105
|
+
throw new Error(`${operation} failed${detail ? `: ${detail.slice(0, 1000)}` : ''}`);
|
|
106
|
+
}
|
|
107
|
+
if (!raw)
|
|
108
|
+
throw new Error(`${operation} failed: empty response`);
|
|
109
|
+
let value;
|
|
110
|
+
try {
|
|
111
|
+
value = JSON.parse(raw);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
throw new Error(`${operation} failed: invalid JSON response`);
|
|
115
|
+
}
|
|
116
|
+
if (value?.error) {
|
|
117
|
+
const code = typeof value.error.code === 'string' ? value.error.code : 'unknown_error';
|
|
118
|
+
const message = typeof value.error.message === 'string' ? value.error.message : 'unknown error';
|
|
119
|
+
throw new Error(`${operation} failed: ${code}: ${message}`);
|
|
120
|
+
}
|
|
121
|
+
return value;
|
|
122
|
+
}
|
|
123
|
+
function herdrUsesPaneAgentStart() {
|
|
124
|
+
try {
|
|
125
|
+
const out = execFileSync('herdr', ['--version'], {
|
|
126
|
+
encoding: 'utf-8',
|
|
127
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
128
|
+
timeout: 3000,
|
|
129
|
+
}).trim();
|
|
130
|
+
const match = /(?:^|\s)(\d+)\.(\d+)\.(\d+)(?:\D|$)/.exec(out);
|
|
131
|
+
if (!match)
|
|
132
|
+
return false;
|
|
133
|
+
const [, majorRaw, minorRaw, patchRaw] = match;
|
|
134
|
+
const major = Number(majorRaw);
|
|
135
|
+
const minor = Number(minorRaw);
|
|
136
|
+
const patch = Number(patchRaw);
|
|
137
|
+
return major > 0 || minor > 7 || (minor === 7 && patch >= 5);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function paneAgentKindForExecutable(bin) {
|
|
144
|
+
return PANE_AGENT_KIND_BY_EXECUTABLE[basename(bin)];
|
|
145
|
+
}
|
|
146
|
+
function environmentForPaneAgent(bin, childEnv) {
|
|
147
|
+
const env = { ...(childEnv ?? {}) };
|
|
148
|
+
if (!isAbsolute(bin))
|
|
149
|
+
return env;
|
|
150
|
+
const binDir = dirname(bin);
|
|
151
|
+
const currentPath = env.PATH ?? process.env.PATH ?? '';
|
|
152
|
+
const pathParts = currentPath.split(delimiter).filter(Boolean);
|
|
153
|
+
env.PATH = [binDir, ...pathParts.filter(part => part !== binDir)].join(delimiter);
|
|
154
|
+
return env;
|
|
155
|
+
}
|
|
156
|
+
function shellSingleQuote(value) {
|
|
157
|
+
if (value.includes('\0'))
|
|
158
|
+
throw new Error('Herdr launch argument contains NUL');
|
|
159
|
+
return `'${value.replaceAll("'", `'"'"'`)}'`;
|
|
160
|
+
}
|
|
161
|
+
function canForwardPaneAgentArgs(args) {
|
|
162
|
+
return args.every(arg => !/[\x00-\x1f\x7f]/.test(arg));
|
|
163
|
+
}
|
|
164
|
+
/** Build a short-lived canonical launcher for Herdr's managed-agent facade.
|
|
165
|
+
*
|
|
166
|
+
* Herdr 0.7.5 rejects control characters in `agent start` arguments, while
|
|
167
|
+
* Botmux intentionally passes multiline system/initial prompts to several
|
|
168
|
+
* CLIs. Put the exact executable + argv in a mode-0700 script and give Herdr
|
|
169
|
+
* no agent arguments. The shell immediately execs the real CLI, so Herdr still
|
|
170
|
+
* observes and validates the actual supported coding-agent process. The script
|
|
171
|
+
* is removed as soon as Herdr reports the TUI interactive.
|
|
172
|
+
*/
|
|
173
|
+
function createPaneAgentLauncher(canonicalExecutable, bin, args, originalPath) {
|
|
174
|
+
const dir = mkdtempSync(join(tmpdir(), 'botmux-herdr-launch-'));
|
|
175
|
+
const path = join(dir, canonicalExecutable);
|
|
176
|
+
const command = [bin, ...args].map(shellSingleQuote).join(' ');
|
|
177
|
+
writeFileSync(path, [
|
|
178
|
+
'#!/bin/sh',
|
|
179
|
+
// Minimise the lifetime of the mode-0700 file containing the exact argv.
|
|
180
|
+
// The backend's finally block is the fallback if Herdr never executes it.
|
|
181
|
+
'/bin/rm -f -- "$0"',
|
|
182
|
+
'/bin/rmdir -- "${0%/*}" 2>/dev/null || true',
|
|
183
|
+
`PATH=${shellSingleQuote(originalPath)}`,
|
|
184
|
+
'export PATH',
|
|
185
|
+
`exec ${command}`,
|
|
186
|
+
'',
|
|
187
|
+
].join('\n'), { mode: 0o700 });
|
|
188
|
+
return { dir, path };
|
|
189
|
+
}
|
|
190
|
+
function envCommandArgs(env) {
|
|
191
|
+
return Object.entries(env).flatMap(([key, value]) => ['--env', `${key}=${value}`]);
|
|
192
|
+
}
|
|
193
|
+
/** Neutral environment for the machine-wide shared Herdr server.
|
|
194
|
+
*
|
|
195
|
+
* Every managed agent receives its complete sanitized environment explicitly
|
|
196
|
+
* at workspace/agent creation. The long-lived server must therefore not retain
|
|
197
|
+
* whichever bot happened to create it first (provider tokens, BOTMUX_* routing,
|
|
198
|
+
* etc.), or later bots could inherit cross-bot state for variables they omit.
|
|
199
|
+
*/
|
|
200
|
+
function sharedServerEnv(source) {
|
|
201
|
+
const safeKeys = [
|
|
202
|
+
'PATH', 'HOME', 'USER', 'LOGNAME', 'SHELL',
|
|
203
|
+
'TMPDIR', 'TMP', 'TEMP',
|
|
204
|
+
'XDG_CONFIG_HOME', 'XDG_RUNTIME_DIR',
|
|
205
|
+
'LANG', 'LC_ALL', 'LC_CTYPE', 'TERM', 'COLORTERM',
|
|
206
|
+
];
|
|
207
|
+
return Object.fromEntries(safeKeys.flatMap(key => source[key] === undefined ? [] : [[key, source[key]]]));
|
|
208
|
+
}
|
|
49
209
|
function runHerdr(args, opts) {
|
|
50
210
|
try {
|
|
51
211
|
execFileSync('herdr', args, {
|
|
@@ -84,6 +244,37 @@ function agentRowExited(agent) {
|
|
|
84
244
|
function extractReadText(raw) {
|
|
85
245
|
return typeof raw?.result?.read?.text === 'string' ? raw.result.read.text : '';
|
|
86
246
|
}
|
|
247
|
+
/** Read terminal text across Herdr CLI output contracts.
|
|
248
|
+
*
|
|
249
|
+
* Herdr 0.6.x wrapped `agent read` in JSON (`result.read.text`), while 0.7.5
|
|
250
|
+
* writes the terminal snapshot directly to stdout even though most other
|
|
251
|
+
* commands remain JSON. Parsing every read via jsonCommand() therefore turned
|
|
252
|
+
* a successful 0.7.5 read into an empty screen. Preserve raw ANSI bytes, but
|
|
253
|
+
* still unwrap the legacy JSON response for older installations.
|
|
254
|
+
*/
|
|
255
|
+
function readHerdrTextCommand(args) {
|
|
256
|
+
try {
|
|
257
|
+
const raw = execFileSync('herdr', args, {
|
|
258
|
+
encoding: 'utf-8',
|
|
259
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
260
|
+
timeout: 5000,
|
|
261
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
262
|
+
});
|
|
263
|
+
const candidate = raw.trim();
|
|
264
|
+
if (candidate.startsWith('{')) {
|
|
265
|
+
try {
|
|
266
|
+
const text = extractReadText(JSON.parse(candidate));
|
|
267
|
+
if (text || candidate.includes('"read"'))
|
|
268
|
+
return text;
|
|
269
|
+
}
|
|
270
|
+
catch { /* Herdr 0.7.5 raw terminal text may itself begin with `{`. */ }
|
|
271
|
+
}
|
|
272
|
+
return raw;
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
return '';
|
|
276
|
+
}
|
|
277
|
+
}
|
|
87
278
|
function longestSuffixPrefix(previous, next) {
|
|
88
279
|
const max = Math.min(previous.length, next.length);
|
|
89
280
|
for (let len = max; len > 0; len--) {
|
|
@@ -102,7 +293,8 @@ export class HerdrBackend {
|
|
|
102
293
|
snapshotCbs = [];
|
|
103
294
|
webCursorCbs = [];
|
|
104
295
|
exitCbs = [];
|
|
105
|
-
|
|
296
|
+
agentStatusCbs = [];
|
|
297
|
+
agentName;
|
|
106
298
|
paneId;
|
|
107
299
|
lastText = '';
|
|
108
300
|
exited = false;
|
|
@@ -124,6 +316,7 @@ export class HerdrBackend {
|
|
|
124
316
|
constructor(sessionName, opts = {}) {
|
|
125
317
|
this.sessionName = sessionName;
|
|
126
318
|
this.opts = opts;
|
|
319
|
+
this.agentName = opts.agentName ?? 'botmux';
|
|
127
320
|
if (opts.externalTarget?.paneId)
|
|
128
321
|
this.paneId = opts.externalTarget.paneId;
|
|
129
322
|
}
|
|
@@ -139,6 +332,10 @@ export class HerdrBackend {
|
|
|
139
332
|
static sessionName(sessionId) {
|
|
140
333
|
return `bmx-${sessionId.slice(0, 8)}`;
|
|
141
334
|
}
|
|
335
|
+
/** Machine-wide host for every agent actively launched by Botmux. */
|
|
336
|
+
static managedSessionName() {
|
|
337
|
+
return 'botmux';
|
|
338
|
+
}
|
|
142
339
|
static hasSession(name) {
|
|
143
340
|
return HerdrBackend.probeSession(name) === 'exists';
|
|
144
341
|
}
|
|
@@ -174,6 +371,29 @@ export class HerdrBackend {
|
|
|
174
371
|
.map((s) => typeof s?.name === 'string' ? s.name : '')
|
|
175
372
|
.filter((name) => name.startsWith('bmx-'));
|
|
176
373
|
}
|
|
374
|
+
static hasAgent(sessionName, agentName) {
|
|
375
|
+
return HerdrBackend.probeAgent(sessionName, agentName) === 'exists';
|
|
376
|
+
}
|
|
377
|
+
/** Tri-state probe for a Botmux-managed agent inside a shared session. */
|
|
378
|
+
static probeAgent(sessionName, agentName) {
|
|
379
|
+
const result = tryJsonCommand(herdrSessionArgs(sessionName, ['agent', 'list']), { timeout: 5000 });
|
|
380
|
+
if (!result.ok) {
|
|
381
|
+
// `agent list` can fail because this specific host session disappeared,
|
|
382
|
+
// not only because the Herdr server is unavailable. Preserve the same
|
|
383
|
+
// missing-vs-unknown distinction as whole-session lifecycle probes.
|
|
384
|
+
return HerdrBackend.probeSession(sessionName) === 'missing' ? 'missing' : 'unknown';
|
|
385
|
+
}
|
|
386
|
+
const agent = extractAgents(result.value).find((row) => row?.name === agentName);
|
|
387
|
+
return agent && !agentRowExited(agent) ? 'exists' : 'missing';
|
|
388
|
+
}
|
|
389
|
+
/** Close only the managed pane, never the surrounding user-owned session. */
|
|
390
|
+
static killAgent(sessionName, agentName) {
|
|
391
|
+
const raw = jsonCommand(herdrSessionArgs(sessionName, ['agent', 'list']), { timeout: 5000 });
|
|
392
|
+
const paneId = extractAgents(raw).find((row) => row?.name === agentName)?.pane_id;
|
|
393
|
+
if (typeof paneId === 'string' && paneId) {
|
|
394
|
+
runHerdr(herdrSessionArgs(sessionName, ['pane', 'close', paneId]), { timeout: 5000 });
|
|
395
|
+
}
|
|
396
|
+
}
|
|
177
397
|
get isReattach() {
|
|
178
398
|
return this.opts.isReattach ?? false;
|
|
179
399
|
}
|
|
@@ -192,14 +412,11 @@ export class HerdrBackend {
|
|
|
192
412
|
// Skip on externalTarget: that's the user's own pre-existing herdr
|
|
193
413
|
// session; we can't (and shouldn't) re-env an already-running CLI.
|
|
194
414
|
//
|
|
195
|
-
// Per-bot env (opts.injectEnv, e.g.
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
//
|
|
200
|
-
// both the daemon spawn and the agent-start call, and the daemon forks the
|
|
201
|
-
// CLI as its child, so the per-bot env reaches the CLI. Already sanitized by
|
|
202
|
-
// the worker. Appended last so it wins over a same-named key in opts.env.
|
|
415
|
+
// Per-bot env (opts.injectEnv, e.g. provider credentials) is merged into
|
|
416
|
+
// the environment passed explicitly when this agent/workspace is created.
|
|
417
|
+
// The machine-wide server itself gets only sharedServerEnv(), so the first
|
|
418
|
+
// bot to create `botmux` cannot leak its routing or credentials to siblings.
|
|
419
|
+
// Appended last so injected values win over same-named keys in opts.env.
|
|
203
420
|
this.childEnv = this.opts.externalTarget
|
|
204
421
|
? undefined
|
|
205
422
|
: { ...opts.env, ...(opts.injectEnv ?? {}) };
|
|
@@ -221,10 +438,17 @@ export class HerdrBackend {
|
|
|
221
438
|
if (existing) {
|
|
222
439
|
this.paneId = existing.pane_id;
|
|
223
440
|
}
|
|
441
|
+
else if (herdrUsesPaneAgentStart()) {
|
|
442
|
+
this.paneId = this.startPaneAgent(bin, args, opts);
|
|
443
|
+
}
|
|
224
444
|
else {
|
|
225
|
-
const
|
|
445
|
+
const envArgs = this.opts.ownsSession === false
|
|
446
|
+
? envCommandArgs(this.childEnv ?? {})
|
|
447
|
+
: [];
|
|
448
|
+
const started = requiredJsonCommand(`herdr agent start ${this.agentName} in ${this.sessionName}`, herdrSessionArgs(this.sessionName, [
|
|
226
449
|
'agent', 'start', this.agentName,
|
|
227
450
|
'--cwd', opts.cwd,
|
|
451
|
+
...envArgs,
|
|
228
452
|
'--', bin, ...args,
|
|
229
453
|
]), { timeout: 10_000, env: this.childEnv });
|
|
230
454
|
const agent = extractAgent(started);
|
|
@@ -330,6 +554,28 @@ export class HerdrBackend {
|
|
|
330
554
|
onExit(cb) {
|
|
331
555
|
this.exitCbs.push(cb);
|
|
332
556
|
}
|
|
557
|
+
/** Authoritative Herdr lifecycle signal for input gating.
|
|
558
|
+
*
|
|
559
|
+
* Screen deltas are insufficient for TUIs such as Pi whose empty prompt can
|
|
560
|
+
* render identically before and after becoming interactive. Herdr already
|
|
561
|
+
* classifies that state, so expose it to the worker rather than guessing from
|
|
562
|
+
* terminal text. Registration also reports the current settled state to avoid
|
|
563
|
+
* missing a fast `idle` transition that happened during spawn().
|
|
564
|
+
*/
|
|
565
|
+
onAgentStatus(cb) {
|
|
566
|
+
this.agentStatusCbs.push(cb);
|
|
567
|
+
const current = this.getAgent()?.agent_status;
|
|
568
|
+
if (!WATCHED_STATUSES.includes(current))
|
|
569
|
+
return;
|
|
570
|
+
queueMicrotask(() => {
|
|
571
|
+
if (this.exited || !this.agentStatusCbs.includes(cb))
|
|
572
|
+
return;
|
|
573
|
+
try {
|
|
574
|
+
cb(current);
|
|
575
|
+
}
|
|
576
|
+
catch { /* listener crash shouldn't kill backend */ }
|
|
577
|
+
});
|
|
578
|
+
}
|
|
333
579
|
kill() {
|
|
334
580
|
if (this.exited)
|
|
335
581
|
return;
|
|
@@ -341,13 +587,19 @@ export class HerdrBackend {
|
|
|
341
587
|
}
|
|
342
588
|
destroySession() {
|
|
343
589
|
this.kill();
|
|
344
|
-
//
|
|
345
|
-
//
|
|
346
|
-
|
|
347
|
-
// Mirrors TmuxPipeBackend's ownsSession guard.
|
|
348
|
-
if (!this.opts.externalTarget) {
|
|
590
|
+
// Adopted targets are observation-only. A managed agent placed in a user's
|
|
591
|
+
// existing session owns its pane but never the surrounding herdr session.
|
|
592
|
+
if (this.opts.ownsSession ?? !this.opts.externalTarget) {
|
|
349
593
|
HerdrBackend.killSession(this.sessionName);
|
|
350
594
|
}
|
|
595
|
+
else if (this.opts.ownsAgent) {
|
|
596
|
+
if (this.paneId) {
|
|
597
|
+
runHerdr(herdrSessionArgs(this.sessionName, ['pane', 'close', this.paneId]), { timeout: 5000 });
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
HerdrBackend.killAgent(this.sessionName, this.agentName);
|
|
601
|
+
}
|
|
602
|
+
}
|
|
351
603
|
}
|
|
352
604
|
getChildPid() {
|
|
353
605
|
return this.cliPid ?? null;
|
|
@@ -369,14 +621,17 @@ export class HerdrBackend {
|
|
|
369
621
|
return;
|
|
370
622
|
if (this.opts.externalTarget)
|
|
371
623
|
throw new Error(`herdr session ${this.sessionName} is not running`);
|
|
372
|
-
//
|
|
373
|
-
//
|
|
374
|
-
//
|
|
375
|
-
//
|
|
624
|
+
// Botmux's machine-wide host is shared across bots, so its long-lived
|
|
625
|
+
// server must be credential-neutral. Each agent receives childEnv
|
|
626
|
+
// explicitly in startPaneAgent()/agent start. Legacy per-topic owned
|
|
627
|
+
// sessions keep the historical server-env behavior for compatibility.
|
|
628
|
+
const serverEnv = this.opts.ownsSession === false
|
|
629
|
+
? sharedServerEnv(process.env)
|
|
630
|
+
: this.childEnv;
|
|
376
631
|
this.serverProcess = spawn('herdr', ['--session', this.sessionName, 'server'], {
|
|
377
632
|
stdio: 'ignore',
|
|
378
633
|
detached: true,
|
|
379
|
-
env:
|
|
634
|
+
env: serverEnv,
|
|
380
635
|
});
|
|
381
636
|
this.serverProcess.unref();
|
|
382
637
|
// Bounded poll with sleeps so we don't pin a core spamming `session list`
|
|
@@ -389,6 +644,85 @@ export class HerdrBackend {
|
|
|
389
644
|
}
|
|
390
645
|
throw new Error(`failed to start herdr session ${this.sessionName}`);
|
|
391
646
|
}
|
|
647
|
+
/** Herdr >=0.7.5 managed-agent launch protocol.
|
|
648
|
+
*
|
|
649
|
+
* The new facade no longer accepts an arbitrary executable or cwd directly:
|
|
650
|
+
* create a shell workspace with the requested cwd/env, then ask Herdr to
|
|
651
|
+
* launch a supported coding-agent kind in that exact root pane. Prepending
|
|
652
|
+
* an absolute binary's directory to PATH preserves cliPathOverride installs
|
|
653
|
+
* whose basename is still the canonical Herdr executable (for example a Pi
|
|
654
|
+
* installed under ~/.local/bin/node/bin/pi).
|
|
655
|
+
*/
|
|
656
|
+
startPaneAgent(bin, args, opts) {
|
|
657
|
+
const kind = paneAgentKindForExecutable(bin);
|
|
658
|
+
if (!kind) {
|
|
659
|
+
throw new Error(`Herdr >=0.7.5 cannot launch executable "${basename(bin)}" as a managed coding agent; ` +
|
|
660
|
+
'use a Herdr-supported CLI executable or select the tmux backend');
|
|
661
|
+
}
|
|
662
|
+
const workspaceEnv = environmentForPaneAgent(bin, this.childEnv);
|
|
663
|
+
const originalPath = workspaceEnv.PATH ?? process.env.PATH ?? '';
|
|
664
|
+
const launcher = createPaneAgentLauncher(basename(bin), bin, args, originalPath);
|
|
665
|
+
workspaceEnv.PATH = [launcher.dir, originalPath].filter(Boolean).join(delimiter);
|
|
666
|
+
let workspaceId;
|
|
667
|
+
try {
|
|
668
|
+
const created = requiredJsonCommand(`herdr workspace create for ${this.agentName} in ${this.sessionName}`, herdrSessionArgs(this.sessionName, [
|
|
669
|
+
'workspace', 'create',
|
|
670
|
+
'--cwd', opts.cwd,
|
|
671
|
+
'--label', this.agentName,
|
|
672
|
+
'--no-focus',
|
|
673
|
+
...envCommandArgs(workspaceEnv),
|
|
674
|
+
]), { timeout: 10_000, env: this.childEnv });
|
|
675
|
+
const paneId = created?.result?.root_pane?.pane_id;
|
|
676
|
+
workspaceId = created?.result?.workspace?.workspace_id;
|
|
677
|
+
if (typeof paneId !== 'string' || !paneId) {
|
|
678
|
+
throw new Error(`herdr workspace create for ${this.agentName} in ${this.sessionName} failed: missing root pane`);
|
|
679
|
+
}
|
|
680
|
+
const startArgs = herdrSessionArgs(this.sessionName, [
|
|
681
|
+
'agent', 'start', this.agentName,
|
|
682
|
+
'--kind', kind,
|
|
683
|
+
'--pane', paneId,
|
|
684
|
+
'--timeout', String(PANE_AGENT_START_TIMEOUT_MS),
|
|
685
|
+
// Herdr 0.7.5 on macOS resolves managed kinds through its integration
|
|
686
|
+
// instead of the workspace PATH, so the canonical launcher may not run.
|
|
687
|
+
// Forward control-character-free argv as well (Pi's @prompt-file path
|
|
688
|
+
// is safe) to preserve session identity and initial-message delivery.
|
|
689
|
+
// Multiline argv still stays exclusively in the launcher because Herdr
|
|
690
|
+
// rejects control characters with invalid_agent_argument.
|
|
691
|
+
...(canForwardPaneAgentArgs(args) ? ['--', ...args] : []),
|
|
692
|
+
]);
|
|
693
|
+
const readyDeadline = Date.now() + PANE_SHELL_READY_TIMEOUT_MS;
|
|
694
|
+
let started;
|
|
695
|
+
for (let attempt = 1;; attempt++) {
|
|
696
|
+
try {
|
|
697
|
+
started = requiredJsonCommand(`herdr agent start ${this.agentName} in ${this.sessionName}`, startArgs, { timeout: PANE_AGENT_EXEC_TIMEOUT_MS, env: this.childEnv });
|
|
698
|
+
break;
|
|
699
|
+
}
|
|
700
|
+
catch (err) {
|
|
701
|
+
const paneBusy = err instanceof Error && err.message.includes('agent_pane_busy');
|
|
702
|
+
if (!paneBusy || attempt >= PANE_SHELL_READY_MAX_ATTEMPTS || Date.now() >= readyDeadline)
|
|
703
|
+
throw err;
|
|
704
|
+
sleepSync(PANE_SHELL_READY_POLL_MS);
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
const agent = extractAgent(started);
|
|
708
|
+
if (!agent?.pane_id) {
|
|
709
|
+
throw new Error(`herdr agent start ${this.agentName} in ${this.sessionName} failed: missing agent pane`);
|
|
710
|
+
}
|
|
711
|
+
return agent.pane_id;
|
|
712
|
+
}
|
|
713
|
+
catch (err) {
|
|
714
|
+
// Workspace creation succeeded but the CLI did not. Remove only the
|
|
715
|
+
// workspace created by this attempt so a shared user session is never
|
|
716
|
+
// left with an empty Botmux tab after a failed spawn.
|
|
717
|
+
if (typeof workspaceId === 'string' && workspaceId) {
|
|
718
|
+
runHerdr(herdrSessionArgs(this.sessionName, ['workspace', 'close', workspaceId]), { timeout: 5000 });
|
|
719
|
+
}
|
|
720
|
+
throw err;
|
|
721
|
+
}
|
|
722
|
+
finally {
|
|
723
|
+
rmSync(launcher.dir, { recursive: true, force: true });
|
|
724
|
+
}
|
|
725
|
+
}
|
|
392
726
|
startWebAttach(size) {
|
|
393
727
|
const target = this.paneId ?? this.agentName;
|
|
394
728
|
const cursorTerminal = new Terminal({
|
|
@@ -486,19 +820,13 @@ export class HerdrBackend {
|
|
|
486
820
|
const raw = tryJsonCommand(herdrSessionArgs(this.sessionName, ['agent', 'list']), { timeout: 5000 });
|
|
487
821
|
return raw.ok ? extractAgents(raw.value) : null;
|
|
488
822
|
}
|
|
489
|
-
// NOTE: we use `agent read` (not `pane read`) for capture. Both accept the
|
|
490
|
-
// same target shapes (pane_id, agent name, terminal_id), but `pane read`
|
|
491
|
-
// prints raw text while `agent read` prints JSON with `result.read.text`.
|
|
492
|
-
// Routing reads through JSON keeps the parsing path uniform with the rest
|
|
493
|
-
// of the herdr CLI surface and gives us a hard "did the call succeed"
|
|
494
|
-
// signal instead of treating raw bytes as opaque text.
|
|
495
823
|
readVisibleAnsi() {
|
|
496
824
|
const target = this.paneId ?? this.agentName;
|
|
497
|
-
return
|
|
825
|
+
return readHerdrTextCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'visible', '--lines', String(this.rows), '--format', 'ansi']));
|
|
498
826
|
}
|
|
499
827
|
readRecentAnsi() {
|
|
500
828
|
const target = this.paneId ?? this.agentName;
|
|
501
|
-
return
|
|
829
|
+
return readHerdrTextCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'recent', '--lines', String(READ_LINES), '--format', 'ansi']));
|
|
502
830
|
}
|
|
503
831
|
startPolling() {
|
|
504
832
|
this.stopPolling();
|
|
@@ -621,6 +949,12 @@ export class HerdrBackend {
|
|
|
621
949
|
// immediately while a status remains current, so including it again is
|
|
622
950
|
// the level-triggered success storm this state machine prevents.
|
|
623
951
|
if (code === 0) {
|
|
952
|
+
for (const cb of this.agentStatusCbs) {
|
|
953
|
+
try {
|
|
954
|
+
cb(status);
|
|
955
|
+
}
|
|
956
|
+
catch { /* listener crash shouldn't kill watcher */ }
|
|
957
|
+
}
|
|
624
958
|
this.startStatusWatcher(status);
|
|
625
959
|
return;
|
|
626
960
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/herdr-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herdr-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/herdr-backend.ts"],"names":[],"mappings":"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"}
|