botmux 2.46.1 → 2.47.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 +5 -10
- package/README.md +5 -10
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +0 -11
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +9 -36
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/adapters/cli/coco.d.ts.map +1 -1
- package/dist/adapters/cli/coco.js +1 -26
- package/dist/adapters/cli/coco.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +1 -6
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/cursor.d.ts.map +1 -1
- package/dist/adapters/cli/cursor.js +12 -58
- package/dist/adapters/cli/cursor.js.map +1 -1
- package/dist/adapters/cli/gemini.d.ts.map +1 -1
- package/dist/adapters/cli/gemini.js +1 -5
- package/dist/adapters/cli/gemini.js.map +1 -1
- package/dist/adapters/cli/opencode.d.ts.map +1 -1
- package/dist/adapters/cli/opencode.js +1 -19
- package/dist/adapters/cli/opencode.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +1 -5
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +2 -22
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +1 -1
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +1 -2
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +2 -35
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +0 -59
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +0 -67
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/bots-list-output.d.ts +0 -8
- package/dist/cli/bots-list-output.d.ts.map +1 -1
- package/dist/cli/bots-list-output.js +0 -9
- package/dist/cli/bots-list-output.js.map +1 -1
- package/dist/cli.d.ts +1 -15
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +106 -603
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -11
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -17
- package/dist/config.js.map +1 -1
- package/dist/core/command-handler.d.ts +0 -20
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +313 -762
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +0 -2
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +2 -222
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/role-resolver.d.ts +1 -17
- package/dist/core/role-resolver.d.ts.map +1 -1
- package/dist/core/role-resolver.js +10 -64
- package/dist/core/role-resolver.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +5 -19
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +20 -37
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +0 -5
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +0 -141
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +24 -543
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +58 -213
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +1 -6
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +1 -9
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/web/app.js +0 -8
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +21 -205
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +5 -43
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +0 -4
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/workflows.js +3 -3
- package/dist/dashboard/web/workflows.js.map +1 -1
- package/dist/dashboard/workflow-api.d.ts +1 -8
- package/dist/dashboard/workflow-api.d.ts.map +1 -1
- package/dist/dashboard/workflow-api.js +4 -19
- package/dist/dashboard/workflow-api.js.map +1 -1
- package/dist/dashboard-web/app.js +375 -539
- package/dist/dashboard-web/index.html +1 -3
- package/dist/dashboard-web/style.css +0 -22
- package/dist/dashboard.js +2 -199
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +11 -104
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +11 -104
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +3 -108
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +50 -480
- 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 +18 -241
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +0 -83
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +70 -286
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +4 -29
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/grant-command.d.ts +1 -2
- package/dist/im/lark/grant-command.d.ts.map +1 -1
- package/dist/im/lark/grant-command.js +2 -3
- package/dist/im/lark/grant-command.js.map +1 -1
- package/dist/im/lark/identity-cache.d.ts.map +1 -1
- package/dist/im/lark/identity-cache.js +3 -3
- package/dist/im/lark/identity-cache.js.map +1 -1
- package/dist/im/lark/md-card.d.ts +2 -20
- package/dist/im/lark/md-card.d.ts.map +1 -1
- package/dist/im/lark/md-card.js +17 -49
- package/dist/im/lark/md-card.js.map +1 -1
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +31 -87
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/im/lark/workflow-card-handler.d.ts +2 -2
- package/dist/im/lark/workflow-card-handler.d.ts.map +1 -1
- package/dist/im/lark/workflow-card-handler.js +1 -12
- package/dist/im/lark/workflow-card-handler.js.map +1 -1
- package/dist/im/lark/workflow-progress-card.d.ts.map +1 -1
- package/dist/im/lark/workflow-progress-card.js +0 -53
- package/dist/im/lark/workflow-progress-card.js.map +1 -1
- package/dist/services/codex-bridge-queue.d.ts +0 -1
- package/dist/services/codex-bridge-queue.d.ts.map +1 -1
- package/dist/services/codex-bridge-queue.js +0 -23
- package/dist/services/codex-bridge-queue.js.map +1 -1
- package/dist/services/codex-transcript.d.ts +0 -1
- package/dist/services/codex-transcript.d.ts.map +1 -1
- package/dist/services/codex-transcript.js.map +1 -1
- package/dist/services/feishu-task-client.d.ts +28 -0
- package/dist/services/feishu-task-client.d.ts.map +1 -0
- package/dist/services/feishu-task-client.js +123 -0
- package/dist/services/feishu-task-client.js.map +1 -0
- package/dist/services/grant-store.d.ts +2 -12
- package/dist/services/grant-store.d.ts.map +1 -1
- package/dist/services/grant-store.js +4 -51
- package/dist/services/grant-store.js.map +1 -1
- package/dist/services/group-creator.d.ts +0 -10
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +1 -26
- package/dist/services/group-creator.js.map +1 -1
- package/dist/services/groups-store.d.ts +0 -30
- package/dist/services/groups-store.d.ts.map +1 -1
- package/dist/services/groups-store.js +12 -85
- package/dist/services/groups-store.js.map +1 -1
- package/dist/services/project-scanner.d.ts +0 -10
- package/dist/services/project-scanner.d.ts.map +1 -1
- package/dist/services/project-scanner.js +0 -11
- package/dist/services/project-scanner.js.map +1 -1
- package/dist/services/session-store.js +1 -1
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/task-store.d.ts +37 -0
- package/dist/services/task-store.d.ts.map +1 -0
- package/dist/services/task-store.js +115 -0
- package/dist/services/task-store.js.map +1 -0
- package/dist/setup/bot-config-editor.d.ts +1 -8
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -20
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-tmux.d.ts +22 -0
- package/dist/setup/ensure-tmux.d.ts.map +1 -1
- package/dist/setup/ensure-tmux.js +1 -25
- package/dist/setup/ensure-tmux.js.map +1 -1
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +1 -15
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/skills/definitions.d.ts +0 -2
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +12 -178
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/installer.d.ts +0 -34
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +2 -119
- package/dist/skills/installer.js.map +1 -1
- package/dist/types.d.ts +0 -25
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bot-routing.d.ts +0 -50
- package/dist/utils/bot-routing.d.ts.map +1 -1
- package/dist/utils/bot-routing.js +0 -83
- package/dist/utils/bot-routing.js.map +1 -1
- package/dist/utils/user-token.d.ts.map +1 -1
- package/dist/utils/user-token.js +2 -0
- package/dist/utils/user-token.js.map +1 -1
- package/dist/worker.js +27 -198
- package/dist/worker.js.map +1 -1
- package/dist/workflows/attempt-resume.d.ts.map +1 -1
- package/dist/workflows/attempt-resume.js +2 -2
- package/dist/workflows/attempt-resume.js.map +1 -1
- package/dist/workflows/definition.d.ts +9 -412
- package/dist/workflows/definition.d.ts.map +1 -1
- package/dist/workflows/definition.js +3 -238
- package/dist/workflows/definition.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +11 -114
- package/dist/workflows/events/payloads.d.ts.map +1 -1
- package/dist/workflows/events/payloads.js +0 -46
- package/dist/workflows/events/payloads.js.map +1 -1
- package/dist/workflows/events/replay.d.ts +0 -21
- package/dist/workflows/events/replay.d.ts.map +1 -1
- package/dist/workflows/events/replay.js +0 -103
- package/dist/workflows/events/replay.js.map +1 -1
- package/dist/workflows/events/schema.d.ts +1017 -1712
- package/dist/workflows/events/schema.d.ts.map +1 -1
- package/dist/workflows/events/schema.js +1 -37
- package/dist/workflows/events/schema.js.map +1 -1
- package/dist/workflows/events/types.d.ts +1 -5
- package/dist/workflows/events/types.d.ts.map +1 -1
- package/dist/workflows/loader.d.ts +0 -14
- package/dist/workflows/loader.d.ts.map +1 -1
- package/dist/workflows/loader.js +0 -27
- package/dist/workflows/loader.js.map +1 -1
- package/dist/workflows/loop.js +0 -58
- package/dist/workflows/loop.js.map +1 -1
- package/dist/workflows/ops-projection.d.ts +0 -58
- package/dist/workflows/ops-projection.d.ts.map +1 -1
- package/dist/workflows/ops-projection.js +0 -74
- package/dist/workflows/ops-projection.js.map +1 -1
- package/dist/workflows/orchestrator.d.ts +1 -65
- package/dist/workflows/orchestrator.d.ts.map +1 -1
- package/dist/workflows/orchestrator.js +74 -486
- package/dist/workflows/orchestrator.js.map +1 -1
- package/dist/workflows/output-binding.d.ts +1 -8
- package/dist/workflows/output-binding.d.ts.map +1 -1
- package/dist/workflows/output-binding.js +11 -75
- package/dist/workflows/output-binding.js.map +1 -1
- package/dist/workflows/runtime.d.ts +1 -1
- package/dist/workflows/runtime.d.ts.map +1 -1
- package/dist/workflows/runtime.js +4 -39
- package/dist/workflows/runtime.js.map +1 -1
- package/dist/workflows/wait.d.ts +2 -23
- package/dist/workflows/wait.d.ts.map +1 -1
- package/dist/workflows/wait.js +17 -39
- package/dist/workflows/wait.js.map +1 -1
- package/package.json +1 -1
- package/dist/adapters/adopt-route.d.ts +0 -63
- package/dist/adapters/adopt-route.d.ts.map +0 -1
- package/dist/adapters/adopt-route.js +0 -195
- package/dist/adapters/adopt-route.js.map +0 -1
- package/dist/adapters/cli/codex-app.d.ts +0 -4
- package/dist/adapters/cli/codex-app.d.ts.map +0 -1
- package/dist/adapters/cli/codex-app.js +0 -72
- package/dist/adapters/cli/codex-app.js.map +0 -1
- package/dist/adapters/cli/hermes.d.ts +0 -4
- package/dist/adapters/cli/hermes.d.ts.map +0 -1
- package/dist/adapters/cli/hermes.js +0 -40
- package/dist/adapters/cli/hermes.js.map +0 -1
- package/dist/adapters/cli/mira.d.ts +0 -4
- package/dist/adapters/cli/mira.d.ts.map +0 -1
- package/dist/adapters/cli/mira.js +0 -67
- package/dist/adapters/cli/mira.js.map +0 -1
- package/dist/adapters/cli/mtr.d.ts +0 -5
- package/dist/adapters/cli/mtr.d.ts.map +0 -1
- package/dist/adapters/cli/mtr.js +0 -62
- package/dist/adapters/cli/mtr.js.map +0 -1
- package/dist/adapters/hook-command.d.ts +0 -18
- package/dist/adapters/hook-command.d.ts.map +0 -1
- package/dist/adapters/hook-command.js +0 -38
- package/dist/adapters/hook-command.js.map +0 -1
- package/dist/adapters/hook-installer.d.ts +0 -14
- package/dist/adapters/hook-installer.d.ts.map +0 -1
- package/dist/adapters/hook-installer.js +0 -192
- package/dist/adapters/hook-installer.js.map +0 -1
- package/dist/codex-app-runner.d.ts +0 -3
- package/dist/codex-app-runner.d.ts.map +0 -1
- package/dist/codex-app-runner.js +0 -512
- package/dist/codex-app-runner.js.map +0 -1
- package/dist/core/ask-api.d.ts +0 -47
- package/dist/core/ask-api.d.ts.map +0 -1
- package/dist/core/ask-api.js +0 -139
- package/dist/core/ask-api.js.map +0 -1
- package/dist/core/ask-args.d.ts +0 -53
- package/dist/core/ask-args.d.ts.map +0 -1
- package/dist/core/ask-args.js +0 -122
- package/dist/core/ask-args.js.map +0 -1
- package/dist/core/ask-broker.d.ts +0 -98
- package/dist/core/ask-broker.d.ts.map +0 -1
- package/dist/core/ask-broker.js +0 -329
- package/dist/core/ask-broker.js.map +0 -1
- package/dist/core/ask-hook/claude-code.d.ts +0 -50
- package/dist/core/ask-hook/claude-code.d.ts.map +0 -1
- package/dist/core/ask-hook/claude-code.js +0 -145
- package/dist/core/ask-hook/claude-code.js.map +0 -1
- package/dist/core/ask-hook/codex.d.ts +0 -43
- package/dist/core/ask-hook/codex.d.ts.map +0 -1
- package/dist/core/ask-hook/codex.js +0 -69
- package/dist/core/ask-hook/codex.js.map +0 -1
- package/dist/core/ask-hook/opencode.d.ts +0 -41
- package/dist/core/ask-hook/opencode.d.ts.map +0 -1
- package/dist/core/ask-hook/opencode.js +0 -108
- package/dist/core/ask-hook/opencode.js.map +0 -1
- package/dist/core/ask-hook/registry.d.ts +0 -3
- package/dist/core/ask-hook/registry.d.ts.map +0 -1
- package/dist/core/ask-hook/registry.js +0 -12
- package/dist/core/ask-hook/registry.js.map +0 -1
- package/dist/core/ask-hook/types.d.ts +0 -26
- package/dist/core/ask-hook/types.d.ts.map +0 -1
- package/dist/core/ask-hook/types.js +0 -2
- package/dist/core/ask-hook/types.js.map +0 -1
- package/dist/core/ask-types.d.ts +0 -146
- package/dist/core/ask-types.d.ts.map +0 -1
- package/dist/core/ask-types.js +0 -18
- package/dist/core/ask-types.js.map +0 -1
- package/dist/core/trigger-session.d.ts +0 -9
- package/dist/core/trigger-session.d.ts.map +0 -1
- package/dist/core/trigger-session.js +0 -158
- package/dist/core/trigger-session.js.map +0 -1
- package/dist/dashboard/connector-api.d.ts +0 -3
- package/dist/dashboard/connector-api.d.ts.map +0 -1
- package/dist/dashboard/connector-api.js +0 -351
- package/dist/dashboard/connector-api.js.map +0 -1
- package/dist/dashboard/federated-group-core.d.ts +0 -54
- package/dist/dashboard/federated-group-core.d.ts.map +0 -1
- package/dist/dashboard/federated-group-core.js +0 -165
- package/dist/dashboard/federated-group-core.js.map +0 -1
- package/dist/dashboard/federation-api.d.ts +0 -42
- package/dist/dashboard/federation-api.d.ts.map +0 -1
- package/dist/dashboard/federation-api.js +0 -408
- package/dist/dashboard/federation-api.js.map +0 -1
- package/dist/dashboard/federation-spoke-api.d.ts +0 -76
- package/dist/dashboard/federation-spoke-api.d.ts.map +0 -1
- package/dist/dashboard/federation-spoke-api.js +0 -618
- package/dist/dashboard/federation-spoke-api.js.map +0 -1
- package/dist/dashboard/team-group.d.ts +0 -18
- package/dist/dashboard/team-group.d.ts.map +0 -1
- package/dist/dashboard/team-group.js +0 -7
- package/dist/dashboard/team-group.js.map +0 -1
- package/dist/dashboard/trigger-api.d.ts +0 -13
- package/dist/dashboard/trigger-api.d.ts.map +0 -1
- package/dist/dashboard/trigger-api.js +0 -77
- package/dist/dashboard/trigger-api.js.map +0 -1
- 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 -187
- package/dist/dashboard/web/connectors.js.map +0 -1
- package/dist/dashboard/web/team-federation.d.ts +0 -3
- package/dist/dashboard/web/team-federation.d.ts.map +0 -1
- package/dist/dashboard/web/team-federation.js +0 -487
- package/dist/dashboard/web/team-federation.js.map +0 -1
- package/dist/dashboard/webhook-routes.d.ts +0 -19
- package/dist/dashboard/webhook-routes.d.ts.map +0 -1
- package/dist/dashboard/webhook-routes.js +0 -321
- package/dist/dashboard/webhook-routes.js.map +0 -1
- package/dist/im/lark/ask-card.d.ts +0 -55
- package/dist/im/lark/ask-card.d.ts.map +0 -1
- package/dist/im/lark/ask-card.js +0 -328
- package/dist/im/lark/ask-card.js.map +0 -1
- package/dist/mira-output.d.ts +0 -3
- package/dist/mira-output.d.ts.map +0 -1
- package/dist/mira-output.js +0 -136
- package/dist/mira-output.js.map +0 -1
- package/dist/mira-runner.d.ts +0 -3
- package/dist/mira-runner.d.ts.map +0 -1
- package/dist/mira-runner.js +0 -534
- package/dist/mira-runner.js.map +0 -1
- package/dist/services/bot-owner-store.d.ts +0 -28
- package/dist/services/bot-owner-store.d.ts.map +0 -1
- package/dist/services/bot-owner-store.js +0 -82
- package/dist/services/bot-owner-store.js.map +0 -1
- package/dist/services/bot-profile-store.d.ts +0 -16
- package/dist/services/bot-profile-store.d.ts.map +0 -1
- package/dist/services/bot-profile-store.js +0 -98
- package/dist/services/bot-profile-store.js.map +0 -1
- package/dist/services/brand-store.d.ts +0 -15
- package/dist/services/brand-store.d.ts.map +0 -1
- package/dist/services/brand-store.js +0 -47
- package/dist/services/brand-store.js.map +0 -1
- package/dist/services/card-prefs-store.d.ts +0 -20
- package/dist/services/card-prefs-store.d.ts.map +0 -1
- package/dist/services/card-prefs-store.js +0 -82
- package/dist/services/card-prefs-store.js.map +0 -1
- package/dist/services/connector-store.d.ts +0 -58
- package/dist/services/connector-store.d.ts.map +0 -1
- package/dist/services/connector-store.js +0 -79
- package/dist/services/connector-store.js.map +0 -1
- package/dist/services/deployment-identity.d.ts +0 -22
- package/dist/services/deployment-identity.d.ts.map +0 -1
- package/dist/services/deployment-identity.js +0 -67
- package/dist/services/deployment-identity.js.map +0 -1
- package/dist/services/federation-membership-store.d.ts +0 -23
- package/dist/services/federation-membership-store.d.ts.map +0 -1
- package/dist/services/federation-membership-store.js +0 -66
- package/dist/services/federation-membership-store.js.map +0 -1
- package/dist/services/federation-roster.d.ts +0 -54
- package/dist/services/federation-roster.d.ts.map +0 -1
- package/dist/services/federation-roster.js +0 -51
- package/dist/services/federation-roster.js.map +0 -1
- package/dist/services/federation-store.d.ts +0 -76
- package/dist/services/federation-store.d.ts.map +0 -1
- package/dist/services/federation-store.js +0 -133
- package/dist/services/federation-store.js.map +0 -1
- package/dist/services/hermes-transcript.d.ts +0 -7
- package/dist/services/hermes-transcript.d.ts.map +0 -1
- package/dist/services/hermes-transcript.js +0 -117
- package/dist/services/hermes-transcript.js.map +0 -1
- package/dist/services/invite-store.d.ts +0 -28
- package/dist/services/invite-store.d.ts.map +0 -1
- package/dist/services/invite-store.js +0 -85
- package/dist/services/invite-store.js.map +0 -1
- package/dist/services/pairing-store.d.ts +0 -47
- package/dist/services/pairing-store.d.ts.map +0 -1
- package/dist/services/pairing-store.js +0 -132
- package/dist/services/pairing-store.js.map +0 -1
- package/dist/services/relay-picker.d.ts +0 -22
- package/dist/services/relay-picker.d.ts.map +0 -1
- package/dist/services/relay-picker.js +0 -62
- package/dist/services/relay-picker.js.map +0 -1
- package/dist/services/send-policy.d.ts +0 -55
- package/dist/services/send-policy.d.ts.map +0 -1
- package/dist/services/send-policy.js +0 -47
- package/dist/services/send-policy.js.map +0 -1
- package/dist/services/team-roster.d.ts +0 -38
- package/dist/services/team-roster.d.ts.map +0 -1
- package/dist/services/team-roster.js +0 -82
- package/dist/services/team-roster.js.map +0 -1
- package/dist/services/team-store.d.ts +0 -54
- package/dist/services/team-store.d.ts.map +0 -1
- package/dist/services/team-store.js +0 -156
- package/dist/services/team-store.js.map +0 -1
- package/dist/services/trigger-log-store.d.ts +0 -46
- package/dist/services/trigger-log-store.d.ts.map +0 -1
- package/dist/services/trigger-log-store.js +0 -132
- package/dist/services/trigger-log-store.js.map +0 -1
- package/dist/services/trigger-types.d.ts +0 -57
- package/dist/services/trigger-types.d.ts.map +0 -1
- package/dist/services/trigger-types.js +0 -28
- package/dist/services/trigger-types.js.map +0 -1
- package/dist/services/webhook-key.d.ts +0 -16
- package/dist/services/webhook-key.d.ts.map +0 -1
- package/dist/services/webhook-key.js +0 -123
- package/dist/services/webhook-key.js.map +0 -1
- package/dist/services/webhook-lifecycle-extractors.d.ts +0 -15
- package/dist/services/webhook-lifecycle-extractors.d.ts.map +0 -1
- package/dist/services/webhook-lifecycle-extractors.js +0 -59
- package/dist/services/webhook-lifecycle-extractors.js.map +0 -1
- package/dist/services/webhook-lifecycle-store.d.ts +0 -45
- package/dist/services/webhook-lifecycle-store.d.ts.map +0 -1
- package/dist/services/webhook-lifecycle-store.js +0 -159
- package/dist/services/webhook-lifecycle-store.js.map +0 -1
- package/dist/utils/daemon-discovery.d.ts +0 -11
- package/dist/utils/daemon-discovery.d.ts.map +0 -1
- package/dist/utils/daemon-discovery.js +0 -59
- package/dist/utils/daemon-discovery.js.map +0 -1
- package/dist/workflows/trigger-from-envelope.d.ts +0 -13
- package/dist/workflows/trigger-from-envelope.d.ts.map +0 -1
- package/dist/workflows/trigger-from-envelope.js +0 -67
- package/dist/workflows/trigger-from-envelope.js.map +0 -1
package/dist/i18n/en.js
CHANGED
|
@@ -4,7 +4,6 @@ export const messages = {
|
|
|
4
4
|
'card.btn.open_terminal': '🖥️ Open Terminal',
|
|
5
5
|
'card.btn.open_writable_terminal': '🖥️ Open Writable Terminal',
|
|
6
6
|
'card.btn.get_write_link': '🔑 Get Write Link',
|
|
7
|
-
'card.writable_terminal_link': '🔑 Writable terminal (visible to everyone here — anyone can drive it): [{url}]({url})',
|
|
8
7
|
'card.btn.restart_cli': '🔄 Restart {cliName}',
|
|
9
8
|
'card.btn.disconnect': '⏏ Disconnect',
|
|
10
9
|
'card.btn.close_session': '❌ Close Session',
|
|
@@ -28,13 +27,11 @@ export const messages = {
|
|
|
28
27
|
'card.status.retry_ready': 'Ready to retry',
|
|
29
28
|
'card.status.executing': 'Executing…',
|
|
30
29
|
'card.status.session_closed': '🛑 Session Closed',
|
|
31
|
-
'card.status.relay_frozen': '🔄 Relayed away',
|
|
32
30
|
'card.status.selected': 'Selected',
|
|
33
31
|
'card.status.waiting_screenshot': '_(Waiting for first screenshot…)_',
|
|
34
32
|
'card.status.truncated_prefix': '… (truncated)',
|
|
35
33
|
// ─── Card body text ──────────────────────────────────────────────────────
|
|
36
34
|
'card.body.cli_terminated': '{cliName} process has exited.',
|
|
37
|
-
'card.body.relay_frozen': 'This session was relayed elsewhere via /relay; this card is frozen as a historical snapshot. Action buttons removed to prevent accidentally affecting the now-live session in the other chat.',
|
|
38
35
|
'card.body.click_resume_or_run': 'Click "Resume Session" to continue, or run in your terminal:',
|
|
39
36
|
'card.body.click_resume_only': 'Click "Resume Session" to continue.',
|
|
40
37
|
'card.body.cli_no_cli_resume': '_{cliName} cannot resume a specific session from the CLI; you can resume here in Lark._',
|
|
@@ -42,21 +39,19 @@ export const messages = {
|
|
|
42
39
|
'card.body.choose_label': 'Choice:',
|
|
43
40
|
'card.usage_limit.retry_at': '⚠️ {cliName} usage limit has been reached. Try again after {retryLabel}.',
|
|
44
41
|
'card.usage_limit.retry_ready': '✅ {cliName} usage limit should have reset. Retry the last task, or send a new message.',
|
|
45
|
-
'card.private.snapshot_note': '🔒 Private static snapshot (visible only to you, not live-updating). Tap Open Terminal for the live view.',
|
|
46
42
|
// ─── Repo select card ────────────────────────────────────────────────────
|
|
47
43
|
'card.repo.title': '📁 Project Repository',
|
|
48
44
|
'card.repo.placeholder_switch': 'Pick a repo to switch to',
|
|
49
45
|
'card.repo.current_active': 'Currently active project:',
|
|
50
46
|
'card.repo.current_marker': ' ← current',
|
|
51
|
-
'card.repo.note': 'You can also reply `/repo <N>`
|
|
47
|
+
'card.repo.note': 'You can also reply `/repo <N>` to switch — e.g. `/repo 1`.',
|
|
52
48
|
// In-group authorization card
|
|
53
49
|
'card.grant.title': '🔑 Access Request',
|
|
54
50
|
'card.grant.body_request': 'User **{name}** is requesting to use me in this chat. <at id={owner}></at> allow them to talk to me here?',
|
|
55
51
|
'card.grant.body_owner': 'Grant **{name}** permission to talk to me in this chat? (<at id={owner}></at>)',
|
|
56
52
|
'card.grant.btn_chat': 'Grant talk in this chat',
|
|
57
|
-
'card.grant.btn_global': 'Grant talk globally',
|
|
58
53
|
'card.grant.btn_deny': 'Deny',
|
|
59
|
-
'card.grant.note': 'Grants talk
|
|
54
|
+
'card.grant.note': 'Grants "talk in this chat" only; /restart, /close, terminal write and other sensitive ops remain limited to allowedUsers (owner).',
|
|
60
55
|
'card.grant.toast_owner_only': 'Only the owner can do this',
|
|
61
56
|
'card.grant.toast_expired': 'This request has expired',
|
|
62
57
|
'card.grant.toast_no_repo_perm': 'No permission',
|
|
@@ -82,53 +77,15 @@ export const messages = {
|
|
|
82
77
|
'cmd.revoke.failed': '⚠️ Revoke failed: {reason}',
|
|
83
78
|
'cmd.revoke.scope_chat': 'this-chat ',
|
|
84
79
|
'cmd.revoke.scope_global': 'global',
|
|
85
|
-
'cmd.revoke.scope_global_talk': 'global-talk ',
|
|
86
80
|
'cmd.revoke.scope_none': 'none',
|
|
87
81
|
// ─── Adopt card ──────────────────────────────────────────────────────────
|
|
88
82
|
'card.adopt.title': '📡 Choose a CLI session to adopt',
|
|
89
83
|
'card.adopt.placeholder_select': 'Pick a CLI session',
|
|
90
84
|
'card.adopt.uptime_unknown': 'unknown',
|
|
91
|
-
// ─── /relay picker card (pull mode) ─────────────────────────────────────
|
|
92
|
-
'card.relay.title': '📋 Pick a session to relay into this chat',
|
|
93
|
-
'card.relay.empty': 'No relayable sessions.\n(Picker only lists sessions you own, on this bot, in other chats.)',
|
|
94
|
-
'card.relay.btn_pull': 'Pull into this chat',
|
|
95
|
-
'card.relay.btn_confirm': 'Confirm relay into this chat',
|
|
96
|
-
'card.relay.selected_tag': 'selected',
|
|
97
|
-
'card.relay.hint_pick_first': 'Tap any session above to select it, then press Confirm to relay.',
|
|
98
|
-
'card.relay.search_placeholder': '🔍 Search sessions (title / chat / path)',
|
|
99
|
-
'card.relay.btn_search': 'Search',
|
|
100
|
-
'card.relay.btn_prev_page': '← Prev',
|
|
101
|
-
'card.relay.btn_next_page': 'Next →',
|
|
102
|
-
'card.relay.page_indicator': 'Page {current} / {total}',
|
|
103
|
-
'card.relay.empty_filtered': 'No sessions match "{query}". Try a different keyword.',
|
|
104
|
-
'card.relay.placeholder_select': 'Pick a session to relay',
|
|
105
|
-
'card.relay.type_group': 'group chat',
|
|
106
|
-
'card.relay.type_topic': 'topic chat',
|
|
107
|
-
'card.relay.type_p2p': 'direct message',
|
|
108
|
-
'card.relay.field_type': 'Type',
|
|
109
|
-
'card.relay.field_location': 'Where',
|
|
110
|
-
'card.relay.field_time': 'Active',
|
|
111
|
-
'card.relay.toast_adopt_not_relayable': 'That session was attached via /adopt to an external tmux — it cannot be relayed.',
|
|
112
|
-
'card.relay.toast_not_found': 'Session not found or already closed.',
|
|
113
|
-
'card.relay.toast_not_owner': 'Only the session owner can relay it.',
|
|
114
|
-
'card.relay.toast_not_invoker': 'This menu was summoned by someone else. Run /relay yourself to get your own.',
|
|
115
|
-
'card.relay.toast_worker_busy': '⚠️ The session is mid-turn. Wait for it to go idle, then relay.',
|
|
116
|
-
'card.relay.toast_not_started_yet': '⚠️ The session has not picked a repo yet, so the CLI never started. Pick a repo in the source chat first.',
|
|
117
|
-
'card.relay.toast_same_chat': 'That session is already in this chat — nothing to relay.',
|
|
118
|
-
'card.relay.toast_failed': 'Relay failed: {error}',
|
|
119
|
-
'card.relay.toast_target_has_session': 'This chat already has an active session for the bot. Please /close it first, then relay.',
|
|
120
|
-
'cmd.relay.target_has_session_msg': '⚠️ This bot already has an active session "{title}" in this chat. Please /close it first, then relay a new one in.',
|
|
121
|
-
'card.relay.toast_success': '✅ Relayed into this chat',
|
|
122
85
|
// ─── TUI prompt card ─────────────────────────────────────────────────────
|
|
123
86
|
'card.tui.input_placeholder': 'Type a custom reply…',
|
|
124
87
|
// ─── Command responses ───────────────────────────────────────────────────
|
|
125
88
|
'cmd.no_active_session': 'No active session in this topic.',
|
|
126
|
-
'cmd.card.not_ready': 'Terminal not ready yet — the streaming card will appear once the session is up.',
|
|
127
|
-
'cmd.card.private_not_ready': '🔒 Terminal not ready yet — send /card again once the session is up.',
|
|
128
|
-
'cmd.card.private_not_group': '🔒 Private cards only work in regular group chats — topic groups / DMs are unsupported (Feishu limitation).',
|
|
129
|
-
'cmd.card.private_no_audience': '🔒 No audience: this bot has no owner configured (allowedUsers is empty).',
|
|
130
|
-
'cmd.card.private_failed': '🔒 Failed to send the private card — likely missing send permission, the bot is not in this chat, or this is a topic group.',
|
|
131
|
-
'cmd.card.private_partial': '🔒 Private card sent to {sent}/{total}; some recipients failed.',
|
|
132
89
|
'cmd.restart.in_progress': '🔄 Restarting {cliName}…',
|
|
133
90
|
'cmd.restart.terminated': '{cliName} has been terminated; it will auto-resume on your next message.',
|
|
134
91
|
'cmd.cd.usage': 'Usage: /cd <path>\nExample: /cd ~/projects/my-app',
|
|
@@ -138,7 +95,6 @@ export const messages = {
|
|
|
138
95
|
'cmd.cd.not_a_directory': 'Path is not a directory: {path}',
|
|
139
96
|
'cmd.repo.no_prior_scan': 'Run `/repo` first to see the project list.',
|
|
140
97
|
'cmd.repo.index_out_of_range': 'Index out of range. Valid: 1-{max}',
|
|
141
|
-
'cmd.repo.path_not_found': '❌ No such directory or project: `{arg}`\nPass an absolute path, a relative path, or a first-level project name under workingDir.',
|
|
142
98
|
'cmd.repo.selected_in_pending': '✅ Selected {name}',
|
|
143
99
|
'cmd.repo.switched_to': '🔄 Switched to {name}',
|
|
144
100
|
'cmd.repo.warning_running': '⚠️ A session is already running. Switching repos will close it and start a new one.\nIf that\'s what you want, pick the new repo from the card below.',
|
|
@@ -146,6 +102,7 @@ export const messages = {
|
|
|
146
102
|
'cmd.repo.working_dir_not_exist': '❌ Configured working directory does not exist or is not a directory: {dirs}\nCheck workingDir / workingDirs in ~/.botmux/bots.json, or run `botmux setup` and choose an existing directory.',
|
|
147
103
|
'cmd.repo.no_git_repos': 'No git repositories found under {dirs}.',
|
|
148
104
|
'cmd.skip.opened': '▶️ Session started (working dir: {cwd})',
|
|
105
|
+
'cmd.skip.no_pending': 'No pending repo selection.',
|
|
149
106
|
'cmd.status.running': 'running',
|
|
150
107
|
'cmd.status.waiting': 'idle',
|
|
151
108
|
'cmd.status.fallback_no_session': 'No active session in this topic.\nDaemon active sessions: {count}\n{cliName}: v{version}',
|
|
@@ -183,36 +140,7 @@ export const messages = {
|
|
|
183
140
|
'cmd.group.warn_transfer_failed': '⚠️ Owner transfer failed ({reason}); the bot is still the group owner. You can transfer it manually inside the new group.',
|
|
184
141
|
'cmd.group.bots_invited': '🤖 Bots in the group: {bots}',
|
|
185
142
|
'cmd.group.warn_bots_rejected': '⚠️ Some bots could not be added ({bots}) — they may not be in this bot\'s app scope. Please add them manually.',
|
|
186
|
-
'cmd.group.warn_share_link_failed': '⚠️ Couldn\'t fetch a group share link; the link above only opens for members already in the group — the owner should invite non-members manually.',
|
|
187
143
|
'cmd.group.resolve_failed': '⚠️ Could not resolve the @-mentioned bots (chat member info may be temporarily unavailable); group not created. Please retry shortly.',
|
|
188
|
-
// ─── /relay --create ────────────────────────────────────────────────────
|
|
189
|
-
'cmd.relay.empty_group_name': 'Session Relay {ts}',
|
|
190
|
-
'cmd.relay.no_session': '⚠️ /relay must be invoked from a thread with an active session.',
|
|
191
|
-
'cmd.relay.target_has_session': '⚠️ This bot already has an active session "{title}" in this chat. Please /close it first, then /relay to bring a new one in.',
|
|
192
|
-
'cmd.relay.no_sender': '⚠️ Could not resolve sender open_id; /relay cancelled.',
|
|
193
|
-
'cmd.relay.no_mentions': '⚠️ /relay --create requires at least one @-mentioned bot as a collaborator in the new group.',
|
|
194
|
-
'cmd.relay.not_owner': '⚠️ Only the original session owner can /relay --create this session to a new group.',
|
|
195
|
-
'cmd.relay.adopt_not_relayable': '⚠️ This session was attached via /adopt to an external tmux. The CLI runs on your machine and botmux does not control its tmux lifecycle, so it cannot be relayed.',
|
|
196
|
-
'cmd.relay.not_started_yet': '⚠️ The session has not picked a repo and the CLI has never started — nothing to relay yet. Pick a repo in this session first.',
|
|
197
|
-
'cmd.relay.worker_busy': '⚠️ The session is mid-turn (working). Wait for the current turn to finish (idle), then try /relay again.',
|
|
198
|
-
'cmd.relay.picker_p2p_unsupported': '⚠️ Relay is not supported in direct (p2p) chats. Use /relay in a regular group chat.',
|
|
199
|
-
'cmd.relay.picker_topic_unsupported': '⚠️ Relay is not supported in topic chats (they route per thread, leaving a relayed session with no thread anchor). Use /relay in a regular group chat.',
|
|
200
|
-
'cmd.relay.resolve_failed': '⚠️ Could not resolve the @-mentioned bots; /relay cancelled. Please retry shortly.',
|
|
201
|
-
'cmd.relay.m1_announce': '📋 Relayed from "{sourceChat}".\n⚠️ Lark message history stays in the source chat; AI memory has been carried over.\n@ the corresponding bot to continue.',
|
|
202
|
-
'cmd.relay.m1_final_all_ok': '🚀 Sessions relayed into this chat\n📋 Source: {sourceChat}\n✅ Ready: {successBots}\n⚠️ Lark message history stays in the source chat; AI memory has been carried over. @ the corresponding bot to continue.',
|
|
203
|
-
'cmd.relay.m1_final_partial': '🚀 Sessions relayed into this chat\n📋 Source: {sourceChat}\n✅ Ready: {successBots}\n⚠️ Failed to migrate: {failedBots}\n→ Run /relay in this chat to pull those bots\' sessions from the source manually.\n⚠️ Lark message history stays in the source chat; AI memory has been carried over.',
|
|
204
|
-
'cmd.relay.m1_final_all_fresh': '🚀 New group created and bots invited.\n📋 Source: {sourceChat}\nNo source session to migrate — @ any bot to start a fresh conversation.',
|
|
205
|
-
'cmd.relay.created': '✅ Created group "{name}" and relayed sessions\n👉 {link}\n\n{report}',
|
|
206
|
-
'cmd.relay.report_leader_ok': '• {bot} (current session) relayed',
|
|
207
|
-
'cmd.relay.report_leader_no_session': '• {bot} (current session) — skipped (no active session)',
|
|
208
|
-
'cmd.relay.report_leader_failed': '• {bot} (current session) — relay failed: {error}',
|
|
209
|
-
'cmd.relay.report_peer_ok': '• {bot} relayed',
|
|
210
|
-
'cmd.relay.report_peer_no_session': '• {bot} — skipped (no session in source thread)',
|
|
211
|
-
'cmd.relay.report_peer_not_owner': '• {bot} — skipped (session not yours)',
|
|
212
|
-
'cmd.relay.report_peer_offline': '• {bot} — skipped (daemon offline)',
|
|
213
|
-
'cmd.relay.report_peer_busy': '• {bot} — skipped (session busy, timed out)',
|
|
214
|
-
'cmd.relay.report_peer_failed': '• {bot} — relay failed: {error}',
|
|
215
|
-
'cmd.relay.failed': '⚠️ /relay --create failed: {error}',
|
|
216
144
|
// ─── /schedule ───────────────────────────────────────────────────────────
|
|
217
145
|
'schedule.empty_with_examples': 'No scheduled tasks yet.\n\nExamples:\n/schedule daily 17:50 summarize today\'s AI news\n/schedule weekdays 9:00 check service status\n/schedule mondays 10:00 generate weekly report',
|
|
218
146
|
'schedule.list_header': 'Scheduled tasks ({count}):',
|
|
@@ -230,11 +158,9 @@ export const messages = {
|
|
|
230
158
|
'help.close': '/close - Close current session, kill {cliName}',
|
|
231
159
|
'help.restart': '/restart - Restart {cliName} (keep session)',
|
|
232
160
|
'help.cd': '/cd <path> - Change working dir and restart {cliName}',
|
|
233
|
-
'help.repo_list': '/repo -
|
|
161
|
+
'help.repo_list': '/repo - Show project list (interactive dropdown + text list)',
|
|
234
162
|
'help.repo_n': '/repo <N> - Switch to project #N',
|
|
235
|
-
'help.repo_path': '/repo <path|name> - Use a path or a project name under workingDir, skipping the card',
|
|
236
163
|
'help.status': '/status - Show current session status (incl. terminal URL)',
|
|
237
|
-
'help.card': '/card - Manually post the streaming card for this session (summons it even when streaming is off, and resumes live updates; with private-card mode on, sends a static snapshot visible only to authorized users instead)',
|
|
238
164
|
'help.heading_passthrough': '🔀 Passthrough to {cliName} (forwarded verbatim to its built-in slash commands):',
|
|
239
165
|
'help.heading_schedule': '⏰ Scheduled tasks:',
|
|
240
166
|
'help.schedule_create': '/schedule daily 17:50 summarize AI news - create a scheduled task (natural language)',
|
|
@@ -280,8 +206,7 @@ export const messages = {
|
|
|
280
206
|
'ai.identity.mention_intro': '**Hard fact about cross-bot collaboration**: in a Lark topic group, other bots **do NOT receive** the messages you send via `botmux send` by default —',
|
|
281
207
|
'ai.identity.mention_must': 'To hand work off to another bot, you **MUST** explicitly pass `--mention <other-bot-open-id>`. Without `--mention`, the other bot is not triggered at all.',
|
|
282
208
|
'ai.identity.mention_partners': '- Collaborator `open_id`s are listed in the `<available_bots>` block attached to every user message. You can also run `botmux bots list`.',
|
|
283
|
-
'ai.identity.mention_usage': '- Usage: `botmux send --mention ou_xxx "message"` (repeat `--mention` for multiple bots).
|
|
284
|
-
'ai.identity.mention_gate': '- **@ hard-gate**: every `botmux send` MUST explicitly pick one or it errors out — `--mention` (name someone) / `--mention-back` (@ the triggerer) / `--no-mention` (none). Choose by message VALUE: a substantive conclusion the other party should read/confirm/decide on → --mention-back (or --mention); pure record / low-priority progress / short ack → --no-mention; a contentless "got it" is better not sent at all. Do not let --no-mention become the default, and do not @ people for nothing.',
|
|
209
|
+
'ai.identity.mention_usage': '- Usage: `botmux send --mention ou_xxx "message"` (repeat `--mention` for multiple bots). When you write `@name` in the body, botmux also auto-injects `--mention`, but passing it explicitly is safer.',
|
|
285
210
|
'ai.identity.mention_when_to': '- When to `--mention`: the user explicitly asks for the handoff, you\'re passing a sub-task to the other bot, or you need them to give the final result / take an independent action.',
|
|
286
211
|
'ai.identity.mention_when_not': '- When NOT to `--mention`: pure status updates / acknowledgements / thanks — fold them into the next message that has real content, to avoid mutual ping-spam.',
|
|
287
212
|
// ─── AI hints (non-Claude CLIs: BOTMUX_SHELL_HINTS) ──────────────────────
|
|
@@ -292,7 +217,6 @@ export const messages = {
|
|
|
292
217
|
'ai.shell.heredoc_example': "Correct multi-line example:\n```bash\nbotmux send <<'EOF'\nline 1\nline 2\nEOF\n```",
|
|
293
218
|
'ai.shell.helpers': 'Helpers: `botmux history` (read this session\'s history — topic-scoped in topic groups, group-wide in normal groups), `botmux quoted <message_id>` (fetch a quoted message — only use it when the prompt header shows `[user quoted message ...]`), `botmux bots list` (list other bots in the group).',
|
|
294
219
|
'ai.shell.when_to_send': 'When to send: key conclusions, plans (wait for user approval before acting), final results, progress updates. A bare `print`/`echo` does NOT count as a reply.',
|
|
295
|
-
'ai.shell.mention_gate': '@ decision (mandatory): every `botmux send` MUST explicitly pick one or it errors — `--mention <open_id:name>` (name a person/bot; REQUIRED to hand work to another bot) / `--mention-back` (@ the sender of the message you are replying to) / `--no-mention` (none). Choose by VALUE: substantive conclusion the other party should read/confirm/decide → --mention-back; pure record / low-priority / short ack → --no-mention; a contentless "got it" is better not sent. Do not default to --no-mention, and do not @ people for nothing.',
|
|
296
220
|
// ─── AI prompt blocks (session-manager) ──────────────────────────────────
|
|
297
221
|
'ai.attach.hint': 'Read these with the Read tool. The index matches the [image N] / [file N] placeholders in the body.',
|
|
298
222
|
'ai.identity.short_routing': 'Reminder: handing work off to another bot REQUIRES `botmux send --mention <their open_id>` — without it, the other bot is not triggered.',
|
|
@@ -302,32 +226,15 @@ export const messages = {
|
|
|
302
226
|
'ai.bridge.mentions_label': '[@Mentions]',
|
|
303
227
|
'schedule.title_prefix': '[Scheduled]',
|
|
304
228
|
// ─── Role command ─────────────────────────────────────────────────────────
|
|
305
|
-
'role.current': '📋
|
|
229
|
+
'role.current': '📋 Current role for this chat:',
|
|
306
230
|
'role.byte_count': '{bytes} / {max} bytes',
|
|
307
|
-
'role.empty': 'No
|
|
308
|
-
'role.saved_via_cmd': '✅
|
|
309
|
-
'role.deleted_via_cmd': '✅
|
|
231
|
+
'role.empty': 'No role configured for this chat.\n\nUsage:\n/role set <Markdown content> — Set role\n/role — View current role\n/role delete — Delete role',
|
|
232
|
+
'role.saved_via_cmd': '✅ Role updated ({bytes} / {max} bytes). Takes effect on next message.',
|
|
233
|
+
'role.deleted_via_cmd': '✅ Role deleted.',
|
|
310
234
|
'role.nothing_to_delete': 'No role configured for this chat.',
|
|
311
235
|
'role.set_empty': 'Role content cannot be empty. Usage: /role set <Markdown content>',
|
|
312
236
|
'role.no_chat': 'Cannot determine chat info. Please retry.',
|
|
313
|
-
'role.
|
|
314
|
-
'role.src_team': '(source: team default)',
|
|
315
|
-
'role.team_current': '📋 Team-level role (this bot, cross-chat default):',
|
|
316
|
-
'role.team_empty': 'No team-level role set.\nUsage: /role team set <Markdown> — set; /role team delete — delete',
|
|
317
|
-
'role.team_saved': '✅ Team-level role updated ({bytes} / {max} bytes). Chats without an override pick it up on next session.',
|
|
318
|
-
'role.team_deleted': '✅ Team-level role deleted.',
|
|
319
|
-
'role.team_nothing': 'No team-level role to delete.',
|
|
320
|
-
'role.cap_current': '🏷️ Capability label: {cap}',
|
|
321
|
-
'role.cap_empty': 'No capability label set.\nUsage: /role cap set <one-line capability>',
|
|
322
|
-
'role.cap_saved': '✅ Capability label updated: {cap}',
|
|
323
|
-
'role.cap_cleared': '✅ Capability label cleared.',
|
|
324
|
-
'role.cap_set_empty': 'Capability label cannot be empty. Usage: /role cap set <description>',
|
|
325
|
-
'role.help': '/role usage:\n• /role — View effective role\n• /role set <Markdown> — Set chat role (overrides team)\n• /role delete — Delete chat role\n• /role team [set <Markdown>|delete] — Team-level role (cross-chat default)\n• /role cap [set <one-liner>|clear] — Capability label (shown in roster)',
|
|
326
|
-
'pair.usage': 'Usage: /pair <code> (the code is shown when you click "Log in" on the team platform web UI).',
|
|
327
|
-
'pair.ok': '✅ Login paired. Return to the web page to continue.',
|
|
328
|
-
'pair.expired': 'Pairing code expired. Start login again on the web page.',
|
|
329
|
-
'pair.already': 'That pairing code was already used. Start login again on the web page.',
|
|
330
|
-
'pair.not_found': 'Invalid pairing code. Check it and retry (expired codes need a new login).',
|
|
237
|
+
'role.help': '/role usage:\n• /role — View current role\n• /role set <Markdown content> — Set role\n• /role delete — Delete role',
|
|
331
238
|
// ─── Card handler responses ──────────────────────────────────────────────
|
|
332
239
|
'card.action.adopt_no_restart': '⚠️ Restart is disabled in adopt mode (it would not touch your tmux pane / CLI process anyway).',
|
|
333
240
|
'card.action.restarted': '🔄 Restarted {cliName}',
|
|
@@ -362,7 +269,7 @@ export const messages = {
|
|
|
362
269
|
'setup.lark_perm_chat': ' - im:chat (group info)',
|
|
363
270
|
'setup.lark_perm_user_base': ' - contact:user.base:readonly (user info)',
|
|
364
271
|
'setup.lark_enable_events': 'Enable Event Subscription (WebSocket mode):',
|
|
365
|
-
'setup.supported_clis': 'Supported CLIs: 1) claude-code 2) aiden 3) coco 4) codex 5)
|
|
272
|
+
'setup.supported_clis': 'Supported CLIs: 1) claude-code 2) aiden 3) coco 4) codex 5) gemini 6) opencode',
|
|
366
273
|
'setup.prompt_cli_choice': 'CLI adapter [1]: ',
|
|
367
274
|
'setup.prompt_working_dir': 'Default working directory [~]: ',
|
|
368
275
|
'setup.prompt_allowed_users': 'Allowed users (emails or open_ids, comma-separated; empty = no restriction): ',
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,4EAA4E;IAC5E,wBAAwB,EAAE,mBAAmB;IAC7C,iCAAiC,EAAE,4BAA4B;IAC/D,yBAAyB,EAAE,mBAAmB;IAC9C,
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/zh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+U3C,CAAC"}
|
package/dist/i18n/zh.js
CHANGED
|
@@ -7,7 +7,6 @@ export const messages = {
|
|
|
7
7
|
'card.btn.open_terminal': '🖥️ 打开终端',
|
|
8
8
|
'card.btn.open_writable_terminal': '🖥️ 打开可操作终端',
|
|
9
9
|
'card.btn.get_write_link': '🔑 获取操作链接',
|
|
10
|
-
'card.writable_terminal_link': '🔑 可操作终端(群内可见,任何人可直接操控):[{url}]({url})',
|
|
11
10
|
'card.btn.restart_cli': '🔄 重启 {cliName}',
|
|
12
11
|
'card.btn.disconnect': '⏏ 断开',
|
|
13
12
|
'card.btn.close_session': '❌ 关闭会话',
|
|
@@ -31,13 +30,11 @@ export const messages = {
|
|
|
31
30
|
'card.status.retry_ready': '可重试',
|
|
32
31
|
'card.status.executing': '正在执行…',
|
|
33
32
|
'card.status.session_closed': '🛑 会话已关闭',
|
|
34
|
-
'card.status.relay_frozen': '🔄 会话已搬迁',
|
|
35
33
|
'card.status.selected': '已选择',
|
|
36
34
|
'card.status.waiting_screenshot': '_(等待第一张截图…)_',
|
|
37
35
|
'card.status.truncated_prefix': '… (已截断)',
|
|
38
36
|
// ─── Card body text ──────────────────────────────────────────────────────
|
|
39
37
|
'card.body.cli_terminated': '{cliName} 进程已终止。',
|
|
40
|
-
'card.body.relay_frozen': '本会话已通过 /relay 搬到其他群继续,本卡片冻结作为存档;按钮已移除,避免误操作影响新群里活着的会话。',
|
|
41
38
|
'card.body.click_resume_or_run': '点击「恢复会话」继续,或在终端执行:',
|
|
42
39
|
'card.body.click_resume_only': '点击「恢复会话」继续。',
|
|
43
40
|
'card.body.cli_no_cli_resume': '{cliName} 不支持从命令行精确恢复指定会话,可在飞书内 resume。',
|
|
@@ -45,21 +42,19 @@ export const messages = {
|
|
|
45
42
|
'card.body.choose_label': '选择:',
|
|
46
43
|
'card.usage_limit.retry_at': '⚠️ 当前已达到 {cliName} 使用限额。请在 {retryLabel} 后再试。',
|
|
47
44
|
'card.usage_limit.retry_ready': '✅ {cliName} 限额预计已刷新。你可以重发上一条任务,或直接发送新消息。',
|
|
48
|
-
'card.private.snapshot_note': '🔒 仅你可见的静态快照(不会实时刷新)。点「打开终端」查看实时画面。',
|
|
49
45
|
// ─── Repo select card ────────────────────────────────────────────────────
|
|
50
46
|
'card.repo.title': '📁 项目仓库管理',
|
|
51
47
|
'card.repo.placeholder_switch': '选择仓库并切换',
|
|
52
48
|
'card.repo.current_active': '当前活跃项目:',
|
|
53
49
|
'card.repo.current_marker': ' ← 当前',
|
|
54
|
-
'card.repo.note': '也可以回复 `/repo <编号>`
|
|
50
|
+
'card.repo.note': '也可以回复 `/repo <编号>` 切换,例如:`/repo 1`',
|
|
55
51
|
// 群内授权卡片
|
|
56
52
|
'card.grant.title': '🔑 使用授权',
|
|
57
53
|
'card.grant.body_request': '用户 **{name}** 申请在本群使用我。<at id={owner}></at> 是否允许 ta 在本群与我对话?',
|
|
58
54
|
'card.grant.body_owner': '是否授权 **{name}** 在本群与我对话?(<at id={owner}></at>)',
|
|
59
55
|
'card.grant.btn_chat': '授权本群对话',
|
|
60
|
-
'card.grant.btn_global': '全局授权对话',
|
|
61
56
|
'card.grant.btn_deny': '拒绝',
|
|
62
|
-
'card.grant.note': '
|
|
57
|
+
'card.grant.note': '仅授予「在本群与我对话」;/restart、/close、终端写入等敏感操作仍仅限 allowedUsers(owner)。',
|
|
63
58
|
'card.grant.toast_owner_only': '仅 owner 可操作',
|
|
64
59
|
'card.grant.toast_expired': '该授权请求已失效',
|
|
65
60
|
'card.grant.toast_no_repo_perm': '无操作权限',
|
|
@@ -85,53 +80,15 @@ export const messages = {
|
|
|
85
80
|
'cmd.revoke.failed': '⚠️ 撤销失败:{reason}',
|
|
86
81
|
'cmd.revoke.scope_chat': '本群 ',
|
|
87
82
|
'cmd.revoke.scope_global': '全局',
|
|
88
|
-
'cmd.revoke.scope_global_talk': '全局对话 ',
|
|
89
83
|
'cmd.revoke.scope_none': '无',
|
|
90
84
|
// ─── Adopt card ──────────────────────────────────────────────────────────
|
|
91
85
|
'card.adopt.title': '📡 选择要接入的 CLI 会话',
|
|
92
86
|
'card.adopt.placeholder_select': '选择 CLI 会话',
|
|
93
87
|
'card.adopt.uptime_unknown': '未知',
|
|
94
|
-
// ─── /relay picker card (pull mode) ─────────────────────────────────────
|
|
95
|
-
'card.relay.title': '📋 选择要接力到本群的会话',
|
|
96
|
-
'card.relay.empty': '当前没有可接力的会话。\n(picker 只列你作为 owner、同一机器人在其他群里的活跃会话。)',
|
|
97
|
-
'card.relay.btn_pull': '接力到本群',
|
|
98
|
-
'card.relay.btn_confirm': '确认接力到本群',
|
|
99
|
-
'card.relay.selected_tag': '已选中',
|
|
100
|
-
'card.relay.hint_pick_first': '点击上方任意会话以选中,然后再点确认按钮触发接力。',
|
|
101
|
-
'card.relay.search_placeholder': '🔍 搜索会话(标题/群名/路径)',
|
|
102
|
-
'card.relay.btn_search': '搜索',
|
|
103
|
-
'card.relay.btn_prev_page': '← 上一页',
|
|
104
|
-
'card.relay.btn_next_page': '下一页 →',
|
|
105
|
-
'card.relay.page_indicator': '第 {current} / {total} 页',
|
|
106
|
-
'card.relay.empty_filtered': '没有匹配「{query}」的会话,请换个关键词。',
|
|
107
|
-
'card.relay.placeholder_select': '选择要接力的会话',
|
|
108
|
-
'card.relay.type_group': '普通群',
|
|
109
|
-
'card.relay.type_topic': '话题群',
|
|
110
|
-
'card.relay.type_p2p': '单聊',
|
|
111
|
-
'card.relay.field_type': '类型',
|
|
112
|
-
'card.relay.field_location': '位置',
|
|
113
|
-
'card.relay.field_time': '活跃',
|
|
114
|
-
'card.relay.toast_adopt_not_relayable': '该会话是 /adopt 接入的外部 tmux,无法接力。',
|
|
115
|
-
'card.relay.toast_not_found': '会话已不存在或已关闭。',
|
|
116
|
-
'card.relay.toast_not_owner': '只有会话发起人能接力它。',
|
|
117
|
-
'card.relay.toast_not_invoker': '这张菜单是别人召唤的,请自己发 /relay 召唤一张。',
|
|
118
|
-
'card.relay.toast_worker_busy': '⚠️ 会话当前正在处理中,请等它空闲后再接力。',
|
|
119
|
-
'card.relay.toast_not_started_yet': '⚠️ 会话还没选仓库、CLI 没起来,无法接力。请先回原会话把仓库选了。',
|
|
120
|
-
'card.relay.toast_same_chat': '该会话已在本群里,无需接力。',
|
|
121
|
-
'card.relay.toast_failed': '接力失败:{error}',
|
|
122
|
-
'card.relay.toast_target_has_session': '本群已有该机器人的活跃会话,请先 /close 它再接力',
|
|
123
|
-
'cmd.relay.target_has_session_msg': '⚠️ 本群已有该机器人的活跃会话「{title}」。请先用 /close 关掉那个会话,再接力新的过来。',
|
|
124
|
-
'card.relay.toast_success': '✅ 已接力到本群',
|
|
125
88
|
// ─── TUI prompt card ─────────────────────────────────────────────────────
|
|
126
89
|
'card.tui.input_placeholder': '输入自定义回复…',
|
|
127
90
|
// ─── Command responses ───────────────────────────────────────────────────
|
|
128
91
|
'cmd.no_active_session': '当前话题没有活跃的会话。',
|
|
129
|
-
'cmd.card.not_ready': '终端尚未就绪,等会话起好后流式卡片会自动出现。',
|
|
130
|
-
'cmd.card.private_not_ready': '🔒 终端尚未就绪,等会话起好后再发一次 /card。',
|
|
131
|
-
'cmd.card.private_not_group': '🔒 私密卡片仅支持普通群聊,话题群 / 单聊无法发送(飞书限制)。',
|
|
132
|
-
'cmd.card.private_no_audience': '🔒 没有可见对象:当前 bot 未配置 owner(allowedUsers 为空)。',
|
|
133
|
-
'cmd.card.private_failed': '🔒 私密卡片发送失败 —— 可能是缺少消息发送权限、bot 不在群内,或当前为话题群。',
|
|
134
|
-
'cmd.card.private_partial': '🔒 私密卡片已发送 {sent}/{total},部分接收人发送失败。',
|
|
135
92
|
'cmd.restart.in_progress': '🔄 正在重启 {cliName}...',
|
|
136
93
|
'cmd.restart.terminated': '{cliName} 进程已终止,下次发消息时将自动恢复。',
|
|
137
94
|
'cmd.cd.usage': '用法:/cd <path>\n例如:/cd ~/projects/my-app',
|
|
@@ -141,7 +98,6 @@ export const messages = {
|
|
|
141
98
|
'cmd.cd.not_a_directory': '路径不是目录:{path}',
|
|
142
99
|
'cmd.repo.no_prior_scan': '请先执行 /repo 查看项目列表。',
|
|
143
100
|
'cmd.repo.index_out_of_range': '序号超出范围,有效范围:1-{max}',
|
|
144
|
-
'cmd.repo.path_not_found': '❌ 找不到目录或项目:`{arg}`\n请传入绝对路径、相对路径,或 workingDir 下的一级项目名。',
|
|
145
101
|
'cmd.repo.selected_in_pending': '✅ 已选择 {name}',
|
|
146
102
|
'cmd.repo.switched_to': '🔄 已切换到 {name}',
|
|
147
103
|
'cmd.repo.warning_running': '⚠️ 当前会话已在运行中,切换仓库将关闭当前会话并创建新会话。\n如需切换,请在下方卡片中选择新仓库。',
|
|
@@ -149,6 +105,7 @@ export const messages = {
|
|
|
149
105
|
'cmd.repo.working_dir_not_exist': '❌ 配置的工作目录不存在或不是目录:{dirs}\n请检查 ~/.botmux/bots.json 中的 workingDir / workingDirs,或重新运行 `botmux setup` 修改为已存在的目录。',
|
|
150
106
|
'cmd.repo.no_git_repos': '在 {dirs} 下未找到 git 仓库。',
|
|
151
107
|
'cmd.skip.opened': '▶️ 已直接开启会话(工作目录:{cwd})',
|
|
108
|
+
'cmd.skip.no_pending': '当前没有待选择的仓库。',
|
|
152
109
|
'cmd.status.running': '运行中',
|
|
153
110
|
'cmd.status.waiting': '等待中',
|
|
154
111
|
'cmd.status.fallback_no_session': '当前话题没有活跃的会话。\nDaemon active sessions: {count}\n{cliName}: v{version}',
|
|
@@ -186,36 +143,7 @@ export const messages = {
|
|
|
186
143
|
'cmd.group.warn_transfer_failed': '⚠️ 转让群主失败({reason}),当前机器人仍是群主。可在新群里手动转让。',
|
|
187
144
|
'cmd.group.bots_invited': '🤖 群内机器人:{bots}',
|
|
188
145
|
'cmd.group.warn_bots_rejected': '⚠️ 部分机器人未能加入({bots}),可能不在当前机器人的 app scope 下。请到群里手动添加。',
|
|
189
|
-
'cmd.group.warn_share_link_failed': '⚠️ 群分享链接获取失败,上面的链接仅群内成员可点开,非成员请群主手动邀请。',
|
|
190
146
|
'cmd.group.resolve_failed': '⚠️ 无法解析被 @ 的机器人(可能群成员信息暂时拿不到),未建群。请稍后重试。',
|
|
191
|
-
// ─── /relay --create ────────────────────────────────────────────────────
|
|
192
|
-
'cmd.relay.empty_group_name': '会话接力 {ts}',
|
|
193
|
-
'cmd.relay.no_session': '⚠️ /relay 必须在已有会话的话题里发起。',
|
|
194
|
-
'cmd.relay.target_has_session': '⚠️ 本群里这个机器人已经有一个活跃会话「{title}」。请先用 /close 关掉那个会话,再 /relay 接力新的过来。',
|
|
195
|
-
'cmd.relay.no_sender': '⚠️ 无法获取发起人 open_id,/relay 取消。',
|
|
196
|
-
'cmd.relay.no_mentions': '⚠️ /relay --create 必须 @ 至少一个机器人作为新群的协作伙伴。',
|
|
197
|
-
'cmd.relay.not_owner': '⚠️ 只有会话发起人能用 /relay --create 把会话搬到新群。',
|
|
198
|
-
'cmd.relay.adopt_not_relayable': '⚠️ 该会话是 /adopt 接入的外部 tmux 进程,CLI 在你电脑里跑,botmux 控不了 tmux 生命周期,无法接力。',
|
|
199
|
-
'cmd.relay.not_started_yet': '⚠️ 会话还没选仓库、CLI 没起来,无法接力。请先在本会话里选仓库把 CLI 起起来。',
|
|
200
|
-
'cmd.relay.worker_busy': '⚠️ 会话正在处理中(mid-turn),无法接力。请等当前回合结束(idle)后再发 /relay。',
|
|
201
|
-
'cmd.relay.picker_p2p_unsupported': '⚠️ 单聊不支持接力会话。请在普通群里使用 /relay。',
|
|
202
|
-
'cmd.relay.picker_topic_unsupported': '⚠️ 话题群不支持接力会话(话题群按话题路由,搬过来的会话没有 thread 锚点)。请在普通群里使用 /relay。',
|
|
203
|
-
'cmd.relay.resolve_failed': '⚠️ 无法解析被 @ 的机器人,/relay 取消。请稍后重试。',
|
|
204
|
-
'cmd.relay.m1_announce': '📋 已从「{sourceChat}」接力会话过来。\n⚠️ 飞书消息历史留在源群,AI 记忆已接续。\n@ 对应机器人继续对话即可。',
|
|
205
|
-
'cmd.relay.m1_final_all_ok': '🚀 会话已接力到本群\n📋 来源:{sourceChat}\n✅ 已就绪:{successBots}\n⚠️ 飞书消息历史留在源群,AI 记忆已接续。@ 对应机器人继续对话。',
|
|
206
|
-
'cmd.relay.m1_final_partial': '🚀 会话已接力到本群\n📋 来源:{sourceChat}\n✅ 已就绪:{successBots}\n⚠️ 未能迁移:{failedBots}\n→ 请在本群发 /relay,从菜单里把上述 bot 在源群的会话拉过来\n⚠️ 飞书消息历史留在源群,AI 记忆已接续。',
|
|
207
|
-
'cmd.relay.m1_final_all_fresh': '🚀 新群已建好,机器人都已邀请。\n📋 来源:{sourceChat}\n本次没有可迁移的源会话——@ 任意机器人开始新对话即可。',
|
|
208
|
-
'cmd.relay.created': '✅ 已创建群「{name}」并接力会话\n👉 {link}\n\n{report}',
|
|
209
|
-
'cmd.relay.report_leader_ok': '• {bot}(当前会话)已接力',
|
|
210
|
-
'cmd.relay.report_leader_no_session': '• {bot}(当前会话)— 跳过(无活跃会话)',
|
|
211
|
-
'cmd.relay.report_leader_failed': '• {bot}(当前会话)— 接力失败:{error}',
|
|
212
|
-
'cmd.relay.report_peer_ok': '• {bot} 已接力',
|
|
213
|
-
'cmd.relay.report_peer_no_session': '• {bot} — 跳过(在源话题无会话)',
|
|
214
|
-
'cmd.relay.report_peer_not_owner': '• {bot} — 跳过(会话不属于你)',
|
|
215
|
-
'cmd.relay.report_peer_offline': '• {bot} — 跳过(守护进程离线)',
|
|
216
|
-
'cmd.relay.report_peer_busy': '• {bot} — 跳过(会话繁忙,超时)',
|
|
217
|
-
'cmd.relay.report_peer_failed': '• {bot} — 接力失败:{error}',
|
|
218
|
-
'cmd.relay.failed': '⚠️ /relay --create 失败:{error}',
|
|
219
147
|
// ─── /schedule ───────────────────────────────────────────────────────────
|
|
220
148
|
'schedule.empty_with_examples': '暂无定时任务。\n\n用法示例:\n/schedule 每日17:50 帮我看看今天AI圈有什么新闻\n/schedule 工作日每天9:00 检查服务状态\n/schedule 每周一10:00 生成周报',
|
|
221
149
|
'schedule.list_header': '定时任务列表 ({count}):',
|
|
@@ -233,11 +161,9 @@ export const messages = {
|
|
|
233
161
|
'help.close': '/close - 关闭当前会话,终止 {cliName} 进程',
|
|
234
162
|
'help.restart': '/restart - 重启 {cliName} 进程(保留 session)',
|
|
235
163
|
'help.cd': '/cd <path> - 切换工作目录并重启 {cliName} 进程',
|
|
236
|
-
'help.repo_list': '/repo -
|
|
164
|
+
'help.repo_list': '/repo - 查看项目列表(交互式下拉 + 文本列表)',
|
|
237
165
|
'help.repo_n': '/repo <N> - 切换到第 N 个项目',
|
|
238
|
-
'help.repo_path': '/repo <路径|项目名> - 直接指定路径或 workingDir 下的项目名,跳过选择卡片',
|
|
239
166
|
'help.status': '/status - 查看当前会话状态(含终端链接)',
|
|
240
|
-
'help.card': '/card - 手动弹出当前会话的流式卡片(关流式时也能临时召唤,并恢复实时刷新;开了私密卡片则改发仅授权人可见的静态快照)',
|
|
241
167
|
'help.heading_passthrough': '🔀 透传给 {cliName}(字面送达,供其内置 slash 命令处理):',
|
|
242
168
|
'help.heading_schedule': '⏰ 定时任务:',
|
|
243
169
|
'help.schedule_create': '/schedule 每日17:50 帮我看AI新闻 - 创建定时任务(自然语言)',
|
|
@@ -283,8 +209,7 @@ export const messages = {
|
|
|
283
209
|
'ai.identity.mention_intro': '**和别的机器人协作的硬性物理事实**:飞书话题群里其他 bot **默认收不到** 你 `botmux send` 出去的消息——',
|
|
284
210
|
'ai.identity.mention_must': '要让某个 bot 接力干活,**必须** 显式 `--mention <对方 bot 的 open_id>`,不 --mention 对方 bot 完全不会被触发。',
|
|
285
211
|
'ai.identity.mention_partners': '- 协作伙伴的 open_id 会列在每条用户消息附带的 `<available_bots>` 块里,也可以 `botmux bots list` 查',
|
|
286
|
-
'ai.identity.mention_usage': '- 用法:`botmux send --mention ou_xxx "消息内容"`(多个 bot 重复 `--mention
|
|
287
|
-
'ai.identity.mention_gate': '- **@ 硬门**:每条 `botmux send` 必须显式三选一否则报错不发——`--mention`(点名)/ `--mention-back`(@回触发者)/ `--no-mention`(不@)。按内容价值选:有实质结论、要对方继续看/确认/决策 → --mention-back(或 --mention 点名);纯记录/低优先级进度/简短确认 → --no-mention;没信息量的"收到"不如不发。别把 --no-mention 当默认,也别无意义 @ 打扰',
|
|
212
|
+
'ai.identity.mention_usage': '- 用法:`botmux send --mention ou_xxx "消息内容"`(多个 bot 重复 `--mention`);正文里写 `@对方名字` 时 botmux 也会自动补上 --mention,但显式传更稳',
|
|
288
213
|
'ai.identity.mention_when_to': '- 该 --mention 的场景:用户明确要求让对方接力、把任务的某段交给对方、需要对方给最终结论或做独立操作',
|
|
289
214
|
'ai.identity.mention_when_not': '- 不必 --mention 的场景:纯状态更新/确认/感谢——尽量合并到下一次有内容的消息里再带上,避免互相 ping 触发空转',
|
|
290
215
|
// ─── AI hints (non-Claude CLIs: BOTMUX_SHELL_HINTS) ──────────────────────
|
|
@@ -295,7 +220,6 @@ export const messages = {
|
|
|
295
220
|
'ai.shell.heredoc_example': "正确多行示例:\n```bash\nbotmux send <<'EOF'\n第一行\n第二行\nEOF\n```",
|
|
296
221
|
'ai.shell.helpers': '辅助命令:`botmux history`(读此会话历史,话题群拉话题内、普通群拉整群)、`botmux quoted <message_id>`(按需读取被引用的消息,仅在 prompt 头部出现 `[用户引用了消息 ...]` 提示时使用)、`botmux bots list`(查群内其他机器人)。',
|
|
297
222
|
'ai.shell.when_to_send': '发送时机:关键结论、方案(等用户确认再动手)、最终结果、进度更新。只 print/echo 不算回复。',
|
|
298
|
-
'ai.shell.mention_gate': '@ 决策(硬性):每条 `botmux send` 必须显式三选一否则报错——`--mention <open_id:名字>`(点名某人/bot,让别的 bot 接力必须用它)/ `--mention-back`(@回触发你的那条消息的发送者)/ `--no-mention`(不@)。按内容价值选:有实质结论要对方看/确认/决策→--mention-back;纯记录/低优先级/简短确认→--no-mention;没信息量的"收到"不如不发。别把 --no-mention 当默认,也别无意义 @ 打扰。',
|
|
299
223
|
// ─── AI prompt blocks (session-manager) ──────────────────────────────────
|
|
300
224
|
'ai.attach.hint': '使用 Read 工具查看,序号与正文中的 [图片 N] / [文件 N] 占位符对应',
|
|
301
225
|
'ai.identity.short_routing': '提醒:让别的 bot 接力干活必须 `botmux send --mention <对方 open_id>`,否则对方 bot 不会被触发。',
|
|
@@ -305,32 +229,15 @@ export const messages = {
|
|
|
305
229
|
'ai.bridge.mentions_label': '[@提及]',
|
|
306
230
|
'schedule.title_prefix': '[定时]',
|
|
307
231
|
// ─── Role command ─────────────────────────────────────────────────────────
|
|
308
|
-
'role.current': '📋
|
|
232
|
+
'role.current': '📋 当前群的 Role 配置:',
|
|
309
233
|
'role.byte_count': '{bytes} / {max} 字节',
|
|
310
|
-
'role.empty': '
|
|
311
|
-
'role.saved_via_cmd': '✅
|
|
312
|
-
'role.deleted_via_cmd': '✅
|
|
234
|
+
'role.empty': '当前群尚未配置 Role。\n\n用法:\n/role set <Markdown 内容> — 设置角色\n/role — 查看当前角色\n/role delete — 删除角色',
|
|
235
|
+
'role.saved_via_cmd': '✅ Role 已更新({bytes} / {max} 字节)。下次消息生效。',
|
|
236
|
+
'role.deleted_via_cmd': '✅ Role 已删除。',
|
|
313
237
|
'role.nothing_to_delete': '当前群没有 Role 配置,无需删除。',
|
|
314
238
|
'role.set_empty': 'Role 内容不能为空。用法:/role set <Markdown 内容>',
|
|
315
239
|
'role.no_chat': '无法获取群信息,请稍后重试。',
|
|
316
|
-
'role.
|
|
317
|
-
'role.src_team': '(来源:团队级默认)',
|
|
318
|
-
'role.team_current': '📋 团队级 Role(本机器人,跨群默认):',
|
|
319
|
-
'role.team_empty': '尚未设置团队级 Role。\n用法:/role team set <Markdown> — 设置;/role team delete — 删除',
|
|
320
|
-
'role.team_saved': '✅ 团队级 Role 已更新({bytes} / {max} 字节)。未单独覆盖的群在新会话生效。',
|
|
321
|
-
'role.team_deleted': '✅ 团队级 Role 已删除。',
|
|
322
|
-
'role.team_nothing': '没有团队级 Role,无需删除。',
|
|
323
|
-
'role.cap_current': '🏷️ 当前能力标签:{cap}',
|
|
324
|
-
'role.cap_empty': '尚未设置能力标签。\n用法:/role cap set <一句话能力描述>',
|
|
325
|
-
'role.cap_saved': '✅ 能力标签已更新:{cap}',
|
|
326
|
-
'role.cap_cleared': '✅ 能力标签已清除。',
|
|
327
|
-
'role.cap_set_empty': '能力标签不能为空。用法:/role cap set <描述>',
|
|
328
|
-
'role.help': '/role 用法:\n• /role — 查看当前生效 Role\n• /role set <Markdown> — 设置本群 Role(覆盖团队级)\n• /role delete — 删除本群 Role\n• /role team [set <Markdown>|delete] — 团队级 Role(跨群默认)\n• /role cap [set <一句话>|clear] — 能力标签(花名册展示)',
|
|
329
|
-
'pair.usage': '用法:/pair <配对码>(在团队平台网页点"登录"会显示配对码)。',
|
|
330
|
-
'pair.ok': '✅ 登录配对成功,请回到网页继续。',
|
|
331
|
-
'pair.expired': '配对码已过期,请在网页重新发起登录。',
|
|
332
|
-
'pair.already': '该配对码已被使用,请在网页重新发起登录。',
|
|
333
|
-
'pair.not_found': '配对码无效,请检查后重试(区分有效期,过期需重新发起)。',
|
|
240
|
+
'role.help': '/role 用法:\n• /role — 查看当前角色\n• /role set <Markdown 内容> — 设置角色\n• /role delete — 删除角色',
|
|
334
241
|
// ─── Card handler responses ──────────────────────────────────────────────
|
|
335
242
|
'card.action.adopt_no_restart': '⚠️ adopt 模式不支持重启(不会触动你自己的 tmux pane / CLI 进程)',
|
|
336
243
|
'card.action.restarted': '🔄 已重启 {cliName}',
|
|
@@ -365,7 +272,7 @@ export const messages = {
|
|
|
365
272
|
'setup.lark_perm_chat': ' - im:chat (群信息)',
|
|
366
273
|
'setup.lark_perm_user_base': ' - contact:user.base:readonly (用户信息)',
|
|
367
274
|
'setup.lark_enable_events': '启用事件订阅 (WebSocket 模式):',
|
|
368
|
-
'setup.supported_clis': '支持的 CLI: 1) claude-code 2) aiden 3) coco 4) codex 5)
|
|
275
|
+
'setup.supported_clis': '支持的 CLI: 1) claude-code 2) aiden 3) coco 4) codex 5) gemini 6) opencode',
|
|
369
276
|
'setup.prompt_cli_choice': 'CLI 适配器 [1]: ',
|
|
370
277
|
'setup.prompt_working_dir': '默认工作目录 [~]: ',
|
|
371
278
|
'setup.prompt_allowed_users': '允许的用户 (邮箱或 open_id,逗号分隔,留空=不限制): ',
|
package/dist/i18n/zh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C,4EAA4E;IAC5E,wBAAwB,EAAE,UAAU;IACpC,iCAAiC,EAAE,aAAa;IAChD,yBAAyB,EAAE,WAAW;IACtC,
|
|
1
|
+
{"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"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"}
|