botmux 3.14.0 → 3.16.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 +2 -2
- package/README.md +2 -2
- package/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/destroy-result.d.ts +159 -0
- package/dist/adapters/backend/destroy-result.d.ts.map +1 -0
- package/dist/adapters/backend/destroy-result.js +223 -0
- package/dist/adapters/backend/destroy-result.js.map +1 -0
- package/dist/adapters/backend/herdr-backend.d.ts +4 -0
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +23 -1
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/mojo-backend.d.ts +577 -0
- package/dist/adapters/backend/mojo-backend.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-backend.js +2471 -0
- package/dist/adapters/backend/mojo-backend.js.map +1 -0
- package/dist/adapters/backend/mojo-budgets.d.ts +21 -0
- package/dist/adapters/backend/mojo-budgets.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-budgets.js +22 -0
- package/dist/adapters/backend/mojo-budgets.js.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts +69 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js +213 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts +292 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.js +486 -0
- package/dist/adapters/backend/mojo-process-tree.js.map +1 -0
- package/dist/adapters/backend/mojo-types.d.ts +542 -0
- package/dist/adapters/backend/mojo-types.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-types.js +682 -0
- package/dist/adapters/backend/mojo-types.js.map +1 -0
- package/dist/adapters/backend/reproduce-command.js +3 -3
- package/dist/adapters/backend/reproduce-command.js.map +1 -1
- package/dist/adapters/backend/riff-backend.js +1 -1
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/sandbox.d.ts +44 -7
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +30 -7
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/session-backend-selector.d.ts +14 -1
- package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
- package/dist/adapters/backend/session-backend-selector.js +82 -10
- package/dist/adapters/backend/session-backend-selector.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +30 -0
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +60 -0
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +108 -6
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zmx-backend.d.ts +11 -0
- package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zmx-backend.js +16 -1
- package/dist/adapters/backend/zmx-backend.js.map +1 -1
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +2 -2
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +7 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/copilot.d.ts +3 -1
- package/dist/adapters/cli/copilot.d.ts.map +1 -1
- package/dist/adapters/cli/copilot.js +23 -5
- package/dist/adapters/cli/copilot.js.map +1 -1
- package/dist/adapters/cli/cursor.d.ts.map +1 -1
- package/dist/adapters/cli/cursor.js +26 -4
- package/dist/adapters/cli/cursor.js.map +1 -1
- package/dist/adapters/cli/dsh.d.ts.map +1 -1
- package/dist/adapters/cli/dsh.js +5 -1
- package/dist/adapters/cli/dsh.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts.map +1 -1
- package/dist/adapters/cli/grok.js +24 -5
- package/dist/adapters/cli/grok.js.map +1 -1
- package/dist/adapters/cli/kimi.d.ts.map +1 -1
- package/dist/adapters/cli/kimi.js +19 -1
- package/dist/adapters/cli/kimi.js.map +1 -1
- package/dist/adapters/cli/mojo.d.ts +28 -0
- package/dist/adapters/cli/mojo.d.ts.map +1 -0
- package/dist/adapters/cli/mojo.js +58 -0
- package/dist/adapters/cli/mojo.js.map +1 -0
- package/dist/adapters/cli/pi.d.ts +20 -5
- package/dist/adapters/cli/pi.d.ts.map +1 -1
- package/dist/adapters/cli/pi.js +27 -5
- package/dist/adapters/cli/pi.js.map +1 -1
- package/dist/adapters/cli/read-isolation.d.ts +251 -1
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +254 -1
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +13 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +19 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/runner-input.d.ts +3 -3
- package/dist/adapters/cli/runner-input.d.ts.map +1 -1
- package/dist/adapters/cli/runner-input.js +4 -3
- package/dist/adapters/cli/runner-input.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +3 -1
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +51 -30
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +33 -4
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +42 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +54 -4
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/arg-utils.d.ts +5 -0
- package/dist/cli/arg-utils.d.ts.map +1 -1
- package/dist/cli/arg-utils.js +7 -0
- package/dist/cli/arg-utils.js.map +1 -1
- package/dist/cli/bots-list-output.d.ts +130 -2
- package/dist/cli/bots-list-output.d.ts.map +1 -1
- package/dist/cli/bots-list-output.js +173 -27
- package/dist/cli/bots-list-output.js.map +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts +10 -3
- package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle-env.js +38 -11
- package/dist/cli/daemon-lifecycle-env.js.map +1 -1
- package/dist/cli/dashboard-command.d.ts +15 -0
- package/dist/cli/dashboard-command.d.ts.map +1 -1
- package/dist/cli/dashboard-command.js +22 -0
- package/dist/cli/dashboard-command.js.map +1 -1
- package/dist/cli/log-tail.d.ts +54 -0
- package/dist/cli/log-tail.d.ts.map +1 -0
- package/dist/cli/log-tail.js +167 -0
- package/dist/cli/log-tail.js.map +1 -0
- package/dist/cli/pm2-env.d.ts +16 -0
- package/dist/cli/pm2-env.d.ts.map +1 -0
- package/dist/cli/pm2-env.js +63 -0
- package/dist/cli/pm2-env.js.map +1 -0
- package/dist/cli/pm2-fleet-lock.d.ts +26 -0
- package/dist/cli/pm2-fleet-lock.d.ts.map +1 -0
- package/dist/cli/pm2-fleet-lock.js +50 -0
- package/dist/cli/pm2-fleet-lock.js.map +1 -0
- package/dist/cli/pm2-god-retirement.d.ts +59 -0
- package/dist/cli/pm2-god-retirement.d.ts.map +1 -0
- package/dist/cli/pm2-god-retirement.js +95 -0
- package/dist/cli/pm2-god-retirement.js.map +1 -0
- package/dist/cli/session-list-wake.d.ts +41 -0
- package/dist/cli/session-list-wake.d.ts.map +1 -0
- package/dist/cli/session-list-wake.js +102 -0
- package/dist/cli/session-list-wake.js.map +1 -0
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +26 -0
- package/dist/cli/workflow.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +941 -118
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-runner.js +261 -49
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/core/cli-runtime-update.d.ts +8 -0
- package/dist/core/cli-runtime-update.d.ts.map +1 -1
- package/dist/core/cli-runtime-update.js +127 -8
- package/dist/core/cli-runtime-update.js.map +1 -1
- package/dist/core/close-residual.d.ts +64 -0
- package/dist/core/close-residual.d.ts.map +1 -0
- package/dist/core/close-residual.js +93 -0
- package/dist/core/close-residual.js.map +1 -0
- package/dist/core/closed-session-card.d.ts.map +1 -1
- package/dist/core/closed-session-card.js +11 -3
- package/dist/core/closed-session-card.js.map +1 -1
- package/dist/core/command-discovery.d.ts.map +1 -1
- package/dist/core/command-discovery.js +4 -1
- package/dist/core/command-discovery.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +129 -27
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +3 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +230 -1
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/daemon-background-close.d.ts +19 -0
- package/dist/core/daemon-background-close.d.ts.map +1 -0
- package/dist/core/daemon-background-close.js +39 -0
- package/dist/core/daemon-background-close.js.map +1 -0
- package/dist/core/dashboard-command/overview.d.ts +4 -0
- package/dist/core/dashboard-command/overview.d.ts.map +1 -1
- package/dist/core/dashboard-command/overview.js +8 -1
- package/dist/core/dashboard-command/overview.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +415 -42
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +4 -0
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +3 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +37 -0
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +71 -0
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/deferred-schedule-settlement.d.ts +15 -1
- package/dist/core/deferred-schedule-settlement.d.ts.map +1 -1
- package/dist/core/deferred-schedule-settlement.js +4 -1
- package/dist/core/deferred-schedule-settlement.js.map +1 -1
- package/dist/core/device-isolation-daemon.d.ts +91 -1
- package/dist/core/device-isolation-daemon.d.ts.map +1 -1
- package/dist/core/device-isolation-daemon.js +346 -2
- package/dist/core/device-isolation-daemon.js.map +1 -1
- package/dist/core/local-terminal-opener.d.ts.map +1 -1
- package/dist/core/local-terminal-opener.js +5 -1
- package/dist/core/local-terminal-opener.js.map +1 -1
- package/dist/core/loopback-target.d.ts +14 -0
- package/dist/core/loopback-target.d.ts.map +1 -0
- package/dist/core/loopback-target.js +20 -0
- package/dist/core/loopback-target.js.map +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +16 -2
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/mojo-containment-command.d.ts +20 -0
- package/dist/core/mojo-containment-command.d.ts.map +1 -0
- package/dist/core/mojo-containment-command.js +266 -0
- package/dist/core/mojo-containment-command.js.map +1 -0
- package/dist/core/mojo-containment.d.ts +575 -0
- package/dist/core/mojo-containment.d.ts.map +1 -0
- package/dist/core/mojo-containment.js +1158 -0
- package/dist/core/mojo-containment.js.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts +30 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.js +175 -0
- package/dist/core/mojo-launcher-env-quarantine.js.map +1 -0
- package/dist/core/mojo-session-identity.d.ts +3 -0
- package/dist/core/mojo-session-identity.d.ts.map +1 -0
- package/dist/core/mojo-session-identity.js +126 -0
- package/dist/core/mojo-session-identity.js.map +1 -0
- package/dist/core/persistent-backend.d.ts +32 -8
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +55 -17
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/plugins/mcp/gateway.d.ts +14 -1
- package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
- package/dist/core/plugins/mcp/gateway.js +70 -3
- package/dist/core/plugins/mcp/gateway.js.map +1 -1
- package/dist/core/plugins/mcp/host.d.ts +2 -0
- package/dist/core/plugins/mcp/host.d.ts.map +1 -1
- package/dist/core/plugins/mcp/host.js +2 -0
- package/dist/core/plugins/mcp/host.js.map +1 -1
- package/dist/core/plugins/pm2.d.ts.map +1 -1
- package/dist/core/plugins/pm2.js +16 -3
- package/dist/core/plugins/pm2.js.map +1 -1
- package/dist/core/plugins/service-manager.d.ts +9 -0
- package/dist/core/plugins/service-manager.d.ts.map +1 -1
- package/dist/core/plugins/service-manager.js +33 -16
- package/dist/core/plugins/service-manager.js.map +1 -1
- package/dist/core/preview-port-owner.d.ts +109 -0
- package/dist/core/preview-port-owner.d.ts.map +1 -0
- package/dist/core/preview-port-owner.js +320 -0
- package/dist/core/preview-port-owner.js.map +1 -0
- package/dist/core/remote-cli-ids.d.ts +5 -0
- package/dist/core/remote-cli-ids.d.ts.map +1 -0
- package/dist/core/remote-cli-ids.js +24 -0
- package/dist/core/remote-cli-ids.js.map +1 -0
- package/dist/core/{riff-shutdown-detach.d.ts → remote-shutdown-detach.d.ts} +40 -39
- package/dist/core/remote-shutdown-detach.d.ts.map +1 -0
- package/dist/core/{riff-shutdown-detach.js → remote-shutdown-detach.js} +85 -83
- package/dist/core/remote-shutdown-detach.js.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts} +5 -4
- package/dist/core/remote-worker-shutdown-readiness.d.ts.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.js → remote-worker-shutdown-readiness.js} +4 -3
- package/dist/core/remote-worker-shutdown-readiness.js.map +1 -0
- package/dist/core/reply-target.d.ts +16 -1
- package/dist/core/reply-target.d.ts.map +1 -1
- package/dist/core/reply-target.js +61 -0
- package/dist/core/reply-target.js.map +1 -1
- package/dist/core/session-group-birth.d.ts +26 -0
- package/dist/core/session-group-birth.d.ts.map +1 -1
- package/dist/core/session-group-birth.js +81 -4
- package/dist/core/session-group-birth.js.map +1 -1
- package/dist/core/session-manager.d.ts +15 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +259 -5
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-model.d.ts +46 -0
- package/dist/core/session-model.d.ts.map +1 -0
- package/dist/core/session-model.js +42 -0
- package/dist/core/session-model.js.map +1 -0
- package/dist/core/session-owner-reminder.d.ts +63 -0
- package/dist/core/session-owner-reminder.d.ts.map +1 -0
- package/dist/core/session-owner-reminder.js +196 -0
- package/dist/core/session-owner-reminder.js.map +1 -0
- package/dist/core/session-preview-registry.d.ts +53 -0
- package/dist/core/session-preview-registry.d.ts.map +1 -0
- package/dist/core/session-preview-registry.js +82 -0
- package/dist/core/session-preview-registry.js.map +1 -0
- package/dist/core/session-preview.d.ts +114 -0
- package/dist/core/session-preview.d.ts.map +1 -0
- package/dist/core/session-preview.js +184 -0
- package/dist/core/session-preview.js.map +1 -0
- package/dist/core/session-rename.d.ts.map +1 -1
- package/dist/core/session-rename.js +5 -3
- package/dist/core/session-rename.js.map +1 -1
- package/dist/core/session-wake-deadline.d.ts +5 -0
- package/dist/core/session-wake-deadline.d.ts.map +1 -0
- package/dist/core/session-wake-deadline.js +13 -0
- package/dist/core/session-wake-deadline.js.map +1 -0
- package/dist/core/shutdown-budgets.d.ts +7 -6
- package/dist/core/shutdown-budgets.d.ts.map +1 -1
- package/dist/core/shutdown-budgets.js +11 -10
- package/dist/core/shutdown-budgets.js.map +1 -1
- package/dist/core/skills/frontmatter.d.ts.map +1 -1
- package/dist/core/skills/frontmatter.js +6 -1
- package/dist/core/skills/frontmatter.js.map +1 -1
- package/dist/core/terminal-control-grant.d.ts +74 -0
- package/dist/core/terminal-control-grant.d.ts.map +1 -0
- package/dist/core/terminal-control-grant.js +183 -0
- package/dist/core/terminal-control-grant.js.map +1 -0
- package/dist/core/terminal-proxy.d.ts.map +1 -1
- package/dist/core/terminal-proxy.js +4 -5
- package/dist/core/terminal-proxy.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +4 -11
- package/dist/core/terminal-write-auth.d.ts.map +1 -1
- package/dist/core/terminal-write-auth.js +19 -16
- package/dist/core/terminal-write-auth.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +36 -29
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +88 -10
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -7
- package/dist/core/types.js.map +1 -1
- package/dist/core/workbench-link.d.ts +81 -0
- package/dist/core/workbench-link.d.ts.map +1 -0
- package/dist/core/workbench-link.js +109 -0
- package/dist/core/workbench-link.js.map +1 -0
- package/dist/core/worker-pool.d.ts +312 -11
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +2515 -217
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +6 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +447 -116
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/aggregator.d.ts +33 -3
- package/dist/dashboard/aggregator.d.ts.map +1 -1
- package/dist/dashboard/aggregator.js +93 -17
- package/dist/dashboard/aggregator.js.map +1 -1
- package/dist/dashboard/auth-session-connections.d.ts +59 -0
- package/dist/dashboard/auth-session-connections.d.ts.map +1 -0
- package/dist/dashboard/auth-session-connections.js +109 -0
- package/dist/dashboard/auth-session-connections.js.map +1 -0
- package/dist/dashboard/auth.d.ts +99 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +176 -64
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +5 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +4 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/control-audit.d.ts +112 -0
- package/dist/dashboard/control-audit.d.ts.map +1 -0
- package/dist/dashboard/control-audit.js +195 -0
- package/dist/dashboard/control-audit.js.map +1 -0
- package/dist/dashboard/control-csrf.d.ts +123 -0
- package/dist/dashboard/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/control-csrf.js +392 -0
- package/dist/dashboard/control-csrf.js.map +1 -0
- package/dist/dashboard/daemon-reconcile.d.ts +26 -0
- package/dist/dashboard/daemon-reconcile.d.ts.map +1 -0
- package/dist/dashboard/daemon-reconcile.js +46 -0
- package/dist/dashboard/daemon-reconcile.js.map +1 -0
- package/dist/dashboard/debug-terminal.d.ts.map +1 -1
- package/dist/dashboard/debug-terminal.js +18 -4
- package/dist/dashboard/debug-terminal.js.map +1 -1
- package/dist/dashboard/events-sse.d.ts +60 -0
- package/dist/dashboard/events-sse.d.ts.map +1 -0
- package/dist/dashboard/events-sse.js +63 -0
- package/dist/dashboard/events-sse.js.map +1 -0
- package/dist/dashboard/h5-auth.d.ts +256 -0
- package/dist/dashboard/h5-auth.d.ts.map +1 -0
- package/dist/dashboard/h5-auth.js +825 -0
- package/dist/dashboard/h5-auth.js.map +1 -0
- package/dist/dashboard/managed-spawn.d.ts +36 -0
- package/dist/dashboard/managed-spawn.d.ts.map +1 -0
- package/dist/dashboard/managed-spawn.js +169 -0
- package/dist/dashboard/managed-spawn.js.map +1 -0
- package/dist/dashboard/preview-content-capability.d.ts +41 -0
- package/dist/dashboard/preview-content-capability.d.ts.map +1 -0
- package/dist/dashboard/preview-content-capability.js +127 -0
- package/dist/dashboard/preview-content-capability.js.map +1 -0
- package/dist/dashboard/preview-contract.d.ts +85 -0
- package/dist/dashboard/preview-contract.d.ts.map +1 -0
- package/dist/dashboard/preview-contract.js +198 -0
- package/dist/dashboard/preview-contract.js.map +1 -0
- package/dist/dashboard/preview-guard-page.d.ts +52 -0
- package/dist/dashboard/preview-guard-page.d.ts.map +1 -0
- package/dist/dashboard/preview-guard-page.js +162 -0
- package/dist/dashboard/preview-guard-page.js.map +1 -0
- package/dist/dashboard/preview-interaction.d.ts +57 -0
- package/dist/dashboard/preview-interaction.d.ts.map +1 -0
- package/dist/dashboard/preview-interaction.js +198 -0
- package/dist/dashboard/preview-interaction.js.map +1 -0
- package/dist/dashboard/preview-proxy.d.ts +113 -0
- package/dist/dashboard/preview-proxy.d.ts.map +1 -0
- package/dist/dashboard/preview-proxy.js +543 -0
- package/dist/dashboard/preview-proxy.js.map +1 -0
- package/dist/dashboard/public-redact.d.ts +23 -0
- package/dist/dashboard/public-redact.d.ts.map +1 -1
- package/dist/dashboard/public-redact.js +90 -21
- package/dist/dashboard/public-redact.js.map +1 -1
- package/dist/dashboard/request-identity.d.ts +77 -0
- package/dist/dashboard/request-identity.d.ts.map +1 -0
- package/dist/dashboard/request-identity.js +72 -0
- package/dist/dashboard/request-identity.js.map +1 -0
- package/dist/dashboard/session-cleanup.d.ts +5 -0
- package/dist/dashboard/session-cleanup.d.ts.map +1 -1
- package/dist/dashboard/session-cleanup.js +4 -0
- package/dist/dashboard/session-cleanup.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +5 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +14 -0
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/standing-link.d.ts +76 -0
- package/dist/dashboard/standing-link.d.ts.map +1 -0
- package/dist/dashboard/standing-link.js +111 -0
- package/dist/dashboard/standing-link.js.map +1 -0
- package/dist/dashboard/terminal-control.d.ts +105 -0
- package/dist/dashboard/terminal-control.d.ts.map +1 -0
- package/dist/dashboard/terminal-control.js +296 -0
- package/dist/dashboard/terminal-control.js.map +1 -0
- package/dist/dashboard/terminal-front-proxy.d.ts +55 -0
- package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -0
- package/dist/dashboard/terminal-front-proxy.js +397 -0
- package/dist/dashboard/terminal-front-proxy.js.map +1 -0
- package/dist/dashboard/terminal-view-capability.d.ts +97 -0
- package/dist/dashboard/terminal-view-capability.d.ts.map +1 -0
- package/dist/dashboard/terminal-view-capability.js +145 -0
- package/dist/dashboard/terminal-view-capability.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.js +227 -0
- package/dist/dashboard/web/agent-workbench-api.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js +195 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts +222 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.js +499 -0
- package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts +13 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js +24 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts +90 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.js +168 -0
- package/dist/dashboard/web/agent-workbench-chat.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js +23 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts +22 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js +76 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts +196 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.js +529 -0
- package/dist/dashboard/web/agent-workbench-model.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.js +27 -0
- package/dist/dashboard/web/agent-workbench-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.js +468 -0
- package/dist/dashboard/web/agent-workbench-panes.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts +42 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.js +353 -0
- package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.js +197 -0
- package/dist/dashboard/web/agent-workbench-storage.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts +46 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.js +96 -0
- package/dist/dashboard/web/agent-workbench-touch.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts +34 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.js +439 -0
- package/dist/dashboard/web/agent-workbench-view.js.map +1 -0
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +63 -2
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +18 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +362 -36
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +8 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/control-csrf.d.ts +4 -0
- package/dist/dashboard/web/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/web/control-csrf.js +26 -0
- package/dist/dashboard/web/control-csrf.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +2 -0
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +11 -2
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +140 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +3 -2
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +41 -1
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +5 -1
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +3 -0
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +56 -10
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +4 -2
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/store.d.ts +27 -2
- package/dist/dashboard/web/store.d.ts.map +1 -1
- package/dist/dashboard/web/store.js +43 -4
- package/dist/dashboard/web/store.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +3 -0
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +11 -0
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/update-action.d.ts +12 -0
- package/dist/dashboard/web/update-action.d.ts.map +1 -1
- package/dist/dashboard/web/update-action.js +11 -0
- package/dist/dashboard/web/update-action.js.map +1 -1
- package/dist/dashboard/workbench-doctor.d.ts +114 -0
- package/dist/dashboard/workbench-doctor.d.ts.map +1 -0
- package/dist/dashboard/workbench-doctor.js +620 -0
- package/dist/dashboard/workbench-doctor.js.map +1 -0
- package/dist/dashboard/workbench-ticket.d.ts +165 -0
- package/dist/dashboard/workbench-ticket.d.ts.map +1 -0
- package/dist/dashboard/workbench-ticket.js +495 -0
- package/dist/dashboard/workbench-ticket.js.map +1 -0
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +1 -0
- package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +1 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +10 -0
- package/dist/dashboard-web/chunks/chunk-22WIADUT.js +2 -0
- package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-6O7KXFD2.js → chunk-2W6SCN3M.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-Q2MT4VWH.js → chunk-F6KNPF4R.js} +11 -9
- package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-G5ZS2YUS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-KTQ7B6ZR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-U3ZFSO7E.js → chunk-NACP7BMR.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-2KZO5KSJ.js → connectors-page-VOISXXII.js} +1 -1
- package/dist/dashboard-web/chunks/{feedback-page-CLVTOLLO.js → feedback-page-RN6HRZMS.js} +1 -1
- package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +8 -0
- package/dist/dashboard-web/chunks/{insights-page-4RPU2CRU.js → insights-page-HJFDYR5N.js} +3 -3
- package/dist/dashboard-web/chunks/{monitor-room-OTKQ2CXK.js → monitor-room-V7PCP47V.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-IJPUB6JT.js → monitoring-page-NKEKVQAP.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-QSR3J44Y.js → office-page-GVJF73XW.js} +1 -1
- package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +1 -0
- package/dist/dashboard-web/chunks/{plugin-page-VEGTCEAS.js → plugin-page-J3OF5IY4.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-6NWJMOB5.js → roles-page-WQIRSOLZ.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-6I3LNXD4.js → schedules-page-J2DEY2X6.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +8 -0
- package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +2 -0
- package/dist/dashboard-web/chunks/{skills-page-M2Q6L5CB.js → skills-page-HGIFR3IU.js} +2 -2
- package/dist/dashboard-web/chunks/{team-federation-page-7I7FDE3B.js → team-federation-page-MR5ZPL4B.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-HQXRL65L.js → v3-page-GBR5JWPE.js} +2 -2
- package/dist/dashboard-web/chunks/{whiteboards-page-LQKC4TAZ.js → whiteboards-page-QAZM4BN3.js} +1 -1
- package/dist/dashboard-web/index.html +8 -1
- package/dist/dashboard-web/style.css +2006 -10
- package/dist/dashboard.js +1017 -264
- package/dist/dashboard.js.map +1 -1
- package/dist/dsh-runner.js +8 -1
- package/dist/dsh-runner.js.map +1 -1
- package/dist/global-config.d.ts +30 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +33 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +46 -27
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +43 -27
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +22 -6
- 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 +118 -24
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +15 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +30 -0
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +48 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +138 -41
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/identity-cache.d.ts +14 -6
- package/dist/im/lark/identity-cache.d.ts.map +1 -1
- package/dist/im/lark/identity-cache.js +69 -26
- package/dist/im/lark/identity-cache.js.map +1 -1
- package/dist/im/lark/lark-hosts.d.ts +13 -0
- package/dist/im/lark/lark-hosts.d.ts.map +1 -1
- package/dist/im/lark/lark-hosts.js +16 -0
- package/dist/im/lark/lark-hosts.js.map +1 -1
- package/dist/im/lark/overview-card.d.ts +22 -0
- package/dist/im/lark/overview-card.d.ts.map +1 -1
- package/dist/im/lark/overview-card.js +53 -3
- package/dist/im/lark/overview-card.js.map +1 -1
- package/dist/im/lark/sessions-card.d.ts.map +1 -1
- package/dist/im/lark/sessions-card.js +26 -3
- package/dist/im/lark/sessions-card.js.map +1 -1
- package/dist/im/lark/workflow-slash-command.d.ts +6 -0
- package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
- package/dist/im/lark/workflow-slash-command.js +7 -0
- package/dist/im/lark/workflow-slash-command.js.map +1 -1
- package/dist/index-daemon.js +27 -4
- package/dist/index-daemon.js.map +1 -1
- package/dist/index-dashboard.d.ts +3 -0
- package/dist/index-dashboard.d.ts.map +1 -0
- package/dist/index-dashboard.js +94 -0
- package/dist/index-dashboard.js.map +1 -0
- package/dist/platform/team-agents-client.d.ts +199 -0
- package/dist/platform/team-agents-client.d.ts.map +1 -0
- package/dist/platform/team-agents-client.js +263 -0
- package/dist/platform/team-agents-client.js.map +1 -0
- package/dist/platform/tunnel-client.d.ts +6 -0
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/async-trigger-state.d.ts +7 -3
- package/dist/services/async-trigger-state.d.ts.map +1 -1
- package/dist/services/async-trigger-state.js +28 -0
- package/dist/services/async-trigger-state.js.map +1 -1
- package/dist/services/async-trigger-store.d.ts +13 -4
- package/dist/services/async-trigger-store.d.ts.map +1 -1
- package/dist/services/async-trigger-store.js +55 -8
- package/dist/services/async-trigger-store.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -11
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +27 -3
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/bot-profile-store.d.ts +17 -2
- package/dist/services/bot-profile-store.d.ts.map +1 -1
- package/dist/services/bot-profile-store.js +93 -12
- package/dist/services/bot-profile-store.js.map +1 -1
- package/dist/services/bridge-fallback-gate.d.ts +15 -7
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +43 -16
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/bridge-turn-queue.d.ts +10 -1
- package/dist/services/bridge-turn-queue.d.ts.map +1 -1
- package/dist/services/bridge-turn-queue.js +29 -9
- package/dist/services/bridge-turn-queue.js.map +1 -1
- package/dist/services/claude-transcript.d.ts +19 -0
- package/dist/services/claude-transcript.d.ts.map +1 -1
- package/dist/services/claude-transcript.js +57 -5
- package/dist/services/claude-transcript.js.map +1 -1
- package/dist/services/codex-app-threads.d.ts +2 -0
- package/dist/services/codex-app-threads.d.ts.map +1 -1
- package/dist/services/codex-app-threads.js +1 -1
- package/dist/services/codex-app-threads.js.map +1 -1
- package/dist/services/codex-reasoning-effort.d.ts +8 -0
- package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
- package/dist/services/codex-reasoning-effort.js +24 -0
- package/dist/services/codex-reasoning-effort.js.map +1 -1
- package/dist/services/cursor-resume-policy.d.ts.map +1 -1
- package/dist/services/cursor-resume-policy.js +15 -3
- package/dist/services/cursor-resume-policy.js.map +1 -1
- package/dist/services/open-platform-rename.d.ts.map +1 -1
- package/dist/services/open-platform-rename.js +3 -2
- package/dist/services/open-platform-rename.js.map +1 -1
- package/dist/services/ordinary-turn-recovery.d.ts +76 -0
- package/dist/services/ordinary-turn-recovery.d.ts.map +1 -0
- package/dist/services/ordinary-turn-recovery.js +349 -0
- package/dist/services/ordinary-turn-recovery.js.map +1 -0
- package/dist/services/peer-cross-ref-store.d.ts +8 -0
- package/dist/services/peer-cross-ref-store.d.ts.map +1 -0
- package/dist/services/peer-cross-ref-store.js +95 -0
- package/dist/services/peer-cross-ref-store.js.map +1 -0
- package/dist/services/pi-transcript.d.ts.map +1 -1
- package/dist/services/pi-transcript.js +10 -6
- package/dist/services/pi-transcript.js.map +1 -1
- package/dist/services/resume-fresh-policy.d.ts +17 -0
- package/dist/services/resume-fresh-policy.d.ts.map +1 -0
- package/dist/services/resume-fresh-policy.js +24 -0
- package/dist/services/resume-fresh-policy.js.map +1 -0
- package/dist/services/session-group-title.d.ts +1 -0
- package/dist/services/session-group-title.d.ts.map +1 -1
- package/dist/services/session-group-title.js +16 -1
- package/dist/services/session-group-title.js.map +1 -1
- package/dist/services/session-groups-store.d.ts +30 -0
- package/dist/services/session-groups-store.d.ts.map +1 -1
- package/dist/services/session-groups-store.js +26 -4
- package/dist/services/session-groups-store.js.map +1 -1
- package/dist/services/session-owner-notification.d.ts +9 -0
- package/dist/services/session-owner-notification.d.ts.map +1 -0
- package/dist/services/session-owner-notification.js +10 -0
- package/dist/services/session-owner-notification.js.map +1 -0
- package/dist/services/session-owner-reminder-config-store.d.ts +9 -0
- package/dist/services/session-owner-reminder-config-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-config-store.js +24 -0
- package/dist/services/session-owner-reminder-config-store.js.map +1 -0
- package/dist/services/session-owner-reminder-store.d.ts +5 -0
- package/dist/services/session-owner-reminder-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-store.js +54 -0
- package/dist/services/session-owner-reminder-store.js.map +1 -0
- package/dist/services/session-store.d.ts +98 -21
- package/dist/services/session-store.d.ts.map +1 -1
- package/dist/services/session-store.js +406 -48
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +15 -2
- package/dist/services/structured-bridge-clis.d.ts.map +1 -1
- package/dist/services/structured-bridge-clis.js +16 -1
- package/dist/services/structured-bridge-clis.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts +1 -1
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +6 -1
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +7 -2
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-herdr-integrations.d.ts +13 -0
- package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -1
- package/dist/setup/ensure-herdr-integrations.js +21 -3
- package/dist/setup/ensure-herdr-integrations.js.map +1 -1
- package/dist/setup/open-platform-automation.d.ts +1 -0
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +107 -7
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/skills/definitions.d.ts +17 -0
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +78 -8
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +24 -3
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +64 -15
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/skills/installer.d.ts +18 -0
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +45 -1
- package/dist/skills/installer.js.map +1 -1
- package/dist/types.d.ts +222 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bot-routing.d.ts +1 -1
- package/dist/utils/bot-routing.d.ts.map +1 -1
- package/dist/utils/bot-routing.js.map +1 -1
- package/dist/utils/child-env.d.ts +92 -2
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +195 -1
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/cli-usage-limit.d.ts +25 -14
- package/dist/utils/cli-usage-limit.d.ts.map +1 -1
- package/dist/utils/cli-usage-limit.js +25 -15
- package/dist/utils/cli-usage-limit.js.map +1 -1
- package/dist/utils/daemon-rejection-guard.d.ts +35 -0
- package/dist/utils/daemon-rejection-guard.d.ts.map +1 -0
- package/dist/utils/daemon-rejection-guard.js +101 -0
- package/dist/utils/daemon-rejection-guard.js.map +1 -0
- package/dist/utils/dashboard-env.d.ts +53 -0
- package/dist/utils/dashboard-env.d.ts.map +1 -0
- package/dist/utils/dashboard-env.js +116 -0
- package/dist/utils/dashboard-env.js.map +1 -0
- package/dist/utils/global-install.d.ts.map +1 -1
- package/dist/utils/global-install.js +61 -5
- package/dist/utils/global-install.js.map +1 -1
- package/dist/utils/install-diagnostics.d.ts +14 -7
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +20 -11
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/local-dev-update.d.ts +132 -0
- package/dist/utils/local-dev-update.d.ts.map +1 -0
- package/dist/utils/local-dev-update.js +176 -0
- package/dist/utils/local-dev-update.js.map +1 -0
- package/dist/utils/pending-input-queue.d.ts +12 -1
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/worker.js +1517 -236
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +68 -68
- package/dist/workflows/events/payloads.d.ts +14 -14
- package/dist/workflows/events/schema.d.ts +312 -312
- package/dist/workflows/migration/v2-run-archive-schema.d.ts +40 -40
- package/dist/workflows/v3/cli-run.d.ts.map +1 -1
- package/dist/workflows/v3/cli-run.js +7 -0
- package/dist/workflows/v3/cli-run.js.map +1 -1
- package/dist/workflows/v3/goal-cli.d.ts +3 -0
- package/dist/workflows/v3/goal-cli.d.ts.map +1 -1
- package/dist/workflows/v3/goal-cli.js +11 -0
- package/dist/workflows/v3/goal-cli.js.map +1 -1
- package/dist/workflows/v3/run-envelope.d.ts +144 -144
- package/package.json +7 -2
- package/dist/cli/pm2-god-admission.d.ts +0 -8
- package/dist/cli/pm2-god-admission.d.ts.map +0 -1
- package/dist/cli/pm2-god-admission.js +0 -25
- package/dist/cli/pm2-god-admission.js.map +0 -1
- package/dist/core/riff-shutdown-detach.d.ts.map +0 -1
- package/dist/core/riff-shutdown-detach.js.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.d.ts.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-4RENHE7J.js +0 -10
- package/dist/dashboard-web/chunks/chunk-2WQDS65D.js +0 -1
- package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +0 -1
- package/dist/dashboard-web/chunks/chunk-WLIVBPJC.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-HLASRTSY.js +0 -8
- package/dist/dashboard-web/chunks/overview-page-6OK63V4V.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-B2TXGJDO.js +0 -8
- package/dist/dashboard-web/chunks/settings-page-6KJADSC6.js +0 -2
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
* User / bot identity cache for prompt injection.
|
|
3
3
|
*
|
|
4
4
|
* Lark events only carry the sender's open_id (no name). To inject a
|
|
5
|
-
* `<sender name="张三" ... />` tag into the CLI
|
|
6
|
-
*
|
|
5
|
+
* `<sender name="张三" email="zhangsan@example.com" ... />` tag into the CLI
|
|
6
|
+
* prompt we need an identity dictionary keyed by open_id. Three population
|
|
7
|
+
* sources, ordered by cost:
|
|
7
8
|
*
|
|
8
9
|
* 1. mentions — free. Lark mention payloads carry (name, open_id) pairs,
|
|
9
10
|
* so every @ that flows through us teaches the cache.
|
|
10
11
|
* 2. sender — free, but only learns open_id + type, not name.
|
|
11
|
-
* 3. contact API — `contact.v3.user.get` for users;
|
|
12
|
-
*
|
|
13
|
-
* (already in
|
|
12
|
+
* 3. contact API — `contact.v3.user.get` for users; used to fill a missing
|
|
13
|
+
* name and email. Requires `contact:user.base:readonly` plus
|
|
14
|
+
* `contact:user.email:readonly` for the email field (both are already in
|
|
15
|
+
* the setup scope manifest).
|
|
14
16
|
*
|
|
15
17
|
* Scope: per Lark app. Open_id values are app-scoped on Lark's side, so the
|
|
16
18
|
* cache file follows the same `identities-${larkAppId}.json` shape as the
|
|
@@ -97,10 +99,10 @@ export function flushIdentityCacheSync() {
|
|
|
97
99
|
flushAll();
|
|
98
100
|
}
|
|
99
101
|
/**
|
|
100
|
-
* Merge a partial identity record into the cache. Existing `name`
|
|
101
|
-
* unless the incoming record carries a real
|
|
102
|
-
* `type` is only overridden when the incoming value is
|
|
103
|
-
* (anything other than `unknown`).
|
|
102
|
+
* Merge a partial identity record into the cache. Existing `name` and `email`
|
|
103
|
+
* are preserved unless the incoming record carries a real value (no
|
|
104
|
+
* clobbering). Existing `type` is only overridden when the incoming value is
|
|
105
|
+
* more specific (anything other than `unknown`).
|
|
104
106
|
*/
|
|
105
107
|
export function recordIdentity(larkAppId, rec) {
|
|
106
108
|
if (!rec.openId)
|
|
@@ -112,12 +114,18 @@ export function recordIdentity(larkAppId, rec) {
|
|
|
112
114
|
openId: rec.openId,
|
|
113
115
|
type: incomingType ?? existing?.type ?? 'unknown',
|
|
114
116
|
name: rec.name ?? existing?.name,
|
|
117
|
+
email: rec.email ?? existing?.email,
|
|
118
|
+
contactResolvedAt: rec.contactResolvedAt ?? existing?.contactResolvedAt,
|
|
115
119
|
source: rec.source ?? existing?.source ?? 'sender',
|
|
116
120
|
updatedAt: Date.now(),
|
|
117
121
|
};
|
|
118
122
|
// Skip persist when nothing meaningful changed — avoids disk churn from
|
|
119
123
|
// every sender event re-bumping updatedAt.
|
|
120
|
-
if (existing
|
|
124
|
+
if (existing
|
|
125
|
+
&& existing.type === merged.type
|
|
126
|
+
&& existing.name === merged.name
|
|
127
|
+
&& existing.email === merged.email
|
|
128
|
+
&& existing.contactResolvedAt === merged.contactResolvedAt) {
|
|
121
129
|
return;
|
|
122
130
|
}
|
|
123
131
|
store.set(rec.openId, merged);
|
|
@@ -157,14 +165,29 @@ export async function resolveName(larkAppId, openId) {
|
|
|
157
165
|
const cached = getIdentity(larkAppId, openId);
|
|
158
166
|
if (cached?.name)
|
|
159
167
|
return cached.name;
|
|
168
|
+
await ensureContactProfile(larkAppId, openId);
|
|
169
|
+
return getIdentity(larkAppId, openId)?.name;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Ensure a human identity has had one successful contact profile lookup.
|
|
173
|
+
* Unlike resolveName, this intentionally does not short-circuit on a cached
|
|
174
|
+
* display name: name may have come from a mention/message while email is still
|
|
175
|
+
* unknown. Successful empty profiles are negative-cached via contactResolvedAt.
|
|
176
|
+
*/
|
|
177
|
+
async function ensureContactProfile(larkAppId, openId) {
|
|
178
|
+
if (!openId)
|
|
179
|
+
return;
|
|
180
|
+
const cached = getIdentity(larkAppId, openId);
|
|
181
|
+
if (cached?.contactResolvedAt)
|
|
182
|
+
return;
|
|
160
183
|
if (cached?.type === 'bot' || cached?.type === 'app')
|
|
161
184
|
return undefined;
|
|
162
185
|
if (scopeUnavailable.has(larkAppId))
|
|
163
|
-
return
|
|
186
|
+
return;
|
|
164
187
|
const key = `${larkAppId}:${openId}`;
|
|
165
188
|
let pending = inflight.get(key);
|
|
166
189
|
if (!pending) {
|
|
167
|
-
pending =
|
|
190
|
+
pending = fetchUserProfile(larkAppId, openId);
|
|
168
191
|
inflight.set(key, pending);
|
|
169
192
|
// Identity-guarded cleanup. A request that times out is evicted by the
|
|
170
193
|
// catch below; if its underlying fetch later settles, we must NOT clobber
|
|
@@ -172,9 +195,9 @@ export async function resolveName(larkAppId, openId) {
|
|
|
172
195
|
// newer caller. Comparing by reference catches both this race and the
|
|
173
196
|
// simple "settled normally" case.
|
|
174
197
|
//
|
|
175
|
-
// `.then(cleanup, cleanup)` (not `.finally`) so a future
|
|
198
|
+
// `.then(cleanup, cleanup)` (not `.finally`) so a future fetchUserProfile
|
|
176
199
|
// refactor that rejects can't leave the returned cleanup promise as an
|
|
177
|
-
// unhandled rejection. Current
|
|
200
|
+
// unhandled rejection. Current fetchUserProfile swallows everything to
|
|
178
201
|
// logger.debug, but that's an undocumented invariant we shouldn't rely on.
|
|
179
202
|
const local = pending;
|
|
180
203
|
const cleanup = () => { if (inflight.get(key) === local)
|
|
@@ -196,19 +219,30 @@ export async function resolveName(larkAppId, openId) {
|
|
|
196
219
|
if (inflight.get(key) === pending)
|
|
197
220
|
inflight.delete(key);
|
|
198
221
|
}
|
|
199
|
-
return getIdentity(larkAppId, openId)?.name;
|
|
200
222
|
}
|
|
201
|
-
async function
|
|
223
|
+
async function fetchUserProfile(larkAppId, openId) {
|
|
202
224
|
try {
|
|
203
225
|
const c = getBotClient(larkAppId);
|
|
204
226
|
const res = await larkGet(c, `/open-apis/contact/v3/users/${encodeURIComponent(openId)}`, {
|
|
205
227
|
user_id_type: 'open_id',
|
|
206
228
|
});
|
|
207
229
|
if (res?.code === 0) {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
230
|
+
const rawName = res.data?.user?.name;
|
|
231
|
+
const rawEmail = res.data?.user?.email;
|
|
232
|
+
const name = typeof rawName === 'string' && rawName.trim() ? rawName.trim() : undefined;
|
|
233
|
+
const email = typeof rawEmail === 'string' && rawEmail.trim() ? rawEmail.trim() : undefined;
|
|
234
|
+
// Mark a successful lookup even when email is absent. Without this
|
|
235
|
+
// negative cache, users who do not have an email would trigger a contact
|
|
236
|
+
// API request on every message. Failed/time-out lookups never set it, so
|
|
237
|
+
// a later turn can retry.
|
|
238
|
+
recordIdentity(larkAppId, {
|
|
239
|
+
openId,
|
|
240
|
+
name,
|
|
241
|
+
email,
|
|
242
|
+
contactResolvedAt: Date.now(),
|
|
243
|
+
type: 'user',
|
|
244
|
+
source: 'contact_api',
|
|
245
|
+
});
|
|
212
246
|
return;
|
|
213
247
|
}
|
|
214
248
|
// 99991672 = app身份缺权限 (contact:user.base:readonly 没开)
|
|
@@ -272,9 +306,11 @@ function withTimeout(p, ms) {
|
|
|
272
306
|
* (e.g. a known foreign-bot display name from `bot-openids-${appId}.json`)
|
|
273
307
|
* win over cache.
|
|
274
308
|
*
|
|
275
|
-
*
|
|
309
|
+
* Identity resolution order:
|
|
276
310
|
* 1. hint / cache — free, in-memory.
|
|
277
|
-
* 2. contact API — users only; needs
|
|
311
|
+
* 2. contact API — users only; fills missing name/email and needs
|
|
312
|
+
* `contact:user.base:readonly` plus `contact:user.email:readonly` for
|
|
313
|
+
* email. A successful no-email result is negatively cached.
|
|
278
314
|
* 3. message.get(`with_sender_name=true`) — fallback when `messageId` is
|
|
279
315
|
* supplied and steps 1–2 came up empty. Covers users AND bots, and works
|
|
280
316
|
* without the contact scope (the server names whoever sent that message).
|
|
@@ -295,9 +331,15 @@ export async function resolveSender(larkAppId, openId, senderType, hint) {
|
|
|
295
331
|
type = 'user';
|
|
296
332
|
}
|
|
297
333
|
recordIdentity(larkAppId, { openId, type, source: 'sender' });
|
|
298
|
-
let
|
|
299
|
-
|
|
300
|
-
|
|
334
|
+
let identity = getIdentity(larkAppId, openId);
|
|
335
|
+
let name = hint?.name ?? identity?.name;
|
|
336
|
+
if (type === 'user' && (!name || !identity?.contactResolvedAt)) {
|
|
337
|
+
// Call even when a mention already supplied name if this cache record has
|
|
338
|
+
// never been contact-enriched: old name-only caches must get one chance to
|
|
339
|
+
// learn email.
|
|
340
|
+
await ensureContactProfile(larkAppId, openId);
|
|
341
|
+
identity = getIdentity(larkAppId, openId);
|
|
342
|
+
name ??= identity?.name;
|
|
301
343
|
}
|
|
302
344
|
// Last-resort fallback: server-side sender_name via message.get. Covers the
|
|
303
345
|
// gap the contact API can't (bots, missing scope, out-of-range users) but
|
|
@@ -305,6 +347,7 @@ export async function resolveSender(larkAppId, openId, senderType, hint) {
|
|
|
305
347
|
if (!name && hint?.messageId) {
|
|
306
348
|
name = await resolveNameViaMessage(larkAppId, openId, hint.messageId, type);
|
|
307
349
|
}
|
|
308
|
-
|
|
350
|
+
const email = type === 'user' ? identity?.email : undefined;
|
|
351
|
+
return { openId, type, name, email };
|
|
309
352
|
}
|
|
310
353
|
//# sourceMappingURL=identity-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-cache.js","sourceRoot":"","sources":["../../../src/im/lark/identity-cache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity-cache.js","sourceRoot":"","sources":["../../../src/im/lark/identity-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,19 @@ export declare function larkHosts(brand?: Brand): LarkHosts;
|
|
|
41
41
|
export declare function sdkDomain(brand?: Brand): string;
|
|
42
42
|
/** 构造"在客户端打开群聊"的 AppLink,按 brand 选 applink host。 */
|
|
43
43
|
export declare function chatAppLink(chatId: string, brand?: Brand): string;
|
|
44
|
+
/**
|
|
45
|
+
* 构造「在飞书/Lark 客户端内,以 appCenter 标签页形态打开一个网页」的 AppLink。
|
|
46
|
+
*
|
|
47
|
+
* 为什么是 appCenter 而不是 sidebar-semi(见 card-builder.ts:sidebarUrl):
|
|
48
|
+
* sidebar 是一次性侧边浮层,关掉就没了;appCenter 打开的是客户端左侧的应用标签
|
|
49
|
+
* 页,用户可以右键固定,等于给工作台一个常驻入口——这正是「零门槛拿到入口」要
|
|
50
|
+
* 的形态。
|
|
51
|
+
*
|
|
52
|
+
* `targetUrl` 必须整体 encodeURIComponent:工作台目标 URL 自带 `?t=<token>`
|
|
53
|
+
* 查询串和 `#/agent-workbench` fragment,不转义会被客户端当成 AppLink 自己的
|
|
54
|
+
* 参数、并在 `#` 处截断。
|
|
55
|
+
*/
|
|
56
|
+
export declare function appCenterAppLink(targetUrl: string, brand?: Brand): string;
|
|
44
57
|
/** Build an AppLink for a topic inside a topic group. `threadId` is the
|
|
45
58
|
* `omt_...` topic id, not the `om_...` root-message id used for routing.
|
|
46
59
|
* Lark's own message AppLinks use `thread_position=-1`; large positive values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-hosts.d.ts","sourceRoot":"","sources":["../../../src/im/lark/lark-hosts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB;AAcD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAEhD;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,GAAE,KAAgB,GAAG,SAAS,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,KAAgB,GAAG,MAAM,CAEzD;AAED,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAE3E;AAED;;;uEAGuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAK/F"}
|
|
1
|
+
{"version":3,"file":"lark-hosts.d.ts","sourceRoot":"","sources":["../../../src/im/lark/lark-hosts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB;AAcD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAEhD;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,GAAE,KAAgB,GAAG,SAAS,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,KAAgB,GAAG,MAAM,CAEzD;AAED,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAE3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAGnF;AAED;;;uEAGuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAK/F"}
|
|
@@ -46,6 +46,22 @@ export function sdkDomain(brand = 'feishu') {
|
|
|
46
46
|
export function chatAppLink(chatId, brand = 'feishu') {
|
|
47
47
|
return `https://${larkHosts(brand).applink}/client/chat/open?openChatId=${encodeURIComponent(chatId)}`;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* 构造「在飞书/Lark 客户端内,以 appCenter 标签页形态打开一个网页」的 AppLink。
|
|
51
|
+
*
|
|
52
|
+
* 为什么是 appCenter 而不是 sidebar-semi(见 card-builder.ts:sidebarUrl):
|
|
53
|
+
* sidebar 是一次性侧边浮层,关掉就没了;appCenter 打开的是客户端左侧的应用标签
|
|
54
|
+
* 页,用户可以右键固定,等于给工作台一个常驻入口——这正是「零门槛拿到入口」要
|
|
55
|
+
* 的形态。
|
|
56
|
+
*
|
|
57
|
+
* `targetUrl` 必须整体 encodeURIComponent:工作台目标 URL 自带 `?t=<token>`
|
|
58
|
+
* 查询串和 `#/agent-workbench` fragment,不转义会被客户端当成 AppLink 自己的
|
|
59
|
+
* 参数、并在 `#` 处截断。
|
|
60
|
+
*/
|
|
61
|
+
export function appCenterAppLink(targetUrl, brand = 'feishu') {
|
|
62
|
+
const host = larkHosts(brand).applink;
|
|
63
|
+
return `https://${host}/client/web_url/open?mode=appCenter&url=${encodeURIComponent(targetUrl)}`;
|
|
64
|
+
}
|
|
49
65
|
/** Build an AppLink for a topic inside a topic group. `threadId` is the
|
|
50
66
|
* `omt_...` topic id, not the `om_...` root-message id used for routing.
|
|
51
67
|
* Lark's own message AppLinks use `thread_position=-1`; large positive values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-hosts.js","sourceRoot":"","sources":["../../../src/im/lark/lark-hosts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,MAAM,MAAM,GAAc;IACxB,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,MAAM,IAAI,GAAc;IACtB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,gCAAgC;IAC1C,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,QAAe,QAAQ;IAC/C,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,QAAe,QAAQ;IAC/C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAe,QAAQ;IACjE,OAAO,WAAW,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,gCAAgC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACzG,CAAC;AAED;;;uEAGuE;AACvE,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAe,QAAQ;IACrF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,WAAW,IAAI,oCAAoC,IAAI,mBAAmB,MAAM,eAAe,IAAI,iBAAiB,MAAM,qBAAqB,CAAC;AACzJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"lark-hosts.js","sourceRoot":"","sources":["../../../src/im/lark/lark-hosts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,MAAM,MAAM,GAAc;IACxB,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,MAAM,IAAI,GAAc;IACtB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,gCAAgC;IAC1C,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,QAAe,QAAQ;IAC/C,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,QAAe,QAAQ;IAC/C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAe,QAAQ;IACjE,OAAO,WAAW,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,gCAAgC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,QAAe,QAAQ;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACtC,OAAO,WAAW,IAAI,2CAA2C,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;AACnG,CAAC;AAED;;;uEAGuE;AACvE,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAe,QAAQ;IACrF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,WAAW,IAAI,oCAAoC,IAAI,mBAAmB,MAAM,eAAe,IAAI,iBAAiB,MAAM,qBAAqB,CAAC;AACzJ,CAAC"}
|
|
@@ -14,6 +14,7 @@ import type { DashboardSettingsInput } from '../../dashboard/settings-card-model
|
|
|
14
14
|
import type { ScheduleCardTaskInput } from '../../dashboard/schedule-card-model.js';
|
|
15
15
|
import type { SessionRow } from '../../core/dashboard-rows.js';
|
|
16
16
|
import { type Locale } from '../../i18n/index.js';
|
|
17
|
+
import { type WorkbenchButtonLinks } from '../../core/workbench-link.js';
|
|
17
18
|
import type { CardActionData } from './card-handler.js';
|
|
18
19
|
export declare const OVERVIEW_ACTION_REFRESH: "dash_overview_refresh";
|
|
19
20
|
export declare const OVERVIEW_ACTION_GOTO_SESSIONS: "dash_overview_goto_sessions";
|
|
@@ -60,6 +61,24 @@ export declare function buildSettingsSummary(settings: DashboardSettingsInput, l
|
|
|
60
61
|
export interface BuildOverviewCardOpts {
|
|
61
62
|
invokerOpenId: string;
|
|
62
63
|
locale: Locale;
|
|
64
|
+
/**
|
|
65
|
+
* 「打开工作台」入口的目标。缺省(读不到 dashboard 端口等)就整块不渲染,
|
|
66
|
+
* 而不是渲染一个点了没反应的死链。链接怎么来的见 `core/workbench-link.ts`。
|
|
67
|
+
*
|
|
68
|
+
* ⚠️ 这条链接携带**长期 Dashboard token**,常驻不过期——这是产品 owner 拍板的
|
|
69
|
+
* 决策反转(此前是 30 分钟短票,见 workbench-link.ts 顶部「为什么链接里是长期
|
|
70
|
+
* token」)。自部署用户要的是一条能收藏的入口,泄漏风险由
|
|
71
|
+
* `botmux dashboard rotate` 兜底。
|
|
72
|
+
*
|
|
73
|
+
* 正因为它是常驻凭证,**发出前的门禁一层都不能放宽**:命令入口在
|
|
74
|
+
* `dashboard-command/owner-gate.ts` 拦,回调入口在下面 `handleOverviewCardAction`
|
|
75
|
+
* 的 invoker-lock + `isDashboardAdmin` 拦,卡片是私信给发起人本人。
|
|
76
|
+
*/
|
|
77
|
+
workbench?: {
|
|
78
|
+
appLink: string;
|
|
79
|
+
webUrl: string;
|
|
80
|
+
credentialed: boolean;
|
|
81
|
+
};
|
|
63
82
|
}
|
|
64
83
|
export interface OverviewSnapshotInput {
|
|
65
84
|
sessions: ReadonlyArray<SessionRow>;
|
|
@@ -76,6 +95,9 @@ export interface OverviewCardHandlerDeps {
|
|
|
76
95
|
locale?: Locale;
|
|
77
96
|
/** Override `Date.now()` so tests are deterministic. */
|
|
78
97
|
nowMs?: () => number;
|
|
98
|
+
/** Override the workbench link resolution (reads dashboard port/token from
|
|
99
|
+
* disk in production). Tests inject a fixed value. */
|
|
100
|
+
resolveWorkbench?: (larkAppId: string) => WorkbenchButtonLinks | undefined;
|
|
79
101
|
}
|
|
80
102
|
export interface OverviewCardHandlerResult {
|
|
81
103
|
toast?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview-card.d.ts","sourceRoot":"","sources":["../../../src/im/lark/overview-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,MAAM,EAAK,MAAM,qBAAqB,CAAC;AAQrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,uBAAuB,EAAG,uBAAgC,CAAC;AACxE,eAAO,MAAM,6BAA6B,EAAG,6BAAsC,CAAC;AACpF,eAAO,MAAM,8BAA8B,EAAG,8BAAuC,CAAC;AACtF,eAAO,MAAM,6BAA6B,EAAG,6BAAsC,CAAC;AACpF,eAAO,MAAM,2BAA2B,EAAG,2BAAoC,CAAC;AAWhF,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;gDAE4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAW5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,cAAc,CAU1F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,MAAM,GACb,MAAM,CAuCR;AAqBD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"overview-card.d.ts","sourceRoot":"","sources":["../../../src/im/lark/overview-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { buildSchedulesCard } from './schedules-card.js';
|
|
|
16
16
|
import { buildSettingsCard } from './settings-card.js';
|
|
17
17
|
import { buildGroupsCard } from './groups-card.js';
|
|
18
18
|
import { composeSections } from '../../dashboard/settings-card-model.js';
|
|
19
|
+
import { resolveWorkbenchButtonLinks, } from '../../core/workbench-link.js';
|
|
19
20
|
export const OVERVIEW_ACTION_REFRESH = 'dash_overview_refresh';
|
|
20
21
|
export const OVERVIEW_ACTION_GOTO_SESSIONS = 'dash_overview_goto_sessions';
|
|
21
22
|
export const OVERVIEW_ACTION_GOTO_SCHEDULES = 'dash_overview_goto_schedules';
|
|
@@ -128,6 +129,50 @@ export function buildOverviewCard(snapshot, opts) {
|
|
|
128
129
|
const scheduleCounts = countSchedules(snapshot.schedules);
|
|
129
130
|
const settingsSummary = buildSettingsSummary(snapshot.settings, opts.locale);
|
|
130
131
|
const elements = [];
|
|
132
|
+
// ─── 打开工作台 ──────────────────────────────────────────────────────
|
|
133
|
+
// 排在最前面:这是新用户从飞书进 Web 工作台的唯一入口,排到会话/群组后面就
|
|
134
|
+
// 等于没有。纯链接按钮,没有 callback,所以不经过 handleOverviewCardAction。
|
|
135
|
+
// PC 用 appCenter AppLink(在飞书导航栏开标签页、可右键固定 → 常驻入口;
|
|
136
|
+
// `mode=window` 那种独立窗口关掉就没了,配不上「常驻」),移动端不识别 mode,
|
|
137
|
+
// 直接给网页 URL。缺链接时整块不渲染,不留死按钮。
|
|
138
|
+
if (opts.workbench) {
|
|
139
|
+
elements.push({
|
|
140
|
+
tag: 'action',
|
|
141
|
+
actions: [{
|
|
142
|
+
tag: 'button',
|
|
143
|
+
text: {
|
|
144
|
+
tag: 'plain_text',
|
|
145
|
+
content: t('card.dashboard.overview.open_workbench', undefined, opts.locale),
|
|
146
|
+
},
|
|
147
|
+
type: 'primary',
|
|
148
|
+
multi_url: {
|
|
149
|
+
url: opts.workbench.appLink,
|
|
150
|
+
pc_url: opts.workbench.appLink,
|
|
151
|
+
android_url: opts.workbench.webUrl,
|
|
152
|
+
ios_url: opts.workbench.webUrl,
|
|
153
|
+
},
|
|
154
|
+
}],
|
|
155
|
+
});
|
|
156
|
+
// 这里**故意不再多渲染一行明文链接**(曾短暂上过一版,产品试用后撤下):
|
|
157
|
+
// 一整行 token 链接摊在卡片正文里太吵,且卡片是持久化载体(历史/转发/截图
|
|
158
|
+
// 都留着),明文摊开只会把常驻凭证的暴露面放得更大。入口只留按钮一个,
|
|
159
|
+
// token 只出现在按钮的 URL 里;owner 想拿到链接本体去收藏,走工作台
|
|
160
|
+
// `⋯` 菜单里的「常驻链接」自取面板(dashboard/web/agent-workbench-appearance-menu.tsx)
|
|
161
|
+
// 或终端 `botmux dashboard` 的第二行。别顺手把这行加回来。
|
|
162
|
+
// 小字:带凭证时说清「入口常驻不过期 + 怀疑泄漏怎么自救」,这是常驻链接风险
|
|
163
|
+
// 交换里用户那一侧的知情权;降级成无凭证链接时改说「需自行登录」,别吹不存在
|
|
164
|
+
// 的能力。注意小字里只放 rotate 命令,不放链接本体(见上)。
|
|
165
|
+
elements.push({
|
|
166
|
+
tag: 'note',
|
|
167
|
+
elements: [{
|
|
168
|
+
tag: 'lark_md',
|
|
169
|
+
content: t(opts.workbench.credentialed
|
|
170
|
+
? 'card.dashboard.overview.workbench.standing_hint'
|
|
171
|
+
: 'card.dashboard.overview.workbench.login_required_hint', undefined, opts.locale),
|
|
172
|
+
}],
|
|
173
|
+
});
|
|
174
|
+
elements.push({ tag: 'hr' });
|
|
175
|
+
}
|
|
131
176
|
// ─── Sessions section ────────────────────────────────────────────────
|
|
132
177
|
elements.push({
|
|
133
178
|
tag: 'div',
|
|
@@ -307,7 +352,12 @@ export async function handleOverviewCardAction(data, larkAppId, deps) {
|
|
|
307
352
|
const client = deps.createClient(larkAppId);
|
|
308
353
|
const nowMs = deps.nowMs ? deps.nowMs() : Date.now();
|
|
309
354
|
if (action === OVERVIEW_ACTION_REFRESH) {
|
|
310
|
-
|
|
355
|
+
// 刷新必须重新带上工作台入口,否则用户点一下「🔄 刷新」入口就消失了。
|
|
356
|
+
// 这里已经过了 invoker-lock + isDashboardAdmin 两道门,才允许解析出带长期
|
|
357
|
+
// token 的常驻链接(产品决策见 core/workbench-link.ts)。链接本身是稳定的,
|
|
358
|
+
// 刷新拿到的与首次投递逐字相同——收藏过的那条不会因为刷新而对不上。
|
|
359
|
+
const workbench = (deps.resolveWorkbench ?? resolveWorkbenchButtonLinks)(larkAppId);
|
|
360
|
+
return rebuildOverview(client, operatorOpenId, locale, workbench);
|
|
311
361
|
}
|
|
312
362
|
if (action === OVERVIEW_ACTION_GOTO_SESSIONS) {
|
|
313
363
|
// Re-use the same Route B endpoint that sessions-card refresh hits so
|
|
@@ -401,7 +451,7 @@ export async function handleOverviewCardAction(data, larkAppId, deps) {
|
|
|
401
451
|
return ackToast('card.dashboard.settings.invalid_action', locale);
|
|
402
452
|
}
|
|
403
453
|
/** Fetch `overview-snapshot` and rebuild the overview card JSON. */
|
|
404
|
-
async function rebuildOverview(client, invokerOpenId, locale) {
|
|
454
|
+
async function rebuildOverview(client, invokerOpenId, locale, workbench) {
|
|
405
455
|
let r;
|
|
406
456
|
try {
|
|
407
457
|
// `/dashboard` is global: overview-snapshot widens list modules under
|
|
@@ -423,7 +473,7 @@ async function rebuildOverview(client, invokerOpenId, locale) {
|
|
|
423
473
|
sessions: body.sessions ?? [],
|
|
424
474
|
schedules: body.schedules ?? [],
|
|
425
475
|
settings: body.settings,
|
|
426
|
-
}, { invokerOpenId, locale });
|
|
476
|
+
}, { invokerOpenId, locale, workbench });
|
|
427
477
|
return { card: { type: 'raw', data: JSON.parse(cardJson) } };
|
|
428
478
|
}
|
|
429
479
|
//# sourceMappingURL=overview-card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview-card.js","sourceRoot":"","sources":["../../../src/im/lark/overview-card.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overview-card.js","sourceRoot":"","sources":["../../../src/im/lark/overview-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions-card.d.ts","sourceRoot":"","sources":["../../../src/im/lark/sessions-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions-card.d.ts","sourceRoot":"","sources":["../../../src/im/lark/sessions-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ import { isDashboardAdmin } from '../../dashboard/dashboard-admins.js';
|
|
|
21
21
|
import { composeEntries, sortByStatus, paginate, composeDetail } from '../../dashboard/session-card-model.js';
|
|
22
22
|
import { config } from '../../config.js';
|
|
23
23
|
import { formatUrlHost } from '../../core/dashboard-url.js';
|
|
24
|
+
import { closeResidualIsLocal, describeCloseResidual, parseCloseResidual } from '../../core/close-residual.js';
|
|
24
25
|
import { t } from '../../i18n/index.js';
|
|
25
26
|
import { terminalMultiUrl } from './card-builder.js';
|
|
26
27
|
export const SESSIONS_ACTION_REFRESH = 'dash_sessions_refresh';
|
|
@@ -658,8 +659,7 @@ export async function handleSessionsCardAction(data, larkAppId, deps) {
|
|
|
658
659
|
}
|
|
659
660
|
// Synthesize the closed-state row from the pre-POST snapshot. Merge
|
|
660
661
|
// closedAt/cliResumeCommand from the close response if the upstream
|
|
661
|
-
// ever surfaces them (defensive —
|
|
662
|
-
// `{ ok, alreadyClosed }`, but the proxy may evolve).
|
|
662
|
+
// ever surfaces them (defensive — the proxy may evolve).
|
|
663
663
|
const body = (resp.body ?? {});
|
|
664
664
|
const synthClosedAt = typeof body.closedAt === 'number' && Number.isFinite(body.closedAt)
|
|
665
665
|
? body.closedAt
|
|
@@ -675,6 +675,12 @@ export async function handleSessionsCardAction(data, larkAppId, deps) {
|
|
|
675
675
|
webPort: null,
|
|
676
676
|
proxyPort: undefined,
|
|
677
677
|
};
|
|
678
|
+
// The close may have succeeded LOCALLY while leaving a remote session running
|
|
679
|
+
// (a quarantined mojo lineage cannot be cancelled safely). The daemon reports
|
|
680
|
+
// that as `outcome: 'closed_with_residual'`; rendering the ordinary closed card
|
|
681
|
+
// would tell the operator everything is gone. This seam is JSON, so only an
|
|
682
|
+
// explicit read preserves it.
|
|
683
|
+
const residual = parseCloseResidual(body);
|
|
678
684
|
const detail = composeDetail(synth, now());
|
|
679
685
|
const cardJson = buildSessionsDetailCard(detail, {
|
|
680
686
|
invokerOpenId: operatorOpenId,
|
|
@@ -687,7 +693,24 @@ export async function handleSessionsCardAction(data, larkAppId, deps) {
|
|
|
687
693
|
terminalUrl: buildSessionTerminalUrl(synth),
|
|
688
694
|
feishuChatLink: synth.feishuChatLink ?? null,
|
|
689
695
|
});
|
|
690
|
-
|
|
696
|
+
const card = JSON.parse(cardJson);
|
|
697
|
+
if (residual) {
|
|
698
|
+
// Card-only success path (deliberately no toast, to avoid double render), so
|
|
699
|
+
// the warning has to ride on the card itself.
|
|
700
|
+
const elements = Array.isArray(card.elements)
|
|
701
|
+
? card.elements
|
|
702
|
+
: undefined;
|
|
703
|
+
elements?.unshift({
|
|
704
|
+
tag: 'markdown',
|
|
705
|
+
// locale-aware: an English bot must not receive a Chinese warning.
|
|
706
|
+
// A LOCAL residual is a host subtree, not a remote session — a distinct
|
|
707
|
+
// key so the operator is not sent after a nonexistent remote id.
|
|
708
|
+
content: t(closeResidualIsLocal(residual)
|
|
709
|
+
? 'card.dashboard.sessions.close_residual_local'
|
|
710
|
+
: 'card.dashboard.sessions.close_residual', { taskId: describeCloseResidual(residual) }, locale),
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
return { card: { type: 'raw', data: card } };
|
|
691
714
|
}
|
|
692
715
|
// ─── 3b2) LOCATE — POST + toast-only (thread-scope only) ────────────
|
|
693
716
|
// Sync block: await POST → success toast (or error toast on non-200 /
|