@a5c-ai/agent-mux-webui 0.4.10-staging.7a8768ec
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 +60 -0
- package/dist/assets/index-DfHuDOVv.js +84 -0
- package/dist/assets/index-DfHuDOVv.js.map +1 -0
- package/dist/assets/index-zUqQIz-I.css +1 -0
- package/dist/favicon.svg +5 -0
- package/dist/index.html +44 -0
- package/dist-types/src/App.d.ts +1 -0
- package/dist-types/src/App.d.ts.map +1 -0
- package/dist-types/src/kanban/app/actions/approve-breakpoint.d.ts +5 -0
- package/dist-types/src/kanban/app/actions/approve-breakpoint.d.ts.map +1 -0
- package/dist-types/src/kanban/components/agent-mux/gateway-provider.d.ts +1 -0
- package/dist-types/src/kanban/components/agent-mux/gateway-provider.d.ts.map +1 -0
- package/dist-types/src/kanban/components/agent-mux/gateway-snapshot.d.ts +13 -0
- package/dist-types/src/kanban/components/agent-mux/gateway-snapshot.d.ts.map +1 -0
- package/dist-types/src/kanban/components/agent-mux/require-gateway-auth.d.ts +5 -0
- package/dist-types/src/kanban/components/agent-mux/require-gateway-auth.d.ts.map +1 -0
- package/dist-types/src/kanban/components/automations/automations-page.d.ts +1 -0
- package/dist-types/src/kanban/components/automations/automations-page.d.ts.map +1 -0
- package/dist-types/src/kanban/components/breakpoint/breakpoint-approval.d.ts +7 -0
- package/dist-types/src/kanban/components/breakpoint/breakpoint-approval.d.ts.map +1 -0
- package/dist-types/src/kanban/components/breakpoint/breakpoint-panel.d.ts +7 -0
- package/dist-types/src/kanban/components/breakpoint/breakpoint-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/breakpoint/file-preview.d.ts +8 -0
- package/dist-types/src/kanban/components/breakpoint/file-preview.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/babysitter-overlay-panel.d.ts +1 -0
- package/dist-types/src/kanban/components/dashboard/babysitter-overlay-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/backlog-overview.d.ts +12 -0
- package/dist-types/src/kanban/components/dashboard/backlog-overview.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/breakpoint-banner.d.ts +6 -0
- package/dist-types/src/kanban/components/dashboard/breakpoint-banner.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/catch-up-banner.d.ts +19 -0
- package/dist-types/src/kanban/components/dashboard/catch-up-banner.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/executive-summary-banner.d.ts +17 -0
- package/dist-types/src/kanban/components/dashboard/executive-summary-banner.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/global-search.d.ts +1 -0
- package/dist-types/src/kanban/components/dashboard/global-search.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/kpi-grid.d.ts +8 -0
- package/dist-types/src/kanban/components/dashboard/kpi-grid.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/pagination-controls.d.ts +9 -0
- package/dist-types/src/kanban/components/dashboard/pagination-controls.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-accordion.d.ts +8 -0
- package/dist-types/src/kanban/components/dashboard/project-accordion.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-health-card.d.ts +9 -0
- package/dist-types/src/kanban/components/dashboard/project-health-card.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-list-view.d.ts +16 -0
- package/dist-types/src/kanban/components/dashboard/project-list-view.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-search-input.d.ts +8 -0
- package/dist-types/src/kanban/components/dashboard/project-search-input.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-section-header.d.ts +11 -0
- package/dist-types/src/kanban/components/dashboard/project-section-header.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/project-section.d.ts +11 -0
- package/dist-types/src/kanban/components/dashboard/project-section.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/run-card.d.ts +7 -0
- package/dist-types/src/kanban/components/dashboard/run-card.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/run-filter-bar.d.ts +10 -0
- package/dist-types/src/kanban/components/dashboard/run-filter-bar.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/run-list.d.ts +8 -0
- package/dist-types/src/kanban/components/dashboard/run-list.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/search-filter.d.ts +12 -0
- package/dist-types/src/kanban/components/dashboard/search-filter.d.ts.map +1 -0
- package/dist-types/src/kanban/components/dashboard/virtualized-run-list.d.ts +23 -0
- package/dist-types/src/kanban/components/dashboard/virtualized-run-list.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/agent-panel.d.ts +8 -0
- package/dist-types/src/kanban/components/details/agent-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree/categorize.d.ts +26 -0
- package/dist-types/src/kanban/components/details/json-tree/categorize.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree/index.d.ts +10 -0
- package/dist-types/src/kanban/components/details/json-tree/index.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree/json-node.d.ts +25 -0
- package/dist-types/src/kanban/components/details/json-tree/json-node.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree/smart-summary.d.ts +54 -0
- package/dist-types/src/kanban/components/details/json-tree/smart-summary.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree/tree-controls.d.ts +7 -0
- package/dist-types/src/kanban/components/details/json-tree/tree-controls.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/json-tree.d.ts +9 -0
- package/dist-types/src/kanban/components/details/json-tree.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/log-viewer.d.ts +4 -0
- package/dist-types/src/kanban/components/details/log-viewer.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/task-detail.d.ts +14 -0
- package/dist-types/src/kanban/components/details/task-detail.d.ts.map +1 -0
- package/dist-types/src/kanban/components/details/timing-panel.d.ts +9 -0
- package/dist-types/src/kanban/components/details/timing-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/events/event-item.d.ts +7 -0
- package/dist-types/src/kanban/components/events/event-item.d.ts.map +1 -0
- package/dist-types/src/kanban/components/events/event-stream.d.ts +7 -0
- package/dist-types/src/kanban/components/events/event-stream.d.ts.map +1 -0
- package/dist-types/src/kanban/components/notifications/notification-panel.d.ts +9 -0
- package/dist-types/src/kanban/components/notifications/notification-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/notifications/notification-provider.d.ts +19 -0
- package/dist-types/src/kanban/components/notifications/notification-provider.d.ts.map +1 -0
- package/dist-types/src/kanban/components/notifications/toast-stack.d.ts +7 -0
- package/dist-types/src/kanban/components/notifications/toast-stack.d.ts.map +1 -0
- package/dist-types/src/kanban/components/pipeline/parallel-group.d.ts +13 -0
- package/dist-types/src/kanban/components/pipeline/parallel-group.d.ts.map +1 -0
- package/dist-types/src/kanban/components/pipeline/pipeline-view.d.ts +9 -0
- package/dist-types/src/kanban/components/pipeline/pipeline-view.d.ts.map +1 -0
- package/dist-types/src/kanban/components/pipeline/step-card.d.ts +12 -0
- package/dist-types/src/kanban/components/pipeline/step-card.d.ts.map +1 -0
- package/dist-types/src/kanban/components/providers/event-stream-provider.d.ts +11 -0
- package/dist-types/src/kanban/components/providers/event-stream-provider.d.ts.map +1 -0
- package/dist-types/src/kanban/components/providers.d.ts +3 -0
- package/dist-types/src/kanban/components/providers.d.ts.map +1 -0
- package/dist-types/src/kanban/components/review/review-panel.d.ts +26 -0
- package/dist-types/src/kanban/components/review/review-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/runs/run-realtime-execution-panel.d.ts +4 -0
- package/dist-types/src/kanban/components/runs/run-realtime-execution-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/sessions/session-conversation-surface.d.ts +33 -0
- package/dist-types/src/kanban/components/sessions/session-conversation-surface.d.ts.map +1 -0
- package/dist-types/src/kanban/components/sessions/session-observability-panel.d.ts +12 -0
- package/dist-types/src/kanban/components/sessions/session-observability-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/sessions/session-workspace-shell.d.ts +27 -0
- package/dist-types/src/kanban/components/sessions/session-workspace-shell.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/app-footer.d.ts +1 -0
- package/dist-types/src/kanban/components/shared/app-footer.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/app-header-nav.d.ts +29 -0
- package/dist-types/src/kanban/components/shared/app-header-nav.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/app-header.d.ts +2 -0
- package/dist-types/src/kanban/components/shared/app-header.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/dialog-shell.d.ts +8 -0
- package/dist-types/src/kanban/components/shared/dialog-shell.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/dispatch-context-audit-panel.d.ts +7 -0
- package/dist-types/src/kanban/components/shared/dispatch-context-audit-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/empty-state.d.ts +8 -0
- package/dist-types/src/kanban/components/shared/empty-state.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/error-boundary.d.ts +18 -0
- package/dist-types/src/kanban/components/shared/error-boundary.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/execution-context-panel.d.ts +8 -0
- package/dist-types/src/kanban/components/shared/execution-context-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/friendly-id.d.ts +6 -0
- package/dist-types/src/kanban/components/shared/friendly-id.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/kbd.d.ts +4 -0
- package/dist-types/src/kanban/components/shared/kbd.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/kind-badge.d.ts +5 -0
- package/dist-types/src/kanban/components/shared/kind-badge.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/metrics-row.d.ts +6 -0
- package/dist-types/src/kanban/components/shared/metrics-row.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/outcome-banner.d.ts +6 -0
- package/dist-types/src/kanban/components/shared/outcome-banner.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/page-shell.d.ts +17 -0
- package/dist-types/src/kanban/components/shared/page-shell.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/progress-bar.d.ts +9 -0
- package/dist-types/src/kanban/components/shared/progress-bar.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/session-pill.d.ts +7 -0
- package/dist-types/src/kanban/components/shared/session-pill.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/settings-modal.d.ts +6 -0
- package/dist-types/src/kanban/components/shared/settings-modal.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/shortcuts-help.d.ts +8 -0
- package/dist-types/src/kanban/components/shared/shortcuts-help.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/status-badge.d.ts +9 -0
- package/dist-types/src/kanban/components/shared/status-badge.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/theme-provider.d.ts +10 -0
- package/dist-types/src/kanban/components/shared/theme-provider.d.ts.map +1 -0
- package/dist-types/src/kanban/components/shared/truncated-id.d.ts +7 -0
- package/dist-types/src/kanban/components/shared/truncated-id.d.ts.map +1 -0
- package/dist-types/src/kanban/components/task-tags/task-tag-autocomplete-textarea.d.ts +13 -0
- package/dist-types/src/kanban/components/task-tags/task-tag-autocomplete-textarea.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/accordion.d.ts +24 -0
- package/dist-types/src/kanban/components/ui/accordion.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/badge.d.ts +8 -0
- package/dist-types/src/kanban/components/ui/badge.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/button.d.ts +11 -0
- package/dist-types/src/kanban/components/ui/button.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/card.d.ts +3 -0
- package/dist-types/src/kanban/components/ui/card.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/scroll-area.d.ts +7 -0
- package/dist-types/src/kanban/components/ui/scroll-area.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/separator.d.ts +4 -0
- package/dist-types/src/kanban/components/ui/separator.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/tabs.d.ts +25 -0
- package/dist-types/src/kanban/components/ui/tabs.d.ts.map +1 -0
- package/dist-types/src/kanban/components/ui/tooltip.d.ts +18 -0
- package/dist-types/src/kanban/components/ui/tooltip.d.ts.map +1 -0
- package/dist-types/src/kanban/components/workspaces/workspace-detail-shell.d.ts +50 -0
- package/dist-types/src/kanban/components/workspaces/workspace-detail-shell.d.ts.map +1 -0
- package/dist-types/src/kanban/components/workspaces/workspace-details-sidebar.d.ts +37 -0
- package/dist-types/src/kanban/components/workspaces/workspace-details-sidebar.d.ts.map +1 -0
- package/dist-types/src/kanban/components/workspaces/workspace-provisioning-page.d.ts +7 -0
- package/dist-types/src/kanban/components/workspaces/workspace-provisioning-page.d.ts.map +1 -0
- package/dist-types/src/kanban/components/workspaces/workspace-runtime-panel.d.ts +12 -0
- package/dist-types/src/kanban/components/workspaces/workspace-runtime-panel.d.ts.map +1 -0
- package/dist-types/src/kanban/components/workspaces/workspaces-page.d.ts +27 -0
- package/dist-types/src/kanban/components/workspaces/workspaces-page.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-animated-number.d.ts +9 -0
- package/dist-types/src/kanban/hooks/use-animated-number.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-backlog.d.ts +192 -0
- package/dist-types/src/kanban/hooks/use-backlog.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-batched-updates.d.ts +34 -0
- package/dist-types/src/kanban/hooks/use-batched-updates.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-event-stream.d.ts +16 -0
- package/dist-types/src/kanban/hooks/use-event-stream.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-keyboard.d.ts +8 -0
- package/dist-types/src/kanban/hooks/use-keyboard.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-notifications.d.ts +20 -0
- package/dist-types/src/kanban/hooks/use-notifications.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-persisted-state.d.ts +10 -0
- package/dist-types/src/kanban/hooks/use-persisted-state.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-polling.d.ts +11 -0
- package/dist-types/src/kanban/hooks/use-polling.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-project-runs.d.ts +17 -0
- package/dist-types/src/kanban/hooks/use-project-runs.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-projects.d.ts +8 -0
- package/dist-types/src/kanban/hooks/use-projects.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-reviews.d.ts +111 -0
- package/dist-types/src/kanban/hooks/use-reviews.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-run-dashboard.d.ts +42 -0
- package/dist-types/src/kanban/hooks/use-run-dashboard.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-run-detail.d.ts +12 -0
- package/dist-types/src/kanban/hooks/use-run-detail.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-smart-polling.d.ts +15 -0
- package/dist-types/src/kanban/hooks/use-smart-polling.d.ts.map +1 -0
- package/dist-types/src/kanban/hooks/use-task-tags.d.ts +6 -0
- package/dist-types/src/kanban/hooks/use-task-tags.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/agent-mux-ui.d.ts +2 -0
- package/dist-types/src/kanban/lib/agent-mux-ui.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/babysitter-overlays.d.ts +74 -0
- package/dist-types/src/kanban/lib/babysitter-overlays.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/cn.d.ts +2 -0
- package/dist-types/src/kanban/lib/cn.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/config-loader.d.ts +29 -0
- package/dist-types/src/kanban/lib/config-loader.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/config.d.ts +3 -0
- package/dist-types/src/kanban/lib/config.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/dispatch-context-audit.d.ts +12 -0
- package/dist-types/src/kanban/lib/dispatch-context-audit.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/error-handler.d.ts +28 -0
- package/dist-types/src/kanban/lib/error-handler.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/fetcher.d.ts +70 -0
- package/dist-types/src/kanban/lib/fetcher.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/gateway-runtime-config.d.ts +24 -0
- package/dist-types/src/kanban/lib/gateway-runtime-config.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/global-registry.d.ts +71 -0
- package/dist-types/src/kanban/lib/global-registry.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/parser.d.ts +36 -0
- package/dist-types/src/kanban/lib/parser.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/path-resolver.d.ts +2 -0
- package/dist-types/src/kanban/lib/path-resolver.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/review-service.d.ts +63 -0
- package/dist-types/src/kanban/lib/review-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/run-cache.d.ts +36 -0
- package/dist-types/src/kanban/lib/run-cache.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/server-init.d.ts +26 -0
- package/dist-types/src/kanban/lib/server-init.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/automation-rule-service.d.ts +97 -0
- package/dist-types/src/kanban/lib/services/automation-rule-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/automation-webhook-service.d.ts +44 -0
- package/dist-types/src/kanban/lib/services/automation-webhook-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/backlog-query-service.d.ts +124 -0
- package/dist-types/src/kanban/lib/services/backlog-query-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/dispatch-context-label-service.d.ts +39 -0
- package/dist-types/src/kanban/lib/services/dispatch-context-label-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/kanban-storage.d.ts +36 -0
- package/dist-types/src/kanban/lib/services/kanban-storage.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/run-query-service.d.ts +79 -0
- package/dist-types/src/kanban/lib/services/run-query-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/services/task-tag-service.d.ts +39 -0
- package/dist-types/src/kanban/lib/services/task-tag-service.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/settings-section-storage.d.ts +13 -0
- package/dist-types/src/kanban/lib/settings-section-storage.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/source-discovery.d.ts +10 -0
- package/dist-types/src/kanban/lib/source-discovery.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/utils.d.ts +8 -0
- package/dist-types/src/kanban/lib/utils.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/watcher.d.ts +14 -0
- package/dist-types/src/kanban/lib/watcher.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/workspace-layout-state.d.ts +20 -0
- package/dist-types/src/kanban/lib/workspace-layout-state.d.ts.map +1 -0
- package/dist-types/src/kanban/lib/workspace-lifecycle.d.ts +67 -0
- package/dist-types/src/kanban/lib/workspace-lifecycle.d.ts.map +1 -0
- package/dist-types/src/kanban/routes/AutomationsPage.d.ts +1 -0
- package/dist-types/src/kanban/routes/AutomationsPage.d.ts.map +1 -0
- package/dist-types/src/kanban/routes/ProjectsPage.d.ts +1 -0
- package/dist-types/src/kanban/routes/ProjectsPage.d.ts.map +1 -0
- package/dist-types/src/kanban/routes/SettingsPage.d.ts +1 -0
- package/dist-types/src/kanban/routes/SettingsPage.d.ts.map +1 -0
- package/dist-types/src/kanban/test/fixtures.d.ts +99 -0
- package/dist-types/src/kanban/test/fixtures.d.ts.map +1 -0
- package/dist-types/src/kanban/test/setup.d.ts +1 -0
- package/dist-types/src/kanban/test/setup.d.ts.map +1 -0
- package/dist-types/src/kanban/test/test-utils.d.ts +8 -0
- package/dist-types/src/kanban/test/test-utils.d.ts.map +1 -0
- package/dist-types/src/kanban/types/breakpoint.d.ts +13 -0
- package/dist-types/src/kanban/types/breakpoint.d.ts.map +1 -0
- package/dist-types/src/kanban/types/index.d.ts +173 -0
- package/dist-types/src/kanban/types/index.d.ts.map +1 -0
- package/dist-types/src/kanban-shims/next-link.d.ts +5 -0
- package/dist-types/src/kanban-shims/next-link.d.ts.map +1 -0
- package/dist-types/src/kanban-shims/next-navigation.d.ts +11 -0
- package/dist-types/src/kanban-shims/next-navigation.d.ts.map +1 -0
- package/dist-types/src/main.d.ts +3 -0
- package/dist-types/src/main.d.ts.map +1 -0
- package/dist-types/src/pages/AgentsPage.d.ts +1 -0
- package/dist-types/src/pages/AgentsPage.d.ts.map +1 -0
- package/dist-types/src/pages/HomePage.d.ts +1 -0
- package/dist-types/src/pages/HomePage.d.ts.map +1 -0
- package/dist-types/src/pages/HookInboxPage.d.ts +1 -0
- package/dist-types/src/pages/HookInboxPage.d.ts.map +1 -0
- package/dist-types/src/pages/KanbanLayout.d.ts +1 -0
- package/dist-types/src/pages/KanbanLayout.d.ts.map +1 -0
- package/dist-types/src/pages/KanbanPages.d.ts +14 -0
- package/dist-types/src/pages/KanbanPages.d.ts.map +1 -0
- package/dist-types/src/pages/LoginPage.d.ts +1 -0
- package/dist-types/src/pages/LoginPage.d.ts.map +1 -0
- package/dist-types/src/pages/NewRunPage.d.ts +1 -0
- package/dist-types/src/pages/NewRunPage.d.ts.map +1 -0
- package/dist-types/src/pages/PairDevicePage.d.ts +1 -0
- package/dist-types/src/pages/PairDevicePage.d.ts.map +1 -0
- package/dist-types/src/pages/RunPage.d.ts +1 -0
- package/dist-types/src/pages/RunPage.d.ts.map +1 -0
- package/dist-types/src/pages/SessionDetailPage.d.ts +1 -0
- package/dist-types/src/pages/SessionDetailPage.d.ts.map +1 -0
- package/dist-types/src/pages/SessionsPage.d.ts +1 -0
- package/dist-types/src/pages/SessionsPage.d.ts.map +1 -0
- package/dist-types/src/pages/SettingsPage.d.ts +1 -0
- package/dist-types/src/pages/SettingsPage.d.ts.map +1 -0
- package/dist-types/src/pages/WorkspacesPage.d.ts +1 -0
- package/dist-types/src/pages/WorkspacesPage.d.ts.map +1 -0
- package/dist-types/src/providers/GatewayProvider.d.ts +17 -0
- package/dist-types/src/providers/GatewayProvider.d.ts.map +1 -0
- package/dist-types/src/providers/NotificationProvider.d.ts +4 -0
- package/dist-types/src/providers/NotificationProvider.d.ts.map +1 -0
- package/dist-types/src/providers/ThemeProvider.d.ts +10 -0
- package/dist-types/src/providers/ThemeProvider.d.ts.map +1 -0
- package/dist-types/src/router.d.ts +1 -0
- package/dist-types/src/router.d.ts.map +1 -0
- package/dist-types/src/shell/CommandPalette.d.ts +10 -0
- package/dist-types/src/shell/CommandPalette.d.ts.map +1 -0
- package/dist-types/src/shell/Sidebar.d.ts +1 -0
- package/dist-types/src/shell/Sidebar.d.ts.map +1 -0
- package/dist-types/src/shell/TopBar.d.ts +4 -0
- package/dist-types/src/shell/TopBar.d.ts.map +1 -0
- package/dist-types/src/shell/navigation.d.ts +14 -0
- package/dist-types/src/shell/navigation.d.ts.map +1 -0
- package/dist-types/src/web-only/clipboard.d.ts +1 -0
- package/dist-types/src/web-only/clipboard.d.ts.map +1 -0
- package/dist-types/src/web-only/desktop-notifications.d.ts +6 -0
- package/dist-types/src/web-only/desktop-notifications.d.ts.map +1 -0
- package/dist-types/src/web-only/keyboard.d.ts +3 -0
- package/dist-types/src/web-only/keyboard.d.ts.map +1 -0
- package/dist-types/tsconfig.tsbuildinfo +1 -0
- package/dist-types/vite.config.d.ts +2 -0
- package/dist-types/vite.config.d.ts.map +1 -0
- package/package.json +80 -0
- package/public/favicon.svg +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-runtime-panel.d.ts","sourceRoot":"","sources":["../../../../../src/kanban/components/workspaces/workspace-runtime-panel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAoBpF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAoI/E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAC;CAC/D,2CAibA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Attachment } from "@a5c-ai/agent-mux-core";
|
|
2
|
+
import type { WorkspaceInventoryItem, WorkspaceInventoryResponse, WorkspaceSessionSnapshot } from "@/lib/workspace-lifecycle";
|
|
3
|
+
type WorkspaceSurfaceMode = "full" | "attention";
|
|
4
|
+
export declare function getWorkspaceOwnershipLabel(isAuthenticated: boolean, sessions: WorkspaceSessionSnapshot[], workspaces?: WorkspaceInventoryItem[]): string;
|
|
5
|
+
export declare function loadInventory(sessions: WorkspaceSessionSnapshot[]): Promise<WorkspaceInventoryResponse>;
|
|
6
|
+
export declare function runWorkspaceAction(action: "pin" | "unpin" | "archive" | "cleanup" | "recover" | "notes-save" | "rebase-start" | "rebase-auto-resolve" | "rebase-open-in-editor" | "rebase-mark-resolved" | "rebase-abort", workspacePath: string, sessions: WorkspaceSessionSnapshot[], note?: string): Promise<WorkspaceInventoryResponse>;
|
|
7
|
+
export declare function getWorkspaceAttentionReasons(workspace: WorkspaceInventoryItem): string[];
|
|
8
|
+
export declare function workspaceNeedsAttention(workspace: WorkspaceInventoryItem): boolean;
|
|
9
|
+
export declare function WorkspacesPageContent(props: {
|
|
10
|
+
isAuthenticated: boolean;
|
|
11
|
+
sessions: WorkspaceSessionSnapshot[];
|
|
12
|
+
selectedWorkspacePath?: string | null;
|
|
13
|
+
allRuns?: Array<Record<string, unknown>>;
|
|
14
|
+
eventBuffers?: Record<string, {
|
|
15
|
+
events: Record<string, unknown>[];
|
|
16
|
+
} | undefined>;
|
|
17
|
+
onSendPrompt?: (input: {
|
|
18
|
+
sessionId: string;
|
|
19
|
+
prompt: string;
|
|
20
|
+
agent?: string;
|
|
21
|
+
model?: string;
|
|
22
|
+
attachments?: Attachment[];
|
|
23
|
+
approvalMode?: "yolo" | "prompt" | "deny";
|
|
24
|
+
}) => Promise<void>;
|
|
25
|
+
mode?: WorkspaceSurfaceMode;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaces-page.d.ts","sourceRoot":"","sources":["../../../../../src/kanban/components/workspaces/workspaces-page.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmBzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAwB9H,KAAK,oBAAoB,GAAG,MAAM,GAAG,WAAW,CAAC;AAuDjD,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,OAAO,EACxB,QAAQ,EAAE,wBAAwB,EAAE,EACpC,UAAU,GAAE,sBAAsB,EAAO,GACxC,MAAM,CAWR;AAyED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAY7G;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EACF,KAAK,GACL,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,GACtB,cAAc,EAClB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,wBAAwB,EAAE,EACpC,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,CAAC,CAcrC;AA8DD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,sBAAsB,GAAG,MAAM,EAAE,CA0BxF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAElF;AAwGD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACjF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;KAC3C,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B,2CA+yBA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that smoothly animates a number from its previous value to the target.
|
|
3
|
+
* Uses requestAnimationFrame for smooth 60fps transitions.
|
|
4
|
+
*
|
|
5
|
+
* @param target - The number to animate towards
|
|
6
|
+
* @param duration - Animation duration in ms (default 600)
|
|
7
|
+
* @returns The current animated value (integer)
|
|
8
|
+
*/
|
|
9
|
+
export declare function useAnimatedNumber(target: number, duration?: number): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-animated-number.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-animated-number.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CA2ExE"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { KanbanBacklogSnapshot, KanbanBoardSnapshot, KanbanCollaboratorRole, KanbanDispatchContextLabelDefinition, KanbanPermissionGrant, KanbanProjectSettings, KanbanTaskTag, KanbanWorkflowState } from "@a5c-ai/agent-mux-core/kanban";
|
|
2
|
+
export interface BacklogOverviewSummary {
|
|
3
|
+
projectCount: number;
|
|
4
|
+
issueCount: number;
|
|
5
|
+
readyCount: number;
|
|
6
|
+
blockedCount: number;
|
|
7
|
+
dispatchedCount: number;
|
|
8
|
+
completedCount: number;
|
|
9
|
+
needsDecompositionCount: number;
|
|
10
|
+
inProgressCount: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BacklogOverviewResponse {
|
|
13
|
+
snapshot: KanbanBacklogSnapshot;
|
|
14
|
+
board: KanbanBoardSnapshot;
|
|
15
|
+
summary: BacklogOverviewSummary;
|
|
16
|
+
}
|
|
17
|
+
export interface TaskTagListResponse {
|
|
18
|
+
taskTags: readonly KanbanTaskTag[];
|
|
19
|
+
}
|
|
20
|
+
export interface TaskTagInput {
|
|
21
|
+
key: string;
|
|
22
|
+
label: string;
|
|
23
|
+
content: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
order?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface TaskTagUpdateInput {
|
|
28
|
+
key?: string;
|
|
29
|
+
label?: string;
|
|
30
|
+
content?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
order?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface DispatchContextLabelListResponse {
|
|
35
|
+
dispatchContextLabels: readonly KanbanDispatchContextLabelDefinition[];
|
|
36
|
+
}
|
|
37
|
+
export interface DispatchContextLabelInput {
|
|
38
|
+
key: string;
|
|
39
|
+
label: string;
|
|
40
|
+
instruction: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
order?: number;
|
|
43
|
+
}
|
|
44
|
+
export interface DispatchContextLabelUpdateInput {
|
|
45
|
+
key?: string;
|
|
46
|
+
label?: string;
|
|
47
|
+
instruction?: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
order?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface UpdateIssueDispatchContextLabelsInput {
|
|
52
|
+
issueId: string;
|
|
53
|
+
dispatchContextLabelIds: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface LinkIssueWorkspaceInput {
|
|
56
|
+
issueId: string;
|
|
57
|
+
workspacePath: string;
|
|
58
|
+
}
|
|
59
|
+
export declare function loadTaskTags(): Promise<readonly KanbanTaskTag[]>;
|
|
60
|
+
export declare function createTaskTag(input: TaskTagInput): Promise<TaskTagListResponse>;
|
|
61
|
+
export declare function updateTaskTag(taskTagId: string, input: TaskTagUpdateInput): Promise<TaskTagListResponse>;
|
|
62
|
+
export declare function deleteTaskTag(taskTagId: string): Promise<TaskTagListResponse>;
|
|
63
|
+
export declare function loadDispatchContextLabels(): Promise<readonly KanbanDispatchContextLabelDefinition[]>;
|
|
64
|
+
export declare function createDispatchContextLabel(input: DispatchContextLabelInput): Promise<DispatchContextLabelListResponse>;
|
|
65
|
+
export declare function updateDispatchContextLabel(dispatchContextLabelId: string, input: DispatchContextLabelUpdateInput): Promise<DispatchContextLabelListResponse>;
|
|
66
|
+
export declare function deleteDispatchContextLabel(dispatchContextLabelId: string): Promise<DispatchContextLabelListResponse>;
|
|
67
|
+
export declare function postIssueDispatchContextLabels(input: UpdateIssueDispatchContextLabelsInput): Promise<BacklogOverviewResponse>;
|
|
68
|
+
export interface CreateBacklogIssueResponse {
|
|
69
|
+
overview: BacklogOverviewResponse;
|
|
70
|
+
issue: {
|
|
71
|
+
id: string;
|
|
72
|
+
projectId: string;
|
|
73
|
+
key: string;
|
|
74
|
+
title: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface UpdateIssueDetailInput {
|
|
78
|
+
issueId: string;
|
|
79
|
+
expectedUpdatedAt?: string;
|
|
80
|
+
title?: string;
|
|
81
|
+
summary?: string;
|
|
82
|
+
description?: string;
|
|
83
|
+
status?: "backlog" | "ready" | "in-progress" | "blocked" | "review" | "done";
|
|
84
|
+
priority?: "critical" | "high" | "medium" | "low";
|
|
85
|
+
assigneeIds?: string[];
|
|
86
|
+
labelIds?: string[];
|
|
87
|
+
dependencies?: Array<{
|
|
88
|
+
issueId: string;
|
|
89
|
+
type?: "blocks" | "blocked-by" | "related";
|
|
90
|
+
}>;
|
|
91
|
+
acceptanceCriteria?: Array<{
|
|
92
|
+
id?: string;
|
|
93
|
+
title: string;
|
|
94
|
+
satisfied?: boolean;
|
|
95
|
+
notes?: string;
|
|
96
|
+
}>;
|
|
97
|
+
}
|
|
98
|
+
export declare function useBacklog(interval?: number): {
|
|
99
|
+
snapshot: KanbanBacklogSnapshot | undefined;
|
|
100
|
+
board: KanbanBoardSnapshot | undefined;
|
|
101
|
+
summary: BacklogOverviewSummary | undefined;
|
|
102
|
+
loading: boolean;
|
|
103
|
+
error: string | null;
|
|
104
|
+
refresh: () => Promise<void>;
|
|
105
|
+
moveIssue: (issueId: string, toState: KanbanWorkflowState) => Promise<void>;
|
|
106
|
+
linkRepository: (input: {
|
|
107
|
+
issueId: string;
|
|
108
|
+
owner: string;
|
|
109
|
+
name: string;
|
|
110
|
+
branchName: string;
|
|
111
|
+
defaultBranch?: string;
|
|
112
|
+
provider?: "github" | "azure-repos" | "gitlab" | "bitbucket" | "local";
|
|
113
|
+
}) => Promise<void>;
|
|
114
|
+
updateRepositorySettings: (input: {
|
|
115
|
+
issueId: string;
|
|
116
|
+
baseBranch: string;
|
|
117
|
+
ciProvider?: string;
|
|
118
|
+
publishTarget?: string;
|
|
119
|
+
autoMerge: boolean;
|
|
120
|
+
requiredApprovals: number;
|
|
121
|
+
}) => Promise<void>;
|
|
122
|
+
createPullRequest: (input: {
|
|
123
|
+
issueId: string;
|
|
124
|
+
title: string;
|
|
125
|
+
reviewers?: string;
|
|
126
|
+
}) => Promise<void>;
|
|
127
|
+
createIssue: (input: {
|
|
128
|
+
projectId: string;
|
|
129
|
+
title: string;
|
|
130
|
+
summary?: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
status?: "backlog" | "ready" | "in-progress" | "blocked" | "review" | "done";
|
|
133
|
+
priority?: "critical" | "high" | "medium" | "low";
|
|
134
|
+
labelIds?: string[];
|
|
135
|
+
assigneeIds?: string[];
|
|
136
|
+
dependencies?: Array<{
|
|
137
|
+
issueId: string;
|
|
138
|
+
type?: "blocks" | "blocked-by" | "related";
|
|
139
|
+
}>;
|
|
140
|
+
acceptanceCriteria?: Array<{
|
|
141
|
+
id?: string;
|
|
142
|
+
title: string;
|
|
143
|
+
satisfied?: boolean;
|
|
144
|
+
notes?: string;
|
|
145
|
+
}>;
|
|
146
|
+
metadata?: Record<string, unknown>;
|
|
147
|
+
}) => Promise<CreateBacklogIssueResponse>;
|
|
148
|
+
updateProjectCollaboration: (input: {
|
|
149
|
+
projectId: string;
|
|
150
|
+
teamName: string;
|
|
151
|
+
visibility: "private" | "team" | "workspace-shared";
|
|
152
|
+
defaultRole: KanbanCollaboratorRole;
|
|
153
|
+
allowSelfAssign: boolean;
|
|
154
|
+
reviewRequiredForDone: boolean;
|
|
155
|
+
activityScope: KanbanProjectSettings["activityScope"];
|
|
156
|
+
workspaceProvisioning: KanbanProjectSettings["workspaceProvisioning"];
|
|
157
|
+
members: Array<{
|
|
158
|
+
id: string;
|
|
159
|
+
displayName: string;
|
|
160
|
+
email?: string;
|
|
161
|
+
role: KanbanCollaboratorRole;
|
|
162
|
+
}>;
|
|
163
|
+
permissions: KanbanPermissionGrant[];
|
|
164
|
+
}) => Promise<void>;
|
|
165
|
+
updateIssueCollaboration: (input: {
|
|
166
|
+
issueId: string;
|
|
167
|
+
assigneeIds: string[];
|
|
168
|
+
collaboratorIds: string[];
|
|
169
|
+
}) => Promise<void>;
|
|
170
|
+
updateIssueDispatchContextLabels: (input: UpdateIssueDispatchContextLabelsInput) => Promise<void>;
|
|
171
|
+
createSubIssue: (input: {
|
|
172
|
+
parentIssueId: string;
|
|
173
|
+
title: string;
|
|
174
|
+
summary?: string;
|
|
175
|
+
priority?: "critical" | "high" | "medium" | "low";
|
|
176
|
+
status?: "backlog" | "ready" | "in-progress" | "blocked" | "review" | "done";
|
|
177
|
+
}) => Promise<void>;
|
|
178
|
+
linkChildIssue: (input: {
|
|
179
|
+
parentIssueId: string;
|
|
180
|
+
childIssueId: string;
|
|
181
|
+
}) => Promise<void>;
|
|
182
|
+
updateIssueDetail: (input: UpdateIssueDetailInput) => Promise<BacklogOverviewResponse>;
|
|
183
|
+
createIssueWorkspace: (issueId: string) => Promise<void>;
|
|
184
|
+
linkIssueWorkspace: (input: LinkIssueWorkspaceInput) => Promise<void>;
|
|
185
|
+
movingIssueId: string | null;
|
|
186
|
+
mutatingIssueId: string | null;
|
|
187
|
+
creatingIssue: boolean;
|
|
188
|
+
mutationError: {
|
|
189
|
+
issueId: string;
|
|
190
|
+
message: string;
|
|
191
|
+
} | null;
|
|
192
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-backlog.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-backlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StreamEvent } from "./use-event-stream";
|
|
2
|
+
/** Window (ms) for counting rapid SSE events to detect burst mode. */
|
|
3
|
+
declare const BURST_WINDOW_MS = 5000;
|
|
4
|
+
/** Number of SSE events within the burst window that triggers catch-up mode. */
|
|
5
|
+
declare const BURST_THRESHOLD = 10;
|
|
6
|
+
/** How long (ms) to hold catch-up mode after the burst subsides. */
|
|
7
|
+
declare const CATCHUP_HOLD_MS = 3000;
|
|
8
|
+
export interface CatchUpState {
|
|
9
|
+
/** Whether we are in catch-up mode (burst of events detected). */
|
|
10
|
+
active: boolean;
|
|
11
|
+
/** Number of batched/buffered updates while in catch-up mode. */
|
|
12
|
+
bufferedCount: number;
|
|
13
|
+
/** Dismiss catch-up mode and apply buffered updates immediately. */
|
|
14
|
+
flush: () => void;
|
|
15
|
+
}
|
|
16
|
+
export interface UseBatchedUpdatesOptions {
|
|
17
|
+
/** SSE filter: only count events matching this predicate for burst detection. */
|
|
18
|
+
sseFilter?: (event: StreamEvent) => boolean;
|
|
19
|
+
/** Callback invoked when catch-up mode ends (either by timeout or flush). */
|
|
20
|
+
onFlush?: () => void;
|
|
21
|
+
/** Whether the hook is enabled (default true). */
|
|
22
|
+
enabled?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Monitors SSE event rate and activates "catch-up mode" when a burst of
|
|
26
|
+
* events is detected (e.g. opening dashboard after overnight runs).
|
|
27
|
+
*
|
|
28
|
+
* In catch-up mode, the caller should suppress real-time UI updates and
|
|
29
|
+
* instead show a summary notification ("12 runs updated"). When the burst
|
|
30
|
+
* subsides or the user clicks "refresh now", catch-up mode ends and the
|
|
31
|
+
* caller should do a single full refresh.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useBatchedUpdates(options?: UseBatchedUpdatesOptions): CatchUpState;
|
|
34
|
+
export { BURST_WINDOW_MS, BURST_THRESHOLD, CATCHUP_HOLD_MS };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-batched-updates.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-batched-updates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAM5D,sEAAsE;AACtE,QAAA,MAAM,eAAe,OAAO,CAAC;AAE7B,gFAAgF;AAChF,QAAA,MAAM,eAAe,KAAK,CAAC;AAE3B,oEAAoE;AACpE,QAAA,MAAM,eAAe,OAAO,CAAC;AAM7B,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,YAAY,CA4Fd;AAGD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface StreamEvent {
|
|
2
|
+
type: string;
|
|
3
|
+
runId?: string;
|
|
4
|
+
/** Batched runIds from leading-edge debounce (SSE broadcast level). */
|
|
5
|
+
runIds?: string[];
|
|
6
|
+
status?: string;
|
|
7
|
+
timestamp?: number;
|
|
8
|
+
}
|
|
9
|
+
type EventCallback = (event: StreamEvent) => void;
|
|
10
|
+
export declare function subscribe(callback: EventCallback): () => void;
|
|
11
|
+
export declare function useEventStream(): {
|
|
12
|
+
connected: boolean;
|
|
13
|
+
lastEvent: StreamEvent | null;
|
|
14
|
+
error: string | null;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-event-stream.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-event-stream.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AA+DlD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI,CA2B7D;AAED,wBAAgB,cAAc;;;;EA6C7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-keyboard.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-keyboard.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,QAiChD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface AppNotification {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
body: string;
|
|
5
|
+
type: "success" | "error" | "warning" | "info";
|
|
6
|
+
timestamp: number;
|
|
7
|
+
href?: string;
|
|
8
|
+
/** When true the notification will not auto-dismiss and must be closed manually or resolved externally. */
|
|
9
|
+
persistent?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function useNotifications(): {
|
|
12
|
+
notifications: AppNotification[];
|
|
13
|
+
notify: (title: string, body: string, type?: AppNotification["type"], options?: {
|
|
14
|
+
href?: string;
|
|
15
|
+
persistent?: boolean;
|
|
16
|
+
}) => void;
|
|
17
|
+
dismiss: (id: string) => void;
|
|
18
|
+
requestPermission: () => Promise<void>;
|
|
19
|
+
permission: NotificationPermission;
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-notifications.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-notifications.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2GAA2G;IAC3G,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB;;oBAoBnB,MAAM,QACP,MAAM,SACN,eAAe,CAAC,MAAM,CAAC,YACnB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;kBAuCpB,MAAM;;;EAKxC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook that wraps useState with localStorage persistence.
|
|
3
|
+
* Values are serialized with JSON.stringify/parse and namespaced
|
|
4
|
+
* under the "kanban:" prefix to avoid collisions.
|
|
5
|
+
*
|
|
6
|
+
* Hydration-safe: first render uses defaultValue (matching SSR),
|
|
7
|
+
* then useLayoutEffect reads localStorage before the browser paints
|
|
8
|
+
* so the persisted value appears with no visible flash.
|
|
9
|
+
*/
|
|
10
|
+
export declare function usePersistedState<T>(key: string, defaultValue: T): [T, (value: T | ((prev: T) => T)) => void];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-persisted-state.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-persisted-state.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAqC5C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface UsePollingOptions {
|
|
2
|
+
interval?: number;
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function usePolling<T>(url: string, options?: UsePollingOptions): {
|
|
6
|
+
data: T | null;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
error: string | null;
|
|
9
|
+
refresh: () => void;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-polling.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-polling.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA+CjF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Run } from '@/types';
|
|
2
|
+
interface UseProjectRunsOptions {
|
|
3
|
+
limit?: number;
|
|
4
|
+
offset?: number;
|
|
5
|
+
search?: string;
|
|
6
|
+
status?: string;
|
|
7
|
+
sort?: 'status' | 'activity';
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function useProjectRuns(projectName: string, options?: UseProjectRunsOptions): {
|
|
11
|
+
runs: Run[];
|
|
12
|
+
totalCount: number;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
error: string | null;
|
|
15
|
+
refresh: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-project-runs.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-project-runs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAQ9B,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B;;;;;;EA6BpC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ProjectSummary } from '@/types';
|
|
2
|
+
export declare function useProjects(interval?: number, suppressSseRefetch?: boolean): {
|
|
3
|
+
projects: ProjectSummary[];
|
|
4
|
+
recentCompletionWindowMs: number;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: string | null;
|
|
7
|
+
refresh: () => Promise<void>;
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-projects.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-projects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOzC,wBAAgB,WAAW,CAAC,QAAQ,GAAE,MAAa,EAAE,kBAAkB,GAAE,OAAe;;;;;;EAgBvF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { KanbanCiGate, KanbanIntegrationProvider, KanbanMergeStatus, KanbanPublishStatus, KanbanPullRequestStatus, KanbanReviewArtifact, KanbanReviewCommentAnchor, KanbanReviewDecision, KanbanReviewFeedbackSource, KanbanReviewStatus, KanbanReviewSnapshot, KanbanReviewTargetType } from "@a5c-ai/agent-mux-core/kanban";
|
|
2
|
+
export interface ReviewQuery {
|
|
3
|
+
targetType?: KanbanReviewTargetType;
|
|
4
|
+
targetId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function loadReviews(query?: ReviewQuery): Promise<KanbanReviewSnapshot>;
|
|
7
|
+
export declare function submitReviewAction(input: {
|
|
8
|
+
action: "submit-review";
|
|
9
|
+
artifactId: string;
|
|
10
|
+
decision: KanbanReviewDecision;
|
|
11
|
+
summary?: string;
|
|
12
|
+
executionTargetId?: string;
|
|
13
|
+
} | {
|
|
14
|
+
action: "approve";
|
|
15
|
+
artifactId: string;
|
|
16
|
+
} | {
|
|
17
|
+
action: "request-changes";
|
|
18
|
+
artifactId: string;
|
|
19
|
+
} | {
|
|
20
|
+
action: "add-comment";
|
|
21
|
+
artifactId: string;
|
|
22
|
+
body: string;
|
|
23
|
+
anchor: KanbanReviewCommentAnchor;
|
|
24
|
+
authorName?: string;
|
|
25
|
+
feedbackSource?: KanbanReviewFeedbackSource;
|
|
26
|
+
} | {
|
|
27
|
+
action: "create-pull-request";
|
|
28
|
+
artifactId: string;
|
|
29
|
+
provider?: KanbanIntegrationProvider;
|
|
30
|
+
title: string;
|
|
31
|
+
reviewers?: string;
|
|
32
|
+
branchName?: string;
|
|
33
|
+
baseBranch?: string;
|
|
34
|
+
url?: string;
|
|
35
|
+
} | {
|
|
36
|
+
action: "link-pull-request";
|
|
37
|
+
artifactId: string;
|
|
38
|
+
provider?: KanbanIntegrationProvider;
|
|
39
|
+
number: number;
|
|
40
|
+
title: string;
|
|
41
|
+
status?: KanbanPullRequestStatus;
|
|
42
|
+
reviewStatus?: KanbanReviewStatus;
|
|
43
|
+
mergeStatus?: KanbanMergeStatus;
|
|
44
|
+
publishStatus?: KanbanPublishStatus;
|
|
45
|
+
ciGates?: readonly KanbanCiGate[];
|
|
46
|
+
branchName?: string;
|
|
47
|
+
baseBranch?: string;
|
|
48
|
+
url?: string;
|
|
49
|
+
}): Promise<KanbanReviewSnapshot>;
|
|
50
|
+
export declare function useReviews(query?: ReviewQuery, interval?: number): {
|
|
51
|
+
snapshot: KanbanReviewSnapshot | null;
|
|
52
|
+
artifacts: readonly KanbanReviewArtifact[];
|
|
53
|
+
queue: readonly import("@a5c-ai/agent-mux-core").KanbanReviewQueueItem[];
|
|
54
|
+
summary: {
|
|
55
|
+
readonly total: number;
|
|
56
|
+
readonly issueCount: number;
|
|
57
|
+
readonly workspaceCount: number;
|
|
58
|
+
readonly pendingCount: number;
|
|
59
|
+
readonly changesRequestedCount: number;
|
|
60
|
+
readonly approvedCount: number;
|
|
61
|
+
readonly openCommentCount: number;
|
|
62
|
+
} | undefined;
|
|
63
|
+
loading: boolean;
|
|
64
|
+
error: string | null;
|
|
65
|
+
refresh: () => Promise<void>;
|
|
66
|
+
actOnReview: (input: {
|
|
67
|
+
action: "submit-review";
|
|
68
|
+
artifactId: string;
|
|
69
|
+
decision: KanbanReviewDecision;
|
|
70
|
+
summary?: string;
|
|
71
|
+
executionTargetId?: string;
|
|
72
|
+
} | {
|
|
73
|
+
action: "approve";
|
|
74
|
+
artifactId: string;
|
|
75
|
+
} | {
|
|
76
|
+
action: "request-changes";
|
|
77
|
+
artifactId: string;
|
|
78
|
+
} | {
|
|
79
|
+
action: "add-comment";
|
|
80
|
+
artifactId: string;
|
|
81
|
+
body: string;
|
|
82
|
+
anchor: KanbanReviewCommentAnchor;
|
|
83
|
+
authorName?: string;
|
|
84
|
+
feedbackSource?: KanbanReviewFeedbackSource;
|
|
85
|
+
} | {
|
|
86
|
+
action: "create-pull-request";
|
|
87
|
+
artifactId: string;
|
|
88
|
+
provider?: KanbanIntegrationProvider;
|
|
89
|
+
title: string;
|
|
90
|
+
reviewers?: string;
|
|
91
|
+
branchName?: string;
|
|
92
|
+
baseBranch?: string;
|
|
93
|
+
url?: string;
|
|
94
|
+
} | {
|
|
95
|
+
action: "link-pull-request";
|
|
96
|
+
artifactId: string;
|
|
97
|
+
provider?: KanbanIntegrationProvider;
|
|
98
|
+
number: number;
|
|
99
|
+
title: string;
|
|
100
|
+
status?: KanbanPullRequestStatus;
|
|
101
|
+
reviewStatus?: KanbanReviewStatus;
|
|
102
|
+
mergeStatus?: KanbanMergeStatus;
|
|
103
|
+
publishStatus?: KanbanPublishStatus;
|
|
104
|
+
ciGates?: readonly KanbanCiGate[];
|
|
105
|
+
branchName?: string;
|
|
106
|
+
baseBranch?: string;
|
|
107
|
+
url?: string;
|
|
108
|
+
}) => Promise<KanbanReviewSnapshot>;
|
|
109
|
+
pendingArtifactId: string | null;
|
|
110
|
+
selectedArtifact: (artifactId: string | null | undefined) => KanbanReviewArtifact | null;
|
|
111
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-reviews.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-reviews.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type CatchUpState } from "./use-batched-updates";
|
|
2
|
+
import type { RunStatus, ProjectSummary, BreakpointRunInfo } from "@/types";
|
|
3
|
+
import type { ExecutiveSummaryMetrics } from "@/components/dashboard/executive-summary-banner";
|
|
4
|
+
/** Aggregated KPI metrics across all projects. */
|
|
5
|
+
export interface DashboardMetrics {
|
|
6
|
+
totalRuns: number;
|
|
7
|
+
activeRuns: number;
|
|
8
|
+
completedRuns: number;
|
|
9
|
+
failedRuns: number;
|
|
10
|
+
staleRuns: number;
|
|
11
|
+
totalTasks: number;
|
|
12
|
+
completedTasks: number;
|
|
13
|
+
}
|
|
14
|
+
export type DashboardSortMode = "status" | "activity";
|
|
15
|
+
export type DashboardStatusFilter = RunStatus | "all" | "stale";
|
|
16
|
+
export interface UseRunDashboardReturn {
|
|
17
|
+
projects: ProjectSummary[];
|
|
18
|
+
loading: boolean;
|
|
19
|
+
error: string | null | undefined;
|
|
20
|
+
metrics: DashboardMetrics;
|
|
21
|
+
allBreakpointRuns: BreakpointRunInfo[];
|
|
22
|
+
summaryMetrics: ExecutiveSummaryMetrics;
|
|
23
|
+
bannerFingerprint: string;
|
|
24
|
+
bannerDismissed: boolean;
|
|
25
|
+
filterCounts: Record<DashboardStatusFilter, number>;
|
|
26
|
+
filteredProjects: ProjectSummary[];
|
|
27
|
+
activeProjects: ProjectSummary[];
|
|
28
|
+
historyProjects: ProjectSummary[];
|
|
29
|
+
statusFilter: DashboardStatusFilter;
|
|
30
|
+
sortMode: DashboardSortMode;
|
|
31
|
+
historyCollapsed: boolean;
|
|
32
|
+
cardStatusFilter: RunStatus | "all";
|
|
33
|
+
hasStaleRuns: boolean;
|
|
34
|
+
catchUp: CatchUpState;
|
|
35
|
+
setStatusFilter: (value: DashboardStatusFilter) => void;
|
|
36
|
+
setSortMode: (value: DashboardSortMode | ((prev: DashboardSortMode) => DashboardSortMode)) => void;
|
|
37
|
+
setHistoryCollapsed: (value: boolean | ((prev: boolean) => boolean)) => void;
|
|
38
|
+
setDismissedFingerprint: (value: string | null | ((prev: string | null) => string | null)) => void;
|
|
39
|
+
toggleMetricFilter: (filter: DashboardStatusFilter) => void;
|
|
40
|
+
handleHideProject: (projectName: string) => void;
|
|
41
|
+
}
|
|
42
|
+
export declare function useRunDashboard(): UseRunDashboardReturn;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-run-dashboard.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-run-dashboard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAE/F,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,cAAc,EAAE,uBAAuB,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACpD,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,eAAe,EAAE,cAAc,EAAE,CAAC;IAGlC,YAAY,EAAE,qBAAqB,CAAC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,SAAS,GAAG,KAAK,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IAGtB,OAAO,EAAE,YAAY,CAAC;IAGtB,eAAe,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,CAAC,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnG,mBAAmB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7E,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;IACnG,kBAAkB,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,eAAe,IAAI,qBAAqB,CAsJvD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function useRunDetail(runId: string, intervalOverride?: number): {
|
|
2
|
+
run: import("@/types").Run | null;
|
|
3
|
+
loading: boolean;
|
|
4
|
+
error: string | null;
|
|
5
|
+
refresh: () => Promise<void>;
|
|
6
|
+
hasBreakpointWaiting: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function useTaskDetail(runId: string, effectId: string | null): {
|
|
9
|
+
task: import("@/types").TaskDetail | null;
|
|
10
|
+
loading: boolean;
|
|
11
|
+
error: string | null;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-run-detail.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-run-detail.ts"],"names":[],"mappings":"AAkBA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;;;;;;EAyCpE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;;;;EAenE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StreamEvent } from "./use-event-stream";
|
|
2
|
+
interface UseSmartPollingOptions {
|
|
3
|
+
interval?: number;
|
|
4
|
+
sseFilter?: (event: StreamEvent) => boolean;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
/** When true, suppress SSE-triggered refetches (used during catch-up mode). */
|
|
7
|
+
suppressSseRefetch?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function useSmartPolling<T>(url: string, options?: UseSmartPollingOptions): {
|
|
10
|
+
data: T | null;
|
|
11
|
+
loading: boolean;
|
|
12
|
+
error: string | null;
|
|
13
|
+
refresh: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-smart-polling.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-smart-polling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5D,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B;;;;;EAgIrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-task-tags.d.ts","sourceRoot":"","sources":["../../../../src/kanban/hooks/use-task-tags.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,wBAAgB,WAAW;;;;EAuC1B"}
|