@songsid/agend 2.3.0-beta.2 → 2.3.0-beta.21
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.md +7 -1
- package/README.zh-TW.md +7 -1
- package/dist/agent-cli-instructions.md +9 -2
- package/dist/agent-cli.js +63 -2
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-endpoint.js +4 -0
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/agent-file-read.d.ts +4 -1
- package/dist/agent-file-read.js +189 -16
- package/dist/agent-file-read.js.map +1 -1
- package/dist/agent-whats-new.d.ts +11 -0
- package/dist/agent-whats-new.js +29 -5
- package/dist/agent-whats-new.js.map +1 -1
- package/dist/auth-api.d.ts +30 -1
- package/dist/auth-api.js +45 -13
- package/dist/auth-api.js.map +1 -1
- package/dist/authority/authority-state.d.ts +38 -0
- package/dist/authority/authority-state.js +114 -0
- package/dist/authority/authority-state.js.map +1 -0
- package/dist/authority/session-authorizations.d.ts +43 -0
- package/dist/authority/session-authorizations.js +102 -0
- package/dist/authority/session-authorizations.js.map +1 -0
- package/dist/authority/web-authority.d.ts +120 -0
- package/dist/authority/web-authority.js +157 -0
- package/dist/authority/web-authority.js.map +1 -0
- package/dist/backend/claude-code.d.ts +2 -2
- package/dist/backend/claude-code.js +18 -8
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex-metadata.d.ts +8 -0
- package/dist/backend/codex-metadata.js +74 -17
- package/dist/backend/codex-metadata.js.map +1 -1
- package/dist/backend/codex.js +15 -2
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/credential-profile.d.ts +2 -0
- package/dist/backend/credential-profile.js +2 -0
- package/dist/backend/credential-profile.js.map +1 -1
- package/dist/backend/types.d.ts +6 -0
- package/dist/backend/types.js +15 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/backend-availability.d.ts +120 -0
- package/dist/backend-availability.js +396 -0
- package/dist/backend-availability.js.map +1 -0
- package/dist/backend-command.d.ts +23 -3
- package/dist/backend-command.js +25 -4
- package/dist/backend-command.js.map +1 -1
- package/dist/bug-report-cli.d.ts +30 -0
- package/dist/bug-report-cli.js +138 -0
- package/dist/bug-report-cli.js.map +1 -0
- package/dist/bug-report.d.ts +47 -0
- package/dist/bug-report.js +136 -0
- package/dist/bug-report.js.map +1 -0
- package/dist/bundled-skills.d.ts +14 -0
- package/dist/bundled-skills.js +29 -0
- package/dist/bundled-skills.js.map +1 -0
- package/dist/cache-ledger.d.ts +16 -3
- package/dist/cache-ledger.js +33 -13
- package/dist/cache-ledger.js.map +1 -1
- package/dist/cache-service.d.ts +55 -3
- package/dist/cache-service.js +152 -16
- package/dist/cache-service.js.map +1 -1
- package/dist/channel/adapters/discord-client-retirement.d.ts +5 -0
- package/dist/channel/adapters/discord-client-retirement.js +57 -0
- package/dist/channel/adapters/discord-client-retirement.js.map +1 -0
- package/dist/channel/adapters/discord.d.ts +9 -0
- package/dist/channel/adapters/discord.js +49 -4
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/mcp-tools.js +22 -11
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/types.d.ts +6 -0
- package/dist/classic-channel-manager.d.ts +10 -5
- package/dist/classic-channel-manager.js +12 -9
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +224 -111
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.d.ts +6 -0
- package/dist/config-validator.js +129 -3
- package/dist/config-validator.js.map +1 -1
- package/dist/config.d.ts +13 -1
- package/dist/config.js +14 -5
- package/dist/config.js.map +1 -1
- package/dist/cross-instance-notice.d.ts +7 -0
- package/dist/cross-instance-notice.js +10 -0
- package/dist/cross-instance-notice.js.map +1 -1
- package/dist/daemon.d.ts +24 -1
- package/dist/daemon.js +151 -19
- package/dist/daemon.js.map +1 -1
- package/dist/decision-list.d.ts +25 -0
- package/dist/decision-list.js +30 -0
- package/dist/decision-list.js.map +1 -0
- package/dist/delivery-outbox.d.ts +10 -0
- package/dist/delivery-outbox.js +17 -1
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/diagnostic-redaction.d.ts +10 -0
- package/dist/diagnostic-redaction.js +167 -0
- package/dist/diagnostic-redaction.js.map +1 -0
- package/dist/fleet-context.d.ts +10 -0
- package/dist/fleet-manager.d.ts +505 -15
- package/dist/fleet-manager.js +1870 -204
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-process-handlers.d.ts +18 -0
- package/dist/fleet-process-handlers.js +69 -0
- package/dist/fleet-process-handlers.js.map +1 -0
- package/dist/fleet-traffic.d.ts +74 -0
- package/dist/fleet-traffic.js +196 -0
- package/dist/fleet-traffic.js.map +1 -0
- package/dist/general-knowledge/skills/bug-report/SKILL.md +31 -0
- package/dist/general-knowledge/skills/credential-profiles/SKILL.md +17 -6
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +6 -1
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +2 -0
- package/dist/general-knowledge/skills/multi-channel/SKILL.md +3 -2
- package/dist/general-knowledge/skills/persona-emoji/SKILL.md +1 -1
- package/dist/general-knowledge/skills/scheduling/SKILL.md +4 -0
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +190 -47
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +545 -0
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
- package/dist/human-delivery-receipts.d.ts +24 -1
- package/dist/human-delivery-receipts.js +64 -11
- package/dist/human-delivery-receipts.js.map +1 -1
- package/dist/instance-config-impact.js +7 -1
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +10 -1
- package/dist/instance-lifecycle.js +79 -18
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instance-names.d.ts +4 -0
- package/dist/instance-names.js +12 -0
- package/dist/instance-names.js.map +1 -0
- package/dist/instructions.d.ts +12 -1
- package/dist/instructions.js +13 -2
- package/dist/instructions.js.map +1 -1
- package/dist/locale.js +173 -12
- package/dist/locale.js.map +1 -1
- package/dist/log-steps.d.ts +1 -0
- package/dist/log-steps.js +15 -0
- package/dist/log-steps.js.map +1 -1
- package/dist/login-controller.d.ts +45 -0
- package/dist/login-controller.js +101 -5
- package/dist/login-controller.js.map +1 -1
- package/dist/ls-attach-resolve.d.ts +96 -0
- package/dist/ls-attach-resolve.js +180 -0
- package/dist/ls-attach-resolve.js.map +1 -0
- package/dist/ls-rows.d.ts +12 -0
- package/dist/ls-rows.js +82 -3
- package/dist/ls-rows.js.map +1 -1
- package/dist/memory-hogs.d.ts +27 -0
- package/dist/memory-hogs.js +124 -0
- package/dist/memory-hogs.js.map +1 -0
- package/dist/needs-you.d.ts +10 -0
- package/dist/needs-you.js +2 -1
- package/dist/needs-you.js.map +1 -1
- package/dist/outbound-handlers.d.ts +11 -0
- package/dist/outbound-handlers.js +139 -11
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +200 -4
- package/dist/outbound-schemas.js +124 -11
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/public-web-gateway.js +17 -4
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/public-web-link.d.ts +9 -0
- package/dist/public-web-link.js +8 -0
- package/dist/public-web-link.js.map +1 -1
- package/dist/quickstart-api.d.ts +19 -1
- package/dist/quickstart-api.js +94 -4
- package/dist/quickstart-api.js.map +1 -1
- package/dist/reply-buttons-controller.d.ts +4 -0
- package/dist/reply-buttons-controller.js +2 -2
- package/dist/reply-buttons-controller.js.map +1 -1
- package/dist/restart-progress.d.ts +80 -1
- package/dist/restart-progress.js +306 -21
- package/dist/restart-progress.js.map +1 -1
- package/dist/rollout-index.d.ts +5 -0
- package/dist/rollout-index.js +26 -5
- package/dist/rollout-index.js.map +1 -1
- package/dist/scheduler/db.d.ts +40 -13
- package/dist/scheduler/db.js +123 -89
- package/dist/scheduler/db.js.map +1 -1
- package/dist/scheduler/task-board-text.d.ts +26 -0
- package/dist/scheduler/task-board-text.js +135 -0
- package/dist/scheduler/task-board-text.js.map +1 -0
- package/dist/scheduler/task-board.d.ts +650 -0
- package/dist/scheduler/task-board.js +1938 -0
- package/dist/scheduler/task-board.js.map +1 -0
- package/dist/scheduler/types.d.ts +6 -1
- package/dist/search/search-docs.d.ts +58 -0
- package/dist/search/search-docs.js +63 -0
- package/dist/search/search-docs.js.map +1 -0
- package/dist/search/search-index.d.ts +141 -0
- package/dist/search/search-index.js +440 -0
- package/dist/search/search-index.js.map +1 -0
- package/dist/search/search-store.d.ts +122 -0
- package/dist/search/search-store.js +236 -0
- package/dist/search/search-store.js.map +1 -0
- package/dist/search/search-worker.d.ts +1 -0
- package/dist/search/search-worker.js +163 -0
- package/dist/search/search-worker.js.map +1 -0
- package/dist/service-installer.js +12 -0
- package/dist/service-installer.js.map +1 -1
- package/dist/settings-api.d.ts +23 -0
- package/dist/settings-api.js +164 -3
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +104 -0
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-confirmation.d.ts +3 -1
- package/dist/settings-confirmation.js +2 -0
- package/dist/settings-confirmation.js.map +1 -1
- package/dist/settings-effect.js +34 -3
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.d.ts +11 -0
- package/dist/settings-http-confirmation.js +10 -0
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/setup-form.d.ts +1 -1
- package/dist/setup-form.js +23 -7
- package/dist/setup-form.js.map +1 -1
- package/dist/spawn-gate.d.ts +1 -0
- package/dist/spawn-gate.js +13 -3
- package/dist/spawn-gate.js.map +1 -1
- package/dist/task-board-tool.d.ts +25 -0
- package/dist/task-board-tool.js +154 -0
- package/dist/task-board-tool.js.map +1 -0
- package/dist/task-board-waker.d.ts +44 -0
- package/dist/task-board-waker.js +128 -0
- package/dist/task-board-waker.js.map +1 -0
- package/dist/tmux-exec-helper.d.ts +94 -0
- package/dist/tmux-exec-helper.js +407 -0
- package/dist/tmux-exec-helper.js.map +1 -0
- package/dist/tmux-manager.d.ts +5 -0
- package/dist/tmux-manager.js +42 -11
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tool-permissions.d.ts +0 -7
- package/dist/tool-permissions.js +44 -5
- package/dist/tool-permissions.js.map +1 -1
- package/dist/topic-commands.d.ts +17 -1
- package/dist/topic-commands.js +45 -19
- package/dist/topic-commands.js.map +1 -1
- package/dist/tunnel/cloudflared.js +37 -2
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/tunnel/types.d.ts +3 -1
- package/dist/tunnel/types.js.map +1 -1
- package/dist/types.d.ts +63 -1
- package/dist/ui/app-effects.js +90 -32
- package/dist/ui/backend-signin.js +297 -0
- package/dist/ui/chat-ambient.js +307 -0
- package/dist/ui/chat-effect-posters.js +8 -8
- package/dist/ui/chat-effects.js +110 -15
- package/dist/ui/chat-msg-actions.js +176 -0
- package/dist/ui/chat-render.js +21 -3
- package/dist/ui/chat-store.js +64 -12
- package/dist/ui/chat-strings.js +85 -8
- package/dist/ui/chat-thread.js +204 -21
- package/dist/ui/effect-trial-controller.js +13 -8
- package/dist/ui/effect-trial-panel.js +19 -16
- package/dist/ui/effects-waker.js +70 -0
- package/dist/ui/fleet-canvas-layout.js +117 -0
- package/dist/ui/fleet-canvas.js +555 -0
- package/dist/ui/fleet-org.js +27 -12
- package/dist/ui/fleet-route-scene.js +207 -0
- package/dist/ui/fleet-route-worker.js +21 -0
- package/dist/ui/fleet-route.js +88 -0
- package/dist/ui/fleet-task-card.js +436 -0
- package/dist/ui/fleet-task-common.js +448 -0
- package/dist/ui/fleet-tasks.js +535 -0
- package/dist/ui/fleet-traffic.js +359 -0
- package/dist/ui/fleet-usage.js +435 -0
- package/dist/ui/panel-chat.js +264 -66
- package/dist/ui/panel-details.js +2 -1
- package/dist/ui/panel-fleet.js +65 -83
- package/dist/ui/panel-needs.js +4 -2
- package/dist/ui/panel-settings.js +56 -11
- package/dist/ui/preview.js +3 -2
- package/dist/ui/search-dialog.js +349 -0
- package/dist/ui/settings-appearance.js +44 -19
- package/dist/ui/settings-apply.js +3 -3
- package/dist/ui/settings-catalog.js +92 -0
- package/dist/ui/settings-confirm.js +7 -2
- package/dist/ui/settings-dialogs.js +40 -12
- package/dist/ui/settings-effects.js +4 -3
- package/dist/ui/settings-guests.js +117 -0
- package/dist/ui/settings-learn.js +25 -0
- package/dist/ui/settings-model.js +15 -6
- package/dist/ui/settings-mods.js +23 -9
- package/dist/ui/settings-owner-effects.js +15 -13
- package/dist/ui/settings-strings.js +122 -42
- package/dist/ui/settings-web-authority.js +91 -0
- package/dist/ui/shared/agend-auth.js +1 -1
- package/dist/ui/shared/app-i18n.js +11 -2
- package/dist/ui/shared/app-prefs.js +17 -4
- package/dist/ui/shared/app-route.js +19 -1
- package/dist/ui/shared/app-session.js +2 -0
- package/dist/ui/shared/app-shell.js +174 -30
- package/dist/ui/shared/app-store.js +26 -1
- package/dist/ui/shared/app-stream.js +5 -1
- package/dist/ui/shared/app-themes.js +140 -7
- package/dist/ui/shared/app.css +705 -20
- package/dist/ui/shared/app.js +26 -15
- package/dist/ui/shared/card-strings.js +8 -0
- package/dist/ui/shared/effect-app-runtime.js +68 -19
- package/dist/ui/shared/effect-chat-runtime.js +16 -3
- package/dist/ui/shared/effect-frame.js +26 -7
- package/dist/ui/shared/effect-geometry.js +24 -9
- package/dist/ui/shared/effect-owner-source.js +8 -1
- package/dist/ui/shared/effect-policy.js +21 -7
- package/dist/ui/shared/effect-profiler.js +31 -9
- package/dist/ui/shared/effect-registry.js +97 -50
- package/dist/ui/shared/effect-stock-snapshot.js +9 -0
- package/dist/ui/shared/effect-stock-trust.js +62 -10
- package/dist/ui/shared/effect-trial-shadow.js +62 -0
- package/dist/ui/shared/effect-trial-source.js +1 -1
- package/dist/ui/shared/effect-trial-stage.js +54 -31
- package/dist/ui/shared/effect-trial.css +40 -0
- package/dist/ui/shared/fx-motion.js +67 -0
- package/dist/ui/shared/identity-card.js +100 -11
- package/dist/ui/shared/identity-color.js +14 -10
- package/dist/ui/shared/instance-nav.js +179 -23
- package/dist/ui/shared/owner-css.js +30 -1
- package/dist/ui/shared/panel-view.js +24 -4
- package/dist/ui/shared/tokens.css +9 -3
- package/dist/ui/shared/ui-icons.js +2 -0
- package/dist/ui/shared/ui-menu.js +20 -7
- package/dist/ui/shared/ui-toast.js +16 -3
- package/dist/ui/shared/usage-dialog.js +34 -3
- package/dist/ui/shared/view-strings.js +72 -0
- package/dist/ui/shared/web-authorize.js +198 -0
- package/dist/ui/web-terminal/terminal.css +4 -4
- package/dist/ui/web-terminal/terminal.html +1 -1
- package/dist/update-launch.d.ts +9 -0
- package/dist/update-launch.js +38 -12
- package/dist/update-launch.js.map +1 -1
- package/dist/usage/format-rich.js +6 -3
- package/dist/usage/format-rich.js.map +1 -1
- package/dist/usage/i18n-keys.d.ts +1 -1
- package/dist/usage/i18n-keys.js +2 -1
- package/dist/usage/i18n-keys.js.map +1 -1
- package/dist/usage/i18n.d.ts +13 -1
- package/dist/usage/i18n.js +29 -0
- package/dist/usage/i18n.js.map +1 -1
- package/dist/usage/providers.d.ts +81 -2
- package/dist/usage/providers.js +240 -38
- package/dist/usage/providers.js.map +1 -1
- package/dist/usage/usage-api.d.ts +5 -1
- package/dist/usage/usage-api.js +184 -58
- package/dist/usage/usage-api.js.map +1 -1
- package/dist/usage-report.d.ts +158 -0
- package/dist/usage-report.js +226 -0
- package/dist/usage-report.js.map +1 -0
- package/dist/usage-rollup.d.ts +51 -0
- package/dist/usage-rollup.js +168 -0
- package/dist/usage-rollup.js.map +1 -0
- package/dist/user-systemd.d.ts +24 -0
- package/dist/user-systemd.js +75 -0
- package/dist/user-systemd.js.map +1 -0
- package/dist/view-api.d.ts +39 -0
- package/dist/view-api.js +69 -6
- package/dist/view-api.js.map +1 -1
- package/dist/web-ambient.d.ts +72 -0
- package/dist/web-ambient.js +161 -0
- package/dist/web-ambient.js.map +1 -0
- package/dist/web-api.d.ts +98 -14
- package/dist/web-api.js +1027 -83
- package/dist/web-api.js.map +1 -1
- package/dist/web-appearance-policy.d.ts +4 -6
- package/dist/web-appearance-policy.js +5 -12
- package/dist/web-appearance-policy.js.map +1 -1
- package/dist/web-appearance-tools.d.ts +3 -0
- package/dist/web-appearance-tools.js +22 -3
- package/dist/web-appearance-tools.js.map +1 -1
- package/dist/web-appearance-view.d.ts +27 -2
- package/dist/web-appearance-view.js +129 -14
- package/dist/web-appearance-view.js.map +1 -1
- package/dist/web-appearance.d.ts +17 -3
- package/dist/web-appearance.js +85 -8
- package/dist/web-appearance.js.map +1 -1
- package/dist/web-asset-parts.d.ts +2 -2
- package/dist/web-asset-parts.js +3 -3
- package/dist/web-asset-parts.js.map +1 -1
- package/dist/web-auth.js +3 -1
- package/dist/web-auth.js.map +1 -1
- package/dist/web-backend-login.d.ts +130 -0
- package/dist/web-backend-login.js +225 -0
- package/dist/web-backend-login.js.map +1 -0
- package/dist/web-card.d.ts +14 -0
- package/dist/web-card.js +40 -6
- package/dist/web-card.js.map +1 -1
- package/dist/web-channel-echo.d.ts +7 -1
- package/dist/web-channel-echo.js +6 -2
- package/dist/web-channel-echo.js.map +1 -1
- package/dist/web-chat-history.d.ts +83 -0
- package/dist/web-chat-history.js +137 -5
- package/dist/web-chat-history.js.map +1 -1
- package/dist/web-commands.d.ts +6 -1
- package/dist/web-commands.js +1 -1
- package/dist/web-commands.js.map +1 -1
- package/dist/web-effect-bootstrap.d.ts +12 -0
- package/dist/web-effect-bootstrap.js +49 -0
- package/dist/web-effect-bootstrap.js.map +1 -0
- package/dist/web-effect-bundle.js +46 -1
- package/dist/web-effect-bundle.js.map +1 -1
- package/dist/web-effect-playback.d.ts +30 -0
- package/dist/web-effect-playback.js +71 -0
- package/dist/web-effect-playback.js.map +1 -0
- package/dist/web-effect-profiles.d.ts +4 -4
- package/dist/web-effect-service.d.ts +11 -4
- package/dist/web-effect-service.js +25 -4
- package/dist/web-effect-service.js.map +1 -1
- package/dist/web-effect-tools.d.ts +1 -0
- package/dist/web-effect-tools.js +4 -4
- package/dist/web-effect-tools.js.map +1 -1
- package/dist/web-effect-trials.d.ts +2 -2
- package/dist/web-effect-trials.js +3 -3
- package/dist/web-effect-trials.js.map +1 -1
- package/dist/web-effect-upload.js +1 -1
- package/dist/web-effect-upload.js.map +1 -1
- package/dist/web-effect-worker.d.ts +1 -1
- package/dist/web-effect-worker.js +2 -2
- package/dist/web-effect-worker.js.map +1 -1
- package/dist/web-effect.d.ts +1 -1
- package/dist/web-guest-access.d.ts +126 -0
- package/dist/web-guest-access.js +238 -0
- package/dist/web-guest-access.js.map +1 -0
- package/dist/web-guest-rooms.d.ts +82 -0
- package/dist/web-guest-rooms.js +135 -0
- package/dist/web-guest-rooms.js.map +1 -0
- package/dist/web-host-guard.d.ts +11 -0
- package/dist/web-host-guard.js +11 -0
- package/dist/web-host-guard.js.map +1 -1
- package/dist/web-identity-color.d.ts +1 -1
- package/dist/web-identity-color.js +2 -2
- package/dist/web-identity-color.js.map +1 -1
- package/dist/web-identity-palette.d.ts +1 -1
- package/dist/web-identity-palette.js +2 -2
- package/dist/web-identity-palette.js.map +1 -1
- package/dist/web-image-meta.d.ts +13 -0
- package/dist/web-image-meta.js +62 -0
- package/dist/web-image-meta.js.map +1 -1
- package/dist/web-libavoid.d.ts +14 -0
- package/dist/web-libavoid.js +46 -0
- package/dist/web-libavoid.js.map +1 -0
- package/dist/web-login.d.ts +47 -0
- package/dist/web-login.js +115 -0
- package/dist/web-login.js.map +1 -1
- package/dist/web-mod-agent.d.ts +1 -1
- package/dist/web-mod-agent.js +7 -5
- package/dist/web-mod-agent.js.map +1 -1
- package/dist/web-mod-bundle.d.ts +9 -1
- package/dist/web-mod-bundle.js +62 -3
- package/dist/web-mod-bundle.js.map +1 -1
- package/dist/web-mod-export.d.ts +9 -0
- package/dist/web-mod-export.js +21 -0
- package/dist/web-mod-export.js.map +1 -1
- package/dist/web-mod-store.d.ts +7 -1
- package/dist/web-mod-store.js +19 -6
- package/dist/web-mod-store.js.map +1 -1
- package/dist/web-owner-css-store.d.ts +44 -1
- package/dist/web-owner-css-store.js +70 -9
- package/dist/web-owner-css-store.js.map +1 -1
- package/dist/web-prefs.d.ts +14 -0
- package/dist/web-prefs.js +37 -4
- package/dist/web-prefs.js.map +1 -1
- package/dist/web-preview.d.ts +6 -2
- package/dist/web-preview.js +4 -2
- package/dist/web-preview.js.map +1 -1
- package/dist/web-returning-device.d.ts +41 -0
- package/dist/web-returning-device.js +57 -5
- package/dist/web-returning-device.js.map +1 -1
- package/dist/web-session-authorization.d.ts +132 -0
- package/dist/web-session-authorization.js +193 -0
- package/dist/web-session-authorization.js.map +1 -0
- package/dist/web-session.d.ts +70 -10
- package/dist/web-session.js +137 -22
- package/dist/web-session.js.map +1 -1
- package/dist/web-settings-patch.d.ts +49 -2
- package/dist/web-settings-patch.js +145 -1
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/web-settings-tools.d.ts +94 -0
- package/dist/web-settings-tools.js +301 -0
- package/dist/web-settings-tools.js.map +1 -0
- package/dist/web-shell-routes.d.ts +1 -1
- package/dist/web-shell-routes.js +1 -1
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/web-terminal-http.js +15 -2
- package/dist/web-terminal-http.js.map +1 -1
- package/dist/web-theme-store.d.ts +39 -0
- package/dist/web-theme-store.js +122 -11
- package/dist/web-theme-store.js.map +1 -1
- package/dist/web-theme.d.ts +31 -0
- package/dist/web-theme.js +99 -2
- package/dist/web-theme.js.map +1 -1
- package/dist/web-upload.d.ts +13 -0
- package/dist/web-upload.js +39 -3
- package/dist/web-upload.js.map +1 -1
- package/dist/windows-shortcuts.d.ts +78 -0
- package/dist/windows-shortcuts.js +203 -0
- package/dist/windows-shortcuts.js.map +1 -0
- package/dist/workflow-templates/default.md +4 -1
- package/dist/yaml-shared-nodes.d.ts +25 -0
- package/dist/yaml-shared-nodes.js +185 -0
- package/dist/yaml-shared-nodes.js.map +1 -0
- package/launcher/agend-install.cjs +553 -0
- package/launcher/install-admission.cjs +4 -39
- package/launcher/postinstall.cjs +14 -12
- package/package.json +4 -2
- package/scripts/preinstall-guard.cjs +2 -5
- package/templates/windows-shortcuts.ps1 +181 -0
- package/launcher/old-updater-note.cjs +0 -48
|
@@ -74,13 +74,6 @@ export declare const IPC_TYPE_TOOLS: Readonly<Record<string, string>>;
|
|
|
74
74
|
* table built from the map alone would have six gaps in it.
|
|
75
75
|
*/
|
|
76
76
|
export declare const EARLY_AGENT_OP_TOOLS: Readonly<Record<string, string>>;
|
|
77
|
-
/**
|
|
78
|
-
* What to say to an agent that was refused.
|
|
79
|
-
*
|
|
80
|
-
* It will read this as an instruction, so it says what to do instead rather
|
|
81
|
-
* than only what went wrong. Naming the profile matters too: "not allowed" with
|
|
82
|
-
* no reason invites retrying.
|
|
83
|
-
*/
|
|
84
77
|
export declare function toolRefusedMessage(profile: ToolSetName, tool: string): string;
|
|
85
78
|
/**
|
|
86
79
|
* #2001: whose rows get_cache_report shows a caller — every instance's and the fleet summary for the profiles that
|
package/dist/tool-permissions.js
CHANGED
|
@@ -42,6 +42,8 @@ const WORKER = [
|
|
|
42
42
|
"get_fleet_status", "get_fleet_config", "get_usage", "get_effort", "get_instance_logs", "kiro_engine_status",
|
|
43
43
|
// #2001: the prompt-cache report — its own row only, unless the profile reads the fleet (cacheReportScope).
|
|
44
44
|
"get_cache_report",
|
|
45
|
+
// #2122: the usage report — its own row only, unless the profile reads the fleet (cacheReportScope).
|
|
46
|
+
"get_usage_report",
|
|
45
47
|
"list_decisions", "list_schedules", "list_deployments", "validate_config",
|
|
46
48
|
// Its own things.
|
|
47
49
|
"task", "post_decision", "set_display_name", "set_description", "list_emojis", "set_persona_emoji", "preview_emojis",
|
|
@@ -52,6 +54,8 @@ const WORKER = [
|
|
|
52
54
|
"get_web_appearance", "preview_web_appearance",
|
|
53
55
|
// Its own declarative widgets (#1629 r4-4): no target, the same lock and limits.
|
|
54
56
|
"set_web_widget", "remove_web_widget",
|
|
57
|
+
// Its own declarative ambient (#2117): no target, the same lock and limits.
|
|
58
|
+
"set_web_ambient", "clear_web_ambient",
|
|
55
59
|
// Mods (#1629 r4-5b): its own look as a file, and proposing one for a person — never importing.
|
|
56
60
|
"export_web_mod", "propose_web_mod",
|
|
57
61
|
"upload_web_effect", "list_web_effects", "preview_web_effect", "profile_web_effect", "apply_web_effect", "remove_web_effect", "delete_web_effect",
|
|
@@ -76,6 +80,8 @@ const ORCHESTRATION = [
|
|
|
76
80
|
"update_fleet_defaults", "update_instance_config",
|
|
77
81
|
// Changing a decision somebody else recorded; `post_decision` adds, and stays.
|
|
78
82
|
"update_decision",
|
|
83
|
+
// #2056: Settings → Web appearance for the user (General has these too; a worker changes only its own theme).
|
|
84
|
+
"get_web_settings", "set_web_settings",
|
|
79
85
|
];
|
|
80
86
|
const ALL_TOOLS = TOOLS.map(t => t.name);
|
|
81
87
|
/**
|
|
@@ -90,7 +96,7 @@ export const TOOL_PROFILES = {
|
|
|
90
96
|
coordinator: [...WORKER, ...ORCHESTRATION],
|
|
91
97
|
general: [
|
|
92
98
|
"reply", "react", "edit_message", "download_attachment", "close_poll",
|
|
93
|
-
"list_teams", "list_instances", "describe_instance", "get_fleet_status", "get_usage", "get_effort", "list_models", "get_cache_report",
|
|
99
|
+
"list_teams", "list_instances", "describe_instance", "get_fleet_status", "get_usage", "get_effort", "list_models", "get_cache_report", "get_usage_report",
|
|
94
100
|
// Read-only: what each kiro instance runs on, for explaining a kiro incompatibility.
|
|
95
101
|
"kiro_engine_status",
|
|
96
102
|
"send_to_instance", "delegate_task", "request_information", "report_result", "broadcast", "delivery_status",
|
|
@@ -101,9 +107,20 @@ export const TOOL_PROFILES = {
|
|
|
101
107
|
// a dispatcher can choose its own status stamp like any worker.
|
|
102
108
|
"list_emojis", "preview_emojis", "set_persona_emoji",
|
|
103
109
|
"list_stickers", "preview_stickers",
|
|
104
|
-
// Its own
|
|
105
|
-
|
|
110
|
+
// Its own identity — same as any worker.
|
|
111
|
+
"set_display_name", "set_description",
|
|
112
|
+
// Its own web theme (#1629), like its own status stamp.
|
|
106
113
|
"get_web_theme", "set_web_theme", "set_web_theme_asset", "reset_web_theme",
|
|
114
|
+
// Own-appearance family (#2132 + user decision hmsg-07371500): no target, caller-scoped.
|
|
115
|
+
// General carries the full own-appearance family — same as a worker (#2134 opened, user added
|
|
116
|
+
// ambient and effect tools on 2026-10-18).
|
|
117
|
+
"get_web_appearance", "preview_web_appearance",
|
|
118
|
+
"set_web_widget", "remove_web_widget",
|
|
119
|
+
"set_web_ambient", "clear_web_ambient",
|
|
120
|
+
"export_web_mod", "propose_web_mod",
|
|
121
|
+
"upload_web_effect", "list_web_effects", "preview_web_effect", "profile_web_effect", "apply_web_effect", "remove_web_effect", "delete_web_effect",
|
|
122
|
+
// #2056: Settings → Web appearance for the user (the page's own checks; a worker's are its own theme only).
|
|
123
|
+
"get_web_settings", "set_web_settings",
|
|
107
124
|
],
|
|
108
125
|
standard: [
|
|
109
126
|
"reply", "react", "edit_message", "close_poll",
|
|
@@ -111,9 +128,9 @@ export const TOOL_PROFILES = {
|
|
|
111
128
|
"list_decisions", "post_decision", "task", "set_display_name", "set_description", "list_emojis", "set_persona_emoji", "preview_emojis",
|
|
112
129
|
"list_stickers", "preview_stickers",
|
|
113
130
|
"get_web_theme", "set_web_theme", "set_web_theme_asset", "reset_web_theme",
|
|
114
|
-
"get_web_appearance", "preview_web_appearance", "set_web_widget", "remove_web_widget", "export_web_mod", "propose_web_mod",
|
|
131
|
+
"get_web_appearance", "preview_web_appearance", "set_web_widget", "remove_web_widget", "set_web_ambient", "clear_web_ambient", "export_web_mod", "propose_web_mod",
|
|
115
132
|
"upload_web_effect", "list_web_effects", "preview_web_effect", "profile_web_effect", "apply_web_effect", "remove_web_effect", "delete_web_effect",
|
|
116
|
-
"validate_config", "get_fleet_status", "get_usage", "get_effort", "get_instance_logs", "get_fleet_config", "kiro_engine_status", "get_cache_report",
|
|
133
|
+
"validate_config", "get_fleet_status", "get_usage", "get_effort", "get_instance_logs", "get_fleet_config", "kiro_engine_status", "get_cache_report", "get_usage_report",
|
|
117
134
|
// Self-scheduling, same scope as worker (#895).
|
|
118
135
|
"create_schedule", "list_schedules", "update_schedule", "delete_schedule",
|
|
119
136
|
],
|
|
@@ -226,6 +243,8 @@ export const IPC_TYPE_TOOLS = {
|
|
|
226
243
|
fleet_preview_web_appearance: "preview_web_appearance",
|
|
227
244
|
fleet_set_web_widget: "set_web_widget",
|
|
228
245
|
fleet_remove_web_widget: "remove_web_widget",
|
|
246
|
+
fleet_set_web_ambient: "set_web_ambient",
|
|
247
|
+
fleet_clear_web_ambient: "clear_web_ambient",
|
|
229
248
|
fleet_export_web_mod: "export_web_mod",
|
|
230
249
|
fleet_propose_web_mod: "propose_web_mod",
|
|
231
250
|
fleet_upload_web_effect: "upload_web_effect",
|
|
@@ -252,6 +271,7 @@ export const EARLY_AGENT_OP_TOOLS = {
|
|
|
252
271
|
"decision-post": "post_decision",
|
|
253
272
|
"decision-create": "post_decision",
|
|
254
273
|
"decision-list": "list_decisions",
|
|
274
|
+
"decision-get": "list_decisions",
|
|
255
275
|
"decision-update": "update_decision",
|
|
256
276
|
task: "task",
|
|
257
277
|
usage: "get_usage",
|
|
@@ -271,6 +291,8 @@ export const EARLY_AGENT_OP_TOOLS = {
|
|
|
271
291
|
"appearance-preview": "preview_web_appearance",
|
|
272
292
|
"widget-set": "set_web_widget",
|
|
273
293
|
"widget-remove": "remove_web_widget",
|
|
294
|
+
"ambient-set": "set_web_ambient",
|
|
295
|
+
"ambient-clear": "clear_web_ambient",
|
|
274
296
|
"mod-export": "export_web_mod",
|
|
275
297
|
"mod-propose": "propose_web_mod",
|
|
276
298
|
"effect-upload": "upload_web_effect",
|
|
@@ -287,8 +309,25 @@ export const EARLY_AGENT_OP_TOOLS = {
|
|
|
287
309
|
* It will read this as an instruction, so it says what to do instead rather
|
|
288
310
|
* than only what went wrong. Naming the profile matters too: "not allowed" with
|
|
289
311
|
* no reason invites retrying.
|
|
312
|
+
*
|
|
313
|
+
* Own-appearance tools (no target, act only on the caller's look) need a wider
|
|
314
|
+
* worker-tier profile, not a coordinator — suggesting coordinator for a
|
|
315
|
+
* cosmetic change is misleading and grants far more than needed. (#2132)
|
|
290
316
|
*/
|
|
317
|
+
const OWN_APPEARANCE_TOOLS = new Set([
|
|
318
|
+
"get_web_theme", "set_web_theme", "set_web_theme_asset", "reset_web_theme",
|
|
319
|
+
"get_web_appearance", "preview_web_appearance",
|
|
320
|
+
"set_web_widget", "remove_web_widget",
|
|
321
|
+
"set_web_ambient", "clear_web_ambient",
|
|
322
|
+
"export_web_mod", "propose_web_mod",
|
|
323
|
+
"upload_web_effect", "list_web_effects", "preview_web_effect", "profile_web_effect",
|
|
324
|
+
"apply_web_effect", "remove_web_effect", "delete_web_effect",
|
|
325
|
+
]);
|
|
291
326
|
export function toolRefusedMessage(profile, tool) {
|
|
327
|
+
if (OWN_APPEARANCE_TOOLS.has(tool)) {
|
|
328
|
+
return `${tool} is not available to this instance: it runs with the "${profile}" tool set, and ${tool} is an own-appearance tool (no target; acts only on the caller's look). `
|
|
329
|
+
+ 'Ask an administrator to set `tool_set: worker` or `tool_set: standard` for this instance.';
|
|
330
|
+
}
|
|
292
331
|
return `${tool} is not available to this instance: it runs with the "${profile}" tool set, and ${tool} belongs to a coordinator. `
|
|
293
332
|
+ "Report what you need with report_result and let the coordinator do it, "
|
|
294
333
|
+ 'or ask an administrator to set `tool_set: coordinator` for this instance.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-permissions.js","sourceRoot":"","sources":["../src/tool-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAI/C,yFAAyF;AACzF,MAAM,MAAM,GAAsB;IAChC,qBAAqB;IACrB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,gDAAgD;IAChD,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB;IAC3G,4DAA4D;IAC5D,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa;IAClE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB;IAC5G,4GAA4G;IAC5G,kBAAkB;IAClB,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB;IACzE,kBAAkB;IAClB,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB;IACpH,eAAe,EAAE,kBAAkB;IACnC,oHAAoH;IACpH,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB;IAC1E,qEAAqE;IACrE,oBAAoB,EAAE,wBAAwB;IAC9C,iFAAiF;IACjF,gBAAgB,EAAE,mBAAmB;IACrC,gGAAgG;IAChG,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;IACjJ,0EAA0E;IAC1E,uEAAuE;IACvE,6EAA6E;IAC7E,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB;IACvD,gFAAgF;IAChF,eAAe,EAAE,cAAc;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAsB;IACvC,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB;IACxD,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB;IACxF,iBAAiB,EAAE,qBAAqB;IACxC,aAAa,EAAE,aAAa,EAAE,aAAa;IAC3C,uBAAuB,EAAE,wBAAwB;IACjD,+EAA+E;IAC/E,iBAAiB;
|
|
1
|
+
{"version":3,"file":"tool-permissions.js","sourceRoot":"","sources":["../src/tool-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAI/C,yFAAyF;AACzF,MAAM,MAAM,GAAsB;IAChC,qBAAqB;IACrB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,gDAAgD;IAChD,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB;IAC3G,4DAA4D;IAC5D,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa;IAClE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB;IAC5G,4GAA4G;IAC5G,kBAAkB;IAClB,qGAAqG;IACrG,kBAAkB;IAClB,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB;IACzE,kBAAkB;IAClB,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB;IACpH,eAAe,EAAE,kBAAkB;IACnC,oHAAoH;IACpH,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB;IAC1E,qEAAqE;IACrE,oBAAoB,EAAE,wBAAwB;IAC9C,iFAAiF;IACjF,gBAAgB,EAAE,mBAAmB;IACrC,4EAA4E;IAC5E,iBAAiB,EAAE,mBAAmB;IACtC,gGAAgG;IAChG,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;IACjJ,0EAA0E;IAC1E,uEAAuE;IACvE,6EAA6E;IAC7E,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB;IACvD,gFAAgF;IAChF,eAAe,EAAE,cAAc;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAsB;IACvC,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB;IACxD,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB;IACxF,iBAAiB,EAAE,qBAAqB;IACxC,aAAa,EAAE,aAAa,EAAE,aAAa;IAC3C,uBAAuB,EAAE,wBAAwB;IACjD,+EAA+E;IAC/E,iBAAiB;IACjB,8GAA8G;IAC9G,kBAAkB,EAAE,kBAAkB;CACvC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqD;IAC7E,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC;IAC1C,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY;QACrE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB;QACzJ,qFAAqF;QACrF,oBAAoB;QACpB,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB;QAC3G,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe;QACxE,MAAM,EAAE,gBAAgB,EAAE,eAAe;QACzC,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB;QACzE,0EAA0E;QAC1E,gEAAgE;QAChE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB;QACpD,eAAe,EAAE,kBAAkB;QACnC,yCAAyC;QACzC,kBAAkB,EAAE,iBAAiB;QACrC,wDAAwD;QACxD,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB;QAC1E,yFAAyF;QACzF,8FAA8F;QAC9F,2CAA2C;QAC3C,oBAAoB,EAAE,wBAAwB;QAC9C,gBAAgB,EAAE,mBAAmB;QACrC,iBAAiB,EAAE,mBAAmB;QACtC,gBAAgB,EAAE,iBAAiB;QACnC,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;QACjJ,4GAA4G;QAC5G,kBAAkB,EAAE,kBAAkB;KACvC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;QAC9C,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB;QACzF,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB;QACtI,eAAe,EAAE,kBAAkB;QACnC,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB;QAC1E,oBAAoB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB;QAClK,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;QACjJ,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB;QACvK,gDAAgD;QAChD,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB;KAC1E;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,kEAAkE;IAClE,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,CAAC;CACzK,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAoB,EAAE,IAAY;IAC3D,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAkE,EAClE,IAAY,EACZ,eAA4B,QAAQ;IAEpC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAClC,IAAI,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,MAAM,EAAE,aAAa,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxG,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,qBAAqB,EAAE,iBAAiB;IACxC,mBAAmB,EAAE,gBAAgB;IACrC,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,eAAe;IACtC,mBAAmB,EAAE,gBAAgB;IACrC,qBAAqB,EAAE,iBAAiB;IACxC,UAAU,EAAE,MAAM;IAClB,sBAAsB,EAAE,kBAAkB;IAC1C,qBAAqB,EAAE,iBAAiB;IACxC,iBAAiB,EAAE,aAAa;IAChC,uBAAuB,EAAE,mBAAmB;IAC5C,oBAAoB,EAAE,gBAAgB;IACtC,mBAAmB,EAAE,eAAe;IACpC,sBAAsB,EAAE,kBAAkB;IAC1C,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,eAAe;IACpC,yBAAyB,EAAE,qBAAqB;IAChD,qBAAqB,EAAE,iBAAiB;IACxC,wBAAwB,EAAE,oBAAoB;IAC9C,4BAA4B,EAAE,wBAAwB;IACtD,oBAAoB,EAAE,gBAAgB;IACtC,uBAAuB,EAAE,mBAAmB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,uBAAuB,EAAE,mBAAmB;IAC5C,oBAAoB,EAAE,gBAAgB;IACtC,qBAAqB,EAAE,iBAAiB;IACxC,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,kBAAkB;IAC1C,wBAAwB,EAAE,oBAAoB;IAC9C,wBAAwB,EAAE,oBAAoB;IAC9C,sBAAsB,EAAE,kBAAkB;IAC1C,uBAAuB,EAAE,mBAAmB;IAC5C,uBAAuB,EAAE,mBAAmB;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,iBAAiB;IACpC,0EAA0E;IAC1E,yEAAyE;IACzE,eAAe,EAAE,eAAe;IAChC,iBAAiB,EAAE,eAAe;IAClC,eAAe,EAAE,gBAAgB;IACjC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,iBAAiB;IACpC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,kBAAkB;IAC1B,iBAAiB,EAAE,iBAAiB;IACpC,MAAM,EAAE,aAAa;IACrB,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,gBAAgB;IACjC,QAAQ,EAAE,eAAe;IACzB,iBAAiB,EAAE,kBAAkB;IACrC,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,qBAAqB;IACpC,aAAa,EAAE,iBAAiB;IAChC,gBAAgB,EAAE,oBAAoB;IACtC,oBAAoB,EAAE,wBAAwB;IAC9C,YAAY,EAAE,gBAAgB;IAC9B,eAAe,EAAE,mBAAmB;IACpC,aAAa,EAAE,iBAAiB;IAChC,eAAe,EAAE,mBAAmB;IACpC,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,iBAAiB;IAChC,eAAe,EAAE,mBAAmB;IACpC,aAAa,EAAE,kBAAkB;IACjC,gBAAgB,EAAE,oBAAoB;IACtC,gBAAgB,EAAE,oBAAoB;IACtC,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,mBAAmB;CACrC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB;IAC1E,oBAAoB,EAAE,wBAAwB;IAC9C,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB;IACnF,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;CAC7D,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,OAAoB,EAAE,IAAY;IACnE,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,yDAAyD,OAAO,mBAAmB,IAAI,0EAA0E;cAC3K,2FAA2F,CAAC;IAClG,CAAC;IACD,OAAO,GAAG,IAAI,yDAAyD,OAAO,mBAAmB,IAAI,6BAA6B;UAC9H,yEAAyE;UACzE,2EAA2E,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAA6B,IAAI,GAAG,CAAc,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5G;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAoB;IACnD,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,MAAc,EACd,EAAc,EACd,OAAkG;IAElG,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,EAAE,WAAW,CAAC;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC1D,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,SAAS,IAAI,MAAM,CAAC;QACnC,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,MAAM,GAAG,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,2EAA2E;IAC3E,qCAAqC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7D,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EACjD,QAAQ,CAAC,MAAM,KAAK,MAAM;YACxB,CAAC,CAAC,mCAAmC,QAAQ,CAAC,MAAM,GAAG;YACvD,CAAC,CAAC,sBAAsB,QAAQ,CAAC,MAAM,eAAe,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,EAAE,KAAK,QAAQ,IAAI,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzD,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,SAAS,GAAG,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+FAA+F;AAC/F,SAAS,sBAAsB,CAAC,OAAoB,EAAE,IAAY,EAAE,MAAc,EAAE,SAAiB;IACnG,OAAO,GAAG,IAAI,wBAAwB,OAAO,6DAA6D;UACtG,yBAAyB,MAAM,yCAAyC,SAAS,IAAI;UACrF,sFAAsF;UACtF,yCAAyC,CAAC;AAChD,CAAC"}
|
package/dist/topic-commands.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sanitizeInstanceName } from "./instance-names.js";
|
|
1
2
|
import type { FleetContext } from "./fleet-context.js";
|
|
2
3
|
import type { InboundMessage } from "./channel/types.js";
|
|
3
4
|
import type { ChannelConfig } from "./types.js";
|
|
@@ -12,7 +13,7 @@ type ExecutionFleetContext = FleetContext & {
|
|
|
12
13
|
instanceLaunchSupportsSteer?(instanceName: string): boolean | undefined;
|
|
13
14
|
};
|
|
14
15
|
/** Sanitize a directory name into a valid instance name. Keeps Unicode letters (incl. CJK). */
|
|
15
|
-
export
|
|
16
|
+
export { sanitizeInstanceName };
|
|
16
17
|
/** Digits of the topic id kept in a fresh instance-name suffix; lengthened on collision. */
|
|
17
18
|
export declare const INSTANCE_NAME_SUFFIX_DIGITS = 6;
|
|
18
19
|
/**
|
|
@@ -185,12 +186,21 @@ export declare const CLEAR_UNSUPPORTED_MSG = "\u26A0\uFE0F Clear is not supporte
|
|
|
185
186
|
export declare function formatContextUsageLine(context: number, tokenRatio?: TokenContextRatio | null): string;
|
|
186
187
|
/** Claude Code statusline.json context used % (null if missing / unreadable). */
|
|
187
188
|
export declare function readStatuslineContextPct(dataDir: string, instanceName: string): number | null;
|
|
189
|
+
/**
|
|
190
|
+
* #1956 step 3: an instance's statusline.json, parsed — undefined when there is none or it is not JSON. A caller that
|
|
191
|
+
* needs several of its fields reads it once (the fleet's status read it three times per instance per build).
|
|
192
|
+
*/
|
|
193
|
+
export declare function readStatuslineJson(dataDir: string, instanceName: string): unknown;
|
|
194
|
+
/** The context percentage a parsed statusline reports (readStatuslineContextPct's rule). */
|
|
195
|
+
export declare function statuslineContextPct(data: unknown): number | null;
|
|
188
196
|
/**
|
|
189
197
|
* Claude Code's statusline payload reports the model that actually served the
|
|
190
198
|
* current session. This can differ from fleet.yaml after the CLI rejects a
|
|
191
199
|
* plan-gated model and keeps using its previous/default model.
|
|
192
200
|
*/
|
|
193
201
|
export declare function readStatuslineModel(dataDir: string, instanceName: string): string | null;
|
|
202
|
+
/** The model a parsed statusline reports (readStatuslineModel's rule). */
|
|
203
|
+
export declare function statuslineModel(data: unknown): string | null;
|
|
194
204
|
/** Live-pane scrape used by /ctx, /status Ctx, and /view sidebar. */
|
|
195
205
|
export declare function scrapePaneContext(instanceName: string, backend: string): {
|
|
196
206
|
context: number | null;
|
|
@@ -208,6 +218,7 @@ export declare function forgetInstanceContext(instanceName: string): void;
|
|
|
208
218
|
export declare function resolveInstanceContext(dataDir: string, instanceName: string, backend: string, opts?: {
|
|
209
219
|
bypassCache?: boolean;
|
|
210
220
|
source?: import("./pane-context-cache.js").PaneContextSource | null;
|
|
221
|
+
statusline?: unknown;
|
|
211
222
|
}): {
|
|
212
223
|
context: number | null;
|
|
213
224
|
tokenRatio: TokenContextRatio | null;
|
|
@@ -255,6 +266,11 @@ export declare class TopicCommands {
|
|
|
255
266
|
* delivery action; rendering or previewing this text cannot retire a code.
|
|
256
267
|
*/
|
|
257
268
|
getDashboardText(_htmlSpoiler?: boolean, showRemoteHint?: boolean): string;
|
|
269
|
+
/**
|
|
270
|
+
* #1920 step 4: a non-admin's typed `/web` while guest sign-in is on — in General or any topic of the fleet (the
|
|
271
|
+
* table keeps /web for fleet admins, so this runs before it). The code goes by DM; only a short line is posted here.
|
|
272
|
+
*/
|
|
273
|
+
private guestWeb;
|
|
258
274
|
/**
|
|
259
275
|
* /dashboard (TG): admin-only menu in General; codes are sent privately.
|
|
260
276
|
* `/dashboard revoke` also closes the public link and signs browsers out.
|
package/dist/topic-commands.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PaneContextCache } from "./pane-context-cache.js";
|
|
2
|
+
import { sanitizeInstanceName } from "./instance-names.js";
|
|
2
3
|
import { LOGIN_BACKEND_ALIASES } from "./login-flows.js";
|
|
3
4
|
import { measureSyncWork } from "./sync-work-attribution.js";
|
|
4
5
|
import { LOOPBACK_HOST_NAMES } from "./web-host-guard.js";
|
|
@@ -32,10 +33,7 @@ export { parseContextPercent, parseTokenContextRatio } from "./context-percent.j
|
|
|
32
33
|
/** Longest one setMyCommands call may take. */
|
|
33
34
|
const TELEGRAM_COMMANDS_TIMEOUT_MS = 10_000;
|
|
34
35
|
/** Sanitize a directory name into a valid instance name. Keeps Unicode letters (incl. CJK). */
|
|
35
|
-
export
|
|
36
|
-
const sanitized = name.toLowerCase().replace(/[^\p{L}\d-]/gu, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
|
37
|
-
return sanitized || "project";
|
|
38
|
-
}
|
|
36
|
+
export { sanitizeInstanceName };
|
|
39
37
|
/** Digits of the topic id kept in a fresh instance-name suffix; lengthened on collision. */
|
|
40
38
|
export const INSTANCE_NAME_SUFFIX_DIGITS = 6;
|
|
41
39
|
/**
|
|
@@ -381,13 +379,25 @@ export function readStatuslineContextPct(dataDir, instanceName) {
|
|
|
381
379
|
return measureSyncWork("topic.readStatuslineContextPct", () => readStatuslineContextPctSync(dataDir, instanceName));
|
|
382
380
|
}
|
|
383
381
|
function readStatuslineContextPctSync(dataDir, instanceName) {
|
|
382
|
+
return statuslineContextPct(readStatuslineJson(dataDir, instanceName));
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* #1956 step 3: an instance's statusline.json, parsed — undefined when there is none or it is not JSON. A caller that
|
|
386
|
+
* needs several of its fields reads it once (the fleet's status read it three times per instance per build).
|
|
387
|
+
*/
|
|
388
|
+
export function readStatuslineJson(dataDir, instanceName) {
|
|
389
|
+
// One call: a missing file is the read's ENOENT (no existsSync first).
|
|
384
390
|
try {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
+
return JSON.parse(readFileSync(join(dataDir, "instances", instanceName, "statusline.json"), "utf-8"));
|
|
392
|
+
}
|
|
393
|
+
catch {
|
|
394
|
+
return undefined;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
/** The context percentage a parsed statusline reports (readStatuslineContextPct's rule). */
|
|
398
|
+
export function statuslineContextPct(data) {
|
|
399
|
+
try {
|
|
400
|
+
return clampContextPercent(data?.context_window?.used_percentage);
|
|
391
401
|
}
|
|
392
402
|
catch {
|
|
393
403
|
return null;
|
|
@@ -402,15 +412,14 @@ export function readStatuslineModel(dataDir, instanceName) {
|
|
|
402
412
|
return measureSyncWork("topic.readStatuslineModel", () => readStatuslineModelSync(dataDir, instanceName));
|
|
403
413
|
}
|
|
404
414
|
function readStatuslineModelSync(dataDir, instanceName) {
|
|
415
|
+
return statuslineModel(readStatuslineJson(dataDir, instanceName));
|
|
416
|
+
}
|
|
417
|
+
/** The model a parsed statusline reports (readStatuslineModel's rule). */
|
|
418
|
+
export function statuslineModel(data) {
|
|
405
419
|
try {
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
const data = JSON.parse(readFileSync(statusFile, "utf-8"));
|
|
410
|
-
const id = typeof data.model?.id === "string" ? data.model.id.trim() : "";
|
|
411
|
-
const displayName = typeof data.model?.display_name === "string"
|
|
412
|
-
? data.model.display_name.trim()
|
|
413
|
-
: "";
|
|
420
|
+
const model = data?.model;
|
|
421
|
+
const id = typeof model?.id === "string" ? model.id.trim() : "";
|
|
422
|
+
const displayName = typeof model?.display_name === "string" ? model.display_name.trim() : "";
|
|
414
423
|
if (displayName && id && displayName !== id)
|
|
415
424
|
return `${displayName} (${id})`;
|
|
416
425
|
return id || displayName || null;
|
|
@@ -453,7 +462,8 @@ export function forgetInstanceContext(instanceName) {
|
|
|
453
462
|
*/
|
|
454
463
|
export function resolveInstanceContext(dataDir, instanceName, backend, opts) {
|
|
455
464
|
if (backend === "claude-code") {
|
|
456
|
-
|
|
465
|
+
// #1956: a caller that already read the statusline passes it (`statusline` present, even undefined: no file).
|
|
466
|
+
const fromFile = opts && "statusline" in opts ? statuslineContextPct(opts.statusline) : readStatuslineContextPct(dataDir, instanceName);
|
|
457
467
|
if (fromFile != null)
|
|
458
468
|
return { context: fromFile, tokenRatio: null };
|
|
459
469
|
}
|
|
@@ -599,6 +609,8 @@ export class TopicCommands {
|
|
|
599
609
|
if (!text)
|
|
600
610
|
return false;
|
|
601
611
|
const command = typedCommand(GENERAL_FORMS, text, msg.source);
|
|
612
|
+
if (command === "dashboard" && this.ctx.isGuestWebAsk?.(msg.adapterId, msg.userId))
|
|
613
|
+
return this.guestWeb(msg);
|
|
602
614
|
const refusal = this.tableRefusal(msg, command, "general");
|
|
603
615
|
if (refusal) {
|
|
604
616
|
await this.sendRefusal(msg, refusal);
|
|
@@ -696,6 +708,18 @@ export class TopicCommands {
|
|
|
696
708
|
...(showRemoteHint && (LOOPBACK_HOST_NAMES.includes(host.toLowerCase()) || host === "::1") ? ["", t("dashboard.remote_hint", WEB_REMOTE_DOCS_URL)] : []),
|
|
697
709
|
].join("\n");
|
|
698
710
|
}
|
|
711
|
+
/**
|
|
712
|
+
* #1920 step 4: a non-admin's typed `/web` while guest sign-in is on — in General or any topic of the fleet (the
|
|
713
|
+
* table keeps /web for fleet admins, so this runs before it). The code goes by DM; only a short line is posted here.
|
|
714
|
+
*/
|
|
715
|
+
async guestWeb(msg) {
|
|
716
|
+
const adapter = this.getReplyAdapter(msg);
|
|
717
|
+
if (!adapter || !msg.adapterId || !this.ctx.guestWebCommand)
|
|
718
|
+
return false;
|
|
719
|
+
const arg = (msg.text ?? "").trim().replace(/^\/(?:dashboard|web)(?:@\S+)?/i, "").trim().toLowerCase();
|
|
720
|
+
return this.ctx.guestWebCommand({ adapterId: msg.adapterId, userId: msg.userId, username: msg.username, arg,
|
|
721
|
+
replyHere: text => adapter.sendText(msg.chatId, text, { threadId: msg.threadId }) });
|
|
722
|
+
}
|
|
699
723
|
/**
|
|
700
724
|
* /dashboard (TG): admin-only menu in General; codes are sent privately.
|
|
701
725
|
* `/dashboard revoke` also closes the public link and signs browsers out.
|
|
@@ -741,6 +765,8 @@ export class TopicCommands {
|
|
|
741
765
|
// to General (#1148) instead of handing it to the agent. No branch below runs it.
|
|
742
766
|
const command = typedCommand(INSTANCE_FORMS, text, msg.source)
|
|
743
767
|
?? (inGeneral ? undefined : typedCommand(GENERAL_FORMS, text, msg.source));
|
|
768
|
+
if (command === "dashboard" && this.ctx.isGuestWebAsk?.(msg.adapterId, msg.userId))
|
|
769
|
+
return this.guestWeb(msg);
|
|
744
770
|
const refusal = this.tableRefusal(msg, command, inGeneral ? "general" : "fleet");
|
|
745
771
|
if (refusal) {
|
|
746
772
|
await this.sendRefusal(msg, refusal);
|