botmux 2.107.0 → 2.108.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 +17 -14
- package/README.md +19 -14
- package/dist/adapters/backend/sandbox.d.ts +3 -1
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +19 -3
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +16 -1
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +24 -15
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +75 -43
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/cli/genius.d.ts.map +1 -1
- package/dist/adapters/cli/genius.js +9 -15
- package/dist/adapters/cli/genius.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts +73 -0
- package/dist/adapters/cli/grok.d.ts.map +1 -0
- package/dist/adapters/cli/grok.js +298 -0
- package/dist/adapters/cli/grok.js.map +1 -0
- package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
- package/dist/adapters/cli/oh-my-pi.js +133 -12
- package/dist/adapters/cli/oh-my-pi.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +3 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +8 -4
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +8 -4
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +18 -16
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/adapters/hook-installer.d.ts +5 -4
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +42 -0
- package/dist/adapters/hook-installer.js.map +1 -1
- package/dist/cli/send-dispatch.d.ts +21 -0
- package/dist/cli/send-dispatch.d.ts.map +1 -1
- package/dist/cli/send-dispatch.js +159 -0
- package/dist/cli/send-dispatch.js.map +1 -1
- package/dist/cli/session-list-liveness.d.ts +22 -0
- package/dist/cli/session-list-liveness.d.ts.map +1 -0
- package/dist/cli/session-list-liveness.js +22 -0
- package/dist/cli/session-list-liveness.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +182 -33
- package/dist/cli.js.map +1 -1
- package/dist/core/ask-types.d.ts +4 -0
- package/dist/core/ask-types.d.ts.map +1 -1
- package/dist/core/ask-types.js +10 -0
- package/dist/core/ask-types.js.map +1 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +35 -13
- 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 +89 -16
- 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 +6 -2
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +6 -5
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +11 -8
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/maintenance.d.ts +11 -8
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +45 -20
- 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 +4 -0
- package/dist/core/per-bot-env.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +4 -0
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
- package/dist/core/skills/cli-admin-command.js +8 -2
- package/dist/core/skills/cli-admin-command.js.map +1 -1
- package/dist/core/skills/im-command.d.ts.map +1 -1
- package/dist/core/skills/im-command.js +3 -1
- package/dist/core/skills/im-command.js.map +1 -1
- package/dist/core/skills/sources.d.ts +33 -1
- package/dist/core/skills/sources.d.ts.map +1 -1
- package/dist/core/skills/sources.js +97 -0
- package/dist/core/skills/sources.js.map +1 -1
- package/dist/core/skills/types.d.ts +8 -0
- package/dist/core/skills/types.d.ts.map +1 -1
- package/dist/core/terminal-url.d.ts.map +1 -1
- package/dist/core/terminal-url.js +12 -2
- package/dist/core/terminal-url.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +34 -0
- package/dist/core/terminal-write-auth.d.ts.map +1 -0
- package/dist/core/terminal-write-auth.js +76 -0
- package/dist/core/terminal-write-auth.js.map +1 -0
- package/dist/core/tmux-recovery.d.ts +11 -0
- package/dist/core/tmux-recovery.d.ts.map +1 -0
- package/dist/core/tmux-recovery.js +19 -0
- package/dist/core/tmux-recovery.js.map +1 -0
- package/dist/core/types.d.ts +10 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/update-check.d.ts +2 -2
- package/dist/core/update-check.js +2 -2
- package/dist/core/worker-pool.d.ts +3 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +70 -3
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +15 -8
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +1 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +7 -2
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +3 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +3 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/connector-api.d.ts.map +1 -1
- package/dist/dashboard/connector-api.js +39 -13
- package/dist/dashboard/connector-api.js.map +1 -1
- package/dist/dashboard/history-senders.d.ts +37 -0
- package/dist/dashboard/history-senders.d.ts.map +1 -0
- package/dist/dashboard/history-senders.js +60 -0
- package/dist/dashboard/history-senders.js.map +1 -0
- package/dist/dashboard/roles-batch.d.ts +31 -0
- package/dist/dashboard/roles-batch.d.ts.map +1 -0
- package/dist/dashboard/roles-batch.js +87 -0
- package/dist/dashboard/roles-batch.js.map +1 -0
- package/dist/dashboard/settings-card-model.d.ts +4 -2
- package/dist/dashboard/settings-card-model.d.ts.map +1 -1
- package/dist/dashboard/settings-card-model.js +13 -5
- package/dist/dashboard/settings-card-model.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +4 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +6 -1
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/skill-install-request.d.ts +4 -0
- package/dist/dashboard/skill-install-request.d.ts.map +1 -1
- package/dist/dashboard/skill-install-request.js +11 -1
- package/dist/dashboard/skill-install-request.js.map +1 -1
- package/dist/dashboard/trigger-api.d.ts +9 -1
- package/dist/dashboard/trigger-api.d.ts.map +1 -1
- package/dist/dashboard/trigger-api.js +48 -10
- package/dist/dashboard/trigger-api.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +286 -271
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +1408 -12
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +91 -4
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +43 -2141
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
- package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/web/bot-onboarding.js +261 -306
- package/dist/dashboard/web/bot-onboarding.js.map +1 -1
- package/dist/dashboard/web/connectors-page.d.ts +4 -0
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
- package/dist/dashboard/web/connectors-page.js +228 -48
- package/dist/dashboard/web/connectors-page.js.map +1 -1
- package/dist/dashboard/web/dashboard-api.d.ts +9 -0
- package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-api.js +18 -0
- package/dist/dashboard/web/dashboard-api.js.map +1 -0
- package/dist/dashboard/web/dashboard-components.d.ts +92 -0
- package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-components.js +250 -0
- package/dist/dashboard/web/dashboard-components.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +30 -183
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
- package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
- package/dist/dashboard/web/floating-scrollbars.js +264 -0
- package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
- package/dist/dashboard/web/groups-api.d.ts +36 -0
- package/dist/dashboard/web/groups-api.d.ts.map +1 -0
- package/dist/dashboard/web/groups-api.js +44 -0
- package/dist/dashboard/web/groups-api.js.map +1 -0
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +746 -15
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/groups.d.ts +51 -18
- package/dist/dashboard/web/groups.d.ts.map +1 -1
- package/dist/dashboard/web/groups.js +145 -1096
- package/dist/dashboard/web/groups.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +545 -255
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/insights-page.d.ts.map +1 -1
- package/dist/dashboard/web/insights-page.js +1047 -14
- package/dist/dashboard/web/insights-page.js.map +1 -1
- package/dist/dashboard/web/insights.d.ts +177 -7
- package/dist/dashboard/web/insights.d.ts.map +1 -1
- package/dist/dashboard/web/insights.js +187 -1926
- package/dist/dashboard/web/insights.js.map +1 -1
- package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
- package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
- package/dist/dashboard/web/legacy-workflow-page.js +717 -0
- package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
- package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
- package/dist/dashboard/web/monitor-room.js +10 -8
- package/dist/dashboard/web/monitor-room.js.map +1 -1
- package/dist/dashboard/web/monitoring-page.d.ts.map +1 -1
- package/dist/dashboard/web/monitoring-page.js +188 -14
- package/dist/dashboard/web/monitoring-page.js.map +1 -1
- package/dist/dashboard/web/office-page.d.ts.map +1 -1
- package/dist/dashboard/web/office-page.js +11 -23
- package/dist/dashboard/web/office-page.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +141 -147
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/overview.d.ts +0 -1
- package/dist/dashboard/web/overview.d.ts.map +1 -1
- package/dist/dashboard/web/overview.js +3 -275
- package/dist/dashboard/web/overview.js.map +1 -1
- package/dist/dashboard/web/preferences.d.ts +1 -6
- package/dist/dashboard/web/preferences.d.ts.map +1 -1
- package/dist/dashboard/web/preferences.js +0 -21
- package/dist/dashboard/web/preferences.js.map +1 -1
- package/dist/dashboard/web/role-batch.d.ts +9 -0
- package/dist/dashboard/web/role-batch.d.ts.map +1 -0
- package/dist/dashboard/web/role-batch.js +42 -0
- package/dist/dashboard/web/role-batch.js.map +1 -0
- package/dist/dashboard/web/roles-page.d.ts.map +1 -1
- package/dist/dashboard/web/roles-page.js +538 -13
- package/dist/dashboard/web/roles-page.js.map +1 -1
- package/dist/dashboard/web/roles.d.ts +98 -1
- package/dist/dashboard/web/roles.d.ts.map +1 -1
- package/dist/dashboard/web/roles.js +117 -903
- package/dist/dashboard/web/roles.js.map +1 -1
- package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
- package/dist/dashboard/web/schedules-page.js +82 -24
- package/dist/dashboard/web/schedules-page.js.map +1 -1
- package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
- package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
- package/dist/dashboard/web/sessions-kanban.js +481 -0
- package/dist/dashboard/web/sessions-kanban.js.map +1 -0
- package/dist/dashboard/web/sessions-page.d.ts +4 -0
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +1633 -18
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +45 -4
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +53 -2535
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +0 -2
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +127 -117
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts +10 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +235 -93
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation-page.js +446 -28
- package/dist/dashboard/web/team-federation-page.js.map +1 -1
- package/dist/dashboard/web/team-federation.d.ts +91 -2
- package/dist/dashboard/web/team-federation.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation.js +87 -474
- package/dist/dashboard/web/team-federation.js.map +1 -1
- package/dist/dashboard/web/theme-menu.d.ts +1 -0
- package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
- package/dist/dashboard/web/theme-menu.js +79 -20
- package/dist/dashboard/web/theme-menu.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +1 -2
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +8 -20
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/v3-api.d.ts +16 -0
- package/dist/dashboard/web/v3-api.d.ts.map +1 -0
- package/dist/dashboard/web/v3-api.js +21 -0
- package/dist/dashboard/web/v3-api.js.map +1 -0
- package/dist/dashboard/web/v3-components.d.ts +2 -0
- package/dist/dashboard/web/v3-components.d.ts.map +1 -0
- package/dist/dashboard/web/v3-components.js +290 -0
- package/dist/dashboard/web/v3-components.js.map +1 -0
- package/dist/dashboard/web/v3-model.d.ts +80 -0
- package/dist/dashboard/web/v3-model.d.ts.map +1 -0
- package/dist/dashboard/web/v3-model.js +240 -0
- package/dist/dashboard/web/v3-model.js.map +1 -0
- package/dist/dashboard/web/v3-page.d.ts.map +1 -1
- package/dist/dashboard/web/v3-page.js +2 -22
- package/dist/dashboard/web/v3-page.js.map +1 -1
- package/dist/dashboard/web/v3-terminal.d.ts +14 -0
- package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
- package/dist/dashboard/web/v3-terminal.js +31 -19
- package/dist/dashboard/web/v3-terminal.js.map +1 -1
- package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
- package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
- package/dist/dashboard/web/webhook-logs-page.js +195 -0
- package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
- package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
- package/dist/dashboard/web/whiteboards-page.js +18 -23
- package/dist/dashboard/web/whiteboards-page.js.map +1 -1
- package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
- package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
- package/dist/dashboard/web/workflow-version-switch.js +9 -0
- package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
- package/dist/dashboard/web/workflows.d.ts +272 -1
- package/dist/dashboard/web/workflows.d.ts.map +1 -1
- package/dist/dashboard/web/workflows.js +211 -1397
- package/dist/dashboard/web/workflows.js.map +1 -1
- package/dist/dashboard/webhook-routes.d.ts.map +1 -1
- package/dist/dashboard/webhook-routes.js +92 -39
- package/dist/dashboard/webhook-routes.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -65
- package/dist/dashboard-web/brand-logo.png +0 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
- package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
- package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
- package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
- package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
- package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
- package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
- package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
- package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
- package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
- package/dist/dashboard-web/chunks/{monitor-room-RFX4HPS5.js → monitor-room-WTZNYAFV.js} +17 -15
- package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
- package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
- package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
- package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
- package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
- package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
- package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
- package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
- package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
- package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
- package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
- package/dist/dashboard-web/favicon.png +0 -0
- package/dist/dashboard-web/index.html +5 -69
- package/dist/dashboard-web/style.css +18835 -7211
- package/dist/dashboard.js +150 -32
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +2 -2
- package/dist/global-config.d.ts.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +3 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +3 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +7 -5
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +10 -7
- 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 +25 -1
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +84 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/platform/binding.d.ts +9 -0
- package/dist/platform/binding.d.ts.map +1 -1
- package/dist/platform/binding.js +14 -0
- package/dist/platform/binding.js.map +1 -1
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js +9 -0
- package/dist/platform/tunnel-client.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 +11 -5
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/file-bridge-path.d.ts +8 -0
- package/dist/services/file-bridge-path.d.ts.map +1 -0
- package/dist/services/file-bridge-path.js +75 -0
- package/dist/services/file-bridge-path.js.map +1 -0
- package/dist/services/grok-paths.d.ts +27 -0
- package/dist/services/grok-paths.d.ts.map +1 -0
- package/dist/services/grok-paths.js +106 -0
- package/dist/services/grok-paths.js.map +1 -0
- package/dist/services/grok-transcript.d.ts +67 -0
- package/dist/services/grok-transcript.d.ts.map +1 -0
- package/dist/services/grok-transcript.js +630 -0
- package/dist/services/grok-transcript.js.map +1 -0
- package/dist/services/hermes-session-filter.d.ts +28 -0
- package/dist/services/hermes-session-filter.d.ts.map +1 -0
- package/dist/services/hermes-session-filter.js +53 -0
- package/dist/services/hermes-session-filter.js.map +1 -0
- package/dist/services/hermes-transcript.d.ts +3 -0
- package/dist/services/hermes-transcript.d.ts.map +1 -1
- package/dist/services/hermes-transcript.js +20 -2
- package/dist/services/hermes-transcript.js.map +1 -1
- package/dist/services/resumable-session-discovery.d.ts +3 -0
- package/dist/services/resumable-session-discovery.d.ts.map +1 -1
- package/dist/services/resumable-session-discovery.js +6 -1
- package/dist/services/resumable-session-discovery.js.map +1 -1
- package/dist/services/skill-registry-store.d.ts +9 -0
- package/dist/services/skill-registry-store.d.ts.map +1 -1
- package/dist/services/skill-registry-store.js +304 -1
- package/dist/services/skill-registry-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +29 -0
- package/dist/services/structured-bridge-clis.d.ts.map +1 -0
- package/dist/services/structured-bridge-clis.js +76 -0
- package/dist/services/structured-bridge-clis.js.map +1 -0
- package/dist/services/trigger-log-store.d.ts +59 -0
- package/dist/services/trigger-log-store.d.ts.map +1 -1
- package/dist/services/trigger-log-store.js +81 -10
- package/dist/services/trigger-log-store.js.map +1 -1
- package/dist/services/usage-ledger.d.ts +4 -1
- package/dist/services/usage-ledger.d.ts.map +1 -1
- package/dist/services/usage-ledger.js +48 -10
- package/dist/services/usage-ledger.js.map +1 -1
- package/dist/services/webhook-audit.d.ts +10 -0
- package/dist/services/webhook-audit.d.ts.map +1 -0
- package/dist/services/webhook-audit.js +116 -0
- package/dist/services/webhook-audit.js.map +1 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-tmux.d.ts +26 -12
- package/dist/setup/ensure-tmux.d.ts.map +1 -1
- package/dist/setup/ensure-tmux.js +85 -18
- package/dist/setup/ensure-tmux.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +14 -1
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +16 -0
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +25 -0
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/global-install.d.ts +22 -0
- package/dist/utils/global-install.d.ts.map +1 -0
- package/dist/utils/global-install.js +106 -0
- package/dist/utils/global-install.js.map +1 -0
- package/dist/utils/install-diagnostics.d.ts +1 -1
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +6 -4
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/install-info.d.ts +2 -0
- package/dist/utils/install-info.d.ts.map +1 -1
- package/dist/utils/install-info.js +10 -4
- package/dist/utils/install-info.js.map +1 -1
- package/dist/worker.js +293 -172
- package/dist/worker.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +10 -10
- package/dist/workflows/events/schema.d.ts +28 -28
- package/package.json +8 -7
- package/dist/dashboard/web/connectors.d.ts +0 -2
- package/dist/dashboard/web/connectors.d.ts.map +0 -1
- package/dist/dashboard/web/connectors.js +0 -2
- package/dist/dashboard/web/connectors.js.map +0 -1
- package/dist/dashboard/web/office.d.ts +0 -2
- package/dist/dashboard/web/office.d.ts.map +0 -1
- package/dist/dashboard/web/office.js +0 -2
- package/dist/dashboard/web/office.js.map +0 -1
- package/dist/dashboard/web/schedules.d.ts +0 -2
- package/dist/dashboard/web/schedules.d.ts.map +0 -1
- package/dist/dashboard/web/schedules.js +0 -2
- package/dist/dashboard/web/schedules.js.map +0 -1
- package/dist/dashboard/web/settings.d.ts +0 -2
- package/dist/dashboard/web/settings.d.ts.map +0 -1
- package/dist/dashboard/web/settings.js +0 -2
- package/dist/dashboard/web/settings.js.map +0 -1
- package/dist/dashboard/web/skills.d.ts +0 -2
- package/dist/dashboard/web/skills.d.ts.map +0 -1
- package/dist/dashboard/web/skills.js +0 -2
- package/dist/dashboard/web/skills.js.map +0 -1
- package/dist/dashboard/web/skin-intro.d.ts +0 -4
- package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
- package/dist/dashboard/web/skin-intro.js +0 -49
- package/dist/dashboard/web/skin-intro.js.map +0 -1
- package/dist/dashboard/web/v3.d.ts +0 -3
- package/dist/dashboard/web/v3.d.ts.map +0 -1
- package/dist/dashboard/web/v3.js +0 -539
- package/dist/dashboard/web/v3.js.map +0 -1
- package/dist/dashboard/web/whiteboards.d.ts +0 -2
- package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
- package/dist/dashboard/web/whiteboards.js +0 -2
- package/dist/dashboard/web/whiteboards.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +0 -438
- package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +0 -1
- package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +0 -37
- package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
- package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
- package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
- package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
- package/dist/dashboard-web/chunks/chunk-PE6W3C2C.js +0 -1
- package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +0 -325
- package/dist/dashboard-web/chunks/connectors-IGETYWCP.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-MYBS4ZYJ.js +0 -207
- package/dist/dashboard-web/chunks/insights-page-UPA32V2S.js +0 -309
- package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +0 -1
- package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
- package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +0 -1
- package/dist/dashboard-web/chunks/roles-page-ESURTVQH.js +0 -98
- package/dist/dashboard-web/chunks/schedules-LML2ISOT.js +0 -1
- package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +0 -1
- package/dist/dashboard-web/chunks/settings-page-OSDKNVS3.js +0 -2
- package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +0 -2
- package/dist/dashboard-web/chunks/team-federation-page-TTPVHFPX.js +0 -10
- package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
- package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
- package/dist/dashboard-web/chunks/workflows-FCPM4S4D.js +0 -184
- package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
- package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
- package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
- package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
- package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
- package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { resolveCommand } from './registry.js';
|
|
4
|
+
import { buildBotmuxSystemPromptText } from './shared-hints.js';
|
|
5
|
+
import { sessionReadyHookCommand } from '../hook-command.js';
|
|
6
|
+
import { delay, scaleMs } from '../../utils/timing.js';
|
|
7
|
+
import { grokHome, grokHooksDir, grokPromptHistoryPath, grokSkillsDir, } from '../../services/grok-paths.js';
|
|
8
|
+
import { discoverGrokSessions, findGrokSessionByPid, grokFileSize, grokSessionDirExists, grokSessionExists, matchGrokPromptAppend, } from '../../services/grok-transcript.js';
|
|
9
|
+
import { builtinSkillBlockForInjectsSessionContext } from '../../skills/injection-mode.js';
|
|
10
|
+
import { whiteboardEnabled } from '../../services/whiteboard-store.js';
|
|
11
|
+
/**
|
|
12
|
+
* Adapter for xAI Grok Build TUI (`grok`).
|
|
13
|
+
*
|
|
14
|
+
* Binary: `grok` (install: curl -fsSL https://x.ai/cli/install.sh | bash).
|
|
15
|
+
* State: `$GROK_HOME` (default `~/.grok`) — auth, sessions/<encoded-cwd>/
|
|
16
|
+
* <uuid>/, skills, hooks, session_search.sqlite. All paths below go
|
|
17
|
+
* through grok-paths helpers so a custom GROK_HOME stays consistent
|
|
18
|
+
* between the spawned CLI and the worker's watchers.
|
|
19
|
+
*
|
|
20
|
+
* ## Session model (verified on grok 0.2.93)
|
|
21
|
+
* - botmux `sessionId` is already a UUID (`randomUUID()`), valid for
|
|
22
|
+
* `grok --session-id` on fresh spawns.
|
|
23
|
+
* - The session dir (summary.json + updates.jsonl) is created at TUI
|
|
24
|
+
* STARTUP, before any prompt. `--session-id <id>` REFUSES an id whose dir
|
|
25
|
+
* already exists ("Session ID is already in use", exit 1), so a fresh
|
|
26
|
+
* spawn probes the dir and omits the flag when present (otherwise the
|
|
27
|
+
* worker's tier-2 resume→fresh fallback would crash-loop on the same
|
|
28
|
+
* UUID). Grok then mints its own id; writeInput's submit verify
|
|
29
|
+
* recaptures it as cliSessionId.
|
|
30
|
+
* - Resume: `--resume <cliSessionId|sessionId>`; preflight via
|
|
31
|
+
* `checkResumeTargetExists` against `summary.json`. A positional initial
|
|
32
|
+
* prompt IS honored on resume spawns (verified), so no
|
|
33
|
+
* `initialPromptArgsIgnoredOnResume`.
|
|
34
|
+
*
|
|
35
|
+
* ## Type-ahead
|
|
36
|
+
* Grok's interactive TUI parks mid-turn Enter as a follow-up queue
|
|
37
|
+
* (docs: "queues a follow-up for later — it does not inject into the
|
|
38
|
+
* current turn"). That matches CoCo-style park (interleaved transcript),
|
|
39
|
+
* not Codex active-turn steer. `supportsTypeAhead: true` so the worker
|
|
40
|
+
* writes while busy; attribution uses the updates.jsonl bridge +
|
|
41
|
+
* CodexBridgeQueue (HOL-block-drop remains safe if a merge ever appears).
|
|
42
|
+
* Multi-line input via tmux `send-keys -l` is safe: grok treats a literal
|
|
43
|
+
* `\n` as a soft newline inside the composer, NOT as submit (verified —
|
|
44
|
+
* no bracketed paste needed, unlike codex).
|
|
45
|
+
*
|
|
46
|
+
* ## Status / bridge
|
|
47
|
+
* Bridge source of truth: per-session `updates.jsonl`
|
|
48
|
+
* (`user_message_chunk` / `agent_message_chunk` + `turn_completed`),
|
|
49
|
+
* drained via `drainGrokUpdates`. Submit VERIFY uses the bucket-level
|
|
50
|
+
* `prompt_history.jsonl` instead: it is appended AT SUBMIT TIME even while
|
|
51
|
+
* a turn is running, whereas updates.jsonl records a parked type-ahead
|
|
52
|
+
* message only at DEQUEUE time — polling it would spuriously fail every
|
|
53
|
+
* busy-turn submit (codex's history.jsonl plays the same role there).
|
|
54
|
+
* Ready gate: global `$GROK_HOME/hooks/botmux-session-ready.json`
|
|
55
|
+
* SessionStart → `botmux session-ready` (`injectsReadyHook`).
|
|
56
|
+
*
|
|
57
|
+
* ## Session context / system prompt
|
|
58
|
+
* Grok's append flag is `--rules` (docs: alias of Claude's
|
|
59
|
+
* `--append-system-prompt`). Full replace is `--system-prompt-override` —
|
|
60
|
+
* too aggressive for botmux (would drop Grok's default agent prompt). We
|
|
61
|
+
* set `injectsSessionContext` and push `buildBotmuxSystemPromptText` via
|
|
62
|
+
* `--rules`, same contract as Claude's `--append-system-prompt` path
|
|
63
|
+
* (session-manager then omits inline <botmux_routing>/<identity>/<session_id>).
|
|
64
|
+
*
|
|
65
|
+
* ## Skills
|
|
66
|
+
* Interactive TUI does **not** accept `--plugin-dir` (agent-only / headless).
|
|
67
|
+
* Built-ins use global `$GROK_HOME/skills` with global|prompt|off modes.
|
|
68
|
+
* With injectsSessionContext, prompt/off catalogs ride on `--rules`
|
|
69
|
+
* (genius pattern) rather than the per-message envelope.
|
|
70
|
+
*
|
|
71
|
+
* ## Plan mode
|
|
72
|
+
* Claude disallows EnterPlanMode/ExitPlanMode for Feishu UX (blocking
|
|
73
|
+
* approval). Grok's TUI equivalent is `--no-plan`.
|
|
74
|
+
*
|
|
75
|
+
* ## Sandbox
|
|
76
|
+
* `authPaths: [$GROK_HOME]` (directory) — grok keeps SQLite DBs there
|
|
77
|
+
* (session_search.sqlite, worktrees.db) which fail under overlayfs fcntl
|
|
78
|
+
* locks.
|
|
79
|
+
*/
|
|
80
|
+
export function createGrokAdapter(pathOverride) {
|
|
81
|
+
// resolvedBin is lazy: setup constructs adapters only to read static
|
|
82
|
+
// modelChoices and must not shell out (see resolveCommand).
|
|
83
|
+
const rawBin = pathOverride ?? 'grok';
|
|
84
|
+
let cachedBin;
|
|
85
|
+
return {
|
|
86
|
+
id: 'grok',
|
|
87
|
+
// Absolute runtime paths (not `~/…` literals): GROK_HOME can override the
|
|
88
|
+
// data root, and sandbox/auth carve-outs must track the same resolved dir
|
|
89
|
+
// the spawned CLI uses (split-brain bug if we freezed `~/.grok` at build).
|
|
90
|
+
// Same pattern as codex's lazy skillsDir getter under CODEX_HOME.
|
|
91
|
+
get authPaths() { return [grokHome()]; },
|
|
92
|
+
get resolvedBin() { return (cachedBin ??= resolveCommand(rawBin)); },
|
|
93
|
+
supportsTypeAhead: true,
|
|
94
|
+
injectsReadyHook: true,
|
|
95
|
+
injectsSessionContext: true,
|
|
96
|
+
// Hold soft first-prompt timeout until SessionStart ready signal or the
|
|
97
|
+
// composer's readyPattern — cold-start TUI can accept (and drop) stdin
|
|
98
|
+
// before the real composer exists.
|
|
99
|
+
deferFirstPromptTimeoutUntilReady: true,
|
|
100
|
+
buildArgs({ sessionId, resume, resumeSessionId, workingDir, model, initialPrompt, disableCliBypass, botName, botOpenId, locale, larkAppId, }) {
|
|
101
|
+
const args = [];
|
|
102
|
+
if (!disableCliBypass) {
|
|
103
|
+
// Claude: --dangerously-skip-permissions. Grok: --always-approve (YOLO).
|
|
104
|
+
args.push('--always-approve');
|
|
105
|
+
}
|
|
106
|
+
// Align Claude's EnterPlanMode/ExitPlanMode deny — Feishu can't drive
|
|
107
|
+
// the plan-approval TUI cleanly. `--no-plan` is a top-level TUI flag.
|
|
108
|
+
args.push('--no-plan');
|
|
109
|
+
if (model && model.trim()) {
|
|
110
|
+
args.push('--model', model.trim());
|
|
111
|
+
}
|
|
112
|
+
if (resume) {
|
|
113
|
+
const sid = resumeSessionId || sessionId;
|
|
114
|
+
if (sid)
|
|
115
|
+
args.push('--resume', sid);
|
|
116
|
+
else
|
|
117
|
+
args.push('--continue');
|
|
118
|
+
}
|
|
119
|
+
else if (sessionId && !grokSessionDirExists(sessionId, workingDir)) {
|
|
120
|
+
// Pin grok's id to the botmux UUID so resume can reuse it. Skipped
|
|
121
|
+
// when the dir already exists: grok exits 1 on a reused --session-id
|
|
122
|
+
// (see header), which would turn the worker's crash-restart fresh
|
|
123
|
+
// fallback into a spawn loop. Without the flag grok mints a new id
|
|
124
|
+
// and writeInput's verify recaptures it.
|
|
125
|
+
args.push('--session-id', sessionId);
|
|
126
|
+
}
|
|
127
|
+
// Claude: --append-system-prompt. Grok: --rules (append; docs alias).
|
|
128
|
+
// Do NOT use --system-prompt-override — that replaces Grok's agent prompt.
|
|
129
|
+
args.push('--rules', buildBotmuxSystemPromptText({
|
|
130
|
+
locale,
|
|
131
|
+
botName,
|
|
132
|
+
botOpenId,
|
|
133
|
+
builtinSkillBlock: builtinSkillBlockForInjectsSessionContext(larkAppId, locale, {
|
|
134
|
+
asksViaHook: false,
|
|
135
|
+
whiteboardEnabled: whiteboardEnabled(),
|
|
136
|
+
}),
|
|
137
|
+
}));
|
|
138
|
+
// Positional initial prompt — processed after TUI startup (works for
|
|
139
|
+
// fresh AND resume spawns, verified on 0.2.93). With injectsSessionContext
|
|
140
|
+
// this is the user's first turn only (no inline routing envelope).
|
|
141
|
+
if (initialPrompt)
|
|
142
|
+
args.push(initialPrompt);
|
|
143
|
+
return args;
|
|
144
|
+
},
|
|
145
|
+
passesInitialPromptViaArgs: true,
|
|
146
|
+
buildResumeCommand({ sessionId, cliSessionId }) {
|
|
147
|
+
const sid = cliSessionId || sessionId;
|
|
148
|
+
if (!sid)
|
|
149
|
+
return null;
|
|
150
|
+
return `grok --resume ${sid}`;
|
|
151
|
+
},
|
|
152
|
+
checkResumeTargetExists({ sessionId, cliSessionId, workingDir }) {
|
|
153
|
+
const sid = cliSessionId || sessionId;
|
|
154
|
+
if (!sid)
|
|
155
|
+
return false;
|
|
156
|
+
return grokSessionExists(sid, workingDir);
|
|
157
|
+
},
|
|
158
|
+
listResumableSessions({ limit, exclude }) {
|
|
159
|
+
return discoverGrokSessions(limit, exclude);
|
|
160
|
+
},
|
|
161
|
+
async writeInput(pty, content) {
|
|
162
|
+
// Submit verify against the bucket-level prompt_history.jsonl (one
|
|
163
|
+
// {timestamp, session_id, prompt} line per submit, written at submit
|
|
164
|
+
// time even while a turn runs — see header). Requires cliCwd: without
|
|
165
|
+
// it we cannot safely pick a bucket (scanning every cwd's history
|
|
166
|
+
// would risk cross-session false matches + persist wrong cliSessionId).
|
|
167
|
+
// Production always sets cliCwd (spawn + adopt); missing cwd → fail
|
|
168
|
+
// closed and let the structured bridge recover.
|
|
169
|
+
//
|
|
170
|
+
// Concurrent workers share the cwd bucket's prompt_history. Bind each
|
|
171
|
+
// match to THIS process's active Grok session via cliPid → open fds
|
|
172
|
+
// (re-probed every poll so /new|/clear|/resume rotation is picked up).
|
|
173
|
+
const cwd = pty.cliCwd;
|
|
174
|
+
if (!cwd) {
|
|
175
|
+
if (pty.sendText && pty.sendSpecialKeys) {
|
|
176
|
+
if (pty.sendText(content) === false)
|
|
177
|
+
return { submitted: false };
|
|
178
|
+
await delay(scaleMs(200));
|
|
179
|
+
if (pty.sendSpecialKeys('Enter') === false)
|
|
180
|
+
return { submitted: false };
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
pty.write(content);
|
|
184
|
+
await delay(scaleMs(1000));
|
|
185
|
+
pty.write('\r');
|
|
186
|
+
}
|
|
187
|
+
return { submitted: false };
|
|
188
|
+
}
|
|
189
|
+
const historyPath = grokPromptHistoryPath(cwd);
|
|
190
|
+
const baseByte = grokFileSize(historyPath);
|
|
191
|
+
// Paste text once; retries only re-send Enter (codex/coco parity).
|
|
192
|
+
// Re-pasting the full body on retry double-submits when the first Enter
|
|
193
|
+
// actually landed but prompt_history was slow, or doubles composer text
|
|
194
|
+
// when Enter was dropped but the paste stuck.
|
|
195
|
+
// TmuxPipeBackend (adopt) returns false on failed writes instead of
|
|
196
|
+
// throwing — treat false as definite failure.
|
|
197
|
+
const trySendEnter = () => {
|
|
198
|
+
try {
|
|
199
|
+
if (pty.sendSpecialKeys) {
|
|
200
|
+
return pty.sendSpecialKeys('Enter') !== false;
|
|
201
|
+
}
|
|
202
|
+
pty.write('\r');
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
// tmux session gone mid-write — bail cleanly.
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
try {
|
|
211
|
+
if (pty.sendText && pty.sendSpecialKeys) {
|
|
212
|
+
if (pty.sendText(content) === false)
|
|
213
|
+
return { submitted: false };
|
|
214
|
+
await delay(scaleMs(200));
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
pty.write(content);
|
|
218
|
+
await delay(scaleMs(1000));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
return { submitted: false };
|
|
223
|
+
}
|
|
224
|
+
if (!trySendEnter())
|
|
225
|
+
return { submitted: false };
|
|
226
|
+
// First submit in a fresh bucket creates the file after our snapshot —
|
|
227
|
+
// re-stat base as 0 when the path appears mid-poll. Re-resolve prefer
|
|
228
|
+
// sid each probe so a mid-wait /new rotation still binds correctly.
|
|
229
|
+
const probe = () => {
|
|
230
|
+
const base = existsSync(historyPath) ? baseByte : 0;
|
|
231
|
+
const preferSessionId = pty.cliPid
|
|
232
|
+
? findGrokSessionByPid(pty.cliPid)?.sessionId
|
|
233
|
+
: undefined;
|
|
234
|
+
return matchGrokPromptAppend(historyPath, base, content, { preferSessionId });
|
|
235
|
+
};
|
|
236
|
+
const deadline = Date.now() + scaleMs(4_000);
|
|
237
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
238
|
+
const waitUntil = Math.min(deadline, Date.now() + scaleMs(800));
|
|
239
|
+
while (Date.now() < waitUntil) {
|
|
240
|
+
const hit = probe();
|
|
241
|
+
if (hit.found) {
|
|
242
|
+
return hit.cliSessionId
|
|
243
|
+
? { submitted: true, cliSessionId: hit.cliSessionId }
|
|
244
|
+
: { submitted: true };
|
|
245
|
+
}
|
|
246
|
+
await delay(scaleMs(100));
|
|
247
|
+
}
|
|
248
|
+
if (Date.now() >= deadline)
|
|
249
|
+
break;
|
|
250
|
+
if (!trySendEnter())
|
|
251
|
+
return { submitted: false };
|
|
252
|
+
}
|
|
253
|
+
const late = probe();
|
|
254
|
+
if (late.found) {
|
|
255
|
+
return late.cliSessionId
|
|
256
|
+
? { submitted: true, cliSessionId: late.cliSessionId }
|
|
257
|
+
: { submitted: true };
|
|
258
|
+
}
|
|
259
|
+
const recheck = () => {
|
|
260
|
+
const hit = probe();
|
|
261
|
+
if (!hit.found)
|
|
262
|
+
return false;
|
|
263
|
+
return hit.cliSessionId
|
|
264
|
+
? { submitted: true, cliSessionId: hit.cliSessionId }
|
|
265
|
+
: true;
|
|
266
|
+
};
|
|
267
|
+
return { submitted: false, recheck };
|
|
268
|
+
},
|
|
269
|
+
completionPattern: undefined,
|
|
270
|
+
// Composer box `❯` renders once the TUI is interactive — pairs with
|
|
271
|
+
// deferFirstPromptTimeoutUntilReady to keep the first prompt held past
|
|
272
|
+
// the soft timeout (the SessionStart ready hook is the primary signal).
|
|
273
|
+
readyPattern: /❯/,
|
|
274
|
+
// Busy markers verified on 0.2.93: "⠧ Waiting for response…" spinner
|
|
275
|
+
// during the model phase, and the "Ctrl+c:cancel" shortcut-bar entry
|
|
276
|
+
// through model AND tool phases (idle bar shows Shift+Tab:mode /
|
|
277
|
+
// Ctrl+x:shortcuts only).
|
|
278
|
+
busyPattern: /Waiting for response|Ctrl\+c:\s*cancel/i,
|
|
279
|
+
// Routing/identity ride on --rules (injectsSessionContext); no inline hints.
|
|
280
|
+
systemHints: [],
|
|
281
|
+
altScreen: true,
|
|
282
|
+
// Global skill root under $GROK_HOME (TUI has no --plugin-dir); layout is
|
|
283
|
+
// `skills/<name>/SKILL.md`, same operational model as Codex.
|
|
284
|
+
get skillsDir() { return grokSkillsDir(); },
|
|
285
|
+
// SessionStart → botmux session-ready for injectsReadyHook gate.
|
|
286
|
+
hookInstall: {
|
|
287
|
+
get configPath() { return join(grokHooksDir(), 'botmux-session-ready.json'); },
|
|
288
|
+
format: 'grok-hooks',
|
|
289
|
+
sessionStartCommand: sessionReadyHookCommand(),
|
|
290
|
+
},
|
|
291
|
+
modelChoices: [
|
|
292
|
+
'grok-4.5',
|
|
293
|
+
'grok-composer-2.5-fast',
|
|
294
|
+
],
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
export const create = createGrokAdapter;
|
|
298
|
+
//# sourceMappingURL=grok.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok.js","sourceRoot":"","sources":["../../../src/adapters/cli/grok.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oh-my-pi.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/oh-my-pi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"oh-my-pi.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/oh-my-pi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAuFxD,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAkGrE;AAED,eAAO,MAAM,MAAM,4BAAsB,CAAC"}
|
|
@@ -1,9 +1,111 @@
|
|
|
1
1
|
import { resolveCommand } from './registry.js';
|
|
2
2
|
import { BOTMUX_SHELL_HINTS } from './shared-hints.js';
|
|
3
3
|
import { delay } from '../../utils/timing.js';
|
|
4
|
+
const OMP_INPUT_CHUNK_CHARS = 512;
|
|
5
|
+
const OMP_INPUT_CHUNK_NEWLINES = 9;
|
|
6
|
+
const OMP_INPUT_THROTTLE_MS = 20;
|
|
7
|
+
const OMP_CLEAR_COOLDOWN_MS = 550;
|
|
8
|
+
const BRACKETED_PASTE_START = '\x1b[200~';
|
|
9
|
+
const BRACKETED_PASTE_END = '\x1b[201~';
|
|
10
|
+
/** Match OMP's paste semantics before putting content on a key-event path. */
|
|
11
|
+
function normalizeOmpInput(text) {
|
|
12
|
+
return text
|
|
13
|
+
// Strip ANSI/VT sequences as whole units so removing ESC does not leave
|
|
14
|
+
// printable tails such as `[31m` in pasted terminal logs.
|
|
15
|
+
.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)?/g, '')
|
|
16
|
+
.replace(/\x1b\[[0-?]*[ -/]*[@-~]/g, '')
|
|
17
|
+
.replace(/\x1b[ -/]*[@-~]/g, '')
|
|
18
|
+
.replace(/\r\n?/g, '\n')
|
|
19
|
+
.normalize('NFC')
|
|
20
|
+
.replace(/\t/g, ' ')
|
|
21
|
+
// Literal terminal input would interpret these as keys (Backspace, DEL,
|
|
22
|
+
// Escape, etc.). Newlines are preserved and delivered inside paste mode.
|
|
23
|
+
.replace(/[\x00-\x09\x0B-\x1F\x7F-\x9F]/g, '');
|
|
24
|
+
}
|
|
25
|
+
/** Keep every paste below OMP's `[Paste #N]` thresholds (>1000 chars or >10 lines). */
|
|
26
|
+
function chunkOmpInput(text) {
|
|
27
|
+
const chunks = [];
|
|
28
|
+
let current = '';
|
|
29
|
+
let newlines = 0;
|
|
30
|
+
for (const ch of text) {
|
|
31
|
+
if (current &&
|
|
32
|
+
(current.length + ch.length > OMP_INPUT_CHUNK_CHARS ||
|
|
33
|
+
(ch === '\n' && newlines >= OMP_INPUT_CHUNK_NEWLINES))) {
|
|
34
|
+
chunks.push(current);
|
|
35
|
+
current = '';
|
|
36
|
+
newlines = 0;
|
|
37
|
+
}
|
|
38
|
+
current += ch;
|
|
39
|
+
if (ch === '\n')
|
|
40
|
+
newlines++;
|
|
41
|
+
}
|
|
42
|
+
if (current)
|
|
43
|
+
chunks.push(current);
|
|
44
|
+
return chunks;
|
|
45
|
+
}
|
|
46
|
+
function sendLiteral(pty, text) {
|
|
47
|
+
try {
|
|
48
|
+
if (pty.sendText)
|
|
49
|
+
return pty.sendText(text) !== false;
|
|
50
|
+
pty.write(text);
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function pasteTextInSafeChunks(pty, content) {
|
|
58
|
+
const chunks = chunkOmpInput(content);
|
|
59
|
+
for (const chunk of chunks) {
|
|
60
|
+
// Emit the markers ourselves instead of relying on backend pasteText():
|
|
61
|
+
// tmux/zellij implement bracketed paste, while herdr's pasteText is only a
|
|
62
|
+
// literal write. One explicit wire format keeps every backend equivalent.
|
|
63
|
+
if (!sendLiteral(pty, `${BRACKETED_PASTE_START}${chunk}${BRACKETED_PASTE_END}`))
|
|
64
|
+
return false;
|
|
65
|
+
await delay(OMP_INPUT_THROTTLE_MS);
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
function submitEnter(pty, attempts = 3) {
|
|
70
|
+
for (let i = 0; i < attempts; i++) {
|
|
71
|
+
try {
|
|
72
|
+
if (pty.sendSpecialKeys) {
|
|
73
|
+
if (pty.sendSpecialKeys('Enter') !== false)
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
pty.write('\r');
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// retry below
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
4
87
|
/** Adapter for oh-my-pi coding agent's native TUI (`omp`). */
|
|
5
88
|
export function createOhMyPiAdapter(pathOverride) {
|
|
6
89
|
const bin = resolveCommand(pathOverride ?? 'omp');
|
|
90
|
+
let composerDirty = false;
|
|
91
|
+
let lastClearAttemptAt = 0;
|
|
92
|
+
const clearComposer = async (pty) => {
|
|
93
|
+
// OMP treats a second Ctrl+C within 500 ms as exit. Keep recovery clears
|
|
94
|
+
// outside that window even when consecutive terminal writes fail quickly.
|
|
95
|
+
const waitMs = OMP_CLEAR_COOLDOWN_MS - (Date.now() - lastClearAttemptAt);
|
|
96
|
+
if (waitMs > 0)
|
|
97
|
+
await delay(waitMs);
|
|
98
|
+
lastClearAttemptAt = Date.now();
|
|
99
|
+
try {
|
|
100
|
+
if (pty.sendSpecialKeys)
|
|
101
|
+
return pty.sendSpecialKeys('C-c') !== false;
|
|
102
|
+
pty.write('\x03');
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
7
109
|
return {
|
|
8
110
|
id: 'oh-my-pi',
|
|
9
111
|
authPaths: ['~/.omp/agent/auth.json'],
|
|
@@ -37,20 +139,39 @@ export function createOhMyPiAdapter(pathOverride) {
|
|
|
37
139
|
return 'omp --continue';
|
|
38
140
|
},
|
|
39
141
|
async writeInput(pty, content) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
await delay(200);
|
|
47
|
-
pty.write('\n');
|
|
142
|
+
const normalized = normalizeOmpInput(content);
|
|
143
|
+
if (!normalized) {
|
|
144
|
+
return {
|
|
145
|
+
submitted: false,
|
|
146
|
+
failureReason: 'OMP 输入清理控制字符后为空,未发送空消息。',
|
|
147
|
+
};
|
|
48
148
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
pty
|
|
149
|
+
// A previous best-effort clear may itself have been dropped. Never append
|
|
150
|
+
// a new message to that unknown buffer: clear it successfully first.
|
|
151
|
+
if (composerDirty) {
|
|
152
|
+
if (!(await clearComposer(pty))) {
|
|
153
|
+
return {
|
|
154
|
+
submitted: false,
|
|
155
|
+
failureReason: 'OMP 输入框可能残留未完整消息,自动清理失败;请在终端按 Ctrl+C 清空后重试。',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
composerDirty = false;
|
|
159
|
+
}
|
|
160
|
+
// OMP collapses a single large bracketed paste into `[Paste #N]`, whose
|
|
161
|
+
// immediately-following programmatic Enter can be ignored. Preserve paste
|
|
162
|
+
// sanitization (so tabs/newlines/control bytes are text, not key events),
|
|
163
|
+
// but split below both placeholder thresholds before the final real Enter.
|
|
164
|
+
const pasted = await pasteTextInSafeChunks(pty, normalized);
|
|
165
|
+
if (!pasted) {
|
|
166
|
+
composerDirty = !(await clearComposer(pty));
|
|
167
|
+
return { submitted: false };
|
|
168
|
+
}
|
|
169
|
+
if (!submitEnter(pty)) {
|
|
170
|
+
composerDirty = !(await clearComposer(pty));
|
|
171
|
+
return { submitted: false };
|
|
53
172
|
}
|
|
173
|
+
composerDirty = false;
|
|
174
|
+
return { submitted: true };
|
|
54
175
|
},
|
|
55
176
|
completionPattern: undefined,
|
|
56
177
|
readyPattern: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oh-my-pi.js","sourceRoot":"","sources":["../../../src/adapters/cli/oh-my-pi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,8DAA8D;AAC9D,MAAM,UAAU,mBAAmB,CAAC,YAAqB;IACvD,MAAM,GAAG,GAAG,cAAc,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IAClD,OAAO;QACL,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,CAAC,wBAAwB,CAAC;QACrC,WAAW,EAAE,GAAG;QAEhB,iEAAiE;QACjE,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,iCAAiC;QACjC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE;YAC/C,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,+FAA+F;gBAC1G,YAAY;aACb,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,KAAK,EAAE,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,UAAU;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4EAA4E;QAC5E,qBAAqB;QACrB,0BAA0B,EAAE,KAAK;QAEjC,sEAAsE;QACtE,qEAAqE;QACrE,qEAAqE;QACrE,kBAAkB;YAChB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,GAAc,EAAE,OAAe;YAC9C,
|
|
1
|
+
{"version":3,"file":"oh-my-pi.js","sourceRoot":"","sources":["../../../src/adapters/cli/oh-my-pi.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ import { createPiAdapter } from './pi.js';
|
|
|
20
20
|
import { createCopilotAdapter } from './copilot.js';
|
|
21
21
|
import { createOhMyPiAdapter } from './oh-my-pi.js';
|
|
22
22
|
import { createKimiAdapter } from './kimi.js';
|
|
23
|
+
import { createGrokAdapter } from './grok.js';
|
|
23
24
|
/** Resolve a command name to its absolute path via shell `which`.
|
|
24
25
|
* Tries login shell first (-lc), then interactive shell (-ic) for tools
|
|
25
26
|
* whose installers add PATH entries to .bashrc/.zshrc only. */
|
|
@@ -36,7 +37,7 @@ export declare function resolveCommand(cmd: string): string;
|
|
|
36
37
|
export declare function locateOnPath(cmd: string): string | null;
|
|
37
38
|
/** Async adapter factory (uses dynamic import for lazy loading in daemon process). */
|
|
38
39
|
export declare function createCliAdapter(id: CliId, pathOverride?: string): Promise<CliAdapter>;
|
|
39
|
-
export { createClaudeCodeAdapter, createSeedAdapter, createRelayAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createGeniusAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter, createMirAdapter, createTraexAdapter, createPiAdapter, createCopilotAdapter, createOhMyPiAdapter, createKimiAdapter };
|
|
40
|
+
export { createClaudeCodeAdapter, createSeedAdapter, createRelayAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createGeniusAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter, createMirAdapter, createTraexAdapter, createPiAdapter, createCopilotAdapter, createOhMyPiAdapter, createKimiAdapter, createGrokAdapter };
|
|
40
41
|
/** Synchronous version for use in worker process. */
|
|
41
42
|
export declare function createCliAdapterSync(id: CliId, pathOverride?: string): CliAdapter;
|
|
42
43
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C;;gEAEgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4ClD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvD;AAID,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO5F;AAED,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C;;gEAEgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4ClD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvD;AAID,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO5F;AAED,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAE9c,qDAAqD;AACrD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CA0BjF"}
|
|
@@ -24,6 +24,7 @@ import { createPiAdapter } from './pi.js';
|
|
|
24
24
|
import { createCopilotAdapter } from './copilot.js';
|
|
25
25
|
import { createOhMyPiAdapter } from './oh-my-pi.js';
|
|
26
26
|
import { createKimiAdapter } from './kimi.js';
|
|
27
|
+
import { createGrokAdapter } from './grok.js';
|
|
27
28
|
/** Resolve a command name to its absolute path via shell `which`.
|
|
28
29
|
* Tries login shell first (-lc), then interactive shell (-ic) for tools
|
|
29
30
|
* whose installers add PATH entries to .bashrc/.zshrc only. */
|
|
@@ -98,7 +99,7 @@ export async function createCliAdapter(id, pathOverride) {
|
|
|
98
99
|
adapterCache.set(key, adapter);
|
|
99
100
|
return adapter;
|
|
100
101
|
}
|
|
101
|
-
export { createClaudeCodeAdapter, createSeedAdapter, createRelayAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createGeniusAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter, createMirAdapter, createTraexAdapter, createPiAdapter, createCopilotAdapter, createOhMyPiAdapter, createKimiAdapter };
|
|
102
|
+
export { createClaudeCodeAdapter, createSeedAdapter, createRelayAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createCodexAppAdapter, createCursorAdapter, createGeminiAdapter, createGeniusAdapter, createOpenCodeAdapter, createAntigravityAdapter, createMtrAdapter, createHermesAdapter, createMiraAdapter, createMirAdapter, createTraexAdapter, createPiAdapter, createCopilotAdapter, createOhMyPiAdapter, createKimiAdapter, createGrokAdapter };
|
|
102
103
|
/** Synchronous version for use in worker process. */
|
|
103
104
|
export function createCliAdapterSync(id, pathOverride) {
|
|
104
105
|
switch (id.toLowerCase()) {
|
|
@@ -123,6 +124,7 @@ export function createCliAdapterSync(id, pathOverride) {
|
|
|
123
124
|
case 'copilot': return createCopilotAdapter(pathOverride);
|
|
124
125
|
case 'oh-my-pi': return createOhMyPiAdapter(pathOverride);
|
|
125
126
|
case 'kimi': return createKimiAdapter(pathOverride);
|
|
127
|
+
case 'grok': return createGrokAdapter(pathOverride);
|
|
126
128
|
default: throw new Error(`Unknown CLI adapter: ${id}`);
|
|
127
129
|
}
|
|
128
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared botmux routing hints injected into non-
|
|
2
|
+
* Shared botmux routing hints injected into non-injectsSessionContext CLIs'
|
|
3
|
+
* initial prompt.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
5
|
+
* CLIs that expose a system-prompt append flag set `injectsSessionContext` and
|
|
6
|
+
* push `buildBotmuxSystemPromptText` via that flag instead:
|
|
7
|
+
* - Claude Code / genius: `--append-system-prompt`
|
|
8
|
+
* - Grok: `--rules` (docs: Claude's append alias)
|
|
9
|
+
* This constant is only for CLIs without such a flag (coco / codex / gemini /
|
|
10
|
+
* opencode / aiden / mtr / hermes / …).
|
|
7
11
|
*
|
|
8
12
|
* Each array element becomes one line inside the `<botmux_routing>` XML block
|
|
9
13
|
* rendered by `buildNewTopicPrompt` in `session-manager.ts`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-hints.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/shared-hints.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"shared-hints.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/shared-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAK,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGrD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAe/D;AAED;8EAC8E;AAC9E,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAStC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2DAGuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,MAAM,CAqDT"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared botmux routing hints injected into non-
|
|
2
|
+
* Shared botmux routing hints injected into non-injectsSessionContext CLIs'
|
|
3
|
+
* initial prompt.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
5
|
+
* CLIs that expose a system-prompt append flag set `injectsSessionContext` and
|
|
6
|
+
* push `buildBotmuxSystemPromptText` via that flag instead:
|
|
7
|
+
* - Claude Code / genius: `--append-system-prompt`
|
|
8
|
+
* - Grok: `--rules` (docs: Claude's append alias)
|
|
9
|
+
* This constant is only for CLIs without such a flag (coco / codex / gemini /
|
|
10
|
+
* opencode / aiden / mtr / hermes / …).
|
|
7
11
|
*
|
|
8
12
|
* Each array element becomes one line inside the `<botmux_routing>` XML block
|
|
9
13
|
* rendered by `buildNewTopicPrompt` in `session-manager.ts`.
|