botmux 2.107.0 → 2.108.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +17 -14
- package/README.md +19 -14
- package/dist/adapters/backend/sandbox.d.ts +3 -1
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +19 -3
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +16 -1
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +24 -15
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +75 -43
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/cli/genius.d.ts.map +1 -1
- package/dist/adapters/cli/genius.js +9 -15
- package/dist/adapters/cli/genius.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts +73 -0
- package/dist/adapters/cli/grok.d.ts.map +1 -0
- package/dist/adapters/cli/grok.js +298 -0
- package/dist/adapters/cli/grok.js.map +1 -0
- package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
- package/dist/adapters/cli/oh-my-pi.js +133 -12
- package/dist/adapters/cli/oh-my-pi.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +3 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +8 -4
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +8 -4
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +18 -16
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/adapters/hook-installer.d.ts +5 -4
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +42 -0
- package/dist/adapters/hook-installer.js.map +1 -1
- package/dist/cli/send-dispatch.d.ts +21 -0
- package/dist/cli/send-dispatch.d.ts.map +1 -1
- package/dist/cli/send-dispatch.js +159 -0
- package/dist/cli/send-dispatch.js.map +1 -1
- package/dist/cli/session-list-liveness.d.ts +22 -0
- package/dist/cli/session-list-liveness.d.ts.map +1 -0
- package/dist/cli/session-list-liveness.js +22 -0
- package/dist/cli/session-list-liveness.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +182 -33
- package/dist/cli.js.map +1 -1
- package/dist/core/ask-types.d.ts +4 -0
- package/dist/core/ask-types.d.ts.map +1 -1
- package/dist/core/ask-types.js +10 -0
- package/dist/core/ask-types.js.map +1 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +35 -13
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +89 -16
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +6 -2
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +6 -5
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +11 -8
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/maintenance.d.ts +11 -8
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +45 -20
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/per-bot-env.d.ts.map +1 -1
- package/dist/core/per-bot-env.js +4 -0
- package/dist/core/per-bot-env.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +4 -0
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
- package/dist/core/skills/cli-admin-command.js +8 -2
- package/dist/core/skills/cli-admin-command.js.map +1 -1
- package/dist/core/skills/im-command.d.ts.map +1 -1
- package/dist/core/skills/im-command.js +3 -1
- package/dist/core/skills/im-command.js.map +1 -1
- package/dist/core/skills/sources.d.ts +33 -1
- package/dist/core/skills/sources.d.ts.map +1 -1
- package/dist/core/skills/sources.js +97 -0
- package/dist/core/skills/sources.js.map +1 -1
- package/dist/core/skills/types.d.ts +8 -0
- package/dist/core/skills/types.d.ts.map +1 -1
- package/dist/core/terminal-url.d.ts.map +1 -1
- package/dist/core/terminal-url.js +12 -2
- package/dist/core/terminal-url.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +34 -0
- package/dist/core/terminal-write-auth.d.ts.map +1 -0
- package/dist/core/terminal-write-auth.js +76 -0
- package/dist/core/terminal-write-auth.js.map +1 -0
- package/dist/core/tmux-recovery.d.ts +11 -0
- package/dist/core/tmux-recovery.d.ts.map +1 -0
- package/dist/core/tmux-recovery.js +19 -0
- package/dist/core/tmux-recovery.js.map +1 -0
- package/dist/core/types.d.ts +10 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/update-check.d.ts +2 -2
- package/dist/core/update-check.js +2 -2
- package/dist/core/worker-pool.d.ts +3 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +70 -3
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +15 -8
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/auth.d.ts +1 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +7 -2
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +3 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +3 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/connector-api.d.ts.map +1 -1
- package/dist/dashboard/connector-api.js +39 -13
- package/dist/dashboard/connector-api.js.map +1 -1
- package/dist/dashboard/history-senders.d.ts +37 -0
- package/dist/dashboard/history-senders.d.ts.map +1 -0
- package/dist/dashboard/history-senders.js +60 -0
- package/dist/dashboard/history-senders.js.map +1 -0
- package/dist/dashboard/roles-batch.d.ts +31 -0
- package/dist/dashboard/roles-batch.d.ts.map +1 -0
- package/dist/dashboard/roles-batch.js +87 -0
- package/dist/dashboard/roles-batch.js.map +1 -0
- package/dist/dashboard/settings-card-model.d.ts +4 -2
- package/dist/dashboard/settings-card-model.d.ts.map +1 -1
- package/dist/dashboard/settings-card-model.js +13 -5
- package/dist/dashboard/settings-card-model.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +4 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +6 -1
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/skill-install-request.d.ts +4 -0
- package/dist/dashboard/skill-install-request.d.ts.map +1 -1
- package/dist/dashboard/skill-install-request.js +11 -1
- package/dist/dashboard/skill-install-request.js.map +1 -1
- package/dist/dashboard/trigger-api.d.ts +9 -1
- package/dist/dashboard/trigger-api.d.ts.map +1 -1
- package/dist/dashboard/trigger-api.js +48 -10
- package/dist/dashboard/trigger-api.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +286 -271
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +1408 -12
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +91 -4
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +43 -2141
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
- package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
- package/dist/dashboard/web/bot-onboarding.js +261 -306
- package/dist/dashboard/web/bot-onboarding.js.map +1 -1
- package/dist/dashboard/web/connectors-page.d.ts +4 -0
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
- package/dist/dashboard/web/connectors-page.js +228 -48
- package/dist/dashboard/web/connectors-page.js.map +1 -1
- package/dist/dashboard/web/dashboard-api.d.ts +9 -0
- package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-api.js +18 -0
- package/dist/dashboard/web/dashboard-api.js.map +1 -0
- package/dist/dashboard/web/dashboard-components.d.ts +92 -0
- package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-components.js +250 -0
- package/dist/dashboard/web/dashboard-components.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +30 -183
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
- package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
- package/dist/dashboard/web/floating-scrollbars.js +264 -0
- package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
- package/dist/dashboard/web/groups-api.d.ts +36 -0
- package/dist/dashboard/web/groups-api.d.ts.map +1 -0
- package/dist/dashboard/web/groups-api.js +44 -0
- package/dist/dashboard/web/groups-api.js.map +1 -0
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +746 -15
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/groups.d.ts +51 -18
- package/dist/dashboard/web/groups.d.ts.map +1 -1
- package/dist/dashboard/web/groups.js +145 -1096
- package/dist/dashboard/web/groups.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +545 -255
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/insights-page.d.ts.map +1 -1
- package/dist/dashboard/web/insights-page.js +1047 -14
- package/dist/dashboard/web/insights-page.js.map +1 -1
- package/dist/dashboard/web/insights.d.ts +177 -7
- package/dist/dashboard/web/insights.d.ts.map +1 -1
- package/dist/dashboard/web/insights.js +187 -1926
- package/dist/dashboard/web/insights.js.map +1 -1
- package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
- package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
- package/dist/dashboard/web/legacy-workflow-page.js +717 -0
- package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
- package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
- package/dist/dashboard/web/monitor-room.js +10 -8
- package/dist/dashboard/web/monitor-room.js.map +1 -1
- package/dist/dashboard/web/monitoring-page.d.ts.map +1 -1
- package/dist/dashboard/web/monitoring-page.js +188 -14
- package/dist/dashboard/web/monitoring-page.js.map +1 -1
- package/dist/dashboard/web/office-page.d.ts.map +1 -1
- package/dist/dashboard/web/office-page.js +11 -23
- package/dist/dashboard/web/office-page.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +141 -147
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/overview.d.ts +0 -1
- package/dist/dashboard/web/overview.d.ts.map +1 -1
- package/dist/dashboard/web/overview.js +3 -275
- package/dist/dashboard/web/overview.js.map +1 -1
- package/dist/dashboard/web/preferences.d.ts +1 -6
- package/dist/dashboard/web/preferences.d.ts.map +1 -1
- package/dist/dashboard/web/preferences.js +0 -21
- package/dist/dashboard/web/preferences.js.map +1 -1
- package/dist/dashboard/web/role-batch.d.ts +9 -0
- package/dist/dashboard/web/role-batch.d.ts.map +1 -0
- package/dist/dashboard/web/role-batch.js +42 -0
- package/dist/dashboard/web/role-batch.js.map +1 -0
- package/dist/dashboard/web/roles-page.d.ts.map +1 -1
- package/dist/dashboard/web/roles-page.js +538 -13
- package/dist/dashboard/web/roles-page.js.map +1 -1
- package/dist/dashboard/web/roles.d.ts +98 -1
- package/dist/dashboard/web/roles.d.ts.map +1 -1
- package/dist/dashboard/web/roles.js +117 -903
- package/dist/dashboard/web/roles.js.map +1 -1
- package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
- package/dist/dashboard/web/schedules-page.js +82 -24
- package/dist/dashboard/web/schedules-page.js.map +1 -1
- package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
- package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
- package/dist/dashboard/web/sessions-kanban.js +481 -0
- package/dist/dashboard/web/sessions-kanban.js.map +1 -0
- package/dist/dashboard/web/sessions-page.d.ts +4 -0
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +1633 -18
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts +45 -4
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +53 -2535
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +0 -2
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +127 -117
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts +10 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +235 -93
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation-page.js +446 -28
- package/dist/dashboard/web/team-federation-page.js.map +1 -1
- package/dist/dashboard/web/team-federation.d.ts +91 -2
- package/dist/dashboard/web/team-federation.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation.js +87 -474
- package/dist/dashboard/web/team-federation.js.map +1 -1
- package/dist/dashboard/web/theme-menu.d.ts +1 -0
- package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
- package/dist/dashboard/web/theme-menu.js +79 -20
- package/dist/dashboard/web/theme-menu.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +1 -2
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +8 -20
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/v3-api.d.ts +16 -0
- package/dist/dashboard/web/v3-api.d.ts.map +1 -0
- package/dist/dashboard/web/v3-api.js +21 -0
- package/dist/dashboard/web/v3-api.js.map +1 -0
- package/dist/dashboard/web/v3-components.d.ts +2 -0
- package/dist/dashboard/web/v3-components.d.ts.map +1 -0
- package/dist/dashboard/web/v3-components.js +290 -0
- package/dist/dashboard/web/v3-components.js.map +1 -0
- package/dist/dashboard/web/v3-model.d.ts +80 -0
- package/dist/dashboard/web/v3-model.d.ts.map +1 -0
- package/dist/dashboard/web/v3-model.js +240 -0
- package/dist/dashboard/web/v3-model.js.map +1 -0
- package/dist/dashboard/web/v3-page.d.ts.map +1 -1
- package/dist/dashboard/web/v3-page.js +2 -22
- package/dist/dashboard/web/v3-page.js.map +1 -1
- package/dist/dashboard/web/v3-terminal.d.ts +14 -0
- package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
- package/dist/dashboard/web/v3-terminal.js +31 -19
- package/dist/dashboard/web/v3-terminal.js.map +1 -1
- package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
- package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
- package/dist/dashboard/web/webhook-logs-page.js +195 -0
- package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
- package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
- package/dist/dashboard/web/whiteboards-page.js +18 -23
- package/dist/dashboard/web/whiteboards-page.js.map +1 -1
- package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
- package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
- package/dist/dashboard/web/workflow-version-switch.js +9 -0
- package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
- package/dist/dashboard/web/workflows.d.ts +272 -1
- package/dist/dashboard/web/workflows.d.ts.map +1 -1
- package/dist/dashboard/web/workflows.js +211 -1397
- package/dist/dashboard/web/workflows.js.map +1 -1
- package/dist/dashboard/webhook-routes.d.ts.map +1 -1
- package/dist/dashboard/webhook-routes.js +92 -39
- package/dist/dashboard/webhook-routes.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -65
- package/dist/dashboard-web/brand-logo.png +0 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
- package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
- package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
- package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
- package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
- package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
- package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
- package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
- package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
- package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
- package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
- package/dist/dashboard-web/chunks/{monitor-room-RFX4HPS5.js → monitor-room-WTZNYAFV.js} +17 -15
- package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
- package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
- package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
- package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
- package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
- package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
- package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
- package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
- package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
- package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
- package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
- package/dist/dashboard-web/favicon.png +0 -0
- package/dist/dashboard-web/index.html +5 -69
- package/dist/dashboard-web/style.css +18835 -7211
- package/dist/dashboard.js +150 -32
- package/dist/dashboard.js.map +1 -1
- package/dist/global-config.d.ts +2 -2
- package/dist/global-config.d.ts.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +3 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +3 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +7 -5
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +10 -7
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +25 -1
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +84 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/platform/binding.d.ts +9 -0
- package/dist/platform/binding.d.ts.map +1 -1
- package/dist/platform/binding.js +14 -0
- package/dist/platform/binding.js.map +1 -1
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js +9 -0
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -1
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +11 -5
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/file-bridge-path.d.ts +8 -0
- package/dist/services/file-bridge-path.d.ts.map +1 -0
- package/dist/services/file-bridge-path.js +75 -0
- package/dist/services/file-bridge-path.js.map +1 -0
- package/dist/services/grok-paths.d.ts +27 -0
- package/dist/services/grok-paths.d.ts.map +1 -0
- package/dist/services/grok-paths.js +106 -0
- package/dist/services/grok-paths.js.map +1 -0
- package/dist/services/grok-transcript.d.ts +67 -0
- package/dist/services/grok-transcript.d.ts.map +1 -0
- package/dist/services/grok-transcript.js +630 -0
- package/dist/services/grok-transcript.js.map +1 -0
- package/dist/services/hermes-session-filter.d.ts +28 -0
- package/dist/services/hermes-session-filter.d.ts.map +1 -0
- package/dist/services/hermes-session-filter.js +53 -0
- package/dist/services/hermes-session-filter.js.map +1 -0
- package/dist/services/hermes-transcript.d.ts +3 -0
- package/dist/services/hermes-transcript.d.ts.map +1 -1
- package/dist/services/hermes-transcript.js +20 -2
- package/dist/services/hermes-transcript.js.map +1 -1
- package/dist/services/resumable-session-discovery.d.ts +3 -0
- package/dist/services/resumable-session-discovery.d.ts.map +1 -1
- package/dist/services/resumable-session-discovery.js +6 -1
- package/dist/services/resumable-session-discovery.js.map +1 -1
- package/dist/services/skill-registry-store.d.ts +9 -0
- package/dist/services/skill-registry-store.d.ts.map +1 -1
- package/dist/services/skill-registry-store.js +304 -1
- package/dist/services/skill-registry-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +29 -0
- package/dist/services/structured-bridge-clis.d.ts.map +1 -0
- package/dist/services/structured-bridge-clis.js +76 -0
- package/dist/services/structured-bridge-clis.js.map +1 -0
- package/dist/services/trigger-log-store.d.ts +59 -0
- package/dist/services/trigger-log-store.d.ts.map +1 -1
- package/dist/services/trigger-log-store.js +81 -10
- package/dist/services/trigger-log-store.js.map +1 -1
- package/dist/services/usage-ledger.d.ts +4 -1
- package/dist/services/usage-ledger.d.ts.map +1 -1
- package/dist/services/usage-ledger.js +48 -10
- package/dist/services/usage-ledger.js.map +1 -1
- package/dist/services/webhook-audit.d.ts +10 -0
- package/dist/services/webhook-audit.d.ts.map +1 -0
- package/dist/services/webhook-audit.js +116 -0
- package/dist/services/webhook-audit.js.map +1 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-tmux.d.ts +26 -12
- package/dist/setup/ensure-tmux.d.ts.map +1 -1
- package/dist/setup/ensure-tmux.js +85 -18
- package/dist/setup/ensure-tmux.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +14 -1
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +16 -0
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +25 -0
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/global-install.d.ts +22 -0
- package/dist/utils/global-install.d.ts.map +1 -0
- package/dist/utils/global-install.js +106 -0
- package/dist/utils/global-install.js.map +1 -0
- package/dist/utils/install-diagnostics.d.ts +1 -1
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +6 -4
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/install-info.d.ts +2 -0
- package/dist/utils/install-info.d.ts.map +1 -1
- package/dist/utils/install-info.js +10 -4
- package/dist/utils/install-info.js.map +1 -1
- package/dist/worker.js +293 -172
- package/dist/worker.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +10 -10
- package/dist/workflows/events/schema.d.ts +28 -28
- package/package.json +8 -7
- package/dist/dashboard/web/connectors.d.ts +0 -2
- package/dist/dashboard/web/connectors.d.ts.map +0 -1
- package/dist/dashboard/web/connectors.js +0 -2
- package/dist/dashboard/web/connectors.js.map +0 -1
- package/dist/dashboard/web/office.d.ts +0 -2
- package/dist/dashboard/web/office.d.ts.map +0 -1
- package/dist/dashboard/web/office.js +0 -2
- package/dist/dashboard/web/office.js.map +0 -1
- package/dist/dashboard/web/schedules.d.ts +0 -2
- package/dist/dashboard/web/schedules.d.ts.map +0 -1
- package/dist/dashboard/web/schedules.js +0 -2
- package/dist/dashboard/web/schedules.js.map +0 -1
- package/dist/dashboard/web/settings.d.ts +0 -2
- package/dist/dashboard/web/settings.d.ts.map +0 -1
- package/dist/dashboard/web/settings.js +0 -2
- package/dist/dashboard/web/settings.js.map +0 -1
- package/dist/dashboard/web/skills.d.ts +0 -2
- package/dist/dashboard/web/skills.d.ts.map +0 -1
- package/dist/dashboard/web/skills.js +0 -2
- package/dist/dashboard/web/skills.js.map +0 -1
- package/dist/dashboard/web/skin-intro.d.ts +0 -4
- package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
- package/dist/dashboard/web/skin-intro.js +0 -49
- package/dist/dashboard/web/skin-intro.js.map +0 -1
- package/dist/dashboard/web/v3.d.ts +0 -3
- package/dist/dashboard/web/v3.d.ts.map +0 -1
- package/dist/dashboard/web/v3.js +0 -539
- package/dist/dashboard/web/v3.js.map +0 -1
- package/dist/dashboard/web/whiteboards.d.ts +0 -2
- package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
- package/dist/dashboard/web/whiteboards.js +0 -2
- package/dist/dashboard/web/whiteboards.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +0 -438
- package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +0 -1
- package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +0 -37
- package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
- package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
- package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
- package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
- package/dist/dashboard-web/chunks/chunk-PE6W3C2C.js +0 -1
- package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +0 -325
- package/dist/dashboard-web/chunks/connectors-IGETYWCP.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-MYBS4ZYJ.js +0 -207
- package/dist/dashboard-web/chunks/insights-page-UPA32V2S.js +0 -309
- package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +0 -1
- package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
- package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +0 -1
- package/dist/dashboard-web/chunks/roles-page-ESURTVQH.js +0 -98
- package/dist/dashboard-web/chunks/schedules-LML2ISOT.js +0 -1
- package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +0 -1
- package/dist/dashboard-web/chunks/settings-page-OSDKNVS3.js +0 -2
- package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +0 -2
- package/dist/dashboard-web/chunks/team-federation-page-TTPVHFPX.js +0 -10
- package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
- package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
- package/dist/dashboard-web/chunks/workflows-FCPM4S4D.js +0 -184
- package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
- package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
- package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
- package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
- package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
- package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
- package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { SectionHeader } from './dashboard-components.js';
|
|
4
|
+
import { legacyWorkflowDetailHash } from './legacy-workflow-link.js';
|
|
5
|
+
import { useT } from './react-hooks.js';
|
|
6
|
+
import { fetchV3RunDetail, fetchV3Runs, probeLegacyV2RunSnapshot, shouldProbeLegacyV2Fallback } from './v3-api.js';
|
|
7
|
+
import { WorkflowVersionSwitch } from './workflow-version-switch.js';
|
|
8
|
+
import { V3_DECISION_LABEL, V3_GRAPH, V3_NODE_LABEL, V3_POLL_MS, buildGraphLayout, buildRoundMiniDagLayout, graphNodes, isTerminalRunStatus, loopBudget, loopInstances, loopRounds, resolveLoopTerminalNode, trunc, v3RunIdFromHash, } from './v3-model.js';
|
|
9
|
+
import { nodeTerminalSignature, renderNodeTerminal } from './v3-terminal.js';
|
|
10
|
+
function isDocumentHidden() {
|
|
11
|
+
return typeof document !== 'undefined' && document.hidden;
|
|
12
|
+
}
|
|
13
|
+
function useV3RunsList() {
|
|
14
|
+
const [runs, setRuns] = useState([]);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
let disposed = false;
|
|
17
|
+
let timer = null;
|
|
18
|
+
const schedule = () => {
|
|
19
|
+
timer = window.setTimeout(() => { void poll(); }, V3_POLL_MS);
|
|
20
|
+
};
|
|
21
|
+
async function poll() {
|
|
22
|
+
if (disposed)
|
|
23
|
+
return;
|
|
24
|
+
if (!isDocumentHidden()) {
|
|
25
|
+
try {
|
|
26
|
+
const next = await fetchV3Runs();
|
|
27
|
+
if (!disposed)
|
|
28
|
+
setRuns(next);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
/* transient fetch error; next tick retries */
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!disposed)
|
|
35
|
+
schedule();
|
|
36
|
+
}
|
|
37
|
+
void poll();
|
|
38
|
+
return () => {
|
|
39
|
+
disposed = true;
|
|
40
|
+
if (timer !== null)
|
|
41
|
+
window.clearTimeout(timer);
|
|
42
|
+
};
|
|
43
|
+
}, []);
|
|
44
|
+
return runs;
|
|
45
|
+
}
|
|
46
|
+
function useV3RunDetail(runId) {
|
|
47
|
+
const [view, setView] = useState(null);
|
|
48
|
+
const [statusText, setStatusText] = useState('');
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
let disposed = false;
|
|
51
|
+
let timer = null;
|
|
52
|
+
let triedV2Fallback = false;
|
|
53
|
+
const schedule = () => {
|
|
54
|
+
timer = window.setTimeout(() => { void poll(); }, V3_POLL_MS);
|
|
55
|
+
};
|
|
56
|
+
async function maybeRedirectToLegacy(status) {
|
|
57
|
+
if (!shouldProbeLegacyV2Fallback(status, triedV2Fallback))
|
|
58
|
+
return false;
|
|
59
|
+
triedV2Fallback = true;
|
|
60
|
+
try {
|
|
61
|
+
const exists = await probeLegacyV2RunSnapshot(runId);
|
|
62
|
+
if (disposed || !exists)
|
|
63
|
+
return false;
|
|
64
|
+
window.location.replace(legacyWorkflowDetailHash(runId, location.hash.split('?')[1]));
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function poll() {
|
|
72
|
+
if (disposed)
|
|
73
|
+
return;
|
|
74
|
+
let stop = false;
|
|
75
|
+
if (!isDocumentHidden()) {
|
|
76
|
+
try {
|
|
77
|
+
const result = await fetchV3RunDetail(runId);
|
|
78
|
+
if (disposed)
|
|
79
|
+
return;
|
|
80
|
+
if (!result.ok) {
|
|
81
|
+
if (await maybeRedirectToLegacy(result.status))
|
|
82
|
+
return;
|
|
83
|
+
setStatusText(result.status === 404 ? 'not found' : `HTTP ${result.status}`);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
setView(result.view);
|
|
87
|
+
setStatusText(result.view.runStatus);
|
|
88
|
+
stop = isTerminalRunStatus(result.view.runStatus);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
/* transient fetch error; next tick retries */
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (!disposed && !stop)
|
|
96
|
+
schedule();
|
|
97
|
+
}
|
|
98
|
+
void poll();
|
|
99
|
+
return () => {
|
|
100
|
+
disposed = true;
|
|
101
|
+
if (timer !== null)
|
|
102
|
+
window.clearTimeout(timer);
|
|
103
|
+
};
|
|
104
|
+
}, [runId]);
|
|
105
|
+
return { view, statusText };
|
|
106
|
+
}
|
|
107
|
+
function V3ListPage() {
|
|
108
|
+
const tr = useT();
|
|
109
|
+
const runs = useV3RunsList();
|
|
110
|
+
const headingActions = (_jsxs("div", { className: "page-heading-actions v3r-run-toolbar", children: [_jsx("span", { className: "v3r-run-count", children: runs.length }), _jsx(WorkflowVersionSwitch, { active: "v3" })] }));
|
|
111
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "page-heading", children: [_jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: tr('nav.workflows') }), _jsx("h1", { children: tr('nav.workflows') })] }), headingActions] }), _jsx("section", { className: "overview-block v3r-runs-section", children: _jsx("div", { className: "v3r-run-list", children: runs.length ? runs.map((run) => (_jsxs("a", { className: "v3r-run-card", href: `#/workflows/${encodeURIComponent(run.runId)}`, children: [_jsxs("span", { className: "v3r-run-main", children: [_jsx("code", { className: "v3r-runid", children: run.runId }), _jsxs("small", { children: ["\u8282\u70B9 ", run.nodeCount] })] }), _jsx("span", { className: `v3r-pill rs-${run.runStatus}`, children: run.runStatus })] }, run.runId))) : (_jsxs("div", { className: "empty v3r-empty", children: ["\u6682\u65E0\u5DE5\u4F5C\u6D41\u8FD0\u884C\uFF08\u7528 ", _jsx("code", { children: "/workflow new" }), " \u53D1\u8D77\u4E00\u4E2A\uFF09"] })) }) })] }));
|
|
112
|
+
}
|
|
113
|
+
function V3DetailPage(props) {
|
|
114
|
+
const tr = useT();
|
|
115
|
+
const { view, statusText } = useV3RunDetail(props.runId);
|
|
116
|
+
const [selectedId, setSelectedId] = useState(null);
|
|
117
|
+
const [instanceId, setInstanceId] = useState(null);
|
|
118
|
+
const [instancePinned, setInstancePinned] = useState(false);
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
setSelectedId(null);
|
|
121
|
+
setInstanceId(null);
|
|
122
|
+
setInstancePinned(false);
|
|
123
|
+
}, [props.runId]);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
if (!view)
|
|
126
|
+
return;
|
|
127
|
+
setSelectedId((current) => {
|
|
128
|
+
if (current && view.nodes.some((node) => node.id === current))
|
|
129
|
+
return current;
|
|
130
|
+
return graphNodes(view)[0]?.id ?? view.nodes[0]?.id ?? null;
|
|
131
|
+
});
|
|
132
|
+
}, [view]);
|
|
133
|
+
const selectNode = useCallback((id) => {
|
|
134
|
+
setSelectedId(id);
|
|
135
|
+
setInstanceId(null);
|
|
136
|
+
setInstancePinned(false);
|
|
137
|
+
}, []);
|
|
138
|
+
const selectInstance = useCallback((id) => {
|
|
139
|
+
setInstanceId(id);
|
|
140
|
+
setInstancePinned(true);
|
|
141
|
+
}, []);
|
|
142
|
+
const selectedNode = view?.nodes.find((node) => node.id === selectedId) ?? null;
|
|
143
|
+
const statusClass = view ? `v3r-pill rs-${view.runStatus}` : 'v3r-pill';
|
|
144
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "page-heading v3r-detail-heading", children: [_jsxs("div", { className: "v3r-title-row", children: [_jsx("p", { className: "eyebrow", children: tr('nav.workflows') }), _jsxs("a", { href: "#/workflows", className: "btn-link v3r-back-link", children: ["\u2190 ", tr('nav.workflows')] }), _jsx("h1", { children: props.runId }), _jsx("span", { className: `${statusClass} v3r-run-status-pill`, children: statusText })] }), _jsx("div", { className: "page-heading-actions", children: _jsx(WorkflowVersionSwitch, { active: "v3" }) })] }), _jsxs("div", { className: "v3r-wrap", children: [_jsxs("section", { className: "overview-block v3r-graph-section", children: [_jsx(SectionHeader, { title: "\u8FD0\u884C\u62D3\u6251", hint: view ? `${view.nodes.length} 个节点` : statusText }), _jsxs("div", { className: "v3r-graph-card", children: [_jsx(DagGraph, { view: view, selectedId: selectedId, onSelect: selectNode }), _jsx(V3Legend, {})] })] }), _jsxs("section", { className: "overview-block v3r-node-section", children: [_jsx(SectionHeader, { title: "\u8282\u70B9\u8BE6\u60C5", hint: selectedNode ? (_jsxs("span", { className: `v3r-pill v3r-node-status-pill st-${selectedNode.status}`, children: [_jsx("i", { className: "dot" }), V3_NODE_LABEL[selectedNode.status]] })) : '选择一个节点' }), _jsx(NodePanel, { runId: props.runId, view: view, node: selectedNode, instanceId: instanceId, instancePinned: instancePinned, onInstanceSelect: selectInstance })] })] })] }));
|
|
145
|
+
}
|
|
146
|
+
function V3Legend() {
|
|
147
|
+
return (_jsxs("div", { className: "v3r-legend", children: [_jsx("span", { className: "lg st-pending", children: "\u5F85\u673A" }), _jsx("span", { className: "lg st-running", children: "\u8FD0\u884C\u4E2D" }), _jsx("span", { className: "lg st-gateWaiting", children: "\u7B49\u5BA1\u6279" }), _jsx("span", { className: "lg st-done", children: "\u5B8C\u6210" }), _jsx("span", { className: "lg st-skipped", children: "\u5DF2\u8DF3\u8FC7" }), _jsx("span", { className: "lg st-cancelled", children: "\u5DF2\u53D6\u6D88" }), _jsx("span", { className: "lg st-blocked", children: "\u53D7\u963B" }), _jsx("span", { className: "lg st-failed", children: "\u5931\u8D25" }), _jsx("span", { className: "lg lg-loop", children: "\u27F3 \u5FAA\u73AF\u5BB9\u5668" })] }));
|
|
148
|
+
}
|
|
149
|
+
function DagGraph(props) {
|
|
150
|
+
const layout = useMemo(() => props.view ? buildGraphLayout(props.view) : null, [props.view]);
|
|
151
|
+
const topologyKey = layout
|
|
152
|
+
? `${layout.width}:${layout.height}:${layout.nodes.map(box => box.node.id).join('\u0000')}`
|
|
153
|
+
: '';
|
|
154
|
+
const graphRef = useRef(null);
|
|
155
|
+
useLayoutEffect(() => {
|
|
156
|
+
const graph = graphRef.current;
|
|
157
|
+
if (!graph || !topologyKey)
|
|
158
|
+
return undefined;
|
|
159
|
+
let frame = 0;
|
|
160
|
+
const centerGraph = () => {
|
|
161
|
+
frame = 0;
|
|
162
|
+
graph.scrollLeft = Math.max(0, (graph.scrollWidth - graph.clientWidth) / 2);
|
|
163
|
+
graph.scrollTop = Math.max(0, (graph.scrollHeight - graph.clientHeight) / 2);
|
|
164
|
+
};
|
|
165
|
+
const scheduleCenter = () => {
|
|
166
|
+
if (frame)
|
|
167
|
+
window.cancelAnimationFrame(frame);
|
|
168
|
+
frame = window.requestAnimationFrame(centerGraph);
|
|
169
|
+
};
|
|
170
|
+
scheduleCenter();
|
|
171
|
+
const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(scheduleCenter);
|
|
172
|
+
observer?.observe(graph);
|
|
173
|
+
const stage = graph.querySelector('.v3r-graph-stage');
|
|
174
|
+
if (stage)
|
|
175
|
+
observer?.observe(stage);
|
|
176
|
+
return () => {
|
|
177
|
+
if (frame)
|
|
178
|
+
window.cancelAnimationFrame(frame);
|
|
179
|
+
observer?.disconnect();
|
|
180
|
+
};
|
|
181
|
+
}, [topologyKey]);
|
|
182
|
+
return (_jsx("div", { id: "v3-graph", className: "v3r-graph", ref: graphRef, children: layout ? (_jsx("div", { className: "v3r-graph-stage", children: _jsxs("svg", { width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, children: [_jsx("defs", { children: _jsx("marker", { id: "v3arrow", viewBox: "0 0 10 10", refX: "9", refY: "5", markerWidth: "7", markerHeight: "7", orient: "auto-start-reverse", children: _jsx("path", { d: "M0,0 L10,5 L0,10 z", fill: "var(--faint, #8b98aa)" }) }) }), layout.edges.map((edge) => (_jsx("path", { className: `v3r-edge${edge.live ? ' live' : ''}`, d: `M${edge.x1},${edge.y1} C${edge.mx},${edge.y1} ${edge.mx},${edge.y2} ${edge.x2},${edge.y2}`, markerEnd: "url(#v3arrow)" }, `${edge.fromId}->${edge.toId}`))), layout.nodes.map((box) => (_jsx(DagNode, { box: box, selected: box.node.id === props.selectedId, onSelect: props.onSelect }, box.node.id)))] }) })) : null }));
|
|
183
|
+
}
|
|
184
|
+
function DagNode(props) {
|
|
185
|
+
const { box, selected } = props;
|
|
186
|
+
const node = box.node;
|
|
187
|
+
if (node.isLoop) {
|
|
188
|
+
return _jsx(LoopGraphNode, { box: box, selected: selected, onSelect: props.onSelect });
|
|
189
|
+
}
|
|
190
|
+
return (_jsxs("g", { className: `v3r-node st-${node.status}${selected ? ' sel' : ''}`, "data-node": node.id, onClick: () => props.onSelect(node.id), children: [_jsx("rect", { className: "v3r-box", x: box.x, y: box.y, width: V3_GRAPH.nodeWidth, height: V3_GRAPH.plainHeight, rx: "10" }), _jsx("text", { className: "v3r-nid", x: box.x + 14, y: box.y + 20, children: trunc(node.id, 18) }), _jsx("text", { className: "v3r-nstatus", x: box.x + 14, y: box.y + 37, children: V3_NODE_LABEL[node.status] })] }));
|
|
191
|
+
}
|
|
192
|
+
function LoopGraphNode(props) {
|
|
193
|
+
const { box, selected } = props;
|
|
194
|
+
const node = box.node;
|
|
195
|
+
const ls = node.loopState;
|
|
196
|
+
const budget = loopBudget(node);
|
|
197
|
+
const statusLine = ls
|
|
198
|
+
? `${V3_NODE_LABEL[node.status]} · 第${ls.iteration}${budget !== undefined ? `/${budget}` : ''}轮`
|
|
199
|
+
: `${V3_NODE_LABEL[node.status]} · loop`;
|
|
200
|
+
const maxIterations = ls?.maxIterations;
|
|
201
|
+
return (_jsxs("g", { className: `v3r-node v3r-loopnode st-${node.status}${selected ? ' sel' : ''}`, "data-node": node.id, onClick: () => props.onSelect(node.id), children: [_jsx("rect", { className: "v3r-cap", x: box.x - 4, y: box.y - 4, width: V3_GRAPH.nodeWidth + 8, height: V3_GRAPH.loopHeight + 8, rx: "14" }), _jsx("rect", { className: "v3r-box", x: box.x, y: box.y, width: V3_GRAPH.nodeWidth, height: V3_GRAPH.loopHeight, rx: "10" }), _jsx("text", { className: "v3r-spin", x: box.x + 14, y: box.y + 21, children: "\u27F3" }), _jsx("text", { className: "v3r-nid", x: box.x + 30, y: box.y + 21, children: trunc(node.id, 16) }), _jsx("text", { className: "v3r-nstatus", x: box.x + 14, y: box.y + 39, children: statusLine }), ls && budget !== undefined && budget <= V3_GRAPH.maxDots ? (_jsx(LoopBudgetDots, { node: node, x: box.x, y: box.y, budget: budget, maxIterations: maxIterations })) : null] }));
|
|
202
|
+
}
|
|
203
|
+
function LoopBudgetDots(props) {
|
|
204
|
+
const ls = props.node.loopState;
|
|
205
|
+
const cy = props.y + V3_GRAPH.loopHeight - 13;
|
|
206
|
+
const dots = Array.from({ length: props.budget }, (_, idx) => idx + 1);
|
|
207
|
+
return (_jsxs(_Fragment, { children: [dots.map((k) => {
|
|
208
|
+
const cls = k < ls.iteration
|
|
209
|
+
? 'v3r-dot done'
|
|
210
|
+
: k === ls.iteration
|
|
211
|
+
? `v3r-dot cur${props.node.status === 'running' ? ' live' : ''}`
|
|
212
|
+
: 'v3r-dot todo';
|
|
213
|
+
const grant = props.maxIterations !== undefined && k > props.maxIterations ? ' grant' : '';
|
|
214
|
+
return _jsx("circle", { className: `${cls}${grant}`, cx: props.x + 14 + (k - 1) * 15, cy: cy, r: "3.6" }, k);
|
|
215
|
+
}), ls.lastDecision === 'exit' ? (_jsx("text", { className: "v3r-dots-verdict ok", x: props.x + 14 + props.budget * 15 + 4, y: cy + 4, children: "\u2713" })) : null, ls.lastDecision === 'exhausted' && props.node.status === 'blocked' ? (_jsx("text", { className: "v3r-dots-verdict warn", x: props.x + 14 + props.budget * 15 + 4, y: cy + 4, children: "\u26A0" })) : null] }));
|
|
216
|
+
}
|
|
217
|
+
function NodePanel(props) {
|
|
218
|
+
const node = props.node;
|
|
219
|
+
const instances = useMemo(() => node?.isLoop ? loopInstances(props.view, node.id) : [], [node, props.view]);
|
|
220
|
+
const termNode = node?.isLoop
|
|
221
|
+
? resolveLoopTerminalNode(instances, props.instanceId, props.instancePinned)
|
|
222
|
+
: node;
|
|
223
|
+
const activeInstanceId = node?.isLoop ? termNode?.id ?? null : null;
|
|
224
|
+
if (!node) {
|
|
225
|
+
return (_jsx("div", { id: "v3-node-panel", className: "v3r-panel", children: _jsx("p", { className: "muted", children: "\u70B9\u4E00\u4E2A\u8282\u70B9\u770B\u8BE6\u60C5\u4E0E\u7EC8\u7AEF" }) }));
|
|
226
|
+
}
|
|
227
|
+
return (_jsxs("div", { id: "v3-node-panel", className: "v3r-panel", children: [_jsxs("div", { id: "v3-node-meta", children: [node.goal ? _jsx("p", { className: "v3r-goal", children: node.goal }) : null, node.depends.length ? (_jsxs("p", { className: "v3r-deps", children: [_jsx("span", { children: "\u4F9D\u8D56" }), node.depends.map((dep) => _jsx("span", { className: "v3r-dep", children: dep }, dep))] })) : null, node.errorClass ? _jsx(NodeErrorLine, { node: node }) : null, node.isLoop ? (_jsx(LoopTimeline, { runId: props.runId, node: node, instances: instances, activeInstanceId: activeInstanceId, onInstanceSelect: props.onInstanceSelect })) : null] }), _jsx("div", { id: "v3-inst-strip", children: node.isLoop && termNode ? (_jsx(InstanceStrip, { node: termNode, auto: !props.instancePinned })) : null }), _jsx(TerminalSlot, { runId: props.runId, node: termNode })] }));
|
|
228
|
+
}
|
|
229
|
+
function NodeErrorLine(props) {
|
|
230
|
+
const node = props.node;
|
|
231
|
+
return (_jsxs("p", { className: "v3r-err", children: ["\u539F\u56E0\uFF1A", node.errorClass, node.errorCode ? ` (${node.errorCode})` : '', node.status === 'blocked' && !node.isLoop ? (_jsxs(_Fragment, { children: [" \u2014 \u98DE\u4E66\u5361\u7247\u6216 ", _jsx("code", { children: "botmux workflow retry" }), " \u53EF\u91CD\u8BD5"] })) : null] }));
|
|
232
|
+
}
|
|
233
|
+
function InstanceStrip(props) {
|
|
234
|
+
const loop = props.node.loop;
|
|
235
|
+
return (_jsxs("div", { className: "v3r-inst-strip", children: [_jsx("span", { className: "lbl", children: "\u5B9E\u4F8B\u7EC8\u7AEF" }), _jsx("span", { className: "v3r-nodeid sm", children: props.node.id }), _jsxs("span", { className: `v3r-pill st-${props.node.status}`, children: [_jsx("i", { className: "dot" }), V3_NODE_LABEL[props.node.status]] }), _jsxs("span", { className: "muted", children: ["\u7B2C ", loop.iteration, " \u8F6E \u00B7 ", loop.bodyNodeId, props.auto ? ' · 自动跟随' : ''] })] }));
|
|
236
|
+
}
|
|
237
|
+
function LoopTimeline(props) {
|
|
238
|
+
const ls = props.node.loopState;
|
|
239
|
+
if (!ls)
|
|
240
|
+
return _jsx("p", { className: "muted", children: "loop \u672A\u5F00\u59CB" });
|
|
241
|
+
const budget = loopBudget(props.node);
|
|
242
|
+
const verdictOf = new Map(ls.decisions.map((decision) => [decision.iteration, decision.decision]));
|
|
243
|
+
const rounds = loopRounds(props.instances);
|
|
244
|
+
return (_jsxs("div", { className: "v3r-loop-sec", children: [_jsxs("div", { className: "v3r-loop-meter", children: [_jsxs("span", { className: "num", children: ["\u7B2C ", _jsx("b", { children: ls.iteration }), budget !== undefined ? _jsxs(_Fragment, { children: [" / ", _jsx("b", { children: budget })] }) : null, " \u8F6E"] }), ls.granted > 0 ? _jsxs("span", { className: "v3r-granted-tag", children: ["\u542B\u4EBA\u5DE5\u8FFD\u52A0 +", ls.granted] }) : null, ls.lastDecision === 'exit' ? _jsx("span", { className: "v3r-verdict vd-exit", children: "\u2713 \u5DF2\u6536\u655B" }) : null] }), _jsx("div", { className: "v3r-rounds", children: rounds.map((round) => {
|
|
245
|
+
const verdict = verdictOf.get(round.iteration);
|
|
246
|
+
const isCurrent = round.iteration === ls.iteration;
|
|
247
|
+
const granted = ls.maxIterations !== undefined && round.iteration > ls.maxIterations;
|
|
248
|
+
return (_jsxs("div", { className: `v3r-round${isCurrent ? ' cur' : ''}${verdict ? ` vd-${verdict}` : ''}`, children: [_jsxs("div", { className: "v3r-round-head", children: [_jsxs("span", { className: "rn", children: ["R", round.iteration] }), granted ? _jsx("span", { className: "v3r-granted-tag", children: "\u2795 \u8FFD\u52A0\u8F6E" }) : null, verdict ? (_jsx("span", { className: `v3r-verdict vd-${verdict}`, children: V3_DECISION_LABEL[verdict] })) : isCurrent && props.node.status === 'running' ? (_jsx("span", { className: "v3r-verdict vd-live", children: "\u25B6 \u8FDB\u884C\u4E2D" })) : null] }), _jsx(RoundMiniDag, { template: ls.bodyTemplate, instances: round.instances, activeInstanceId: props.activeInstanceId, onInstanceSelect: props.onInstanceSelect })] }, round.iteration));
|
|
249
|
+
}) }), props.node.status === 'blocked' ? (_jsxs("div", { className: "v3r-cta", children: ["\u26A0 \u8F6E\u6570\u8017\u5C3D\uFF0C\u7B49\u4EBA\u8FFD\u52A0 \u2014 \u98DE\u4E66\u5361\u7247\u70B9\u300C\u2795 \u8FFD\u52A0 1 \u8F6E\u300D\uFF0C\u6216 ", _jsxs("code", { children: ["botmux workflow grant ", props.runId] })] })) : null] }));
|
|
250
|
+
}
|
|
251
|
+
function RoundMiniDag(props) {
|
|
252
|
+
const instanceByBodyId = useMemo(() => new Map(props.instances.map((instance) => [instance.loop.bodyNodeId, instance])), [props.instances]);
|
|
253
|
+
const layout = useMemo(() => buildRoundMiniDagLayout(props.template, instanceByBodyId), [props.template, instanceByBodyId]);
|
|
254
|
+
return (_jsxs("svg", { className: "v3r-mini-svg", width: layout.width, height: layout.height, viewBox: `0 0 ${layout.width} ${layout.height}`, children: [_jsx("defs", { children: _jsx("marker", { id: "v3arrow-mini", viewBox: "0 0 10 10", refX: "9", refY: "5", markerWidth: "6", markerHeight: "6", orient: "auto-start-reverse", children: _jsx("path", { d: "M0,0 L10,5 L0,10 z", fill: "var(--faint, #8b98aa)" }) }) }), layout.edges.map((edge) => (_jsx("path", { className: `v3r-edge${edge.live ? ' live' : ''}`, d: `M${edge.x1},${edge.y1} C${edge.mx},${edge.y1} ${edge.mx},${edge.y2} ${edge.x2},${edge.y2}`, markerEnd: "url(#v3arrow-mini)" }, `${edge.fromId}->${edge.toId}`))), layout.nodes.map((box) => {
|
|
255
|
+
const node = box.node;
|
|
256
|
+
const status = node?.status ?? 'pending';
|
|
257
|
+
const selected = node?.id === props.activeInstanceId;
|
|
258
|
+
return (_jsxs("g", { className: `v3r-node v3r-mini st-${status}${selected ? ' sel' : ''}${node ? '' : ' ghost'}`, "data-sel": node?.id, style: node ? { cursor: 'pointer' } : undefined, onClick: (event) => {
|
|
259
|
+
if (!node)
|
|
260
|
+
return;
|
|
261
|
+
event.stopPropagation();
|
|
262
|
+
props.onInstanceSelect(node.id);
|
|
263
|
+
}, children: [_jsx("rect", { className: "v3r-box", x: box.x, y: box.y, width: box.width, height: box.height, rx: "8" }), _jsx("circle", { className: "v3r-mini-dot", cx: box.x + 13, cy: box.y + box.height / 2, r: "3.4" }), _jsx("text", { className: "v3r-nid", x: box.x + 24, y: box.y + box.height / 2 + 4, children: trunc(box.templateId, 12) })] }, box.templateId));
|
|
264
|
+
})] }));
|
|
265
|
+
}
|
|
266
|
+
function TerminalSlot(props) {
|
|
267
|
+
const ref = useRef(null);
|
|
268
|
+
const renderedSignatureRef = useRef(null);
|
|
269
|
+
const signature = props.node ? `${props.runId}|${props.node.id}|${nodeTerminalSignature(props.node)}` : null;
|
|
270
|
+
useEffect(() => {
|
|
271
|
+
const el = ref.current;
|
|
272
|
+
if (!el)
|
|
273
|
+
return;
|
|
274
|
+
if (!props.node || !signature) {
|
|
275
|
+
el.innerHTML = '';
|
|
276
|
+
renderedSignatureRef.current = null;
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (renderedSignatureRef.current === signature)
|
|
280
|
+
return;
|
|
281
|
+
renderNodeTerminal(el, props.runId, props.node);
|
|
282
|
+
renderedSignatureRef.current = signature;
|
|
283
|
+
}, [props.runId, props.node, signature]);
|
|
284
|
+
return _jsx("div", { id: "v3-term-slot", className: "v3r-term-slot", ref: ref });
|
|
285
|
+
}
|
|
286
|
+
export function V3RunsPage() {
|
|
287
|
+
const runId = v3RunIdFromHash();
|
|
288
|
+
return (_jsx("section", { className: "page workflows-page v3-page", children: runId ? _jsx(V3DetailPage, { runId: runId }) : _jsx(V3ListPage, {}) }));
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=v3-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3-components.js","sourceRoot":"","sources":["../../../src/dashboard/web/v3-components.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { RunNodeView, RunView } from '../../workflows/v3/ops-projection.js';
|
|
2
|
+
export declare const V3_POLL_MS = 2000;
|
|
3
|
+
export declare const V3_NODE_LABEL: Record<RunNodeView['status'], string>;
|
|
4
|
+
export declare const V3_DECISION_LABEL: Record<string, string>;
|
|
5
|
+
export declare const V3_GRAPH: {
|
|
6
|
+
readonly nodeWidth: 168;
|
|
7
|
+
readonly plainHeight: 48;
|
|
8
|
+
readonly loopHeight: 70;
|
|
9
|
+
readonly columnGap: 226;
|
|
10
|
+
readonly verticalGap: 30;
|
|
11
|
+
readonly padding: 26;
|
|
12
|
+
readonly maxDots: 8;
|
|
13
|
+
};
|
|
14
|
+
export declare function isTerminalRunStatus(status: RunView['runStatus'] | undefined): boolean;
|
|
15
|
+
export declare function v3RunIdFromHash(hash?: string): string | null;
|
|
16
|
+
export declare function trunc(s: string, n: number): string;
|
|
17
|
+
export declare function nodeHeight(node: RunNodeView): number;
|
|
18
|
+
export declare function graphNodes(view: RunView): RunNodeView[];
|
|
19
|
+
export interface V3GraphNodeLayout {
|
|
20
|
+
node: RunNodeView;
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
}
|
|
26
|
+
export interface V3GraphEdgeLayout {
|
|
27
|
+
fromId: string;
|
|
28
|
+
toId: string;
|
|
29
|
+
x1: number;
|
|
30
|
+
y1: number;
|
|
31
|
+
x2: number;
|
|
32
|
+
y2: number;
|
|
33
|
+
mx: number;
|
|
34
|
+
live: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface V3GraphLayout {
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
nodes: V3GraphNodeLayout[];
|
|
40
|
+
edges: V3GraphEdgeLayout[];
|
|
41
|
+
}
|
|
42
|
+
export declare function buildGraphLayout(view: RunView): V3GraphLayout;
|
|
43
|
+
export declare function computeDepth(nodes: RunNodeView[]): Map<string, number>;
|
|
44
|
+
export declare function loopInstances(view: RunView | null | undefined, loopId: string): RunNodeView[];
|
|
45
|
+
export declare function resolveLoopTerminalNode(instances: RunNodeView[], pinnedId: string | null, pinned: boolean): RunNodeView | null;
|
|
46
|
+
export interface V3LoopRound {
|
|
47
|
+
iteration: number;
|
|
48
|
+
instances: RunNodeView[];
|
|
49
|
+
}
|
|
50
|
+
export declare function loopRounds(instances: RunNodeView[]): V3LoopRound[];
|
|
51
|
+
export declare function loopBudget(node: RunNodeView): number | undefined;
|
|
52
|
+
export interface V3MiniDagNodeLayout {
|
|
53
|
+
templateId: string;
|
|
54
|
+
node: RunNodeView | undefined;
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
width: number;
|
|
58
|
+
height: number;
|
|
59
|
+
}
|
|
60
|
+
export interface V3MiniDagEdgeLayout {
|
|
61
|
+
fromId: string;
|
|
62
|
+
toId: string;
|
|
63
|
+
x1: number;
|
|
64
|
+
y1: number;
|
|
65
|
+
x2: number;
|
|
66
|
+
y2: number;
|
|
67
|
+
mx: number;
|
|
68
|
+
live: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface V3MiniDagLayout {
|
|
71
|
+
width: number;
|
|
72
|
+
height: number;
|
|
73
|
+
nodes: V3MiniDagNodeLayout[];
|
|
74
|
+
edges: V3MiniDagEdgeLayout[];
|
|
75
|
+
}
|
|
76
|
+
export declare function buildRoundMiniDagLayout(template: Array<{
|
|
77
|
+
id: string;
|
|
78
|
+
depends: string[];
|
|
79
|
+
}>, instanceByBodyId: Map<string, RunNodeView>): V3MiniDagLayout;
|
|
80
|
+
//# sourceMappingURL=v3-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3-model.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/v3-model.ts"],"names":[],"mappings":"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"}
|