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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot-owner-store.js","sourceRoot":"","sources":["../../src/services/bot-owner-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface BotProfile {
|
|
2
|
-
capability?: string;
|
|
3
|
-
updatedAt: number;
|
|
4
|
-
updatedBy?: string;
|
|
5
|
-
}
|
|
6
|
-
/** Full profile for a bot, or null if none recorded. */
|
|
7
|
-
export declare function getBotProfile(dataDir: string, larkAppId: string): BotProfile | null;
|
|
8
|
-
/** Just the capability label for a bot, or null. */
|
|
9
|
-
export declare function getBotCapability(dataDir: string, larkAppId: string): string | null;
|
|
10
|
-
/** Set (or overwrite) a bot's capability label. Trimmed and length-capped. */
|
|
11
|
-
export declare function setBotCapability(dataDir: string, larkAppId: string, capability: string, updatedBy?: string, now?: number): void;
|
|
12
|
-
/** Remove a bot's capability label (deletes its profile file). Returns true if one existed. */
|
|
13
|
-
export declare function clearBotCapability(dataDir: string, larkAppId: string): boolean;
|
|
14
|
-
/** All recorded profiles, keyed by larkAppId. */
|
|
15
|
-
export declare function listBotProfiles(dataDir: string): Record<string, BotProfile>;
|
|
16
|
-
//# sourceMappingURL=bot-profile-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot-profile-store.d.ts","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGnF;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElF;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAI3I;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY3E"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Team-level bot profile store: a short, human-facing **capability label** per
|
|
3
|
-
* bot (keyed by larkAppId), separate from the full team role markdown.
|
|
4
|
-
*
|
|
5
|
-
* Why separate from the team role (see role-resolver.ts):
|
|
6
|
-
* - The capability label is a one-liner used in the collaboration roster
|
|
7
|
-
* (`botmux bots list`) for discovery/selection — "后端 bot,擅长服务端排查".
|
|
8
|
-
* - The full team role is the persona injected into the CLI `<role>` block.
|
|
9
|
-
* Keeping them apart lets the roster stay scannable while the role stays rich.
|
|
10
|
-
*
|
|
11
|
-
* Storage: **one file per bot** at `{dataDir}/bot-profiles/{larkAppId}.json`.
|
|
12
|
-
* Per-bot files (not one shared map) matter because production is one daemon
|
|
13
|
-
* per bot: a shared read-modify-write map would lose updates when two daemons
|
|
14
|
-
* write different bots' capabilities concurrently. Each daemon owns its bot's
|
|
15
|
-
* file, so there is no cross-bot lost-update window. Same rationale as the
|
|
16
|
-
* per-bot team-role files in role-resolver.ts.
|
|
17
|
-
*/
|
|
18
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync, readdirSync } from 'node:fs';
|
|
19
|
-
import { join } from 'node:path';
|
|
20
|
-
import { randomUUID } from 'node:crypto';
|
|
21
|
-
/** A capability label longer than this is almost certainly a full role, not a tag. */
|
|
22
|
-
const MAX_CAPABILITY_CHARS = 120;
|
|
23
|
-
function profilesDir(dataDir) {
|
|
24
|
-
return join(dataDir, 'bot-profiles');
|
|
25
|
-
}
|
|
26
|
-
function profilePath(dataDir, larkAppId) {
|
|
27
|
-
return join(profilesDir(dataDir), `${larkAppId}.json`);
|
|
28
|
-
}
|
|
29
|
-
function readProfile(dataDir, larkAppId) {
|
|
30
|
-
const fp = profilePath(dataDir, larkAppId);
|
|
31
|
-
if (!existsSync(fp))
|
|
32
|
-
return null;
|
|
33
|
-
try {
|
|
34
|
-
const parsed = JSON.parse(readFileSync(fp, 'utf-8'));
|
|
35
|
-
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
|
|
36
|
-
return parsed;
|
|
37
|
-
}
|
|
38
|
-
catch { /* corrupt — treat as absent */ }
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
function writeProfileAtomic(dataDir, larkAppId, profile) {
|
|
42
|
-
const dir = profilesDir(dataDir);
|
|
43
|
-
if (!existsSync(dir))
|
|
44
|
-
mkdirSync(dir, { recursive: true });
|
|
45
|
-
const fp = profilePath(dataDir, larkAppId);
|
|
46
|
-
const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
|
|
47
|
-
writeFileSync(tmp, JSON.stringify(profile, null, 2) + '\n', 'utf-8');
|
|
48
|
-
renameSync(tmp, fp);
|
|
49
|
-
}
|
|
50
|
-
/** Full profile for a bot, or null if none recorded. */
|
|
51
|
-
export function getBotProfile(dataDir, larkAppId) {
|
|
52
|
-
if (!larkAppId)
|
|
53
|
-
return null;
|
|
54
|
-
return readProfile(dataDir, larkAppId);
|
|
55
|
-
}
|
|
56
|
-
/** Just the capability label for a bot, or null. */
|
|
57
|
-
export function getBotCapability(dataDir, larkAppId) {
|
|
58
|
-
return getBotProfile(dataDir, larkAppId)?.capability ?? null;
|
|
59
|
-
}
|
|
60
|
-
/** Set (or overwrite) a bot's capability label. Trimmed and length-capped. */
|
|
61
|
-
export function setBotCapability(dataDir, larkAppId, capability, updatedBy, now = Date.now()) {
|
|
62
|
-
if (!larkAppId)
|
|
63
|
-
return;
|
|
64
|
-
const label = capability.trim().slice(0, MAX_CAPABILITY_CHARS);
|
|
65
|
-
writeProfileAtomic(dataDir, larkAppId, { capability: label, updatedAt: now, ...(updatedBy ? { updatedBy } : {}) });
|
|
66
|
-
}
|
|
67
|
-
/** Remove a bot's capability label (deletes its profile file). Returns true if one existed. */
|
|
68
|
-
export function clearBotCapability(dataDir, larkAppId) {
|
|
69
|
-
const fp = profilePath(dataDir, larkAppId);
|
|
70
|
-
const had = readProfile(dataDir, larkAppId)?.capability !== undefined;
|
|
71
|
-
try {
|
|
72
|
-
unlinkSync(fp);
|
|
73
|
-
}
|
|
74
|
-
catch { /* already gone */ }
|
|
75
|
-
return had;
|
|
76
|
-
}
|
|
77
|
-
/** All recorded profiles, keyed by larkAppId. */
|
|
78
|
-
export function listBotProfiles(dataDir) {
|
|
79
|
-
const dir = profilesDir(dataDir);
|
|
80
|
-
const out = {};
|
|
81
|
-
let files;
|
|
82
|
-
try {
|
|
83
|
-
files = readdirSync(dir);
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
return out;
|
|
87
|
-
}
|
|
88
|
-
for (const f of files) {
|
|
89
|
-
if (!f.endsWith('.json'))
|
|
90
|
-
continue;
|
|
91
|
-
const larkAppId = f.slice(0, -'.json'.length);
|
|
92
|
-
const p = readProfile(dataDir, larkAppId);
|
|
93
|
-
if (p)
|
|
94
|
-
out[larkAppId] = p;
|
|
95
|
-
}
|
|
96
|
-
return out;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=bot-profile-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot-profile-store.js","sourceRoot":"","sources":["../../src/services/bot-profile-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/** Current configured brandLabel for a bot (undefined when unset). */
|
|
2
|
-
export declare function getBotBrandLabel(larkAppId: string): string | undefined;
|
|
3
|
-
/**
|
|
4
|
-
* Persist a brandLabel change. `null` removes the key entirely (revert to the
|
|
5
|
-
* default botmux brand); a string is stored verbatim — including `''`, which
|
|
6
|
-
* means "brand off" and is deliberately preserved distinct from unset.
|
|
7
|
-
*/
|
|
8
|
-
export declare function updateBotBrandLabel(larkAppId: string, brandLabel: string | null): Promise<{
|
|
9
|
-
ok: true;
|
|
10
|
-
brandLabel: string | null;
|
|
11
|
-
} | {
|
|
12
|
-
ok: false;
|
|
13
|
-
reason: string;
|
|
14
|
-
}>;
|
|
15
|
-
//# sourceMappingURL=brand-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-store.d.ts","sourceRoot":"","sources":["../../src/services/brand-store.ts"],"names":[],"mappings":"AAWA,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAelF"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-bot brandLabel persistence (the custom card-footer label). Mirrors the
|
|
3
|
-
* oncall-store update pattern: cross-process file lock + atomic write of
|
|
4
|
-
* bots.json, plus an in-memory registry sync so the daemon's own card builders
|
|
5
|
-
* pick up the change without a restart. Pure cosmetic — never touches routing
|
|
6
|
-
* or permissions.
|
|
7
|
-
*/
|
|
8
|
-
import { rmwBotEntry } from './config-store.js';
|
|
9
|
-
import { getBot } from '../bot-registry.js';
|
|
10
|
-
import { logger } from '../utils/logger.js';
|
|
11
|
-
/** Current configured brandLabel for a bot (undefined when unset). */
|
|
12
|
-
export function getBotBrandLabel(larkAppId) {
|
|
13
|
-
try {
|
|
14
|
-
return getBot(larkAppId).config.brandLabel;
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Persist a brandLabel change. `null` removes the key entirely (revert to the
|
|
22
|
-
* default botmux brand); a string is stored verbatim — including `''`, which
|
|
23
|
-
* means "brand off" and is deliberately preserved distinct from unset.
|
|
24
|
-
*/
|
|
25
|
-
export async function updateBotBrandLabel(larkAppId, brandLabel) {
|
|
26
|
-
let bot;
|
|
27
|
-
try {
|
|
28
|
-
bot = getBot(larkAppId);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return { ok: false, reason: 'bot_not_registered' };
|
|
32
|
-
}
|
|
33
|
-
const r = await rmwBotEntry(larkAppId, (entry) => {
|
|
34
|
-
if (brandLabel === null)
|
|
35
|
-
delete entry.brandLabel;
|
|
36
|
-
else
|
|
37
|
-
entry.brandLabel = brandLabel;
|
|
38
|
-
return { write: true, result: brandLabel };
|
|
39
|
-
});
|
|
40
|
-
if (!r.ok)
|
|
41
|
-
return { ok: false, reason: r.reason };
|
|
42
|
-
bot.config.brandLabel = brandLabel === null ? undefined : brandLabel;
|
|
43
|
-
const shown = brandLabel === null ? '∅(default)' : brandLabel === '' ? "''(off)" : JSON.stringify(brandLabel);
|
|
44
|
-
logger.info(`[brand:${larkAppId}] brandLabel → ${shown}`);
|
|
45
|
-
return { ok: true, brandLabel };
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=brand-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-store.js","sourceRoot":"","sources":["../../src/services/brand-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,IAAI,CAAC;QAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,UAAyB;IAEzB,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,CAAC;IAE9F,MAAM,CAAC,GAAG,MAAM,WAAW,CAAgB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9D,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;;YAC5C,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAElD,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface BotCardPrefs {
|
|
2
|
-
disableStreamingCard: boolean;
|
|
3
|
-
writableTerminalLinkInCard: boolean;
|
|
4
|
-
privateCard: boolean;
|
|
5
|
-
}
|
|
6
|
-
/** Current card prefs for a bot (all default false when unset). */
|
|
7
|
-
export declare function getBotCardPrefs(larkAppId: string): BotCardPrefs;
|
|
8
|
-
/**
|
|
9
|
-
* Persist a partial card-prefs change. Only the keys present in `patch` are
|
|
10
|
-
* touched; a `false` value removes the key (keeps bots.json tidy — absent means
|
|
11
|
-
* the default). Returns the full resolved prefs after the write.
|
|
12
|
-
*/
|
|
13
|
-
export declare function updateBotCardPrefs(larkAppId: string, patch: Partial<BotCardPrefs>): Promise<{
|
|
14
|
-
ok: true;
|
|
15
|
-
prefs: BotCardPrefs;
|
|
16
|
-
} | {
|
|
17
|
-
ok: false;
|
|
18
|
-
reason: string;
|
|
19
|
-
}>;
|
|
20
|
-
//# sourceMappingURL=card-prefs-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card-prefs-store.d.ts","sourceRoot":"","sources":["../../src/services/card-prefs-store.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAW/D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC5E"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-bot card-behaviour preferences. Mirrors the brand-store / oncall-store
|
|
3
|
-
* pattern: cross-process file lock + atomic write of bots.json, plus an
|
|
4
|
-
* in-memory registry sync so the daemon's own card builders pick up the change
|
|
5
|
-
* without a restart.
|
|
6
|
-
*
|
|
7
|
-
* Three independent toggles:
|
|
8
|
-
* • disableStreamingCard — suppress the live streaming session card
|
|
9
|
-
* • writableTerminalLinkInCard — embed a directly-usable writable terminal
|
|
10
|
-
* link in the streaming card body
|
|
11
|
-
* • privateCard — `/card` sends a private ephemeral snapshot
|
|
12
|
-
* (visible to the talk-grant audience) instead
|
|
13
|
-
* of the group-visible live card
|
|
14
|
-
*/
|
|
15
|
-
import { rmwBotEntry } from './config-store.js';
|
|
16
|
-
import { getBot } from '../bot-registry.js';
|
|
17
|
-
import { logger } from '../utils/logger.js';
|
|
18
|
-
/** Current card prefs for a bot (all default false when unset). */
|
|
19
|
-
export function getBotCardPrefs(larkAppId) {
|
|
20
|
-
try {
|
|
21
|
-
const c = getBot(larkAppId).config;
|
|
22
|
-
return {
|
|
23
|
-
disableStreamingCard: c.disableStreamingCard === true,
|
|
24
|
-
writableTerminalLinkInCard: c.writableTerminalLinkInCard === true,
|
|
25
|
-
privateCard: c.privateCard === true,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
return { disableStreamingCard: false, writableTerminalLinkInCard: false, privateCard: false };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Persist a partial card-prefs change. Only the keys present in `patch` are
|
|
34
|
-
* touched; a `false` value removes the key (keeps bots.json tidy — absent means
|
|
35
|
-
* the default). Returns the full resolved prefs after the write.
|
|
36
|
-
*/
|
|
37
|
-
export async function updateBotCardPrefs(larkAppId, patch) {
|
|
38
|
-
let bot;
|
|
39
|
-
try {
|
|
40
|
-
bot = getBot(larkAppId);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return { ok: false, reason: 'bot_not_registered' };
|
|
44
|
-
}
|
|
45
|
-
const apply = (entry, key, val) => {
|
|
46
|
-
if (val === undefined)
|
|
47
|
-
return;
|
|
48
|
-
if (val)
|
|
49
|
-
entry[key] = true;
|
|
50
|
-
else
|
|
51
|
-
delete entry[key];
|
|
52
|
-
};
|
|
53
|
-
const r = await rmwBotEntry(larkAppId, (entry) => {
|
|
54
|
-
apply(entry, 'disableStreamingCard', patch.disableStreamingCard);
|
|
55
|
-
apply(entry, 'writableTerminalLinkInCard', patch.writableTerminalLinkInCard);
|
|
56
|
-
apply(entry, 'privateCard', patch.privateCard);
|
|
57
|
-
return {
|
|
58
|
-
write: true,
|
|
59
|
-
result: {
|
|
60
|
-
disableStreamingCard: entry.disableStreamingCard === true,
|
|
61
|
-
writableTerminalLinkInCard: entry.writableTerminalLinkInCard === true,
|
|
62
|
-
privateCard: entry.privateCard === true,
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
});
|
|
66
|
-
if (!r.ok)
|
|
67
|
-
return { ok: false, reason: r.reason };
|
|
68
|
-
// Sync in-memory config so live card builders react without a restart.
|
|
69
|
-
if (patch.disableStreamingCard !== undefined) {
|
|
70
|
-
bot.config.disableStreamingCard = patch.disableStreamingCard || undefined;
|
|
71
|
-
}
|
|
72
|
-
if (patch.writableTerminalLinkInCard !== undefined) {
|
|
73
|
-
bot.config.writableTerminalLinkInCard = patch.writableTerminalLinkInCard || undefined;
|
|
74
|
-
}
|
|
75
|
-
if (patch.privateCard !== undefined) {
|
|
76
|
-
bot.config.privateCard = patch.privateCard || undefined;
|
|
77
|
-
}
|
|
78
|
-
logger.info(`[card-prefs:${larkAppId}] disableStreamingCard=${r.result.disableStreamingCard} ` +
|
|
79
|
-
`writableTerminalLinkInCard=${r.result.writableTerminalLinkInCard} privateCard=${r.result.privateCard}`);
|
|
80
|
-
return { ok: true, prefs: r.result };
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=card-prefs-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card-prefs-store.js","sourceRoot":"","sources":["../../src/services/card-prefs-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
export type ConnectorVerifyType = 'hmac-sha256';
|
|
2
|
-
export type ConnectorTargetMode = 'dynamic' | 'fixed' | 'new-group';
|
|
3
|
-
export type ConnectorTargetKind = 'turn' | 'workflow';
|
|
4
|
-
export interface ConnectorDefinition {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
enabled: boolean;
|
|
8
|
-
verify: {
|
|
9
|
-
type: ConnectorVerifyType;
|
|
10
|
-
secretRef: string;
|
|
11
|
-
signatureHeader: string;
|
|
12
|
-
timestampHeader: string;
|
|
13
|
-
nonceHeader: string;
|
|
14
|
-
toleranceSeconds: number;
|
|
15
|
-
};
|
|
16
|
-
target: {
|
|
17
|
-
mode: ConnectorTargetMode;
|
|
18
|
-
kind: ConnectorTargetKind;
|
|
19
|
-
botId: string;
|
|
20
|
-
botIds?: string[];
|
|
21
|
-
chatId?: string;
|
|
22
|
-
allowChats?: string[];
|
|
23
|
-
workflowId?: string;
|
|
24
|
-
};
|
|
25
|
-
promptEnvelope: {
|
|
26
|
-
sourceName: string;
|
|
27
|
-
headerAllowlist: string[];
|
|
28
|
-
includeRawText: boolean;
|
|
29
|
-
maxBodyBytes: number;
|
|
30
|
-
};
|
|
31
|
-
loggingPolicy: {
|
|
32
|
-
storePayload: boolean;
|
|
33
|
-
storeHeaders: boolean;
|
|
34
|
-
retentionDays: number;
|
|
35
|
-
};
|
|
36
|
-
lifecycleExtractors: null | {
|
|
37
|
-
dedupKey: string;
|
|
38
|
-
status: string;
|
|
39
|
-
statusMap?: Record<string, string>;
|
|
40
|
-
};
|
|
41
|
-
rateLimit?: {
|
|
42
|
-
windowSeconds: number;
|
|
43
|
-
maxRequests: number;
|
|
44
|
-
};
|
|
45
|
-
createdAt: string;
|
|
46
|
-
updatedAt: string;
|
|
47
|
-
}
|
|
48
|
-
export interface ConnectorStoreFile {
|
|
49
|
-
version: 1;
|
|
50
|
-
connectors: ConnectorDefinition[];
|
|
51
|
-
}
|
|
52
|
-
export declare function readConnectorStore(dataDir?: string): ConnectorStoreFile;
|
|
53
|
-
export declare function listConnectors(dataDir?: string): ConnectorDefinition[];
|
|
54
|
-
export declare function getConnector(id: string, dataDir?: string): ConnectorDefinition | null;
|
|
55
|
-
export declare function upsertConnector(connector: ConnectorDefinition, dataDir?: string): ConnectorDefinition;
|
|
56
|
-
export declare function deleteConnector(id: string, dataDir?: string): boolean;
|
|
57
|
-
export declare function newConnectorId(): string;
|
|
58
|
-
//# sourceMappingURL=connector-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector-store.d.ts","sourceRoot":"","sources":["../../src/services/connector-store.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC;QAC1B,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,cAAc,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,EAAE;QACb,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,mBAAmB,EAAE,IAAI,GAAG;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAqBD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,MAA+B,GAAG,kBAAkB,CAQ/F;AAUD,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAA+B,GAAG,mBAAmB,EAAE,CAE9F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAA+B,GAAG,mBAAmB,GAAG,IAAI,CAG7G;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,OAAO,GAAE,MAA+B,GACvC,mBAAmB,CAerB;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAA+B,GAAG,OAAO,CAO7F;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { dirname, join } from 'node:path';
|
|
3
|
-
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { config } from '../config.js';
|
|
5
|
-
function storePath(dataDir = config.session.dataDir) {
|
|
6
|
-
return join(dataDir, 'connectors.json');
|
|
7
|
-
}
|
|
8
|
-
function emptyStore() {
|
|
9
|
-
return { version: 1, connectors: [] };
|
|
10
|
-
}
|
|
11
|
-
function normalizeStore(raw) {
|
|
12
|
-
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
13
|
-
return emptyStore();
|
|
14
|
-
const r = raw;
|
|
15
|
-
return {
|
|
16
|
-
version: 1,
|
|
17
|
-
connectors: Array.isArray(r.connectors)
|
|
18
|
-
? r.connectors.filter((c) => !!c && typeof c === 'object' && typeof c.id === 'string')
|
|
19
|
-
: [],
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export function readConnectorStore(dataDir = config.session.dataDir) {
|
|
23
|
-
const fp = storePath(dataDir);
|
|
24
|
-
if (!existsSync(fp))
|
|
25
|
-
return emptyStore();
|
|
26
|
-
try {
|
|
27
|
-
return normalizeStore(JSON.parse(readFileSync(fp, 'utf-8')));
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
return emptyStore();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function writeConnectorStore(dataDir, store) {
|
|
34
|
-
const fp = storePath(dataDir);
|
|
35
|
-
mkdirSync(dirname(fp), { recursive: true });
|
|
36
|
-
const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
|
|
37
|
-
writeFileSync(tmp, JSON.stringify(normalizeStore(store), null, 2) + '\n', { encoding: 'utf-8', mode: 0o600 });
|
|
38
|
-
renameSync(tmp, fp);
|
|
39
|
-
}
|
|
40
|
-
export function listConnectors(dataDir = config.session.dataDir) {
|
|
41
|
-
return readConnectorStore(dataDir).connectors;
|
|
42
|
-
}
|
|
43
|
-
export function getConnector(id, dataDir = config.session.dataDir) {
|
|
44
|
-
if (!id)
|
|
45
|
-
return null;
|
|
46
|
-
return listConnectors(dataDir).find(c => c.id === id) ?? null;
|
|
47
|
-
}
|
|
48
|
-
export function upsertConnector(connector, dataDir = config.session.dataDir) {
|
|
49
|
-
if (!connector.id)
|
|
50
|
-
throw new Error('connector id is required');
|
|
51
|
-
const now = new Date().toISOString();
|
|
52
|
-
const store = readConnectorStore(dataDir);
|
|
53
|
-
const idx = store.connectors.findIndex(c => c.id === connector.id);
|
|
54
|
-
const prior = idx >= 0 ? store.connectors[idx] : undefined;
|
|
55
|
-
const next = {
|
|
56
|
-
...connector,
|
|
57
|
-
createdAt: connector.createdAt || prior?.createdAt || now,
|
|
58
|
-
updatedAt: now,
|
|
59
|
-
};
|
|
60
|
-
if (idx >= 0)
|
|
61
|
-
store.connectors[idx] = next;
|
|
62
|
-
else
|
|
63
|
-
store.connectors.push(next);
|
|
64
|
-
writeConnectorStore(dataDir, store);
|
|
65
|
-
return next;
|
|
66
|
-
}
|
|
67
|
-
export function deleteConnector(id, dataDir = config.session.dataDir) {
|
|
68
|
-
const store = readConnectorStore(dataDir);
|
|
69
|
-
const before = store.connectors.length;
|
|
70
|
-
store.connectors = store.connectors.filter(c => c.id !== id);
|
|
71
|
-
if (store.connectors.length === before)
|
|
72
|
-
return false;
|
|
73
|
-
writeConnectorStore(dataDir, store);
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
export function newConnectorId() {
|
|
77
|
-
return `conn_${randomUUID()}`;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=connector-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector-store.js","sourceRoot":"","sources":["../../src/services/connector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface DeploymentIdentity {
|
|
2
|
-
deploymentId: string;
|
|
3
|
-
name: string;
|
|
4
|
-
/** The owner's tenant-stable Feishu identity, bound once via /pair. Used as
|
|
5
|
-
* the "operator" when this deployment initiates 拉群 (so the operator is
|
|
6
|
-
* pulled into the group). Absent until bound. */
|
|
7
|
-
ownerUnionId?: string;
|
|
8
|
-
ownerName?: string;
|
|
9
|
-
}
|
|
10
|
-
/** Load (creating + persisting on first call) this deployment's identity. */
|
|
11
|
-
export declare function getDeploymentIdentity(dataDir: string): DeploymentIdentity;
|
|
12
|
-
/** Rename this deployment (owner-facing label). Returns the updated identity. */
|
|
13
|
-
export declare function setDeploymentName(dataDir: string, name: string): DeploymentIdentity;
|
|
14
|
-
/** Bind the owner's Feishu identity (via /pair or auto-bind). Also adopts the
|
|
15
|
-
* owner's Feishu name as the DEPLOYMENT name — the deployment is shown to the
|
|
16
|
-
* team by its owner's real name (no custom labels), so the roster reads
|
|
17
|
-
* naturally ("申晗 的部署" instead of a hostname). Returns the updated identity. */
|
|
18
|
-
export declare function setDeploymentOwner(dataDir: string, owner: {
|
|
19
|
-
unionId?: string;
|
|
20
|
-
name?: string;
|
|
21
|
-
}): DeploymentIdentity;
|
|
22
|
-
//# sourceMappingURL=deployment-identity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-identity.d.ts","sourceRoot":"","sources":["../../src/services/deployment-identity.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb;;sDAEkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAkBzE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAKnF;AAED;;;gFAGgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CAUlH"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deployment identity: a stable id + human-readable name for THIS botmux
|
|
3
|
-
* deployment (one install = one owner). Used by federation so a hub can tell
|
|
4
|
-
* member deployments apart and group their bots in the shared roster.
|
|
5
|
-
*
|
|
6
|
-
* Generated once and persisted to `{dataDir}/deployment-identity.json`; the name
|
|
7
|
-
* defaults to the machine hostname and can be renamed by the owner.
|
|
8
|
-
*/
|
|
9
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync } from 'node:fs';
|
|
10
|
-
import { join } from 'node:path';
|
|
11
|
-
import { randomUUID } from 'node:crypto';
|
|
12
|
-
import { hostname } from 'node:os';
|
|
13
|
-
function filePath(dataDir) {
|
|
14
|
-
return join(dataDir, 'deployment-identity.json');
|
|
15
|
-
}
|
|
16
|
-
function write(dataDir, id) {
|
|
17
|
-
if (!existsSync(dataDir))
|
|
18
|
-
mkdirSync(dataDir, { recursive: true });
|
|
19
|
-
const fp = filePath(dataDir);
|
|
20
|
-
const tmp = `${fp}.${process.pid}.${randomUUID()}.tmp`;
|
|
21
|
-
writeFileSync(tmp, JSON.stringify(id, null, 2) + '\n', 'utf-8');
|
|
22
|
-
renameSync(tmp, fp);
|
|
23
|
-
}
|
|
24
|
-
/** Load (creating + persisting on first call) this deployment's identity. */
|
|
25
|
-
export function getDeploymentIdentity(dataDir) {
|
|
26
|
-
const fp = filePath(dataDir);
|
|
27
|
-
if (existsSync(fp)) {
|
|
28
|
-
try {
|
|
29
|
-
const p = JSON.parse(readFileSync(fp, 'utf-8'));
|
|
30
|
-
if (p && typeof p.deploymentId === 'string' && p.deploymentId) {
|
|
31
|
-
return {
|
|
32
|
-
deploymentId: p.deploymentId,
|
|
33
|
-
name: typeof p.name === 'string' && p.name ? p.name : 'botmux',
|
|
34
|
-
ownerUnionId: typeof p.ownerUnionId === 'string' ? p.ownerUnionId : undefined,
|
|
35
|
-
ownerName: typeof p.ownerName === 'string' ? p.ownerName : undefined,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch { /* corrupt — regenerate */ }
|
|
40
|
-
}
|
|
41
|
-
const id = { deploymentId: `dep_${randomUUID().slice(0, 12)}`, name: hostname() || 'botmux' };
|
|
42
|
-
write(dataDir, id);
|
|
43
|
-
return id;
|
|
44
|
-
}
|
|
45
|
-
/** Rename this deployment (owner-facing label). Returns the updated identity. */
|
|
46
|
-
export function setDeploymentName(dataDir, name) {
|
|
47
|
-
const cur = getDeploymentIdentity(dataDir);
|
|
48
|
-
const next = { ...cur, name: name.trim() || cur.name };
|
|
49
|
-
write(dataDir, next);
|
|
50
|
-
return next;
|
|
51
|
-
}
|
|
52
|
-
/** Bind the owner's Feishu identity (via /pair or auto-bind). Also adopts the
|
|
53
|
-
* owner's Feishu name as the DEPLOYMENT name — the deployment is shown to the
|
|
54
|
-
* team by its owner's real name (no custom labels), so the roster reads
|
|
55
|
-
* naturally ("申晗 的部署" instead of a hostname). Returns the updated identity. */
|
|
56
|
-
export function setDeploymentOwner(dataDir, owner) {
|
|
57
|
-
const cur = getDeploymentIdentity(dataDir);
|
|
58
|
-
const next = {
|
|
59
|
-
...cur,
|
|
60
|
-
ownerUnionId: owner.unionId || cur.ownerUnionId,
|
|
61
|
-
ownerName: owner.name || cur.ownerName,
|
|
62
|
-
name: owner.name || cur.name, // default the deployment label to the owner's Feishu name
|
|
63
|
-
};
|
|
64
|
-
write(dataDir, next);
|
|
65
|
-
return next;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=deployment-identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-identity.js","sourceRoot":"","sources":["../../src/services/deployment-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface RemoteMembership {
|
|
2
|
-
hubUrl: string;
|
|
3
|
-
teamId: string;
|
|
4
|
-
teamName: string;
|
|
5
|
-
syncToken: string;
|
|
6
|
-
deploymentId: string;
|
|
7
|
-
joinedAt: number;
|
|
8
|
-
/** Token THIS spoke issued to the hub at join; the hub presents it on
|
|
9
|
-
* delegate-group calls so we can verify the request came from a hub we joined. */
|
|
10
|
-
delegationToken?: string;
|
|
11
|
-
}
|
|
12
|
-
/** Record (or replace) a remote-team membership. */
|
|
13
|
-
export declare function addMembership(dataDir: string, m: Omit<RemoteMembership, 'joinedAt'> & {
|
|
14
|
-
joinedAt?: number;
|
|
15
|
-
}, now?: number): RemoteMembership;
|
|
16
|
-
/** All remote teams this deployment has joined. */
|
|
17
|
-
export declare function listMemberships(dataDir: string): RemoteMembership[];
|
|
18
|
-
/** Find the membership whose delegationToken matches (verifies an incoming
|
|
19
|
-
* hub→spoke delegate call came from a hub this deployment actually joined). */
|
|
20
|
-
export declare function findMembershipByDelegationToken(dataDir: string, token: string): RemoteMembership | null;
|
|
21
|
-
/** Remove one membership. Returns true if removed. */
|
|
22
|
-
export declare function removeMembership(dataDir: string, hubUrl: string, teamId: string): boolean;
|
|
23
|
-
//# sourceMappingURL=federation-membership-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"federation-membership-store.d.ts","sourceRoot":"","sources":["../../src/services/federation-membership-store.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB;uFACmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8BD,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,MAAmB,GAAG,gBAAgB,CAMxJ;AAED,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAEnE;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAGvG;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOzF"}
|