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,28 @@
|
|
|
1
|
+
import type { CodexBridgeEvent } from './codex-transcript.js';
|
|
2
|
+
export interface HermesSessionFilterDrop {
|
|
3
|
+
uuid: string;
|
|
4
|
+
kind: CodexBridgeEvent['kind'];
|
|
5
|
+
sourceSessionId?: string;
|
|
6
|
+
expectedSourceSessionId?: string;
|
|
7
|
+
reason: 'unbound' | 'foreign_source' | 'missing_source';
|
|
8
|
+
}
|
|
9
|
+
export interface HermesSessionFilterResult {
|
|
10
|
+
events: CodexBridgeEvent[];
|
|
11
|
+
boundSourceSessionId?: string;
|
|
12
|
+
/** Every native source this call newly bound, in order. A single drain can
|
|
13
|
+
* bind more than one source when the worker starts unbound and Hermes
|
|
14
|
+
* `/clear`-rotates mid-batch; the worker must announce each to the daemon so
|
|
15
|
+
* a completed turn from an earlier source is not dropped as unauthorized. */
|
|
16
|
+
newlyBoundSourceSessionIds: string[];
|
|
17
|
+
drops: HermesSessionFilterDrop[];
|
|
18
|
+
}
|
|
19
|
+
/** Keep Hermes' global state.db scoped to the native session that belongs to
|
|
20
|
+
* this botmux worker. The binding row is the Hermes user row containing the
|
|
21
|
+
* botmux-injected `<session_id>...` marker. Before that row appears we must
|
|
22
|
+
* not queue assistant finals from the shared DB, otherwise a sibling Hermes
|
|
23
|
+
* process can close this worker's pending Lark turn. */
|
|
24
|
+
export declare function filterHermesEventsForBotmuxSession(events: readonly CodexBridgeEvent[], opts: {
|
|
25
|
+
botmuxSessionId: string;
|
|
26
|
+
boundSourceSessionId?: string;
|
|
27
|
+
}): HermesSessionFilterResult;
|
|
28
|
+
//# sourceMappingURL=hermes-session-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes-session-filter.d.ts","sourceRoot":"","sources":["../../src/services/hermes-session-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;CACzD;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;kFAG8E;IAC9E,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,KAAK,EAAE,uBAAuB,EAAE,CAAC;CAClC;AAED;;;;yDAIyD;AACzD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,IAAI,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,yBAAyB,CAiD3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Keep Hermes' global state.db scoped to the native session that belongs to
|
|
2
|
+
* this botmux worker. The binding row is the Hermes user row containing the
|
|
3
|
+
* botmux-injected `<session_id>...` marker. Before that row appears we must
|
|
4
|
+
* not queue assistant finals from the shared DB, otherwise a sibling Hermes
|
|
5
|
+
* process can close this worker's pending Lark turn. */
|
|
6
|
+
export function filterHermesEventsForBotmuxSession(events, opts) {
|
|
7
|
+
let boundSourceSessionId = opts.boundSourceSessionId;
|
|
8
|
+
const newlyBoundSourceSessionIds = [];
|
|
9
|
+
const marker = `<session_id>${opts.botmuxSessionId}</session_id>`;
|
|
10
|
+
const kept = [];
|
|
11
|
+
const drops = [];
|
|
12
|
+
const bindSource = (source) => {
|
|
13
|
+
boundSourceSessionId = source;
|
|
14
|
+
if (!newlyBoundSourceSessionIds.includes(source))
|
|
15
|
+
newlyBoundSourceSessionIds.push(source);
|
|
16
|
+
};
|
|
17
|
+
for (const ev of events) {
|
|
18
|
+
const sourceSessionId = ev.sourceSessionId?.trim() || undefined;
|
|
19
|
+
const markerSource = ev.kind === 'user' && sourceSessionId && ev.text.includes(marker)
|
|
20
|
+
? sourceSessionId
|
|
21
|
+
: undefined;
|
|
22
|
+
if (!boundSourceSessionId) {
|
|
23
|
+
if (markerSource) {
|
|
24
|
+
bindSource(markerSource);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
drops.push({
|
|
28
|
+
uuid: ev.uuid,
|
|
29
|
+
kind: ev.kind,
|
|
30
|
+
sourceSessionId,
|
|
31
|
+
reason: sourceSessionId ? 'unbound' : 'missing_source',
|
|
32
|
+
});
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else if (markerSource && markerSource !== boundSourceSessionId) {
|
|
37
|
+
bindSource(markerSource);
|
|
38
|
+
}
|
|
39
|
+
if (!sourceSessionId || sourceSessionId !== boundSourceSessionId) {
|
|
40
|
+
drops.push({
|
|
41
|
+
uuid: ev.uuid,
|
|
42
|
+
kind: ev.kind,
|
|
43
|
+
sourceSessionId,
|
|
44
|
+
expectedSourceSessionId: boundSourceSessionId,
|
|
45
|
+
reason: sourceSessionId ? 'foreign_source' : 'missing_source',
|
|
46
|
+
});
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
kept.push(ev);
|
|
50
|
+
}
|
|
51
|
+
return { events: kept, boundSourceSessionId, newlyBoundSourceSessionIds, drops };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=hermes-session-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes-session-filter.js","sourceRoot":"","sources":["../../src/services/hermes-session-filter.ts"],"names":[],"mappings":"AAqBA;;;;yDAIyD;AACzD,MAAM,UAAU,kCAAkC,CAChD,MAAmC,EACnC,IAAgE;IAEhE,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACrD,MAAM,0BAA0B,GAAa,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,eAAe,IAAI,CAAC,eAAe,eAAe,CAAC;IAClE,MAAM,IAAI,GAAuB,EAAE,CAAC;IACpC,MAAM,KAAK,GAA8B,EAAE,CAAC;IAE5C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAQ,EAAE;QAC1C,oBAAoB,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAChE,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpF,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,eAAe;oBACf,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB;iBACvD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;YACjE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,oBAAoB,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,eAAe;gBACf,uBAAuB,EAAE,oBAAoB;gBAC7C,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;aAC9D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC;AACnF,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CodexBridgeEvent } from './codex-transcript.js';
|
|
2
|
+
export declare function resolveHermesStateDbPath(env?: Record<string, string | undefined>, opts?: {
|
|
3
|
+
botmuxSessionProfile?: boolean;
|
|
4
|
+
}): string;
|
|
2
5
|
export declare function drainHermesStateDb(fromOffset: number, dbPath?: string): {
|
|
3
6
|
events: CodexBridgeEvent[];
|
|
4
7
|
newOffset: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-transcript.d.ts","sourceRoot":"","sources":["../../src/services/hermes-transcript.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hermes-transcript.d.ts","sourceRoot":"","sources":["../../src/services/hermes-transcript.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,IAAI,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5C,MAAM,CAcR;AAyDD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAkB,GAAG;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmBlI;AAED,wBAAgB,wBAAwB,CAAC,MAAM,SAAkB,GAAG,MAAM,CAWzE"}
|
|
@@ -9,11 +9,28 @@
|
|
|
9
9
|
* not call `botmux send`.
|
|
10
10
|
*/
|
|
11
11
|
import { existsSync } from 'node:fs';
|
|
12
|
+
import { createHash } from 'node:crypto';
|
|
12
13
|
import { homedir } from 'node:os';
|
|
13
14
|
import { join } from 'node:path';
|
|
14
15
|
import { spawnSync } from 'node:child_process';
|
|
15
16
|
const HERMES_STATE_DB = join(homedir(), '.hermes', 'state.db');
|
|
16
17
|
const CONTENT_JSON_PREFIX = String.fromCharCode(0) + 'json:';
|
|
18
|
+
export function resolveHermesStateDbPath(env = process.env, opts = {}) {
|
|
19
|
+
const explicitStateDb = env.BOTMUX_HERMES_STATE_DB?.trim();
|
|
20
|
+
if (explicitStateDb)
|
|
21
|
+
return explicitStateDb;
|
|
22
|
+
if (opts.botmuxSessionProfile) {
|
|
23
|
+
const sessionId = env.BOTMUX_SESSION_ID?.trim();
|
|
24
|
+
if (sessionId) {
|
|
25
|
+
const sourceHome = env.HERMES_BOTMUX_SOURCE_HOME?.trim() || env.HERMES_HOME?.trim() || join(homedir(), '.hermes');
|
|
26
|
+
const profilesRoot = env.HERMES_BOTMUX_PROFILES_ROOT?.trim() || join(sourceHome, 'profiles');
|
|
27
|
+
const sessionHash = createHash('sha256').update(sessionId).digest('hex').slice(0, 16);
|
|
28
|
+
return join(profilesRoot, `botmux-${sessionHash}`, 'state.db');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const hermesHome = env.HERMES_HOME?.trim();
|
|
32
|
+
return hermesHome ? join(hermesHome, 'state.db') : HERMES_STATE_DB;
|
|
33
|
+
}
|
|
17
34
|
function decodeContent(content) {
|
|
18
35
|
if (content === null || content === undefined)
|
|
19
36
|
return '';
|
|
@@ -88,14 +105,15 @@ export function drainHermesStateDb(fromOffset, dbPath = HERMES_STATE_DB) {
|
|
|
88
105
|
const text = decodeContent(row.content).trim();
|
|
89
106
|
if (!text)
|
|
90
107
|
continue;
|
|
108
|
+
const sourceSessionId = row.session_id?.trim() || undefined;
|
|
91
109
|
const timestampMs = typeof row.timestamp === 'number' ? row.timestamp * 1000 : Date.now();
|
|
92
110
|
if (row.role === 'user') {
|
|
93
|
-
events.push({ uuid: `hermes:${row.id}`, timestampMs, kind: 'user', text, sourceSessionId
|
|
111
|
+
events.push({ uuid: `hermes:${row.id}`, timestampMs, kind: 'user', text, sourceSessionId, preserveMarkTimeMs: true });
|
|
94
112
|
}
|
|
95
113
|
else if (row.role === 'assistant') {
|
|
96
114
|
if (row.finish_reason !== 'stop')
|
|
97
115
|
continue;
|
|
98
|
-
events.push({ uuid: `hermes:${row.id}`, timestampMs, kind: 'assistant_final', text, sourceSessionId
|
|
116
|
+
events.push({ uuid: `hermes:${row.id}`, timestampMs, kind: 'assistant_final', text, sourceSessionId });
|
|
99
117
|
}
|
|
100
118
|
}
|
|
101
119
|
return { events, newOffset };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-transcript.js","sourceRoot":"","sources":["../../src/services/hermes-transcript.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hermes-transcript.js","sourceRoot":"","sources":["../../src/services/hermes-transcript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { ResumableSession } from '../adapters/cli/types.js';
|
|
2
|
+
/** True when `text` is a botmux-generated user turn (structural envelope).
|
|
3
|
+
* Shared by Claude/Codex/Grok adopt discovery so filters stay consistent. */
|
|
4
|
+
export declare function isBotmuxInjectedPrompt(text: string): boolean;
|
|
2
5
|
export declare function discoverClaudeFamilySessions(dataDir: string, limit: number, exclude?: ReadonlySet<string>): Promise<ResumableSession[]>;
|
|
3
6
|
export declare function discoverRolloutSessions(sessionsRoot: string, limit: number, exclude?: ReadonlySet<string>): Promise<ResumableSession[]>;
|
|
4
7
|
/** Antigravity appends one line per submit: `{display, timestamp, workspace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumable-session-discovery.d.ts","sourceRoot":"","sources":["../../src/services/resumable-session-discovery.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"resumable-session-discovery.d.ts","sourceRoot":"","sources":["../../src/services/resumable-session-discovery.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAyHjE;8EAC8E;AAC9E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAsGD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAO7B;AAuCD,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAa7B;AAID;;;;;;iBAMiB;AACjB,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6B7B"}
|
|
@@ -136,9 +136,14 @@ const BOTMUX_INJECTION_PATTERNS = [
|
|
|
136
136
|
// unfakeable, so an optional "你已连接到飞书话题," preamble doesn't defeat it.
|
|
137
137
|
/用户发送了:\s*\n-{3,}[\s\S]*?\n-{3,}[\s\S]*?Session ID:\s*[0-9a-f]{8}-[0-9a-f]{4}-/i,
|
|
138
138
|
];
|
|
139
|
-
|
|
139
|
+
/** True when `text` is a botmux-generated user turn (structural envelope).
|
|
140
|
+
* Shared by Claude/Codex/Grok adopt discovery so filters stay consistent. */
|
|
141
|
+
export function isBotmuxInjectedPrompt(text) {
|
|
140
142
|
return BOTMUX_INJECTION_PATTERNS.some((re) => re.test(text));
|
|
141
143
|
}
|
|
144
|
+
function isBotmuxInjected(text) {
|
|
145
|
+
return isBotmuxInjectedPrompt(text);
|
|
146
|
+
}
|
|
142
147
|
/** Recursively collect `*.jsonl` files under `root`, returning the most-recently
|
|
143
148
|
* modified `limit` of them. Bounded depth so a pathological tree can't wedge
|
|
144
149
|
* the scan. `excludeBasenames` drops files whose name (sans `.jsonl`) is in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumable-session-discovery.js","sourceRoot":"","sources":["../../src/services/resumable-session-discovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resumable-session-discovery.js","sourceRoot":"","sources":["../../src/services/resumable-session-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SkillPackage, SkillSource } from '../core/skills/types.js';
|
|
2
|
+
import type { AgentbuddySource } from '../core/skills/sources.js';
|
|
2
3
|
export interface DiscoveredSkillCandidate {
|
|
3
4
|
name: string;
|
|
4
5
|
displayName?: string;
|
|
@@ -10,6 +11,9 @@ export interface DiscoveredSkillCandidate {
|
|
|
10
11
|
export interface SkillSourceDiscovery {
|
|
11
12
|
commit?: string;
|
|
12
13
|
skills: DiscoveredSkillCandidate[];
|
|
14
|
+
/** True when the source resolves its own skill set (agentbuddy) — the dashboard
|
|
15
|
+
* installs it directly, skipping the discover-then-select step. */
|
|
16
|
+
directInstall?: boolean;
|
|
13
17
|
}
|
|
14
18
|
export interface SkillInstallSelection {
|
|
15
19
|
skillNames?: string[];
|
|
@@ -65,6 +69,11 @@ export declare function installGitSkillsFromSourceAsync(opts: {
|
|
|
65
69
|
ref?: string;
|
|
66
70
|
sourceOverride?: SkillSource;
|
|
67
71
|
} & SkillInstallSelection): Promise<SkillPackage[]>;
|
|
72
|
+
export declare function installAgentbuddySkill(opts: AgentbuddySource, requireSkillName?: string): SkillPackage[];
|
|
73
|
+
/** Async twin of installAgentbuddySkill for the dashboard install job — same
|
|
74
|
+
* behaviour, but awaits the (minutes-long, network-bound) agentbuddy calls off
|
|
75
|
+
* the daemon event loop instead of blocking it with execFileSync. */
|
|
76
|
+
export declare function installAgentbuddySkillAsync(opts: AgentbuddySource, requireSkillName?: string): Promise<SkillPackage[]>;
|
|
68
77
|
export declare function removeInstalledSkill(name: string): {
|
|
69
78
|
ok: true;
|
|
70
79
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-registry-store.d.ts","sourceRoot":"","sources":["../../src/services/skill-registry-store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-registry-store.d.ts","sourceRoot":"","sources":["../../src/services/skill-registry-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync } from 'node:fs';
|
|
1
|
+
import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, statSync } from 'node:fs';
|
|
2
2
|
import { execFile, execFileSync } from 'node:child_process';
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
4
|
import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
@@ -467,6 +467,285 @@ export async function installGitSkillsFromSourceAsync(opts) {
|
|
|
467
467
|
}
|
|
468
468
|
return installed;
|
|
469
469
|
}
|
|
470
|
+
// --- agentbuddy (external CLI) skill source ---------------------------------
|
|
471
|
+
//
|
|
472
|
+
// Delegates fetch + SSO auth + versioning to the operator-configured `agentbuddy`
|
|
473
|
+
// binary (BOTMUX_AGENTBUDDY_CMD, default `agentbuddy`), captures the SKILL.md
|
|
474
|
+
// dir(s) it writes into a throwaway staging project, and copies them into
|
|
475
|
+
// botmux's own store. The registry host and login cache live entirely in the
|
|
476
|
+
// agentbuddy binary + the daemon host's npmrc/login state, so no internal
|
|
477
|
+
// registry domain ever enters botmux's (publicly-published) source.
|
|
478
|
+
const DEFAULT_AGENTBUDDY_TIMEOUT_MS = 180_000;
|
|
479
|
+
function agentbuddyCommand() {
|
|
480
|
+
const raw = (process.env.BOTMUX_AGENTBUDDY_CMD ?? 'agentbuddy').trim();
|
|
481
|
+
const parts = raw.split(/\s+/).filter(Boolean);
|
|
482
|
+
return parts.length > 0 ? { bin: parts[0], prefixArgs: parts.slice(1) } : { bin: 'agentbuddy', prefixArgs: [] };
|
|
483
|
+
}
|
|
484
|
+
function agentbuddyTimeoutMs() {
|
|
485
|
+
const raw = Number(process.env.BOTMUX_AGENTBUDDY_TIMEOUT_MS);
|
|
486
|
+
return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_AGENTBUDDY_TIMEOUT_MS;
|
|
487
|
+
}
|
|
488
|
+
const agentbuddyLocks = new Map();
|
|
489
|
+
/** Lock target for an identifier — the shared staging dir path; withFileLock
|
|
490
|
+
* appends `.lock`, so the lock file is a sibling of (not inside) the staging
|
|
491
|
+
* dir the install rmSyncs. Mirrors gitSourceLockTarget. */
|
|
492
|
+
function agentbuddyLockTarget(identifier) {
|
|
493
|
+
const dir = join(skillSourcesDir(), 'agentbuddy');
|
|
494
|
+
mkdirSync(dir, { recursive: true });
|
|
495
|
+
return join(dir, sourceId(identifier));
|
|
496
|
+
}
|
|
497
|
+
function agentbuddyLockWaitMs() {
|
|
498
|
+
return Math.max(agentbuddyTimeoutMs() * 5, 60_000);
|
|
499
|
+
}
|
|
500
|
+
/** Serialize install/update of the SAME agentbuddy identifier — like the git
|
|
501
|
+
* path's withGitSourceLock. Two concurrent tasks for one identifier (two
|
|
502
|
+
* dashboard tabs, or CLI + dashboard) otherwise rmSync each other's shared
|
|
503
|
+
* staging dir mid-run (both agentbuddy children fail with uv_cwd/ENOENT). The
|
|
504
|
+
* cross-process file lock covers separate processes; wait budget ≥ a full run. */
|
|
505
|
+
function withAgentbuddyLockSync(identifier, fn) {
|
|
506
|
+
// A blocking sync file-lock acquire cannot coexist with an in-process ASYNC
|
|
507
|
+
// holder of the same identifier: withFileLock is non-reentrant, and the sync
|
|
508
|
+
// acquire freezes the event loop so the async holder never reaches its release
|
|
509
|
+
// — a guaranteed deadlock until the (long) lock timeout. The sync API is the
|
|
510
|
+
// one-shot CLI path; if an async op is in flight in THIS process, fast-fail
|
|
511
|
+
// instead of dead-waiting. (Cross-process sync↔async is fine: the file lock
|
|
512
|
+
// serializes those, and blocking a one-shot CLI's own loop is harmless.)
|
|
513
|
+
if (agentbuddyLocks.has(sourceId(identifier)))
|
|
514
|
+
throw new Error('agentbuddy_busy');
|
|
515
|
+
return withFileLockSync(agentbuddyLockTarget(identifier), fn, { maxWaitMs: agentbuddyLockWaitMs() });
|
|
516
|
+
}
|
|
517
|
+
/** Async twin: an in-process promise chain orders same-process async callers
|
|
518
|
+
* (withFileLock is not reentrant), then the cross-process file lock. */
|
|
519
|
+
async function withAgentbuddyLock(identifier, fn) {
|
|
520
|
+
const key = sourceId(identifier);
|
|
521
|
+
const previous = agentbuddyLocks.get(key) ?? Promise.resolve();
|
|
522
|
+
const waitForPrevious = previous.catch(() => undefined);
|
|
523
|
+
let release;
|
|
524
|
+
const current = new Promise(resolve => { release = resolve; });
|
|
525
|
+
const tail = waitForPrevious.then(() => current);
|
|
526
|
+
agentbuddyLocks.set(key, tail);
|
|
527
|
+
await waitForPrevious;
|
|
528
|
+
try {
|
|
529
|
+
return await withFileLock(agentbuddyLockTarget(identifier), fn, { maxWaitMs: agentbuddyLockWaitMs() });
|
|
530
|
+
}
|
|
531
|
+
finally {
|
|
532
|
+
release();
|
|
533
|
+
if (agentbuddyLocks.get(key) === tail)
|
|
534
|
+
agentbuddyLocks.delete(key);
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
function agentbuddyInstallArgs(opts) {
|
|
538
|
+
const protocol = opts.protocol ?? 'skill';
|
|
539
|
+
// --copy (real files, not symlinks) + --strict (fail fast when not logged in)
|
|
540
|
+
// are skill-only — `plugin add` rejects them. --agent claude-code + -y apply
|
|
541
|
+
// to both and steer output into .claude/* so registerAgentbuddyStaging can
|
|
542
|
+
// capture any SKILL.md (a plugin only contributes its bundled skills).
|
|
543
|
+
const flags = protocol === 'skill'
|
|
544
|
+
? ['--agent', 'claude-code', '--copy', '-y', '--strict']
|
|
545
|
+
: ['--agent', 'claude-code', '-y'];
|
|
546
|
+
if (opts.collection)
|
|
547
|
+
return [protocol, 'collection', 'add', opts.collection, ...flags];
|
|
548
|
+
const args = [protocol, 'add', opts.group, '--skill', opts.skill];
|
|
549
|
+
if (opts.version)
|
|
550
|
+
args.push('--version', opts.version);
|
|
551
|
+
return [...args, ...flags];
|
|
552
|
+
}
|
|
553
|
+
function runAgentbuddyCli(args, cwd, failCode) {
|
|
554
|
+
const { bin, prefixArgs } = agentbuddyCommand();
|
|
555
|
+
try {
|
|
556
|
+
execFileSync(bin, [...prefixArgs, ...args], {
|
|
557
|
+
cwd,
|
|
558
|
+
encoding: 'utf-8',
|
|
559
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
560
|
+
timeout: agentbuddyTimeoutMs(),
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
catch (err) {
|
|
564
|
+
if (err?.code === 'ENOENT')
|
|
565
|
+
throw new Error('agentbuddy_not_found');
|
|
566
|
+
const stderr = Buffer.isBuffer(err?.stderr) ? err.stderr.toString('utf-8').trim() : String(err?.stderr ?? '').trim();
|
|
567
|
+
const stdout = Buffer.isBuffer(err?.stdout) ? err.stdout.toString('utf-8').trim() : String(err?.stdout ?? '').trim();
|
|
568
|
+
throw new Error(`${failCode}: ${stderr || stdout || err?.message || String(err)}`);
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
function agentbuddyKeepTelemetry() {
|
|
572
|
+
const v = (process.env.BOTMUX_AGENTBUDDY_KEEP_TELEMETRY ?? '').trim().toLowerCase();
|
|
573
|
+
return v === '1' || v === 'true' || v === 'yes';
|
|
574
|
+
}
|
|
575
|
+
/** Strip the usage-telemetry the marketplace bakes into published skills (a
|
|
576
|
+
* `<!-- @telemetry -->` block in SKILL.md plus `spans/*.sh` and
|
|
577
|
+
* `.agentbuddy`/`.ai-extension` dirs) via agentbuddy's own built-in scrubber,
|
|
578
|
+
* so botmux-delivered skills don't phone home from bridged sessions. Runs over
|
|
579
|
+
* the staging tree before it's copied into the store. Fail-closed: a scrub
|
|
580
|
+
* error aborts the install rather than silently shipping telemetry (opt out
|
|
581
|
+
* with BOTMUX_AGENTBUDDY_KEEP_TELEMETRY=1). */
|
|
582
|
+
function clearAgentbuddyTelemetry(stagingDir) {
|
|
583
|
+
runAgentbuddyCli(['clear-embedded-telemetry', stagingDir], stagingDir, 'agentbuddy_clear_telemetry_failed');
|
|
584
|
+
}
|
|
585
|
+
const TELEMETRY_ARTIFACT_DIRS = ['spans', '.agentbuddy', '.ai-extension'];
|
|
586
|
+
/** Fail-closed post-scrub check on a produced skill dir. `clear-embedded-telemetry`
|
|
587
|
+
* exiting 0 is not proof it stripped anything — a stale/behaviour-drifted
|
|
588
|
+
* agentbuddy (or a scrub that missed) could leave telemetry behind. Reject the
|
|
589
|
+
* skill if any known telemetry artifact survives, before it enters the store. */
|
|
590
|
+
function assertTelemetryStripped(skillDir) {
|
|
591
|
+
for (const artifact of TELEMETRY_ARTIFACT_DIRS) {
|
|
592
|
+
if (existsSync(join(skillDir, artifact)))
|
|
593
|
+
throw new Error(`agentbuddy_telemetry_not_stripped: ${artifact}`);
|
|
594
|
+
}
|
|
595
|
+
const skillMd = join(skillDir, 'SKILL.md');
|
|
596
|
+
if (existsSync(skillMd) && readFileSync(skillMd, 'utf-8').includes('@telemetry')) {
|
|
597
|
+
throw new Error('agentbuddy_telemetry_not_stripped: SKILL.md');
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
/** Depth-first scan for skill roots (dirs containing SKILL.md). Stops
|
|
601
|
+
* descending once a SKILL.md is found so a skill's own resource files can't be
|
|
602
|
+
* mistaken for nested skills. Skips node_modules / VCS dirs. */
|
|
603
|
+
function findSkillDirs(root) {
|
|
604
|
+
const found = [];
|
|
605
|
+
const walk = (dir) => {
|
|
606
|
+
let entries;
|
|
607
|
+
try {
|
|
608
|
+
entries = readdirSync(dir);
|
|
609
|
+
}
|
|
610
|
+
catch {
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
613
|
+
if (entries.includes('SKILL.md')) {
|
|
614
|
+
found.push(dir);
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
617
|
+
for (const entry of entries) {
|
|
618
|
+
if (entry === 'node_modules' || entry.startsWith('.git'))
|
|
619
|
+
continue;
|
|
620
|
+
const child = join(dir, entry);
|
|
621
|
+
let isDir = false;
|
|
622
|
+
try {
|
|
623
|
+
isDir = statSync(child).isDirectory();
|
|
624
|
+
}
|
|
625
|
+
catch {
|
|
626
|
+
continue;
|
|
627
|
+
}
|
|
628
|
+
if (isDir)
|
|
629
|
+
walk(child);
|
|
630
|
+
}
|
|
631
|
+
};
|
|
632
|
+
walk(root);
|
|
633
|
+
return found;
|
|
634
|
+
}
|
|
635
|
+
function agentbuddyIdentifier(opts) {
|
|
636
|
+
const protocol = opts.protocol ?? 'skill';
|
|
637
|
+
return opts.collection
|
|
638
|
+
? `${protocol}/collection/${opts.collection}`
|
|
639
|
+
: `${protocol}/${opts.group}/${opts.skill}${opts.version ? `@${opts.version}` : ''}`;
|
|
640
|
+
}
|
|
641
|
+
/** Register the skill dir(s) agentbuddy wrote into the staging tree into the
|
|
642
|
+
* botmux store. Shared by the sync (CLI) and async (dashboard job) install
|
|
643
|
+
* paths so they stay behaviourally identical.
|
|
644
|
+
*
|
|
645
|
+
* `requireSkillName` (set by update): if that skill is not among the produced
|
|
646
|
+
* set (renamed upstream, or dropped from its collection), abort with
|
|
647
|
+
* `agentbuddy_update_failed` BEFORE touching the store/registry — so a failed
|
|
648
|
+
* update never leaves the old entry stale while writing unrelated products.
|
|
649
|
+
* `verifyTelemetryStripped`: fail-closed telemetry post-check per skill. Both
|
|
650
|
+
* checks run before any store copy / registry write. */
|
|
651
|
+
function registerAgentbuddyStaging(opts, identifier, staging, register) {
|
|
652
|
+
const dirs = findSkillDirs(staging);
|
|
653
|
+
if (dirs.length === 0)
|
|
654
|
+
throw new Error('agentbuddy_no_skill_produced');
|
|
655
|
+
// Resolve names first (dedup: the same skill can mirror under multiple agent
|
|
656
|
+
// dirs) so requireSkillName / telemetry checks can reject before any write.
|
|
657
|
+
const byName = new Map();
|
|
658
|
+
for (const dir of dirs) {
|
|
659
|
+
const provisional = loadSkillPackage(dir, { source: { type: 'agentbuddy', identifier } });
|
|
660
|
+
if (!byName.has(provisional.name))
|
|
661
|
+
byName.set(provisional.name, dir);
|
|
662
|
+
}
|
|
663
|
+
if (register.requireSkillName && !byName.has(register.requireSkillName)) {
|
|
664
|
+
throw new Error('agentbuddy_update_failed');
|
|
665
|
+
}
|
|
666
|
+
if (register.verifyTelemetryStripped) {
|
|
667
|
+
for (const dir of byName.values())
|
|
668
|
+
assertTelemetryStripped(dir);
|
|
669
|
+
}
|
|
670
|
+
const now = new Date().toISOString();
|
|
671
|
+
const registry = readSkillRegistry();
|
|
672
|
+
const installed = [];
|
|
673
|
+
for (const [name, dir] of byName) {
|
|
674
|
+
// A collection member re-installs via its collection; a single skill via
|
|
675
|
+
// its own group/skill/version — record whichever lets `update` re-run it.
|
|
676
|
+
const proto = opts.protocol ? { protocol: opts.protocol } : {};
|
|
677
|
+
const source = opts.collection
|
|
678
|
+
? { type: 'agentbuddy', identifier, ...proto, collection: opts.collection, skill: name }
|
|
679
|
+
: { type: 'agentbuddy', identifier, ...proto, group: opts.group, skill: opts.skill, ...(opts.version ? { version: opts.version } : {}) };
|
|
680
|
+
const rootDir = join(skillStoreDir(), name);
|
|
681
|
+
rmSync(rootDir, { recursive: true, force: true });
|
|
682
|
+
mkdirSync(dirname(rootDir), { recursive: true });
|
|
683
|
+
cpSync(dir, rootDir, { recursive: true });
|
|
684
|
+
const pkg = loadSkillPackage(rootDir, { source, id: name });
|
|
685
|
+
registry.skills[pkg.name] = { ...pkg, installedAt: now, updatedAt: now };
|
|
686
|
+
installed.push(registry.skills[pkg.name]);
|
|
687
|
+
}
|
|
688
|
+
writeSkillRegistry(registry);
|
|
689
|
+
return installed;
|
|
690
|
+
}
|
|
691
|
+
async function runAgentbuddyCliAsync(args, cwd, failCode) {
|
|
692
|
+
const { bin, prefixArgs } = agentbuddyCommand();
|
|
693
|
+
try {
|
|
694
|
+
await execFileAsync(bin, [...prefixArgs, ...args], { cwd, encoding: 'utf-8', timeout: agentbuddyTimeoutMs() });
|
|
695
|
+
}
|
|
696
|
+
catch (err) {
|
|
697
|
+
if (err?.code === 'ENOENT')
|
|
698
|
+
throw new Error('agentbuddy_not_found');
|
|
699
|
+
const stderr = Buffer.isBuffer(err?.stderr) ? err.stderr.toString('utf-8').trim() : String(err?.stderr ?? '').trim();
|
|
700
|
+
const stdout = Buffer.isBuffer(err?.stdout) ? err.stdout.toString('utf-8').trim() : String(err?.stdout ?? '').trim();
|
|
701
|
+
throw new Error(`${failCode}: ${stderr || stdout || err?.message || String(err)}`);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
export function installAgentbuddySkill(opts, requireSkillName) {
|
|
705
|
+
const identifier = agentbuddyIdentifier(opts);
|
|
706
|
+
return withAgentbuddyLockSync(identifier, () => {
|
|
707
|
+
const staging = join(skillSourcesDir(), 'agentbuddy', sourceId(identifier));
|
|
708
|
+
rmSync(staging, { recursive: true, force: true });
|
|
709
|
+
mkdirSync(staging, { recursive: true });
|
|
710
|
+
try {
|
|
711
|
+
runAgentbuddyCli(agentbuddyInstallArgs(opts), staging, 'agentbuddy_command_failed');
|
|
712
|
+
const verifyTelemetryStripped = !agentbuddyKeepTelemetry();
|
|
713
|
+
if (verifyTelemetryStripped)
|
|
714
|
+
clearAgentbuddyTelemetry(staging);
|
|
715
|
+
return registerAgentbuddyStaging(opts, identifier, staging, { requireSkillName, verifyTelemetryStripped });
|
|
716
|
+
}
|
|
717
|
+
finally {
|
|
718
|
+
rmSync(staging, { recursive: true, force: true });
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
/** Async twin of installAgentbuddySkill for the dashboard install job — same
|
|
723
|
+
* behaviour, but awaits the (minutes-long, network-bound) agentbuddy calls off
|
|
724
|
+
* the daemon event loop instead of blocking it with execFileSync. */
|
|
725
|
+
export async function installAgentbuddySkillAsync(opts, requireSkillName) {
|
|
726
|
+
const identifier = agentbuddyIdentifier(opts);
|
|
727
|
+
return withAgentbuddyLock(identifier, async () => {
|
|
728
|
+
const staging = join(skillSourcesDir(), 'agentbuddy', sourceId(identifier));
|
|
729
|
+
rmSync(staging, { recursive: true, force: true });
|
|
730
|
+
mkdirSync(staging, { recursive: true });
|
|
731
|
+
try {
|
|
732
|
+
await runAgentbuddyCliAsync(agentbuddyInstallArgs(opts), staging, 'agentbuddy_command_failed');
|
|
733
|
+
const verifyTelemetryStripped = !agentbuddyKeepTelemetry();
|
|
734
|
+
if (verifyTelemetryStripped)
|
|
735
|
+
await runAgentbuddyCliAsync(['clear-embedded-telemetry', staging], staging, 'agentbuddy_clear_telemetry_failed');
|
|
736
|
+
return registerAgentbuddyStaging(opts, identifier, staging, { requireSkillName, verifyTelemetryStripped });
|
|
737
|
+
}
|
|
738
|
+
finally {
|
|
739
|
+
rmSync(staging, { recursive: true, force: true });
|
|
740
|
+
}
|
|
741
|
+
});
|
|
742
|
+
}
|
|
743
|
+
function agentbuddyReinstallOpts(source) {
|
|
744
|
+
const proto = source.protocol ? { protocol: source.protocol } : {};
|
|
745
|
+
return source.collection
|
|
746
|
+
? { ...proto, collection: source.collection }
|
|
747
|
+
: { ...proto, group: source.group, skill: source.skill, version: source.version };
|
|
748
|
+
}
|
|
470
749
|
export function removeInstalledSkill(name) {
|
|
471
750
|
const registry = readSkillRegistry();
|
|
472
751
|
const pkg = registry.skills[name];
|
|
@@ -512,6 +791,18 @@ export function updateInstalledSkill(name) {
|
|
|
512
791
|
}),
|
|
513
792
|
};
|
|
514
793
|
}
|
|
794
|
+
if (source.type === 'agentbuddy') {
|
|
795
|
+
try {
|
|
796
|
+
const pkgs = installAgentbuddySkill(agentbuddyReinstallOpts(source), name);
|
|
797
|
+
const match = pkgs.find((pkg) => pkg.name === name);
|
|
798
|
+
return match ? { ok: true, skill: match } : { ok: false, reason: 'agentbuddy_update_failed' };
|
|
799
|
+
}
|
|
800
|
+
catch (err) {
|
|
801
|
+
if (err?.message === 'agentbuddy_update_failed')
|
|
802
|
+
return { ok: false, reason: 'agentbuddy_update_failed' };
|
|
803
|
+
throw err;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
515
806
|
return { ok: false, reason: `unsupported_source:${source.type}` };
|
|
516
807
|
}
|
|
517
808
|
export async function updateInstalledSkillAsync(name) {
|
|
@@ -537,6 +828,18 @@ export async function updateInstalledSkillAsync(name) {
|
|
|
537
828
|
}),
|
|
538
829
|
};
|
|
539
830
|
}
|
|
831
|
+
if (source.type === 'agentbuddy') {
|
|
832
|
+
try {
|
|
833
|
+
const pkgs = await installAgentbuddySkillAsync(agentbuddyReinstallOpts(source), name);
|
|
834
|
+
const match = pkgs.find((pkg) => pkg.name === name);
|
|
835
|
+
return match ? { ok: true, skill: match } : { ok: false, reason: 'agentbuddy_update_failed' };
|
|
836
|
+
}
|
|
837
|
+
catch (err) {
|
|
838
|
+
if (err?.message === 'agentbuddy_update_failed')
|
|
839
|
+
return { ok: false, reason: 'agentbuddy_update_failed' };
|
|
840
|
+
throw err;
|
|
841
|
+
}
|
|
842
|
+
}
|
|
540
843
|
return { ok: false, reason: `unsupported_source:${source.type}` };
|
|
541
844
|
}
|
|
542
845
|
//# sourceMappingURL=skill-registry-store.js.map
|