botmux 3.7.1 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/capabilities.d.ts +17 -0
- package/dist/adapters/backend/capabilities.d.ts.map +1 -0
- package/dist/adapters/backend/capabilities.js +22 -0
- package/dist/adapters/backend/capabilities.js.map +1 -0
- package/dist/adapters/backend/critical-control-key.d.ts +19 -0
- package/dist/adapters/backend/critical-control-key.d.ts.map +1 -0
- package/dist/adapters/backend/critical-control-key.js +34 -0
- package/dist/adapters/backend/critical-control-key.js.map +1 -0
- package/dist/adapters/backend/herdr-backend.d.ts +9 -0
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +23 -4
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
- package/dist/adapters/backend/riff-backend.js +3 -2
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/session-backend-selector.d.ts +61 -6
- package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
- package/dist/adapters/backend/session-backend-selector.js +173 -9
- package/dist/adapters/backend/session-backend-selector.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts +10 -3
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +25 -8
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +3 -2
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +45 -4
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js +11 -0
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zellij-backend.js +3 -2
- package/dist/adapters/backend/zellij-backend.js.map +1 -1
- package/dist/adapters/backend/zmx-backend.d.ts +286 -0
- package/dist/adapters/backend/zmx-backend.d.ts.map +1 -0
- package/dist/adapters/backend/zmx-backend.js +2396 -0
- package/dist/adapters/backend/zmx-backend.js.map +1 -0
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +3 -0
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +5 -1
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +26 -1
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/fs-policy.d.ts +79 -1
- package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
- package/dist/adapters/cli/fs-policy.js +290 -13
- package/dist/adapters/cli/fs-policy.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts.map +1 -1
- package/dist/adapters/cli/grok.js +4 -1
- package/dist/adapters/cli/grok.js.map +1 -1
- package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
- package/dist/adapters/cli/oh-my-pi.js +5 -3
- package/dist/adapters/cli/oh-my-pi.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +7 -4
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +52 -35
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/strict-input-handle.d.ts +13 -0
- package/dist/adapters/cli/strict-input-handle.d.ts.map +1 -0
- package/dist/adapters/cli/strict-input-handle.js +39 -0
- package/dist/adapters/cli/strict-input-handle.js.map +1 -0
- package/dist/adapters/cli/traex.d.ts.map +1 -1
- package/dist/adapters/cli/traex.js +6 -4
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +16 -0
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +137 -8
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +298 -12
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/session-list-liveness.d.ts +1 -1
- package/dist/cli/session-list-liveness.js +1 -1
- package/dist/cli/zmx-managed-attach.d.ts +41 -0
- package/dist/cli/zmx-managed-attach.d.ts.map +1 -0
- package/dist/cli/zmx-managed-attach.js +72 -0
- package/dist/cli/zmx-managed-attach.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +780 -131
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-runner.js +90 -2
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/codex-rpc-engine.d.ts.map +1 -1
- package/dist/codex-rpc-engine.js +22 -6
- package/dist/codex-rpc-engine.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +29 -1
- package/dist/config.js.map +1 -1
- package/dist/core/ask-broker.d.ts +22 -1
- package/dist/core/ask-broker.d.ts.map +1 -1
- package/dist/core/ask-broker.js +12 -5
- package/dist/core/ask-broker.js.map +1 -1
- package/dist/core/botmux-wrapper.d.ts +18 -0
- package/dist/core/botmux-wrapper.d.ts.map +1 -1
- package/dist/core/botmux-wrapper.js +25 -1
- package/dist/core/botmux-wrapper.js.map +1 -1
- package/dist/core/chat-rename.d.ts +27 -0
- package/dist/core/chat-rename.d.ts.map +1 -0
- package/dist/core/chat-rename.js +53 -0
- package/dist/core/chat-rename.js.map +1 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +160 -12
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +25 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +102 -4
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +16 -2
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +611 -62
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +22 -1
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +61 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +6 -0
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +11 -1
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/device-isolation-daemon.d.ts +28 -6
- package/dist/core/device-isolation-daemon.d.ts.map +1 -1
- package/dist/core/device-isolation-daemon.js +96 -13
- package/dist/core/device-isolation-daemon.js.map +1 -1
- package/dist/core/host-overload-alert.d.ts +75 -0
- package/dist/core/host-overload-alert.d.ts.map +1 -1
- package/dist/core/host-overload-alert.js +103 -0
- package/dist/core/host-overload-alert.js.map +1 -1
- package/dist/core/idle-worker-sweeper.js +1 -1
- package/dist/core/idle-worker-sweeper.js.map +1 -1
- package/dist/core/inflight-input-tracker.d.ts +3 -0
- package/dist/core/inflight-input-tracker.d.ts.map +1 -1
- package/dist/core/inflight-input-tracker.js +9 -0
- package/dist/core/inflight-input-tracker.js.map +1 -1
- package/dist/core/passthrough-commands.d.ts.map +1 -1
- package/dist/core/passthrough-commands.js +10 -0
- package/dist/core/passthrough-commands.js.map +1 -1
- package/dist/core/persistent-backend.d.ts +32 -4
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +75 -6
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/plugins/mcp/gateway.js +2 -2
- package/dist/core/plugins/mcp/gateway.js.map +1 -1
- package/dist/core/plugins/runtime.d.ts +3 -0
- package/dist/core/plugins/runtime.d.ts.map +1 -1
- package/dist/core/plugins/runtime.js.map +1 -1
- package/dist/core/plugins/service-manager.d.ts +4 -1
- package/dist/core/plugins/service-manager.d.ts.map +1 -1
- package/dist/core/plugins/service-manager.js +11 -6
- package/dist/core/plugins/service-manager.js.map +1 -1
- package/dist/core/role-library.d.ts +48 -1
- package/dist/core/role-library.d.ts.map +1 -1
- package/dist/core/role-library.js +111 -3
- package/dist/core/role-library.js.map +1 -1
- package/dist/core/role-resolver.d.ts +14 -2
- package/dist/core/role-resolver.d.ts.map +1 -1
- package/dist/core/role-resolver.js +47 -4
- package/dist/core/role-resolver.js.map +1 -1
- package/dist/core/session-activity.d.ts +14 -0
- package/dist/core/session-activity.d.ts.map +1 -1
- package/dist/core/session-activity.js +46 -1
- package/dist/core/session-activity.js.map +1 -1
- package/dist/core/session-board.d.ts +5 -2
- package/dist/core/session-board.d.ts.map +1 -1
- package/dist/core/session-board.js +5 -2
- package/dist/core/session-board.js.map +1 -1
- package/dist/core/session-liveness.d.ts +6 -5
- package/dist/core/session-liveness.d.ts.map +1 -1
- package/dist/core/session-liveness.js +34 -13
- package/dist/core/session-liveness.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +397 -103
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-marker.d.ts +11 -2
- package/dist/core/session-marker.d.ts.map +1 -1
- package/dist/core/session-marker.js +50 -11
- package/dist/core/session-marker.js.map +1 -1
- package/dist/core/session-message-preview.d.ts +20 -0
- package/dist/core/session-message-preview.d.ts.map +1 -0
- package/dist/core/session-message-preview.js +188 -0
- package/dist/core/session-message-preview.js.map +1 -0
- package/dist/core/session-title.d.ts +5 -1
- package/dist/core/session-title.d.ts.map +1 -1
- package/dist/core/session-title.js +20 -3
- package/dist/core/session-title.js.map +1 -1
- package/dist/core/startup-commands.d.ts +1 -1
- package/dist/core/startup-commands.js +1 -1
- package/dist/core/terminal-url.d.ts.map +1 -1
- package/dist/core/terminal-url.js +3 -2
- package/dist/core/terminal-url.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +75 -12
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +35 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +23 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-ipc.d.ts +11 -0
- package/dist/core/worker-ipc.d.ts.map +1 -0
- package/dist/core/worker-ipc.js +26 -0
- package/dist/core/worker-ipc.js.map +1 -0
- package/dist/core/worker-pool.d.ts +179 -29
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +2118 -331
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +132 -3
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +1327 -449
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +2 -0
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +9 -0
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +4 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +5 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/federation-api.d.ts.map +1 -1
- package/dist/dashboard/federation-api.js +4 -0
- package/dist/dashboard/federation-api.js.map +1 -1
- package/dist/dashboard/federation-spoke-api.d.ts.map +1 -1
- package/dist/dashboard/federation-spoke-api.js +32 -5
- package/dist/dashboard/federation-spoke-api.js.map +1 -1
- package/dist/dashboard/public-redact.d.ts +8 -2
- package/dist/dashboard/public-redact.d.ts.map +1 -1
- package/dist/dashboard/public-redact.js +34 -7
- package/dist/dashboard/public-redact.js.map +1 -1
- package/dist/dashboard/session-card-model.d.ts.map +1 -1
- package/dist/dashboard/session-card-model.js +10 -2
- package/dist/dashboard/session-card-model.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +35 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +88 -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 +0 -1
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +15 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +212 -58
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +3 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/bot-onboarding.d.ts +2 -1
- package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/web/bot-onboarding.js.map +1 -1
- package/dist/dashboard/web/clipboard.d.ts +2 -0
- package/dist/dashboard/web/clipboard.d.ts.map +1 -0
- package/dist/dashboard/web/clipboard.js +42 -0
- package/dist/dashboard/web/clipboard.js.map +1 -0
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
- package/dist/dashboard/web/connectors-page.js +12 -8
- package/dist/dashboard/web/connectors-page.js.map +1 -1
- package/dist/dashboard/web/dashboard-components.d.ts +17 -16
- package/dist/dashboard/web/dashboard-components.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-components.js.map +1 -1
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +7 -3
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +205 -12
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/icon-tooltip.d.ts.map +1 -1
- package/dist/dashboard/web/icon-tooltip.js +16 -1
- package/dist/dashboard/web/icon-tooltip.js.map +1 -1
- package/dist/dashboard/web/listener-filters.d.ts +23 -0
- package/dist/dashboard/web/listener-filters.d.ts.map +1 -0
- package/dist/dashboard/web/listener-filters.js +36 -0
- package/dist/dashboard/web/listener-filters.js.map +1 -0
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/plugin-page.d.ts.map +1 -1
- package/dist/dashboard/web/plugin-page.js.map +1 -1
- package/dist/dashboard/web/preview-markdown.d.ts +5 -0
- package/dist/dashboard/web/preview-markdown.d.ts.map +1 -0
- package/dist/dashboard/web/preview-markdown.js +52 -0
- package/dist/dashboard/web/preview-markdown.js.map +1 -0
- package/dist/dashboard/web/roles-page.d.ts.map +1 -1
- package/dist/dashboard/web/roles-page.js +535 -10
- package/dist/dashboard/web/roles-page.js.map +1 -1
- package/dist/dashboard/web/roles.d.ts +77 -0
- package/dist/dashboard/web/roles.d.ts.map +1 -1
- package/dist/dashboard/web/roles.js +98 -0
- package/dist/dashboard/web/roles.js.map +1 -1
- package/dist/dashboard/web/session-terminal.d.ts.map +1 -1
- package/dist/dashboard/web/session-terminal.js +6 -4
- package/dist/dashboard/web/session-terminal.js.map +1 -1
- package/dist/dashboard/web/sessions-kanban.d.ts +4 -1
- package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-kanban.js +1 -1
- package/dist/dashboard/web/sessions-kanban.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts +3 -2
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +163 -28
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +25 -0
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +58 -7
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +28 -3
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +61 -1
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts +6 -5
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +2 -0
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/v3-components.d.ts +3 -2
- package/dist/dashboard/web/v3-components.d.ts.map +1 -1
- package/dist/dashboard/web/v3-components.js.map +1 -1
- package/dist/dashboard/web/vc-consumer-profiles-section.d.ts +12 -2
- package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -1
- package/dist/dashboard/web/vc-consumer-profiles-section.js +0 -9
- package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -1
- package/dist/dashboard/web/webhook-logs-page.d.ts +2 -1
- package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -1
- package/dist/dashboard/web/webhook-logs-page.js +4 -1
- package/dist/dashboard/web/webhook-logs-page.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-FAPIMQV3.js +10 -0
- package/dist/dashboard-web/chunks/{chunk-QFMH6ITB.js → chunk-5CJMHTT4.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-KQB42ML5.js → chunk-DLZK52JU.js} +14 -12
- package/dist/dashboard-web/chunks/chunk-FDZ7WOBW.js +16 -0
- package/dist/dashboard-web/chunks/{chunk-3QAUJXAS.js → chunk-GTAJV5YC.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-FNPGOZMX.js → chunk-IHNG6KE6.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-FLGXZJTD.js → chunk-VA6QWSGQ.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-ZJVTGU5X.js +1 -0
- package/dist/dashboard-web/chunks/connectors-page-LKWRT3GS.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-V6654ICQ.js +8 -0
- package/dist/dashboard-web/chunks/insights-page-237RMFQ5.js +7 -0
- package/dist/dashboard-web/chunks/{monitor-room-7IVIS75W.js → monitor-room-OO5Y4FRQ.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-5SSJRQZF.js → monitoring-page-OUEITM5P.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-EOND3L5D.js → office-page-4KNAHQ4Q.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-NISBVBBJ.js → overview-page-QDP4YK2S.js} +1 -1
- package/dist/dashboard-web/chunks/{plugin-page-JXC5F5YV.js → plugin-page-VEGTCEAS.js} +1 -1
- package/dist/dashboard-web/chunks/roles-page-PGXNZZNP.js +1 -0
- package/dist/dashboard-web/chunks/{schedules-page-AVOOKLUH.js → schedules-page-BJNC5TID.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-M2ZYYCMO.js +6 -0
- package/dist/dashboard-web/chunks/settings-page-IJFZKUUW.js +2 -0
- package/dist/dashboard-web/chunks/{skills-page-5MW54PCC.js → skills-page-YRAIRZOQ.js} +3 -3
- package/dist/dashboard-web/chunks/{team-federation-page-2SNIMVXI.js → team-federation-page-DEU27GRU.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-W6SBXXQC.js → v3-page-6KHEW2YL.js} +5 -5
- package/dist/dashboard-web/chunks/{whiteboards-page-STC54KTP.js → whiteboards-page-VDECAALH.js} +1 -1
- package/dist/dashboard-web/style.css +12545 -11432
- package/dist/dashboard.js +215 -36
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +41 -2
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +47 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +71 -19
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +71 -19
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/callback-button-marker.d.ts +34 -0
- package/dist/im/lark/callback-button-marker.d.ts.map +1 -0
- package/dist/im/lark/callback-button-marker.js +99 -0
- package/dist/im/lark/callback-button-marker.js.map +1 -0
- package/dist/im/lark/card-builder.d.ts +46 -10
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +299 -78
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +3 -4
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +380 -148
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +24 -1
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +101 -8
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/doc-comment.d.ts.map +1 -1
- package/dist/im/lark/doc-comment.js +6 -1
- package/dist/im/lark/doc-comment.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +115 -3
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +534 -147
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/grant-command.d.ts +16 -12
- package/dist/im/lark/grant-command.d.ts.map +1 -1
- package/dist/im/lark/grant-command.js +48 -151
- package/dist/im/lark/grant-command.js.map +1 -1
- package/dist/im/lark/grant-pending.d.ts +12 -4
- package/dist/im/lark/grant-pending.d.ts.map +1 -1
- package/dist/im/lark/grant-pending.js +31 -8
- package/dist/im/lark/grant-pending.js.map +1 -1
- package/dist/im/lark/invite-command.d.ts +20 -0
- package/dist/im/lark/invite-command.d.ts.map +1 -0
- package/dist/im/lark/invite-command.js +239 -0
- package/dist/im/lark/invite-command.js.map +1 -0
- package/dist/im/lark/md-card.d.ts +66 -4
- package/dist/im/lark/md-card.d.ts.map +1 -1
- package/dist/im/lark/md-card.js +201 -31
- package/dist/im/lark/md-card.js.map +1 -1
- package/dist/im/lark/mention-targets.d.ts +43 -0
- package/dist/im/lark/mention-targets.d.ts.map +1 -0
- package/dist/im/lark/mention-targets.js +190 -0
- package/dist/im/lark/mention-targets.js.map +1 -0
- package/dist/im/lark/message-parser.d.ts +31 -0
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +305 -32
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/im/lark/reply-card-footer-signature.d.ts +7 -0
- package/dist/im/lark/reply-card-footer-signature.d.ts.map +1 -0
- package/dist/im/lark/reply-card-footer-signature.js +7 -0
- package/dist/im/lark/reply-card-footer-signature.js.map +1 -0
- package/dist/im/lark/sessions-card.d.ts.map +1 -1
- package/dist/im/lark/sessions-card.js +4 -1
- package/dist/im/lark/sessions-card.js.map +1 -1
- package/dist/im/lark/substitute-command.d.ts.map +1 -1
- package/dist/im/lark/substitute-command.js +8 -0
- package/dist/im/lark/substitute-command.js.map +1 -1
- package/dist/im/lark/topic-root-context.d.ts +35 -0
- package/dist/im/lark/topic-root-context.d.ts.map +1 -0
- package/dist/im/lark/topic-root-context.js +37 -0
- package/dist/im/lark/topic-root-context.js.map +1 -0
- package/dist/im/lark/v3-blocked-card.d.ts.map +1 -1
- package/dist/im/lark/v3-blocked-card.js +2 -1
- package/dist/im/lark/v3-blocked-card.js.map +1 -1
- package/dist/im/lark/v3-gate-card.d.ts.map +1 -1
- package/dist/im/lark/v3-gate-card.js +2 -1
- package/dist/im/lark/v3-gate-card.js.map +1 -1
- package/dist/im/lark/v3-loop-grant-card.d.ts.map +1 -1
- package/dist/im/lark/v3-loop-grant-card.js +2 -1
- package/dist/im/lark/v3-loop-grant-card.js.map +1 -1
- package/dist/im/lark/v3-progress-card.d.ts.map +1 -1
- package/dist/im/lark/v3-progress-card.js +2 -1
- package/dist/im/lark/v3-progress-card.js.map +1 -1
- package/dist/im/lark/v3-revisit-grant-card.d.ts.map +1 -1
- package/dist/im/lark/v3-revisit-grant-card.js +2 -1
- package/dist/im/lark/v3-revisit-grant-card.js.map +1 -1
- package/dist/index-core-only.d.ts +3 -0
- package/dist/index-core-only.d.ts.map +1 -0
- package/dist/index-core-only.js +107 -0
- package/dist/index-core-only.js.map +1 -0
- package/dist/services/async-trigger-state.d.ts +8 -0
- package/dist/services/async-trigger-state.d.ts.map +1 -1
- package/dist/services/async-trigger-state.js +3 -2
- package/dist/services/async-trigger-state.js.map +1 -1
- package/dist/services/async-trigger-store.d.ts +10 -2
- package/dist/services/async-trigger-store.d.ts.map +1 -1
- package/dist/services/async-trigger-store.js +3 -2
- package/dist/services/async-trigger-store.js.map +1 -1
- package/dist/services/backend-availability.d.ts +3 -1
- package/dist/services/backend-availability.d.ts.map +1 -1
- package/dist/services/backend-availability.js +14 -1
- package/dist/services/backend-availability.js.map +1 -1
- package/dist/services/backend-type-store.d.ts.map +1 -1
- package/dist/services/backend-type-store.js +1 -1
- package/dist/services/backend-type-store.js.map +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +2 -1
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/bridge-fallback-gate.d.ts +14 -1
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +65 -1
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/card-prefs-store.d.ts +7 -2
- package/dist/services/card-prefs-store.d.ts.map +1 -1
- package/dist/services/card-prefs-store.js +30 -4
- package/dist/services/card-prefs-store.js.map +1 -1
- package/dist/services/codex-app-runner-protocol.d.ts +9 -0
- package/dist/services/codex-app-runner-protocol.d.ts.map +1 -1
- package/dist/services/codex-app-runner-protocol.js +17 -0
- package/dist/services/codex-app-runner-protocol.js.map +1 -1
- package/dist/services/codex-app-token-usage.d.ts +93 -0
- package/dist/services/codex-app-token-usage.d.ts.map +1 -0
- package/dist/services/codex-app-token-usage.js +190 -0
- package/dist/services/codex-app-token-usage.js.map +1 -0
- package/dist/services/codex-transcript.d.ts +6 -1
- package/dist/services/codex-transcript.d.ts.map +1 -1
- package/dist/services/codex-transcript.js +103 -32
- package/dist/services/codex-transcript.js.map +1 -1
- package/dist/services/federation-roster.d.ts +4 -0
- package/dist/services/federation-roster.d.ts.map +1 -1
- package/dist/services/federation-roster.js +3 -0
- package/dist/services/federation-roster.js.map +1 -1
- package/dist/services/federation-store.d.ts +6 -0
- package/dist/services/federation-store.d.ts.map +1 -1
- package/dist/services/federation-store.js.map +1 -1
- package/dist/services/grant-policy.d.ts +13 -0
- package/dist/services/grant-policy.d.ts.map +1 -0
- package/dist/services/grant-policy.js +40 -0
- package/dist/services/grant-policy.js.map +1 -0
- package/dist/services/grant-store.d.ts +24 -3
- package/dist/services/grant-store.d.ts.map +1 -1
- package/dist/services/grant-store.js +196 -12
- package/dist/services/grant-store.js.map +1 -1
- package/dist/services/groups-store.d.ts +36 -0
- package/dist/services/groups-store.d.ts.map +1 -1
- package/dist/services/groups-store.js +123 -1
- package/dist/services/groups-store.js.map +1 -1
- package/dist/services/jsonl-cursor.d.ts.map +1 -1
- package/dist/services/jsonl-cursor.js +8 -2
- package/dist/services/jsonl-cursor.js.map +1 -1
- package/dist/services/local-cli-opener.d.ts.map +1 -1
- package/dist/services/local-cli-opener.js +32 -0
- package/dist/services/local-cli-opener.js.map +1 -1
- package/dist/services/message-listener-run-preview-store.d.ts +43 -0
- package/dist/services/message-listener-run-preview-store.d.ts.map +1 -0
- package/dist/services/message-listener-run-preview-store.js +152 -0
- package/dist/services/message-listener-run-preview-store.js.map +1 -0
- package/dist/services/message-listener-store.d.ts +26 -0
- package/dist/services/message-listener-store.d.ts.map +1 -0
- package/dist/services/message-listener-store.js +138 -0
- package/dist/services/message-listener-store.js.map +1 -0
- package/dist/services/message-listener.d.ts +112 -0
- package/dist/services/message-listener.d.ts.map +1 -0
- package/dist/services/message-listener.js +391 -0
- package/dist/services/message-listener.js.map +1 -0
- package/dist/services/overload-alert-migration.d.ts +15 -0
- package/dist/services/overload-alert-migration.d.ts.map +1 -0
- package/dist/services/overload-alert-migration.js +115 -0
- package/dist/services/overload-alert-migration.js.map +1 -0
- package/dist/services/send-policy.d.ts +38 -0
- package/dist/services/send-policy.d.ts.map +1 -1
- package/dist/services/send-policy.js +34 -0
- package/dist/services/send-policy.js.map +1 -1
- package/dist/services/session-store.d.ts +12 -1
- package/dist/services/session-store.d.ts.map +1 -1
- package/dist/services/session-store.js +44 -2
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/skill-registry-store.d.ts.map +1 -1
- package/dist/services/skill-registry-store.js +87 -12
- package/dist/services/skill-registry-store.js.map +1 -1
- package/dist/services/substitute-mode-normalize.d.ts +3 -0
- package/dist/services/substitute-mode-normalize.d.ts.map +1 -1
- package/dist/services/substitute-mode-normalize.js +8 -0
- package/dist/services/substitute-mode-normalize.js.map +1 -1
- package/dist/services/substitute-mode-store.d.ts.map +1 -1
- package/dist/services/substitute-mode-store.js +8 -1
- package/dist/services/substitute-mode-store.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts +6 -1
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +145 -29
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/services/trigger-types.d.ts +16 -0
- package/dist/services/trigger-types.d.ts.map +1 -1
- package/dist/services/trigger-types.js +6 -0
- package/dist/services/trigger-types.js.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -2
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-zmx.d.ts +31 -0
- package/dist/setup/ensure-zmx.d.ts.map +1 -0
- package/dist/setup/ensure-zmx.js +161 -0
- package/dist/setup/ensure-zmx.js.map +1 -0
- package/dist/setup/index.d.ts +1 -1
- package/dist/setup/index.js +1 -1
- package/dist/setup/open-platform-automation.d.ts +9 -0
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +15 -2
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/setup/setup-args.d.ts +1 -1
- package/dist/setup/setup-args.d.ts.map +1 -1
- package/dist/setup/setup-args.js +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +32 -0
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +6 -2
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +10 -5
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/types.d.ts +79 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/child-env.d.ts +1 -1
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +4 -0
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/effort-confirm-dialog.d.ts +40 -0
- package/dist/utils/effort-confirm-dialog.d.ts.map +1 -0
- package/dist/utils/effort-confirm-dialog.js +74 -0
- package/dist/utils/effort-confirm-dialog.js.map +1 -0
- package/dist/utils/pending-input-queue.d.ts +56 -0
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js +80 -0
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/utils/render-dimensions.d.ts +8 -0
- package/dist/utils/render-dimensions.d.ts.map +1 -1
- package/dist/utils/render-dimensions.js +10 -0
- package/dist/utils/render-dimensions.js.map +1 -1
- package/dist/utils/stuck-key-guard.d.ts +3 -2
- package/dist/utils/stuck-key-guard.d.ts.map +1 -1
- package/dist/utils/stuck-key-guard.js +3 -3
- package/dist/utils/stuck-key-guard.js.map +1 -1
- package/dist/utils/terminal-renderer.d.ts +6 -0
- package/dist/utils/terminal-renderer.d.ts.map +1 -1
- package/dist/utils/terminal-renderer.js +15 -0
- package/dist/utils/terminal-renderer.js.map +1 -1
- package/dist/utils/tui-input-delivery.d.ts +32 -0
- package/dist/utils/tui-input-delivery.d.ts.map +1 -0
- package/dist/utils/tui-input-delivery.js +53 -0
- package/dist/utils/tui-input-delivery.js.map +1 -0
- package/dist/utils/xml.d.ts +19 -0
- package/dist/utils/xml.d.ts.map +1 -0
- package/dist/utils/xml.js +26 -0
- package/dist/utils/xml.js.map +1 -0
- package/dist/worker.js +1852 -374
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +8 -8
- package/dist/workflows/events/payloads.d.ts +8 -8
- package/dist/workflows/events/schema.d.ts +160 -160
- package/dist/workflows/v3/session-relay-client.js +1 -1
- package/dist/workflows/v3/session-relay-client.js.map +1 -1
- package/dist/workflows/v3/worker-fence.d.ts.map +1 -1
- package/dist/workflows/v3/worker-fence.js +15 -10
- package/dist/workflows/v3/worker-fence.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-UKA7K4JV.js +0 -10
- package/dist/dashboard-web/chunks/chunk-DFLNXQNT.js +0 -1
- package/dist/dashboard-web/chunks/connectors-page-A77YAB5Y.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-RUZNVXQB.js +0 -8
- package/dist/dashboard-web/chunks/insights-page-RF7U7RTA.js +0 -22
- package/dist/dashboard-web/chunks/roles-page-BUMKD7Y4.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-6HLSEAB7.js +0 -2
- package/dist/dashboard-web/chunks/settings-page-MJDZHQ4X.js +0 -2
|
@@ -303,6 +303,8 @@ const zh = {
|
|
|
303
303
|
'sessions.workingDir': '工作目录',
|
|
304
304
|
'sessions.created': '创建',
|
|
305
305
|
'sessions.last': '最近',
|
|
306
|
+
'sessions.preview.latestExchange': '最近问答',
|
|
307
|
+
'sessions.preview.showFull': '查看完整问答',
|
|
306
308
|
'sessions.adopt': '接入',
|
|
307
309
|
'sessions.actions': '操作',
|
|
308
310
|
'sessions.details': '详情',
|
|
@@ -312,6 +314,8 @@ const zh = {
|
|
|
312
314
|
'sessions.locating': '发送中...',
|
|
313
315
|
'sessions.cooldown': '冷却 {seconds}s',
|
|
314
316
|
'sessions.openTerminal': '终端',
|
|
317
|
+
'sessions.openReadonlyTerminal': '打开只读终端',
|
|
318
|
+
'sessions.openWritableTerminal': '打开可操作 Web 终端',
|
|
315
319
|
'sessions.writeLink': '操作链接',
|
|
316
320
|
'sessions.writeLinkHint': '获取可操作终端链接(带写权限 token,新标签打开)',
|
|
317
321
|
'sessions.writeLinkFail': '获取操作链接失败',
|
|
@@ -1235,12 +1239,13 @@ const zh = {
|
|
|
1235
1239
|
'settings.openTerminalInFeishu': '流式卡片 Web 终端按钮在飞书侧栏打开',
|
|
1236
1240
|
'settings.openTerminalInFeishuHelp': '默认关闭。将 Web Terminal 链接包装为飞书侧栏打开;写权限仍由终端 token 控制。',
|
|
1237
1241
|
'settings.enableLocalCliOpen': '启用本机 CLI 直开',
|
|
1238
|
-
'settings.enableLocalCliOpenHelp': '默认关闭,仅 daemon 运行在 macOS 时生效。附加模式支持当前 tmux / Herdr
|
|
1242
|
+
'settings.enableLocalCliOpenHelp': '默认关闭,仅 daemon 运行在 macOS 时生效。附加模式支持当前 tmux / Herdr / ZMX 会话并进入同一个 CLI;ZMX 本地 attach 使用原生终端,飞书侧仍为纯文本流。resume 模式会另起 CLI resume 进程,可能使飞书侧不再跟随该会话。',
|
|
1239
1243
|
'settings.localCliOpenMode': '本机 CLI 打开模式',
|
|
1240
|
-
'settings.localCliOpenModeHelp': '默认附加当前会话:managed tmux / Herdr 走精确 attach,adopt 会话只在已有可靠目标时附加;direct resume 适合明确接受飞书连续性风险的本机调试。',
|
|
1244
|
+
'settings.localCliOpenModeHelp': '默认附加当前会话:managed tmux / Herdr / ZMX 走精确 attach,adopt 会话只在已有可靠目标时附加;ZMX 的原生 attach 不代表 botmux 提供 Web TUI。direct resume 适合明确接受飞书连续性风险的本机调试。',
|
|
1241
1245
|
'settings.localCliOpenModeAttach': '附加当前会话(推荐)',
|
|
1242
1246
|
'settings.localCliOpenModeResume': '另起 CLI resume',
|
|
1243
1247
|
'settings.sectionExperimental': '实验性配置',
|
|
1248
|
+
'settings.sectionHostOverloadAlert': '机器过载告警',
|
|
1244
1249
|
'settings.chatBotDiscovery': '群内机器人发现(飞书 /members/bots)',
|
|
1245
1250
|
'settings.chatBotDiscoveryHelp': '默认开启。实时读取群内机器人成员,提高多 bot 互相 @ 的准确性。接口不可用时会回退旧逻辑;仅在成员识别异常时关闭。',
|
|
1246
1251
|
'settings.herdrTraexPlugin': 'TraeX herdr 插件自动安装(opt-in)',
|
|
@@ -1262,6 +1267,8 @@ const zh = {
|
|
|
1262
1267
|
'settings.herdrTraexUnsupported': '当前 herdr 不支持插件;需 ≥ 0.7.0,请先运行 herdr update',
|
|
1263
1268
|
'settings.codexRpcInput': 'Codex 家族 RPC 输入模式',
|
|
1264
1269
|
'settings.codexRpcInputHelp': '实验性,默认关闭。对 codex / traex 机器人(仅 tmux 后端),用户消息经 app-server JSON-RPC 通道注入,绕开 codex 终端粘贴丢消息的问题(pane 仍跑真实 --remote TUI 渲染)。sandbox/隔离/审批门控/wrapper/带启动命令的会话自动回退传统粘贴。',
|
|
1270
|
+
'settings.bypassCodexHookTrust': '自动信任 Codex Hook',
|
|
1271
|
+
'settings.bypassCodexHookTrustHelp': '默认开启。Codex 0.14x 会弹交互式 hook 信任门(Press t to trust);botmux 每次升级重写自装 hook 会让 hash 变化、门重新弹出,托管会话没人能按 t → 首条消息卡死。开启后对 codex / traex 普通 TUI 传 --dangerously-bypass-hook-trust。注意:该 flag 信任 codex 见到的所有 hook 来源(含项目 .codex/hooks.json 与已启用插件),不只 botmux 自装的;不想自动信任第三方项目/插件 hook 可关闭。受限机器人(关绕过)始终不受影响。下次会话生效,不影响已存活的 pane。',
|
|
1265
1272
|
'settings.codexNotifier': 'Codex 任务完成通知',
|
|
1266
1273
|
'settings.codexNotifierHelp': '实验性,默认关闭。独立 Codex App/CLI 任务完成后,由所选 Bot 向其首位可投递管理员发送飞书私聊;支持从完成卡继续处理,或请求本机打开原 Codex App 会话。',
|
|
1267
1274
|
'settings.codexNotifierEnablePending': '完成下面的配置后将自动开启通知。',
|
|
@@ -1283,6 +1290,21 @@ const zh = {
|
|
|
1283
1290
|
'settings.codexNotifierPending': '当前有 {count} 条完成消息等待投递。',
|
|
1284
1291
|
'settings.codexNotifierWorkerPending': 'Hook 已安装,但通知 worker 尚未运行或心跳已过期。',
|
|
1285
1292
|
'settings.codexNotifierLastError': '最近一次投递失败:{error}',
|
|
1293
|
+
'settings.hostOverloadAlert': '启用过载告警',
|
|
1294
|
+
'settings.hostOverloadAlertHelp': '开启后,所选「通知 Bot」的 daemon 会每 30 秒检查整机负载/内存,越过过载线时给该 Bot 的管理员发一条飞书私信提醒、恢复后再发一条。机器过载会导致会话冷启动超时假死,这个提醒能让你及时清理会话或调低常驻上限。整机只需一个通知 Bot;默认关闭。',
|
|
1295
|
+
'settings.hostOverloadAlertTarget': '通知 Bot',
|
|
1296
|
+
'settings.hostOverloadAlertTargetHelp': '选择用于发送过载告警私信的 Bot(任意能发飞书消息、且能解析到管理员的非 apiOnly Bot 均可)。该 Bot 自己的 daemon 负责采样与发送。',
|
|
1297
|
+
'settings.hostOverloadAlertTargetPlaceholder': '请先选择通知 Bot',
|
|
1298
|
+
'settings.hostOverloadAlertRecipient': '接收人:{recipient}(该 Bot 的首位管理员)',
|
|
1299
|
+
'settings.hostOverloadAlertRecipientMissing': '所选 Bot 未配置管理员,不能发送过载告警私信。',
|
|
1300
|
+
'settings.hostOverloadAlertRecipientUnverified': '目标 Bot 尚未把首位管理员解析为飞书 open_id,请检查管理员配置或等待 Bot 启动完成。',
|
|
1301
|
+
'settings.hostOverloadAlertTargetRequired': '请先选择一个通知 Bot 再开启。',
|
|
1302
|
+
'settings.hostOverloadAlertTargetOffline': '目标 Bot 的 daemon 当前不在线,过载告警无法投递。',
|
|
1303
|
+
'settings.hostOverloadAlertEnterLoad': '负载进入阈值(load15 / 核数)',
|
|
1304
|
+
'settings.hostOverloadAlertEnterLoadHelp': '当 15 分钟平均负载 > 逻辑核数 × 此值时判定为过载。默认 1.5。恢复线固定为内置默认(核数 × 1.0);若你把进入线设得比它还低,恢复线会自动压到进入线的 95%,以保证「低于进入线才算恢复」不抖动。',
|
|
1305
|
+
'settings.hostOverloadAlertEnterMem': '内存进入阈值(%)',
|
|
1306
|
+
'settings.hostOverloadAlertEnterMemHelp': '当已用内存占比 ≥ 此百分比时判定为过载。默认 92。恢复线固定为内置默认(85%);同样在你把进入线设得更低时,自动压到进入线的 95%。',
|
|
1307
|
+
'settings.noVisibleOutputHintHelp': '实验性,默认关闭。在 botmux 路由提示里加一段纠偏:告诉模型 botmux send 成功即已送达、本轮无可见文本地结束是正常的、看到「无可见输出请继续」是底层 CLI(Claude Code ≥2.1.212)的误判不要重发。主要用于 Claude Code 驱动非 Claude 后端模型时(易把 thinking-only nudge 误读为发送失败而重复回复);对纯 Claude 场景无害但通常无需开启。开关翻动下一个会话即生效,无需重启。',
|
|
1286
1308
|
'settings.sectionVcMeetingAgent': '会议监听',
|
|
1287
1309
|
'settings.vcMeetingAgent': '允许本机使用会议监听能力',
|
|
1288
1310
|
'settings.vcMeetingAgentHelp': '默认开启。控制本机 bot 是否接收新的会议监听事件。关闭后不再恢复监听;已进行中的会议通常自然结束。',
|
|
@@ -1639,6 +1661,15 @@ const zh = {
|
|
|
1639
1661
|
'botDefaults.metaOnline': '在线 · daemon 正常',
|
|
1640
1662
|
'botDefaults.search': '搜索 bot 名 / app id',
|
|
1641
1663
|
'botDefaults.refresh': '刷新',
|
|
1664
|
+
'botDefaults.rosterCount': '{count} 个机器人',
|
|
1665
|
+
'botDefaults.rosterFiltered': '共 {total} 个',
|
|
1666
|
+
'botDefaults.tabNavigation': 'Bot 配置分类',
|
|
1667
|
+
'botDefaults.tabCommon': '常用',
|
|
1668
|
+
'botDefaults.tabSessions': '会话',
|
|
1669
|
+
'botDefaults.tabSecurity': '权限与安全',
|
|
1670
|
+
'botDefaults.tabCards': '消息卡片',
|
|
1671
|
+
'botDefaults.tabAdvanced': '高级',
|
|
1672
|
+
'botDefaults.tabHint': '切换分类不会丢失未保存输入',
|
|
1642
1673
|
'botDefaults.sectionOncall': '新群 Oncall',
|
|
1643
1674
|
'botDefaults.sectionBrand': '卡片签名',
|
|
1644
1675
|
'botDefaults.renameTitle': '修改机器人名称',
|
|
@@ -1738,11 +1769,12 @@ const zh = {
|
|
|
1738
1769
|
'botDefaults.readIsolationStaleOn': '(已开启,但当前环境无法强制执行——会话会 fail-close 拒启动,建议关闭以恢复)',
|
|
1739
1770
|
'botDefaults.sectionBackend': '会话后端',
|
|
1740
1771
|
'botDefaults.backendLabel': '后端类型',
|
|
1741
|
-
'botDefaults.backendHelp': '该 bot 新会话使用的会话后端;改动实时生效于新会话,运行中的会话仍用其启动时的后端、不受影响。tmux 支持 adopt / Web 终端;herdr 托管持久会话;zellij 实验性;pty 最轻量但不跨 daemon 重启存活。“自动”跟随全局默认。',
|
|
1772
|
+
'botDefaults.backendHelp': '该 bot 新会话使用的会话后端;改动实时生效于新会话,运行中的会话仍用其启动时的后端、不受影响。tmux 支持 adopt / Web 终端;herdr 托管持久会话;zmx >= 0.7.0 使用 tail 变化信号 + history 权威纯文本屏幕 + send 输入(无 Web TUI);zellij 实验性;pty 最轻量但不跨 daemon 重启存活。“自动”跟随全局默认。',
|
|
1742
1773
|
'botDefaults.backendAuto': '自动(跟随全局默认)',
|
|
1743
1774
|
'botDefaults.backendTmux': 'tmux',
|
|
1744
1775
|
'botDefaults.backendHerdr': 'herdr',
|
|
1745
1776
|
'botDefaults.backendZellij': 'zellij',
|
|
1777
|
+
'botDefaults.backendZmx': 'zmx',
|
|
1746
1778
|
'botDefaults.backendPty': 'pty',
|
|
1747
1779
|
'botDefaults.backendSaved': '已保存(下个新会话生效)',
|
|
1748
1780
|
'botDefaults.brandSave': '保存签名',
|
|
@@ -1751,6 +1783,11 @@ const zh = {
|
|
|
1751
1783
|
'botDefaults.brandStateOff': '当前:已关闭',
|
|
1752
1784
|
'botDefaults.brandStateCustom': '当前:自定义',
|
|
1753
1785
|
'botDefaults.sectionCard': '卡片行为',
|
|
1786
|
+
'botDefaults.usageDisplay': '用量显示位置',
|
|
1787
|
+
'botDefaults.usageDisplayHelp': '原生用量显示在哪里:流式卡正文(默认,显示上下文占用 + 本轮 ↑↓ + 累计 ↑↓)、回复卡页脚(仅显示上下文占用,保持页脚简洁)、或不显示。仅影响展示,不停止 Usage Ledger 统计。',
|
|
1788
|
+
'botDefaults.usageDisplayStreaming': '流式卡片正文',
|
|
1789
|
+
'botDefaults.usageDisplayFooter': '回复卡片页脚',
|
|
1790
|
+
'botDefaults.usageDisplayOff': '不显示',
|
|
1754
1791
|
'botDefaults.disableStreaming': '关闭飞书流式卡片',
|
|
1755
1792
|
'botDefaults.disableStreamingHelp': '关闭实时会话状态卡和 Web Terminal 入口;最终结果仍会以消息发送。',
|
|
1756
1793
|
'botDefaults.silentTurnReactions': '关闭无卡片模式下的状态 reaction',
|
|
@@ -1835,6 +1872,9 @@ const zh = {
|
|
|
1835
1872
|
'botDefaults.substituteChats': '生效群聊',
|
|
1836
1873
|
'botDefaults.substituteChatsHelp': '留空表示所有群聊(普通群与话题群)都生效;填写后仅在这些群聊 ID 中触发替身。每行一个,也可用逗号/分号分隔。',
|
|
1837
1874
|
'botDefaults.substituteChatsPlaceholder': 'oc_xxx\noc_yyy',
|
|
1875
|
+
'botDefaults.substituteExcludedChats': '黑名单群聊',
|
|
1876
|
+
'botDefaults.substituteExcludedChatsHelp': '列出的群聊里替身永不触发(代答被硬关闭,群内 /substitute on 也无法开启),普通群与话题群一视同仁;直接 @机器人 仍照常回答。优先级高于「生效群聊」白名单——同时出现在两处的群以黑名单为准(不代答)。每行一个,也可用逗号/分号分隔。',
|
|
1877
|
+
'botDefaults.substituteExcludedChatsPlaceholder': 'oc_xxx\noc_yyy',
|
|
1838
1878
|
'botDefaults.substituteTargetsPlaceholder': 'zhangsan@bytedance.com\nou_xxxx(也可直接填 open_id / union_id)',
|
|
1839
1879
|
'botDefaults.substituteTargets': '替身对象',
|
|
1840
1880
|
'botDefaults.substituteTargetsHelp': '每项对应一个替身对象。可直接填邮箱(保存时自动解析为 Open ID),也可选择 Open ID、User ID 或 Union ID;解析失败的邮箱会标红。',
|
|
@@ -1864,11 +1904,11 @@ const zh = {
|
|
|
1864
1904
|
'botDefaults.restrictGrant': '限制被授权人只能纯对话',
|
|
1865
1905
|
'botDefaults.restrictGrantHelp': '限制 /grant 用户只能普通对话,禁止 botmux 命令、透传命令、CLI 原生命令和工作流相关命令;owner 不受影响。',
|
|
1866
1906
|
'botDefaults.quotaDefault': '默认消息额度',
|
|
1867
|
-
'botDefaults.quotaPlaceholder': '
|
|
1868
|
-
'botDefaults.quotaHelp': '
|
|
1907
|
+
'botDefaults.quotaPlaceholder': '留空=产品默认 3 条',
|
|
1908
|
+
'botDefaults.quotaHelp': '覆盖授权卡片的默认消息额度。留空保存=使用产品默认 3 条;已有授权和显式 /grant @用户 N 不受影响。额度用尽后自动撤销授权。',
|
|
1869
1909
|
'botDefaults.quotaSave': '保存额度',
|
|
1870
1910
|
'botDefaults.quotaInvalid': '额度必须是正整数',
|
|
1871
|
-
'botDefaults.quotaStateOff': '
|
|
1911
|
+
'botDefaults.quotaStateOff': '当前:产品默认 3 条',
|
|
1872
1912
|
'botDefaults.quotaStateOn': '当前:每人 {count} 条',
|
|
1873
1913
|
'botDefaults.sectionSessionCap': '会话常驻上限',
|
|
1874
1914
|
'botDefaults.maxLiveWorkers': '最大常驻会话数',
|
|
@@ -1953,6 +1993,62 @@ const zh = {
|
|
|
1953
1993
|
'roles.saveFailed': '保存失败,请重试',
|
|
1954
1994
|
'roles.tabGroups': '按群组',
|
|
1955
1995
|
'roles.tabProfiles': 'Profiles',
|
|
1996
|
+
'roles.editorTabs': '角色配置',
|
|
1997
|
+
'roles.roleTab': '角色提示词',
|
|
1998
|
+
'roles.listenerTab': '消息监听',
|
|
1999
|
+
'roles.listenerBadge': '监听',
|
|
2000
|
+
'roles.listenerEnabled': '启用群消息监听',
|
|
2001
|
+
'roles.listenerName': '监听名称',
|
|
2002
|
+
'roles.listenerNamePlaceholder': '例如:告警监听',
|
|
2003
|
+
'roles.listenerReplyCardTitle': '回复卡片标题',
|
|
2004
|
+
'roles.listenerReplyCardTitlePlaceholder': '留空使用默认标题',
|
|
2005
|
+
'roles.listenerWorkingDir': '工作目录',
|
|
2006
|
+
'roles.listenerWorkingDirPlaceholder': '留空使用 Bot 默认工作目录',
|
|
2007
|
+
'roles.listenerSenderTypes': '发送者类型',
|
|
2008
|
+
'roles.listenerSenderUser': '用户',
|
|
2009
|
+
'roles.listenerSenderBot': '机器人',
|
|
2010
|
+
'roles.listenerMessageTypes': '消息类型',
|
|
2011
|
+
'roles.listenerExcludeSelf': '排除当前机器人',
|
|
2012
|
+
'roles.listenerPrompt': '监听提示词',
|
|
2013
|
+
'roles.listenerPromptPlaceholder': '描述哪些群消息需要处理,以及如何回复。命中的消息会在原消息下方新建话题回复。',
|
|
2014
|
+
'roles.listenerPromptRequired': '启用监听时提示词不能为空',
|
|
2015
|
+
'roles.listenerSenderRequired': '启用监听时至少选择一个发送者',
|
|
2016
|
+
'roles.listenerFilters': '发送者过滤',
|
|
2017
|
+
'roles.listenerMembers': '成员过滤',
|
|
2018
|
+
'roles.listenerBots': '机器人过滤',
|
|
2019
|
+
'roles.listenerMembersHint': '显示名仅用于选择,配置保存 open_id',
|
|
2020
|
+
'roles.listenerMembersEmpty': '暂无成员数据',
|
|
2021
|
+
'roles.listenerBotsEmpty': '暂无机器人数据',
|
|
2022
|
+
'roles.listenerSearchPlaceholder': '按名称或 open_id 搜索',
|
|
2023
|
+
'roles.listenerClearSearch': '清空搜索',
|
|
2024
|
+
'roles.listenerSelectVisible': '全选 {count} 项',
|
|
2025
|
+
'roles.listenerClearVisible': '取消全选 {count} 项',
|
|
2026
|
+
'roles.listenerSelectedCount': '已选择 {count} 项',
|
|
2027
|
+
'roles.listenerFilteredCount': '当前筛选 {count} 项',
|
|
2028
|
+
'roles.listenerMixedMode': '混合状态',
|
|
2029
|
+
'roles.listenerBulkActions': '批量设置监听状态',
|
|
2030
|
+
'roles.listenerTargetListen': '监听',
|
|
2031
|
+
'roles.listenerTargetIgnore': '不监听',
|
|
2032
|
+
'roles.listenerConfirmDelete': '确认删除该 Bot 在此群的消息监听配置?',
|
|
2033
|
+
'roles.listenerScopeHelp': '监听只处理群聊顶层消息;显式 @ 当前 Bot 的消息仍走普通 @ 路由;默认不处理已有线程里的普通回复。',
|
|
2034
|
+
'roles.listenerPreviewTitle': '预览与试运行',
|
|
2035
|
+
'roles.listenerPreviewHint': '预览最近 24 小时内符合当前条件的群消息;试运行会按真实链路创建会话并回复。',
|
|
2036
|
+
'roles.listenerPreviewCount': '数量',
|
|
2037
|
+
'roles.listenerPreviewButton': '预览',
|
|
2038
|
+
'roles.listenerRunPreviewButton': '试运行',
|
|
2039
|
+
'roles.listenerPreviewEmpty': '尚未预览。',
|
|
2040
|
+
'roles.listenerPreviewNoMatches': '最近 24 小时内没有符合条件的内容。',
|
|
2041
|
+
'roles.listenerPreviewSummary': '命中 {count} 条消息',
|
|
2042
|
+
'roles.listenerRunPreviewSummary': '试运行 {count} 条:已触发 {triggered} 条,执行中 {running} 条,已回复 {replied} 条,回复失败 {failed} 条',
|
|
2043
|
+
'roles.listenerPreviewFailed': '预览失败,请重试',
|
|
2044
|
+
'roles.listenerPreviewSender': '发送者',
|
|
2045
|
+
'roles.listenerPreviewTime': '发送时间',
|
|
2046
|
+
'roles.listenerPreviewMessageTitle': '消息标题',
|
|
2047
|
+
'roles.listenerPreviewContent': '消息内容',
|
|
2048
|
+
'roles.listenerRunPreviewState.triggered': '已触发',
|
|
2049
|
+
'roles.listenerRunPreviewState.running': '执行中',
|
|
2050
|
+
'roles.listenerRunPreviewState.replied': '已回复',
|
|
2051
|
+
'roles.listenerRunPreviewState.failed': '回复失败',
|
|
1956
2052
|
'roles.profileIdPlaceholder': 'profile id,如 collab-main',
|
|
1957
2053
|
'roles.profileIdInvalid': 'Profile id 只能包含字母、数字、点、下划线、短横线,最长 64,且不能是 . 或 ..',
|
|
1958
2054
|
'roles.openProfile': '打开',
|
|
@@ -2300,6 +2396,8 @@ const en = {
|
|
|
2300
2396
|
'sessions.workingDir': 'Working Dir',
|
|
2301
2397
|
'sessions.created': 'Created',
|
|
2302
2398
|
'sessions.last': 'Last',
|
|
2399
|
+
'sessions.preview.latestExchange': 'Latest exchange',
|
|
2400
|
+
'sessions.preview.showFull': 'Show full exchange',
|
|
2303
2401
|
'sessions.adopt': 'Adopt',
|
|
2304
2402
|
'sessions.actions': 'Actions',
|
|
2305
2403
|
'sessions.details': 'Details',
|
|
@@ -2309,6 +2407,8 @@ const en = {
|
|
|
2309
2407
|
'sessions.locating': 'Sending...',
|
|
2310
2408
|
'sessions.cooldown': 'Cooldown {seconds}s',
|
|
2311
2409
|
'sessions.openTerminal': 'Terminal',
|
|
2410
|
+
'sessions.openReadonlyTerminal': 'Open read-only terminal',
|
|
2411
|
+
'sessions.openWritableTerminal': 'Open interactive web terminal',
|
|
2312
2412
|
'sessions.writeLink': 'Write Link',
|
|
2313
2413
|
'sessions.writeLinkHint': 'Get a writable terminal link (carries a write-access token; opens in a new tab)',
|
|
2314
2414
|
'sessions.writeLinkFail': 'Failed to get write link',
|
|
@@ -3232,12 +3332,13 @@ const en = {
|
|
|
3232
3332
|
'settings.openTerminalInFeishu': 'Open streaming-card Web terminals in the Feishu sidebar',
|
|
3233
3333
|
'settings.openTerminalInFeishuHelp': 'Off by default. Wraps Web Terminal links so Feishu opens them in the sidebar. Write access is still controlled by the terminal token.',
|
|
3234
3334
|
'settings.enableLocalCliOpen': 'Enable native CLI opening',
|
|
3235
|
-
'settings.enableLocalCliOpenHelp': 'Off by default and effective only when the daemon runs on macOS. Attach mode
|
|
3335
|
+
'settings.enableLocalCliOpenHelp': 'Off by default and effective only when the daemon runs on macOS. Attach mode enters the same CLI in current tmux / Herdr / ZMX sessions; a ZMX local attach uses the native terminal while Lark remains a plain-text stream. Resume mode starts a separate CLI resume process and may stop Feishu from following the session.',
|
|
3236
3336
|
'settings.localCliOpenMode': 'Native CLI open mode',
|
|
3237
|
-
'settings.localCliOpenModeHelp': 'Defaults to attaching the current session: managed tmux / Herdr use exact attach, adopted sessions attach only when a reliable existing target is known. Direct resume is for local debugging when you accept the Feishu continuity risk.',
|
|
3337
|
+
'settings.localCliOpenModeHelp': 'Defaults to attaching the current session: managed tmux / Herdr / ZMX use exact attach, and adopted sessions attach only when a reliable existing target is known. A native ZMX attach does not mean botmux provides a Web TUI. Direct resume is for local debugging when you accept the Feishu continuity risk.',
|
|
3238
3338
|
'settings.localCliOpenModeAttach': 'Attach current session (recommended)',
|
|
3239
3339
|
'settings.localCliOpenModeResume': 'Start CLI resume',
|
|
3240
3340
|
'settings.sectionExperimental': 'Experimental',
|
|
3341
|
+
'settings.sectionHostOverloadAlert': 'Host overload alert',
|
|
3241
3342
|
'settings.chatBotDiscovery': 'In-chat bot discovery (Feishu /members/bots)',
|
|
3242
3343
|
'settings.chatBotDiscoveryHelp': 'On by default. Reads bot members in the current chat to improve multi-bot @ accuracy. Falls back to legacy discovery on failure; disable only if membership detection is wrong.',
|
|
3243
3344
|
'settings.herdrTraexPlugin': 'Auto-install TraeX herdr plugin (opt-in)',
|
|
@@ -3259,6 +3360,8 @@ const en = {
|
|
|
3259
3360
|
'settings.herdrTraexUnsupported': 'This herdr does not support plugins; requires >= 0.7.0. Run herdr update first',
|
|
3260
3361
|
'settings.codexRpcInput': 'Codex-family RPC input mode',
|
|
3261
3362
|
'settings.codexRpcInputHelp': 'Experimental, off by default. For codex / traex bots (tmux backend only), user messages are injected via the app-server JSON-RPC channel, bypassing codex terminal paste-drops (the pane still runs the real --remote TUI). Sandbox/isolation/approval-gated/wrapper/startup-command sessions fall back to paste.',
|
|
3363
|
+
'settings.bypassCodexHookTrust': 'Auto-trust Codex hooks',
|
|
3364
|
+
'settings.bypassCodexHookTrustHelp': 'On by default. Codex 0.14x shows an interactive hook-trust gate ("Press t to trust"); every botmux upgrade rewrites its bundled hook so the hash changes and the gate re-fires, and a botmux-managed session has no one to press t → the first message wedges. When on, codex / traex plain-TUI launches pass --dangerously-bypass-hook-trust. Note: that flag trusts ALL hook sources codex sees (including a project .codex/hooks.json and enabled plugins), not only botmux\'s — turn it off if you do not want third-party project/plugin hooks auto-trusted. Restricted bots (bypass disabled) are never affected. Takes effect on the next session; running panes are unchanged.',
|
|
3262
3365
|
'settings.codexNotifier': 'Codex task completion notifications',
|
|
3263
3366
|
'settings.codexNotifierHelp': 'Experimental and off by default. When a standalone Codex App/CLI task finishes, the selected Bot sends a Feishu DM to its first deliverable administrator, with options to continue from the card or ask this Mac to open the original Codex App session.',
|
|
3264
3367
|
'settings.codexNotifierEnablePending': 'Notifications will turn on automatically after you complete the settings below.',
|
|
@@ -3280,6 +3383,22 @@ const en = {
|
|
|
3280
3383
|
'settings.codexNotifierPending': '{count} completion message(s) are waiting for delivery.',
|
|
3281
3384
|
'settings.codexNotifierWorkerPending': 'The Hook is installed, but the notification worker is not running or its heartbeat is stale.',
|
|
3282
3385
|
'settings.codexNotifierLastError': 'Most recent delivery failure: {error}',
|
|
3386
|
+
'settings.hostOverloadAlert': 'Enable overload alert',
|
|
3387
|
+
'settings.hostOverloadAlertHelp': 'When enabled, the selected notification Bot’s daemon checks host load/memory every 30s and sends a Feishu DM to that Bot’s administrator when it crosses the overload line, plus one more when it recovers. Host overload makes session cold-starts time out and hang; this heads-up lets you clear sessions or lower the resident cap in time. One notification Bot per host is enough; off by default.',
|
|
3388
|
+
'settings.hostOverloadAlertTarget': 'Notification Bot',
|
|
3389
|
+
'settings.hostOverloadAlertTargetHelp': 'Pick the Bot that sends the overload DM (any non-apiOnly Bot that can send Feishu messages and resolve an administrator). That Bot’s own daemon does the sampling and sending.',
|
|
3390
|
+
'settings.hostOverloadAlertTargetPlaceholder': 'Select a notification Bot',
|
|
3391
|
+
'settings.hostOverloadAlertRecipient': 'Recipient: {recipient} (this Bot’s first administrator)',
|
|
3392
|
+
'settings.hostOverloadAlertRecipientMissing': 'The selected Bot has no administrator configured, so it cannot send an overload DM.',
|
|
3393
|
+
'settings.hostOverloadAlertRecipientUnverified': 'The target Bot has not resolved its first administrator to a Feishu open_id. Check the administrator config or wait for the Bot to finish starting.',
|
|
3394
|
+
'settings.hostOverloadAlertTargetRequired': 'Select a notification Bot before enabling.',
|
|
3395
|
+
'settings.hostOverloadAlertTargetOffline': 'The target Bot’s daemon is offline, so overload alerts cannot be delivered.',
|
|
3396
|
+
'settings.hostOverloadAlertEnterLoad': 'Load enter threshold (load15 / cores)',
|
|
3397
|
+
'settings.hostOverloadAlertEnterLoadHelp': 'Marks overload when the 15-minute load average > logical cores × this value. Default 1.5. The recovery line is fixed at the built-in default (cores × 1.0); if you set the enter line even lower than that, the recovery line is automatically pulled down to 95% of enter so "recovery requires dropping below enter" still holds (no flapping).',
|
|
3398
|
+
'settings.hostOverloadAlertEnterMem': 'Memory enter threshold (%)',
|
|
3399
|
+
'settings.hostOverloadAlertEnterMemHelp': 'Marks overload when used-memory fraction ≥ this percentage. Default 92. The recovery line is fixed at the built-in default (85%); likewise, if you set the enter line lower, it is automatically pulled down to 95% of enter.',
|
|
3400
|
+
'settings.noVisibleOutputHint': '"No visible output" anti-resend hint',
|
|
3401
|
+
'settings.noVisibleOutputHintHelp': 'Experimental, off by default. Adds a note to the botmux routing hints telling the model that a successful `botmux send` is already delivered, that ending a turn with no visible terminal text is normal, and that a "no visible output, please continue" prompt is a false alarm from the underlying CLI (Claude Code ≥2.1.212) — do not resend. Mainly helps when Claude Code drives a non-Claude backend model (which tends to misread the thinking-only nudge as a send failure and reply repeatedly); harmless but usually unnecessary for an all-Claude setup. Takes effect on the next session, no restart needed.',
|
|
3283
3402
|
'settings.sectionVcMeetingAgent': 'Meeting Listener',
|
|
3284
3403
|
'settings.vcMeetingAgent': 'Allow meeting listener features on this machine',
|
|
3285
3404
|
'settings.vcMeetingAgentHelp': 'On by default. Controls whether bots on this host accept new meeting listener events. Off also skips listener restore; running meetings usually finish naturally.',
|
|
@@ -3636,6 +3755,15 @@ const en = {
|
|
|
3636
3755
|
'botDefaults.metaOnline': 'Online · daemon healthy',
|
|
3637
3756
|
'botDefaults.search': 'Search bot name / app id',
|
|
3638
3757
|
'botDefaults.refresh': 'Refresh',
|
|
3758
|
+
'botDefaults.rosterCount': '{count} bots',
|
|
3759
|
+
'botDefaults.rosterFiltered': '{total} total',
|
|
3760
|
+
'botDefaults.tabNavigation': 'Bot configuration categories',
|
|
3761
|
+
'botDefaults.tabCommon': 'Common',
|
|
3762
|
+
'botDefaults.tabSessions': 'Sessions',
|
|
3763
|
+
'botDefaults.tabSecurity': 'Security',
|
|
3764
|
+
'botDefaults.tabCards': 'Message cards',
|
|
3765
|
+
'botDefaults.tabAdvanced': 'Advanced',
|
|
3766
|
+
'botDefaults.tabHint': 'Switching categories keeps unsaved input',
|
|
3639
3767
|
'botDefaults.sectionOncall': 'New-chat Oncall',
|
|
3640
3768
|
'botDefaults.sectionBrand': 'Card Signature',
|
|
3641
3769
|
'botDefaults.renameTitle': 'Rename bot',
|
|
@@ -3735,11 +3863,12 @@ const en = {
|
|
|
3735
3863
|
'botDefaults.readIsolationStaleOn': "(enabled, but it can't be enforced here — sessions will fail-close; turn it off to recover)",
|
|
3736
3864
|
'botDefaults.sectionBackend': 'Session backend',
|
|
3737
3865
|
'botDefaults.backendLabel': 'Backend type',
|
|
3738
|
-
'botDefaults.backendHelp': 'The session backend for this bot\'s new sessions. Changes apply live to new sessions; running sessions keep the backend they started on and are unaffected. tmux supports adopt / Web Terminal; herdr manages persistent sessions; zellij is experimental; pty is lightest but does not survive daemon restarts. "Auto" follows the global default.',
|
|
3866
|
+
'botDefaults.backendHelp': 'The session backend for this bot\'s new sessions. Changes apply live to new sessions; running sessions keep the backend they started on and are unaffected. tmux supports adopt / Web Terminal; herdr manages persistent sessions; zmx >= 0.7.0 uses tail change signals + an authoritative plain-text history screen + send input (no Web TUI); zellij is experimental; pty is lightest but does not survive daemon restarts. "Auto" follows the global default.',
|
|
3739
3867
|
'botDefaults.backendAuto': 'Auto (follow global default)',
|
|
3740
3868
|
'botDefaults.backendTmux': 'tmux',
|
|
3741
3869
|
'botDefaults.backendHerdr': 'herdr',
|
|
3742
3870
|
'botDefaults.backendZellij': 'zellij',
|
|
3871
|
+
'botDefaults.backendZmx': 'zmx',
|
|
3743
3872
|
'botDefaults.backendPty': 'pty',
|
|
3744
3873
|
'botDefaults.backendSaved': 'Saved (applies to the next new session)',
|
|
3745
3874
|
'botDefaults.brandSave': 'Save Signature',
|
|
@@ -3748,6 +3877,11 @@ const en = {
|
|
|
3748
3877
|
'botDefaults.brandStateOff': 'Current: off',
|
|
3749
3878
|
'botDefaults.brandStateCustom': 'Current: custom',
|
|
3750
3879
|
'botDefaults.sectionCard': 'Card Behavior',
|
|
3880
|
+
'botDefaults.usageDisplay': 'Usage display',
|
|
3881
|
+
'botDefaults.usageDisplayHelp': 'Where native usage is shown: the streaming card body (default — context window usage + this turn ↑↓ + cumulative ↑↓), the reply-card footer (context window usage only, to keep the footer compact), or nowhere. This affects display only; Usage Ledger accounting remains active.',
|
|
3882
|
+
'botDefaults.usageDisplayStreaming': 'Streaming card body',
|
|
3883
|
+
'botDefaults.usageDisplayFooter': 'Reply card footer',
|
|
3884
|
+
'botDefaults.usageDisplayOff': 'Off',
|
|
3751
3885
|
'botDefaults.disableStreaming': 'Disable streaming card',
|
|
3752
3886
|
'botDefaults.disableStreamingHelp': 'Disables the live session card and Web Terminal entry. Final results are still sent as messages.',
|
|
3753
3887
|
'botDefaults.silentTurnReactions': 'Disable status reactions in card-off mode',
|
|
@@ -3832,6 +3966,9 @@ const en = {
|
|
|
3832
3966
|
'botDefaults.substituteChats': 'Allowed chats',
|
|
3833
3967
|
'botDefaults.substituteChatsHelp': 'Leave blank to allow all chats (regular and topic groups); otherwise substitute only fires in these chat IDs. One per line, or comma/semicolon separated.',
|
|
3834
3968
|
'botDefaults.substituteChatsPlaceholder': 'oc_xxx\noc_yyy',
|
|
3969
|
+
'botDefaults.substituteExcludedChats': 'Blocked chats',
|
|
3970
|
+
'botDefaults.substituteExcludedChatsHelp': 'Substitute never fires in these chats (answering is hard-disabled — /substitute on cannot re-enable it), for regular and topic groups alike; direct @bot mentions still answer normally. Takes precedence over the allowed-chats list: a chat in both is blocked. One per line, or comma/semicolon separated.',
|
|
3971
|
+
'botDefaults.substituteExcludedChatsPlaceholder': 'oc_xxx\noc_yyy',
|
|
3835
3972
|
'botDefaults.substituteTargetsPlaceholder': 'alice@example.com\nou_xxxx (open_id / union_id also accepted)',
|
|
3836
3973
|
'botDefaults.substituteTargets': 'Substitute targets',
|
|
3837
3974
|
'botDefaults.substituteTargetsHelp': 'Each row is one substitute target. Enter an email to resolve it to an Open ID on save, or select Open ID, User ID, or Union ID. Emails that cannot be resolved are flagged.',
|
|
@@ -3861,11 +3998,11 @@ const en = {
|
|
|
3861
3998
|
'botDefaults.restrictGrant': 'Restrict grantees to plain conversation',
|
|
3862
3999
|
'botDefaults.restrictGrantHelp': 'Restricts /grant users to plain conversation. Botmux commands, passthrough commands, CLI-native commands, and workflow commands are blocked; the owner is exempt.',
|
|
3863
4000
|
'botDefaults.quotaDefault': 'Default message quota',
|
|
3864
|
-
'botDefaults.quotaPlaceholder': 'Empty =
|
|
3865
|
-
'botDefaults.quotaHelp': '
|
|
4001
|
+
'botDefaults.quotaPlaceholder': 'Empty = product default of 3',
|
|
4002
|
+
'botDefaults.quotaHelp': 'Overrides the grant card message quota. Saving empty uses the product default of 3; existing grants and explicit /grant @user N are unchanged. Authorization is revoked when quota runs out.',
|
|
3866
4003
|
'botDefaults.quotaSave': 'Save quota',
|
|
3867
4004
|
'botDefaults.quotaInvalid': 'Quota must be a positive integer',
|
|
3868
|
-
'botDefaults.quotaStateOff': 'Current:
|
|
4005
|
+
'botDefaults.quotaStateOff': 'Current: product default of 3',
|
|
3869
4006
|
'botDefaults.quotaStateOn': 'Current: {count} per grantee',
|
|
3870
4007
|
'botDefaults.sectionSessionCap': 'Resident session limit',
|
|
3871
4008
|
'botDefaults.maxLiveWorkers': 'Max resident sessions',
|
|
@@ -3950,6 +4087,62 @@ const en = {
|
|
|
3950
4087
|
'roles.saveFailed': 'Save failed, please retry',
|
|
3951
4088
|
'roles.tabGroups': 'By Group',
|
|
3952
4089
|
'roles.tabProfiles': 'Profiles',
|
|
4090
|
+
'roles.editorTabs': 'Role settings',
|
|
4091
|
+
'roles.roleTab': 'Role Prompt',
|
|
4092
|
+
'roles.listenerTab': 'Message Listener',
|
|
4093
|
+
'roles.listenerBadge': 'Listener',
|
|
4094
|
+
'roles.listenerEnabled': 'Enable group message listener',
|
|
4095
|
+
'roles.listenerName': 'Listener name',
|
|
4096
|
+
'roles.listenerNamePlaceholder': 'e.g. Alert listener',
|
|
4097
|
+
'roles.listenerReplyCardTitle': 'Reply card title',
|
|
4098
|
+
'roles.listenerReplyCardTitlePlaceholder': 'Leave empty to use the default title',
|
|
4099
|
+
'roles.listenerWorkingDir': 'Working directory',
|
|
4100
|
+
'roles.listenerWorkingDirPlaceholder': 'Leave empty to use the bot default',
|
|
4101
|
+
'roles.listenerSenderTypes': 'Sender types',
|
|
4102
|
+
'roles.listenerSenderUser': 'Users',
|
|
4103
|
+
'roles.listenerSenderBot': 'Bots',
|
|
4104
|
+
'roles.listenerMessageTypes': 'Message types',
|
|
4105
|
+
'roles.listenerExcludeSelf': 'Exclude this bot',
|
|
4106
|
+
'roles.listenerPrompt': 'Listener prompt',
|
|
4107
|
+
'roles.listenerPromptPlaceholder': 'Describe which group messages should be handled and how to reply. Matches reply as a topic under the original message.',
|
|
4108
|
+
'roles.listenerPromptRequired': 'Prompt is required when listener is enabled',
|
|
4109
|
+
'roles.listenerSenderRequired': 'Select at least one sender before enabling the listener',
|
|
4110
|
+
'roles.listenerFilters': 'Sender filters',
|
|
4111
|
+
'roles.listenerMembers': 'Member filters',
|
|
4112
|
+
'roles.listenerBots': 'Bot filters',
|
|
4113
|
+
'roles.listenerMembersHint': 'Display names are only for picking; open_id is saved',
|
|
4114
|
+
'roles.listenerMembersEmpty': 'No members loaded',
|
|
4115
|
+
'roles.listenerBotsEmpty': 'No bots loaded',
|
|
4116
|
+
'roles.listenerSearchPlaceholder': 'Search by name or open_id',
|
|
4117
|
+
'roles.listenerClearSearch': 'Clear search',
|
|
4118
|
+
'roles.listenerSelectVisible': 'Select {count}',
|
|
4119
|
+
'roles.listenerClearVisible': 'Clear {count}',
|
|
4120
|
+
'roles.listenerSelectedCount': '{count} selected',
|
|
4121
|
+
'roles.listenerFilteredCount': '{count} filtered',
|
|
4122
|
+
'roles.listenerMixedMode': 'mixed',
|
|
4123
|
+
'roles.listenerBulkActions': 'Bulk listening state',
|
|
4124
|
+
'roles.listenerTargetListen': 'Listen',
|
|
4125
|
+
'roles.listenerTargetIgnore': 'Ignore',
|
|
4126
|
+
'roles.listenerConfirmDelete': 'Delete this bot\'s message listener config for this group?',
|
|
4127
|
+
'roles.listenerScopeHelp': 'The listener only handles top-level group messages. Messages that explicitly mention this bot still use normal mention routing. Existing thread replies are not handled by default.',
|
|
4128
|
+
'roles.listenerPreviewTitle': 'Preview and Test Run',
|
|
4129
|
+
'roles.listenerPreviewHint': 'Preview group messages from the last 24 hours that match the current filters. Test run creates real sessions and replies through the normal path.',
|
|
4130
|
+
'roles.listenerPreviewCount': 'Count',
|
|
4131
|
+
'roles.listenerPreviewButton': 'Preview',
|
|
4132
|
+
'roles.listenerRunPreviewButton': 'Test run',
|
|
4133
|
+
'roles.listenerPreviewEmpty': 'No preview yet.',
|
|
4134
|
+
'roles.listenerPreviewNoMatches': 'No messages from the last 24 hours match these filters.',
|
|
4135
|
+
'roles.listenerPreviewSummary': '{count} matching messages',
|
|
4136
|
+
'roles.listenerRunPreviewSummary': 'Test ran {count}: triggered {triggered}, running {running}, replied {replied}, failed {failed}',
|
|
4137
|
+
'roles.listenerPreviewFailed': 'Preview failed. Try again.',
|
|
4138
|
+
'roles.listenerPreviewSender': 'Sender',
|
|
4139
|
+
'roles.listenerPreviewTime': 'Sent at',
|
|
4140
|
+
'roles.listenerPreviewMessageTitle': 'Message title',
|
|
4141
|
+
'roles.listenerPreviewContent': 'Message content',
|
|
4142
|
+
'roles.listenerRunPreviewState.triggered': 'Triggered',
|
|
4143
|
+
'roles.listenerRunPreviewState.running': 'Running',
|
|
4144
|
+
'roles.listenerRunPreviewState.replied': 'Replied',
|
|
4145
|
+
'roles.listenerRunPreviewState.failed': 'Reply failed',
|
|
3953
4146
|
'roles.profileIdPlaceholder': 'profile id, e.g. collab-main',
|
|
3954
4147
|
'roles.profileIdInvalid': 'Profile id may contain letters, numbers, dots, underscores, and hyphens only; max 64; cannot be . or ..',
|
|
3955
4148
|
'roles.openProfile': 'Open',
|