@agent-native/dispatch 0.12.3 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/apply-dream-proposal.d.ts +14 -14
- package/dist/actions/apply-dream-proposal.d.ts.map +1 -1
- package/dist/actions/apply-dream-proposal.js.map +1 -1
- package/dist/actions/approve-dispatch-change.d.ts.map +1 -1
- package/dist/actions/approve-dispatch-change.js.map +1 -1
- package/dist/actions/approve-vault-request.d.ts.map +1 -1
- package/dist/actions/approve-vault-request.js.map +1 -1
- package/dist/actions/archive-workspace-app.d.ts.map +1 -1
- package/dist/actions/archive-workspace-app.js.map +1 -1
- package/dist/actions/ask_app.d.ts.map +1 -1
- package/dist/actions/ask_app.js.map +1 -1
- package/dist/actions/create-dream-report.d.ts +26 -26
- package/dist/actions/create-dream-report.d.ts.map +1 -1
- package/dist/actions/create-dream-report.js.map +1 -1
- package/dist/actions/create-link-token.d.ts +1 -1
- package/dist/actions/create-link-token.d.ts.map +1 -1
- package/dist/actions/create-link-token.js.map +1 -1
- package/dist/actions/create-pylon-ticket.d.ts +1 -1
- package/dist/actions/create-pylon-ticket.d.ts.map +1 -1
- package/dist/actions/create-pylon-ticket.js.map +1 -1
- package/dist/actions/create-vault-grant.d.ts.map +1 -1
- package/dist/actions/create-vault-grant.js.map +1 -1
- package/dist/actions/create-vault-secret.d.ts.map +1 -1
- package/dist/actions/create-vault-secret.js.map +1 -1
- package/dist/actions/create-workspace-resource-grant.d.ts.map +1 -1
- package/dist/actions/create-workspace-resource-grant.js.map +1 -1
- package/dist/actions/create-workspace-resource.d.ts +2 -2
- package/dist/actions/create-workspace-resource.d.ts.map +1 -1
- package/dist/actions/create-workspace-resource.js.map +1 -1
- package/dist/actions/create_embed_session.d.ts.map +1 -1
- package/dist/actions/create_embed_session.js.map +1 -1
- package/dist/actions/delete-destination.d.ts +12 -12
- package/dist/actions/delete-destination.d.ts.map +1 -1
- package/dist/actions/delete-destination.js.map +1 -1
- package/dist/actions/delete-staged-dataset.d.ts.map +1 -1
- package/dist/actions/delete-staged-dataset.js.map +1 -1
- package/dist/actions/delete-vault-secret.d.ts.map +1 -1
- package/dist/actions/delete-vault-secret.js.map +1 -1
- package/dist/actions/delete-workspace-resource.d.ts +13 -13
- package/dist/actions/delete-workspace-resource.d.ts.map +1 -1
- package/dist/actions/delete-workspace-resource.js.map +1 -1
- package/dist/actions/deny-vault-request.d.ts.map +1 -1
- package/dist/actions/deny-vault-request.js.map +1 -1
- package/dist/actions/ensure-dream-job.d.ts.map +1 -1
- package/dist/actions/ensure-dream-job.js.map +1 -1
- package/dist/actions/get-agent-thread-debug.d.ts +2 -2
- package/dist/actions/get-agent-thread-debug.d.ts.map +1 -1
- package/dist/actions/get-agent-thread-debug.js.map +1 -1
- package/dist/actions/get-app-creation-settings.d.ts.map +1 -1
- package/dist/actions/get-app-creation-settings.js.map +1 -1
- package/dist/actions/get-dispatch-settings.d.ts.map +1 -1
- package/dist/actions/get-dispatch-settings.js.map +1 -1
- package/dist/actions/get-dream-settings.d.ts.map +1 -1
- package/dist/actions/get-dream-settings.js.map +1 -1
- package/dist/actions/get-dream.d.ts +26 -26
- package/dist/actions/get-dream.d.ts.map +1 -1
- package/dist/actions/get-dream.js.map +1 -1
- package/dist/actions/get-vault-access-settings.d.ts.map +1 -1
- package/dist/actions/get-vault-access-settings.js.map +1 -1
- package/dist/actions/get-workspace-info.d.ts.map +1 -1
- package/dist/actions/get-workspace-info.js.map +1 -1
- package/dist/actions/get-workspace-resource-effective-context.d.ts.map +1 -1
- package/dist/actions/get-workspace-resource-effective-context.js.map +1 -1
- package/dist/actions/grant-vault-secrets-to-app.d.ts.map +1 -1
- package/dist/actions/grant-vault-secrets-to-app.js.map +1 -1
- package/dist/actions/grant-workspace-resources-to-app.d.ts.map +1 -1
- package/dist/actions/grant-workspace-resources-to-app.js.map +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +12 -12
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/list-agent-thread-sources.d.ts.map +1 -1
- package/dist/actions/list-agent-thread-sources.js.map +1 -1
- package/dist/actions/list-available-workspace-templates.d.ts.map +1 -1
- package/dist/actions/list-available-workspace-templates.js.map +1 -1
- package/dist/actions/list-connected-agents.d.ts +4 -4
- package/dist/actions/list-connected-agents.d.ts.map +1 -1
- package/dist/actions/list-connected-agents.js +4 -4
- package/dist/actions/list-connected-agents.js.map +1 -1
- package/dist/actions/list-destinations.d.ts.map +1 -1
- package/dist/actions/list-destinations.js.map +1 -1
- package/dist/actions/list-dispatch-approvals.d.ts.map +1 -1
- package/dist/actions/list-dispatch-approvals.js.map +1 -1
- package/dist/actions/list-dispatch-audit.d.ts.map +1 -1
- package/dist/actions/list-dispatch-audit.js.map +1 -1
- package/dist/actions/list-dispatch-overview.d.ts +7 -7
- package/dist/actions/list-dispatch-overview.d.ts.map +1 -1
- package/dist/actions/list-dispatch-overview.js.map +1 -1
- package/dist/actions/list-dispatch-usage-metrics.d.ts.map +1 -1
- package/dist/actions/list-dispatch-usage-metrics.js.map +1 -1
- package/dist/actions/list-dream-candidates.d.ts.map +1 -1
- package/dist/actions/list-dream-candidates.js.map +1 -1
- package/dist/actions/list-dreams.d.ts +14 -14
- package/dist/actions/list-dreams.d.ts.map +1 -1
- package/dist/actions/list-dreams.js.map +1 -1
- package/dist/actions/list-integrations-catalog.d.ts.map +1 -1
- package/dist/actions/list-integrations-catalog.js.map +1 -1
- package/dist/actions/list-linked-identities.d.ts.map +1 -1
- package/dist/actions/list-linked-identities.js.map +1 -1
- package/dist/actions/list-mcp-app-access.d.ts.map +1 -1
- package/dist/actions/list-mcp-app-access.js.map +1 -1
- package/dist/actions/list-staged-datasets.d.ts.map +1 -1
- package/dist/actions/list-staged-datasets.js.map +1 -1
- package/dist/actions/list-vault-audit.d.ts.map +1 -1
- package/dist/actions/list-vault-audit.js.map +1 -1
- package/dist/actions/list-vault-grants.d.ts.map +1 -1
- package/dist/actions/list-vault-grants.js.map +1 -1
- package/dist/actions/list-vault-requests.d.ts +1 -1
- package/dist/actions/list-vault-requests.d.ts.map +1 -1
- package/dist/actions/list-vault-requests.js.map +1 -1
- package/dist/actions/list-vault-secret-options.d.ts.map +1 -1
- package/dist/actions/list-vault-secret-options.js.map +1 -1
- package/dist/actions/list-vault-secrets.d.ts.map +1 -1
- package/dist/actions/list-vault-secrets.js.map +1 -1
- package/dist/actions/list-workspace-apps.d.ts.map +1 -1
- package/dist/actions/list-workspace-apps.js.map +1 -1
- package/dist/actions/list-workspace-resource-grants.d.ts.map +1 -1
- package/dist/actions/list-workspace-resource-grants.js.map +1 -1
- package/dist/actions/list-workspace-resource-options.d.ts +1 -1
- package/dist/actions/list-workspace-resource-options.d.ts.map +1 -1
- package/dist/actions/list-workspace-resource-options.js.map +1 -1
- package/dist/actions/list-workspace-resources-for-app.d.ts.map +1 -1
- package/dist/actions/list-workspace-resources-for-app.js.map +1 -1
- package/dist/actions/list-workspace-resources.d.ts +1 -1
- package/dist/actions/list-workspace-resources.d.ts.map +1 -1
- package/dist/actions/list-workspace-resources.js.map +1 -1
- package/dist/actions/list_apps.d.ts.map +1 -1
- package/dist/actions/list_apps.js.map +1 -1
- package/dist/actions/navigate.d.ts.map +1 -1
- package/dist/actions/navigate.js +1 -1
- package/dist/actions/navigate.js.map +1 -1
- package/dist/actions/open_app.d.ts.map +1 -1
- package/dist/actions/open_app.js.map +1 -1
- package/dist/actions/preview-dream-proposal.d.ts +15 -15
- package/dist/actions/preview-dream-proposal.d.ts.map +1 -1
- package/dist/actions/preview-dream-proposal.js.map +1 -1
- package/dist/actions/preview-workspace-resource-change.d.ts +1 -1
- package/dist/actions/preview-workspace-resource-change.d.ts.map +1 -1
- package/dist/actions/preview-workspace-resource-change.js.map +1 -1
- package/dist/actions/provider-api-catalog.d.ts +4 -4
- package/dist/actions/provider-api-catalog.d.ts.map +1 -1
- package/dist/actions/provider-api-catalog.js.map +1 -1
- package/dist/actions/provider-api-docs.d.ts +3 -3
- package/dist/actions/provider-api-docs.d.ts.map +1 -1
- package/dist/actions/provider-api-docs.js.map +1 -1
- package/dist/actions/provider-api-register.d.ts +14 -14
- package/dist/actions/provider-api-register.d.ts.map +1 -1
- package/dist/actions/provider-api-register.js +1 -1
- package/dist/actions/provider-api-register.js.map +1 -1
- package/dist/actions/provider-api-request.d.ts +1 -1
- package/dist/actions/provider-api-request.d.ts.map +1 -1
- package/dist/actions/provider-api-request.js.map +1 -1
- package/dist/actions/query-staged-dataset.d.ts +2 -2
- package/dist/actions/query-staged-dataset.d.ts.map +1 -1
- package/dist/actions/query-staged-dataset.js.map +1 -1
- package/dist/actions/reject-dispatch-change.d.ts.map +1 -1
- package/dist/actions/reject-dispatch-change.js.map +1 -1
- package/dist/actions/reject-dream-proposal.d.ts +14 -14
- package/dist/actions/reject-dream-proposal.d.ts.map +1 -1
- package/dist/actions/reject-dream-proposal.js.map +1 -1
- package/dist/actions/remove-pending-workspace-app.d.ts.map +1 -1
- package/dist/actions/remove-pending-workspace-app.js.map +1 -1
- package/dist/actions/request-vault-secret.d.ts.map +1 -1
- package/dist/actions/request-vault-secret.js.map +1 -1
- package/dist/actions/restore-starter-workspace-resources.d.ts.map +1 -1
- package/dist/actions/restore-starter-workspace-resources.js.map +1 -1
- package/dist/actions/revoke-vault-grant.d.ts.map +1 -1
- package/dist/actions/revoke-vault-grant.js.map +1 -1
- package/dist/actions/revoke-workspace-resource-grant.d.ts.map +1 -1
- package/dist/actions/revoke-workspace-resource-grant.js.map +1 -1
- package/dist/actions/scaffold-workspace-app.d.ts.map +1 -1
- package/dist/actions/scaffold-workspace-app.js.map +1 -1
- package/dist/actions/search-agent-threads.d.ts +1 -1
- package/dist/actions/search-agent-threads.d.ts.map +1 -1
- package/dist/actions/search-agent-threads.js.map +1 -1
- package/dist/actions/send-code-agent-remote-command.d.ts.map +1 -1
- package/dist/actions/send-code-agent-remote-command.js.map +1 -1
- package/dist/actions/send-platform-message.d.ts +3 -3
- package/dist/actions/send-platform-message.d.ts.map +1 -1
- package/dist/actions/send-platform-message.js +1 -1
- package/dist/actions/send-platform-message.js.map +1 -1
- package/dist/actions/set-app-creation-settings.d.ts.map +1 -1
- package/dist/actions/set-app-creation-settings.js.map +1 -1
- package/dist/actions/set-dispatch-approval-policy.d.ts.map +1 -1
- package/dist/actions/set-dispatch-approval-policy.js.map +1 -1
- package/dist/actions/set-dream-settings.d.ts.map +1 -1
- package/dist/actions/set-dream-settings.js.map +1 -1
- package/dist/actions/set-mcp-app-access.d.ts.map +1 -1
- package/dist/actions/set-mcp-app-access.js +2 -2
- package/dist/actions/set-mcp-app-access.js.map +1 -1
- package/dist/actions/set-vault-access-settings.d.ts.map +1 -1
- package/dist/actions/set-vault-access-settings.js.map +1 -1
- package/dist/actions/start-workspace-app-creation.d.ts +4 -4
- package/dist/actions/start-workspace-app-creation.d.ts.map +1 -1
- package/dist/actions/start-workspace-app-creation.js.map +1 -1
- package/dist/actions/sync-vault-to-app.d.ts +1 -1
- package/dist/actions/sync-vault-to-app.d.ts.map +1 -1
- package/dist/actions/sync-vault-to-app.js.map +1 -1
- package/dist/actions/unarchive-workspace-app.d.ts.map +1 -1
- package/dist/actions/unarchive-workspace-app.js.map +1 -1
- package/dist/actions/update-vault-secret.d.ts.map +1 -1
- package/dist/actions/update-vault-secret.js.map +1 -1
- package/dist/actions/update-workspace-app-metadata.d.ts.map +1 -1
- package/dist/actions/update-workspace-app-metadata.js.map +1 -1
- package/dist/actions/update-workspace-resource.d.ts.map +1 -1
- package/dist/actions/update-workspace-resource.js.map +1 -1
- package/dist/actions/upsert-destination.d.ts +2 -2
- package/dist/actions/upsert-destination.d.ts.map +1 -1
- package/dist/actions/upsert-destination.js.map +1 -1
- package/dist/actions/view-screen.d.ts.map +1 -1
- package/dist/actions/view-screen.js +3 -3
- package/dist/actions/view-screen.js.map +1 -1
- package/dist/components/agents-panel.d.ts +1 -1
- package/dist/components/agents-panel.d.ts.map +1 -1
- package/dist/components/agents-panel.js +3 -3
- package/dist/components/agents-panel.js.map +1 -1
- package/dist/components/app-keys-popover.d.ts +1 -1
- package/dist/components/app-keys-popover.d.ts.map +1 -1
- package/dist/components/app-keys-popover.js +2 -2
- package/dist/components/app-keys-popover.js.map +1 -1
- package/dist/components/approval-value-block.d.ts +1 -1
- package/dist/components/approval-value-block.d.ts.map +1 -1
- package/dist/components/create-app-popover.d.ts +2 -2
- package/dist/components/create-app-popover.d.ts.map +1 -1
- package/dist/components/create-app-popover.js +3 -3
- package/dist/components/create-app-popover.js.map +1 -1
- package/dist/components/dispatch-control-plane.d.ts +1 -1
- package/dist/components/dispatch-control-plane.d.ts.map +1 -1
- package/dist/components/dispatch-control-plane.js +6 -6
- package/dist/components/dispatch-control-plane.js.map +1 -1
- package/dist/components/dispatch-shell.d.ts +1 -1
- package/dist/components/dispatch-shell.d.ts.map +1 -1
- package/dist/components/dispatch-shell.js +2 -2
- package/dist/components/dispatch-shell.js.map +1 -1
- package/dist/components/layout/Header.d.ts +1 -1
- package/dist/components/layout/Header.d.ts.map +1 -1
- package/dist/components/layout/Header.js +3 -3
- package/dist/components/layout/Header.js.map +1 -1
- package/dist/components/layout/Layout.d.ts +2 -2
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +4 -4
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/messaging-setup-panel.d.ts +1 -1
- package/dist/components/messaging-setup-panel.d.ts.map +1 -1
- package/dist/components/messaging-setup-panel.js +3 -3
- package/dist/components/messaging-setup-panel.js.map +1 -1
- package/dist/components/ui/accordion.d.ts +2 -2
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +9 -9
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts +2 -2
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/alert.js +1 -1
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/aspect-ratio.d.ts +1 -1
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/components/ui/avatar.d.ts +1 -1
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/badge.d.ts +3 -3
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +8 -8
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.js +1 -1
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/button.d.ts +4 -4
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/calendar.d.ts +1 -1
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +1 -1
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/components/ui/carousel.d.ts +1 -1
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/carousel.js +3 -3
- package/dist/components/ui/carousel.js.map +1 -1
- package/dist/components/ui/chart.d.ts +12 -12
- package/dist/components/ui/chart.d.ts.map +1 -1
- package/dist/components/ui/chart.js +1 -1
- package/dist/components/ui/checkbox.d.ts +1 -1
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/collapsible.d.ts +3 -3
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/command.d.ts +13 -13
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +3 -3
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +5 -5
- package/dist/components/ui/context-menu.d.ts.map +1 -1
- package/dist/components/ui/context-menu.js +1 -1
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +9 -9
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/drawer.d.ts +19 -19
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +5 -5
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +1 -1
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/form.d.ts +7 -5
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/form.js +2 -2
- package/dist/components/ui/form.js.map +1 -1
- package/dist/components/ui/hover-card.d.ts +1 -1
- package/dist/components/ui/hover-card.d.ts.map +1 -1
- package/dist/components/ui/hover-card.js +1 -1
- package/dist/components/ui/hover-card.js.map +1 -1
- package/dist/components/ui/input-otp.d.ts +7 -7
- package/dist/components/ui/input-otp.d.ts.map +1 -1
- package/dist/components/ui/input-otp.js +2 -2
- package/dist/components/ui/input-otp.js.map +1 -1
- package/dist/components/ui/label.d.ts +2 -2
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/menubar.d.ts +5 -5
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +1 -1
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +2 -2
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +2 -2
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/pagination.d.ts +20 -20
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pagination.js +2 -2
- package/dist/components/ui/pagination.js.map +1 -1
- package/dist/components/ui/popover.d.ts +1 -1
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/progress.d.ts +1 -1
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/radio-group.d.ts +1 -1
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +1 -1
- package/dist/components/ui/radio-group.js.map +1 -1
- package/dist/components/ui/resizable.d.ts +2 -2
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.d.ts +1 -1
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +1 -1
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/select.d.ts +1 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/separator.d.ts +1 -1
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/separator.js.map +1 -1
- package/dist/components/ui/sheet.d.ts +10 -10
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +1 -1
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/components/ui/sidebar.d.ts +4 -4
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +4 -4
- package/dist/components/ui/sidebar.js.map +1 -1
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/slider.d.ts +1 -1
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/slider.js +1 -1
- package/dist/components/ui/slider.js.map +1 -1
- package/dist/components/ui/sonner.d.ts +1 -1
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/spinner.d.ts +1 -1
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts +1 -1
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/toast.d.ts +2 -2
- package/dist/components/ui/toast.d.ts.map +1 -1
- package/dist/components/ui/toast.js +2 -2
- package/dist/components/ui/toast.js.map +1 -1
- package/dist/components/ui/toaster.d.ts +1 -1
- package/dist/components/ui/toaster.d.ts.map +1 -1
- package/dist/components/ui/toaster.js +1 -1
- package/dist/components/ui/toaster.js.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +6 -6
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +2 -2
- package/dist/components/ui/toggle-group.js.map +1 -1
- package/dist/components/ui/toggle.d.ts +5 -5
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +1 -1
- package/dist/components/ui/toggle.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +1 -1
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/workspace-app-card.d.ts +1 -1
- package/dist/components/workspace-app-card.d.ts.map +1 -1
- package/dist/components/workspace-app-card.js +2 -2
- package/dist/components/workspace-app-card.js.map +1 -1
- package/dist/components/workspace-resource-effective-stack.d.ts +2 -2
- package/dist/components/workspace-resource-effective-stack.d.ts.map +1 -1
- package/dist/components/workspace-resource-effective-stack.js +1 -1
- package/dist/components/workspace-resource-effective-stack.js.map +1 -1
- package/dist/components/workspace-resource-impact-preview.d.ts +1 -1
- package/dist/components/workspace-resource-impact-preview.d.ts.map +1 -1
- package/dist/components/workspace-resource-impact-preview.js.map +1 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/schema.d.ts +13 -13
- package/dist/hooks/use-navigation-state.d.ts.map +1 -1
- package/dist/hooks/use-navigation-state.js +3 -3
- package/dist/hooks/use-navigation-state.js.map +1 -1
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/use-toast.js.map +1 -1
- package/dist/lib/catch-all-target.js.map +1 -1
- package/dist/lib/thread-link-preview.d.ts +4 -4
- package/dist/routes/pages/$appId.d.ts +1 -1
- package/dist/routes/pages/$appId.d.ts.map +1 -1
- package/dist/routes/pages/$appId.js +3 -3
- package/dist/routes/pages/$appId.js.map +1 -1
- package/dist/routes/pages/_index.d.ts +7 -7
- package/dist/routes/pages/_index.d.ts.map +1 -1
- package/dist/routes/pages/_index.js +6 -7
- package/dist/routes/pages/_index.js.map +1 -1
- package/dist/routes/pages/agents.d.ts +1 -1
- package/dist/routes/pages/agents.d.ts.map +1 -1
- package/dist/routes/pages/agents.js +3 -3
- package/dist/routes/pages/agents.js.map +1 -1
- package/dist/routes/pages/approval.d.ts +1 -1
- package/dist/routes/pages/approval.d.ts.map +1 -1
- package/dist/routes/pages/approval.js +3 -3
- package/dist/routes/pages/approval.js.map +1 -1
- package/dist/routes/pages/approvals.d.ts +1 -1
- package/dist/routes/pages/approvals.d.ts.map +1 -1
- package/dist/routes/pages/approvals.js +1 -1
- package/dist/routes/pages/approvals.js.map +1 -1
- package/dist/routes/pages/apps.$appId.d.ts +1 -1
- package/dist/routes/pages/apps.$appId.d.ts.map +1 -1
- package/dist/routes/pages/apps.$appId.js +2 -2
- package/dist/routes/pages/apps.$appId.js.map +1 -1
- package/dist/routes/pages/apps.d.ts +1 -1
- package/dist/routes/pages/apps.d.ts.map +1 -1
- package/dist/routes/pages/apps.js +3 -3
- package/dist/routes/pages/apps.js.map +1 -1
- package/dist/routes/pages/audit.d.ts +1 -1
- package/dist/routes/pages/audit.d.ts.map +1 -1
- package/dist/routes/pages/audit.js.map +1 -1
- package/dist/routes/pages/chat.d.ts +1 -1
- package/dist/routes/pages/chat.d.ts.map +1 -1
- package/dist/routes/pages/chat.js +1 -1
- package/dist/routes/pages/chat.js.map +1 -1
- package/dist/routes/pages/destinations.d.ts +1 -1
- package/dist/routes/pages/destinations.d.ts.map +1 -1
- package/dist/routes/pages/destinations.js +3 -3
- package/dist/routes/pages/destinations.js.map +1 -1
- package/dist/routes/pages/dreams.d.ts +1 -1
- package/dist/routes/pages/dreams.d.ts.map +1 -1
- package/dist/routes/pages/dreams.js +4 -3
- package/dist/routes/pages/dreams.js.map +1 -1
- package/dist/routes/pages/extensions.$id.d.ts +1 -1
- package/dist/routes/pages/extensions.$id.d.ts.map +1 -1
- package/dist/routes/pages/extensions._index.d.ts +1 -1
- package/dist/routes/pages/extensions._index.d.ts.map +1 -1
- package/dist/routes/pages/identities.d.ts +1 -1
- package/dist/routes/pages/identities.d.ts.map +1 -1
- package/dist/routes/pages/identities.js.map +1 -1
- package/dist/routes/pages/integrations.d.ts +1 -1
- package/dist/routes/pages/integrations.d.ts.map +1 -1
- package/dist/routes/pages/integrations.js +3 -3
- package/dist/routes/pages/integrations.js.map +1 -1
- package/dist/routes/pages/messaging.d.ts +1 -1
- package/dist/routes/pages/messaging.d.ts.map +1 -1
- package/dist/routes/pages/messaging.js +1 -1
- package/dist/routes/pages/messaging.js.map +1 -1
- package/dist/routes/pages/metrics.d.ts +1 -1
- package/dist/routes/pages/metrics.d.ts.map +1 -1
- package/dist/routes/pages/metrics.js +2 -2
- package/dist/routes/pages/metrics.js.map +1 -1
- package/dist/routes/pages/new-app.d.ts +1 -1
- package/dist/routes/pages/new-app.d.ts.map +1 -1
- package/dist/routes/pages/new-app.js.map +1 -1
- package/dist/routes/pages/overview.d.ts +7 -7
- package/dist/routes/pages/overview.d.ts.map +1 -1
- package/dist/routes/pages/settings.d.ts +1 -1
- package/dist/routes/pages/settings.d.ts.map +1 -1
- package/dist/routes/pages/settings.js +1 -1
- package/dist/routes/pages/settings.js.map +1 -1
- package/dist/routes/pages/team.d.ts +1 -1
- package/dist/routes/pages/team.d.ts.map +1 -1
- package/dist/routes/pages/team.js.map +1 -1
- package/dist/routes/pages/thread-debug.d.ts +1 -1
- package/dist/routes/pages/thread-debug.d.ts.map +1 -1
- package/dist/routes/pages/thread-debug.js +4 -3
- package/dist/routes/pages/thread-debug.js.map +1 -1
- package/dist/routes/pages/tools.$id.d.ts +1 -1
- package/dist/routes/pages/tools.$id.d.ts.map +1 -1
- package/dist/routes/pages/tools._index.d.ts +1 -1
- package/dist/routes/pages/tools._index.d.ts.map +1 -1
- package/dist/routes/pages/vault.d.ts +1 -1
- package/dist/routes/pages/vault.d.ts.map +1 -1
- package/dist/routes/pages/vault.js +5 -5
- package/dist/routes/pages/vault.js.map +1 -1
- package/dist/routes/pages/workspace.d.ts +1 -1
- package/dist/routes/pages/workspace.d.ts.map +1 -1
- package/dist/routes/pages/workspace.js +5 -5
- package/dist/routes/pages/workspace.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/app-creation-store.d.ts +4 -4
- package/dist/server/lib/app-creation-store.d.ts.map +1 -1
- package/dist/server/lib/app-creation-store.js +3 -3
- package/dist/server/lib/app-creation-store.js.map +1 -1
- package/dist/server/lib/dispatch-integrations.d.ts.map +1 -1
- package/dist/server/lib/dispatch-integrations.js +2 -2
- package/dist/server/lib/dispatch-integrations.js.map +1 -1
- package/dist/server/lib/dispatch-store.d.ts.map +1 -1
- package/dist/server/lib/dispatch-store.js +2 -2
- package/dist/server/lib/dispatch-store.js.map +1 -1
- package/dist/server/lib/dreams-store.d.ts +122 -122
- package/dist/server/lib/dreams-store.d.ts.map +1 -1
- package/dist/server/lib/dreams-store.js +1 -1
- package/dist/server/lib/dreams-store.js.map +1 -1
- package/dist/server/lib/mcp-access-store.js +1 -1
- package/dist/server/lib/mcp-access-store.js.map +1 -1
- package/dist/server/lib/mcp-gateway.d.ts.map +1 -1
- package/dist/server/lib/mcp-gateway.js +1 -1
- package/dist/server/lib/mcp-gateway.js.map +1 -1
- package/dist/server/lib/onboarding-steps.d.ts.map +1 -1
- package/dist/server/lib/onboarding-steps.js.map +1 -1
- package/dist/server/lib/provider-api.d.ts +2 -2
- package/dist/server/lib/thread-debug-store.d.ts +2 -2
- package/dist/server/lib/thread-debug-store.d.ts.map +1 -1
- package/dist/server/lib/thread-debug-store.js.map +1 -1
- package/dist/server/lib/thread-link-preview.d.ts.map +1 -1
- package/dist/server/lib/thread-link-preview.js.map +1 -1
- package/dist/server/lib/usage-metrics-store.d.ts.map +1 -1
- package/dist/server/lib/usage-metrics-store.js +3 -3
- package/dist/server/lib/usage-metrics-store.js.map +1 -1
- package/dist/server/lib/vault-store.d.ts +2 -2
- package/dist/server/lib/vault-store.d.ts.map +1 -1
- package/dist/server/lib/vault-store.js +2 -2
- package/dist/server/lib/vault-store.js.map +1 -1
- package/dist/server/lib/workspace-resources-store.d.ts.map +1 -1
- package/dist/server/lib/workspace-resources-store.js +2 -2
- package/dist/server/lib/workspace-resources-store.js.map +1 -1
- package/dist/server/plugins/agent-chat.d.ts.map +1 -1
- package/dist/server/plugins/agent-chat.js +1 -1
- package/dist/server/plugins/agent-chat.js.map +1 -1
- package/dist/server/plugins/auth.d.ts.map +1 -1
- package/dist/server/plugins/auth.js.map +1 -1
- package/dist/server/plugins/core-routes.d.ts.map +1 -1
- package/dist/server/plugins/core-routes.js.map +1 -1
- package/dist/server/plugins/db.d.ts.map +1 -1
- package/dist/server/plugins/db.js.map +1 -1
- package/dist/server/plugins/integrations.d.ts.map +1 -1
- package/dist/server/plugins/integrations.js +2 -2
- package/dist/server/plugins/integrations.js.map +1 -1
- package/package.json +29 -29
- package/src/actions/apply-dream-proposal.ts +1 -0
- package/src/actions/approve-dispatch-change.ts +1 -0
- package/src/actions/approve-vault-request.ts +1 -0
- package/src/actions/archive-workspace-app.ts +1 -0
- package/src/actions/ask_app.ts +1 -0
- package/src/actions/create-dream-report.ts +1 -0
- package/src/actions/create-link-token.ts +1 -0
- package/src/actions/create-pylon-ticket.ts +1 -0
- package/src/actions/create-vault-grant.ts +1 -0
- package/src/actions/create-vault-secret.ts +1 -0
- package/src/actions/create-workspace-resource-grant.ts +1 -0
- package/src/actions/create-workspace-resource.ts +1 -0
- package/src/actions/create_embed_session.ts +1 -0
- package/src/actions/delete-destination.ts +1 -0
- package/src/actions/delete-staged-dataset.ts +1 -0
- package/src/actions/delete-vault-secret.ts +1 -0
- package/src/actions/delete-workspace-resource.ts +1 -0
- package/src/actions/deny-vault-request.ts +1 -0
- package/src/actions/ensure-dream-job.ts +1 -0
- package/src/actions/get-agent-thread-debug.ts +1 -0
- package/src/actions/get-app-creation-settings.ts +1 -0
- package/src/actions/get-dispatch-settings.ts +1 -0
- package/src/actions/get-dream-settings.ts +1 -0
- package/src/actions/get-dream.ts +1 -0
- package/src/actions/get-vault-access-settings.ts +1 -0
- package/src/actions/get-workspace-info.ts +1 -0
- package/src/actions/get-workspace-resource-effective-context.ts +1 -0
- package/src/actions/grant-vault-secrets-to-app.ts +1 -0
- package/src/actions/grant-workspace-resources-to-app.ts +1 -0
- package/src/actions/index.ts +13 -12
- package/src/actions/list-agent-thread-sources.ts +1 -0
- package/src/actions/list-available-workspace-templates.ts +1 -0
- package/src/actions/list-connected-agents.ts +9 -9
- package/src/actions/list-destinations.ts +1 -0
- package/src/actions/list-dispatch-approvals.ts +1 -0
- package/src/actions/list-dispatch-audit.ts +1 -0
- package/src/actions/list-dispatch-overview.ts +1 -0
- package/src/actions/list-dispatch-usage-metrics.ts +1 -0
- package/src/actions/list-dream-candidates.ts +1 -0
- package/src/actions/list-dreams.ts +1 -0
- package/src/actions/list-integrations-catalog.ts +1 -0
- package/src/actions/list-linked-identities.ts +1 -0
- package/src/actions/list-mcp-app-access.ts +1 -0
- package/src/actions/list-staged-datasets.ts +1 -0
- package/src/actions/list-vault-audit.ts +1 -0
- package/src/actions/list-vault-grants.ts +1 -0
- package/src/actions/list-vault-requests.ts +1 -0
- package/src/actions/list-vault-secret-options.ts +1 -0
- package/src/actions/list-vault-secrets.ts +1 -0
- package/src/actions/list-workspace-apps.ts +1 -0
- package/src/actions/list-workspace-resource-grants.ts +1 -0
- package/src/actions/list-workspace-resource-options.ts +1 -0
- package/src/actions/list-workspace-resources-for-app.ts +1 -0
- package/src/actions/list-workspace-resources.ts +1 -0
- package/src/actions/list_apps.ts +1 -0
- package/src/actions/navigate.ts +1 -1
- package/src/actions/open_app.ts +1 -0
- package/src/actions/preview-dream-proposal.ts +1 -0
- package/src/actions/preview-workspace-resource-change.ts +1 -0
- package/src/actions/provider-api-catalog.ts +1 -0
- package/src/actions/provider-api-docs.ts +1 -0
- package/src/actions/provider-api-register.ts +1 -1
- package/src/actions/provider-api-request.ts +1 -0
- package/src/actions/query-staged-dataset.ts +1 -0
- package/src/actions/reject-dispatch-change.ts +1 -0
- package/src/actions/reject-dream-proposal.ts +1 -0
- package/src/actions/remove-pending-workspace-app.ts +1 -0
- package/src/actions/request-vault-secret.ts +1 -0
- package/src/actions/restore-starter-workspace-resources.ts +1 -0
- package/src/actions/revoke-vault-grant.ts +1 -0
- package/src/actions/revoke-workspace-resource-grant.ts +1 -0
- package/src/actions/scaffold-workspace-app.ts +1 -0
- package/src/actions/search-agent-threads.ts +1 -0
- package/src/actions/send-code-agent-remote-command.ts +1 -0
- package/src/actions/send-platform-message.ts +2 -1
- package/src/actions/set-app-creation-settings.ts +1 -0
- package/src/actions/set-dispatch-approval-policy.ts +1 -0
- package/src/actions/set-dream-settings.ts +1 -0
- package/src/actions/set-mcp-app-access.ts +3 -2
- package/src/actions/set-vault-access-settings.ts +1 -0
- package/src/actions/start-workspace-app-creation.ts +1 -0
- package/src/actions/sync-vault-to-app.ts +1 -0
- package/src/actions/unarchive-workspace-app.ts +1 -0
- package/src/actions/update-vault-secret.ts +1 -0
- package/src/actions/update-workspace-app-metadata.ts +1 -0
- package/src/actions/update-workspace-resource.ts +1 -0
- package/src/actions/upsert-destination.ts +1 -0
- package/src/actions/view-screen.ts +8 -7
- package/src/components/agents-panel.tsx +5 -4
- package/src/components/app-keys-popover.tsx +3 -2
- package/src/components/approval-value-block.spec.tsx +1 -0
- package/src/components/create-app-popover.tsx +3 -2
- package/src/components/dispatch-control-plane.tsx +7 -6
- package/src/components/dispatch-shell.tsx +4 -3
- package/src/components/layout/Header.tsx +5 -3
- package/src/components/layout/Layout.tsx +13 -11
- package/src/components/messaging-setup-panel.tsx +4 -3
- package/src/components/ui/accordion.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +2 -2
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/avatar.tsx +1 -1
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/breadcrumb.tsx +1 -1
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/calendar.tsx +2 -2
- package/src/components/ui/carousel.tsx +3 -3
- package/src/components/ui/checkbox.tsx +1 -1
- package/src/components/ui/command.tsx +3 -3
- package/src/components/ui/context-menu.tsx +1 -1
- package/src/components/ui/dialog.tsx +1 -1
- package/src/components/ui/dropdown-menu.tsx +1 -1
- package/src/components/ui/form.tsx +2 -2
- package/src/components/ui/hover-card.tsx +1 -1
- package/src/components/ui/input-otp.tsx +2 -2
- package/src/components/ui/label.tsx +1 -1
- package/src/components/ui/menubar.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +2 -2
- package/src/components/ui/pagination.tsx +2 -2
- package/src/components/ui/popover.tsx +1 -1
- package/src/components/ui/progress.tsx +1 -1
- package/src/components/ui/radio-group.tsx +1 -1
- package/src/components/ui/scroll-area.tsx +1 -1
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/separator.tsx +1 -1
- package/src/components/ui/sheet.tsx +1 -1
- package/src/components/ui/sidebar.tsx +4 -4
- package/src/components/ui/slider.tsx +1 -1
- package/src/components/ui/switch.tsx +1 -1
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/toast.tsx +2 -2
- package/src/components/ui/toaster.tsx +1 -1
- package/src/components/ui/toggle-group.tsx +2 -2
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/workspace-app-card.tsx +3 -2
- package/src/components/workspace-resource-effective-stack.spec.tsx +1 -0
- package/src/components/workspace-resource-effective-stack.tsx +1 -0
- package/src/components/workspace-resource-impact-preview.spec.tsx +1 -0
- package/src/components/workspace-resource-impact-preview.tsx +2 -0
- package/src/db/index.ts +1 -0
- package/src/db/migrations.spec.ts +1 -0
- package/src/hooks/use-navigation-state.spec.ts +1 -0
- package/src/hooks/use-navigation-state.ts +4 -3
- package/src/lib/catch-all-target.spec.ts +1 -0
- package/src/routes/pages/$appId.tsx +8 -7
- package/src/routes/pages/_index.tsx +7 -7
- package/src/routes/pages/agents.tsx +4 -3
- package/src/routes/pages/approval.tsx +10 -9
- package/src/routes/pages/approvals.tsx +2 -1
- package/src/routes/pages/apps.$appId.tsx +3 -2
- package/src/routes/pages/apps.tsx +3 -2
- package/src/routes/pages/audit.tsx +1 -0
- package/src/routes/pages/chat.tsx +7 -6
- package/src/routes/pages/destinations.tsx +12 -11
- package/src/routes/pages/dream-settings.spec.ts +1 -0
- package/src/routes/pages/dreams.tsx +13 -8
- package/src/routes/pages/identities.tsx +1 -0
- package/src/routes/pages/integrations.tsx +4 -3
- package/src/routes/pages/messaging.tsx +1 -1
- package/src/routes/pages/metrics.tsx +2 -1
- package/src/routes/pages/new-app.tsx +1 -0
- package/src/routes/pages/settings.tsx +2 -1
- package/src/routes/pages/team.tsx +1 -0
- package/src/routes/pages/thread-debug.tsx +6 -4
- package/src/routes/pages/vault.tsx +16 -15
- package/src/routes/pages/workspace.tsx +8 -7
- package/src/server/index.ts +2 -1
- package/src/server/lib/app-creation-store.spec.ts +2 -1
- package/src/server/lib/app-creation-store.ts +6 -4
- package/src/server/lib/dispatch-integrations.spec.ts +2 -1
- package/src/server/lib/dispatch-integrations.ts +5 -3
- package/src/server/lib/dispatch-remote-commands.spec.ts +2 -1
- package/src/server/lib/dispatch-store.ts +4 -2
- package/src/server/lib/dreams-store.ts +10 -1
- package/src/server/lib/mcp-access-store.spec.ts +1 -0
- package/src/server/lib/mcp-access-store.ts +4 -4
- package/src/server/lib/mcp-gateway.spec.ts +2 -1
- package/src/server/lib/mcp-gateway.ts +2 -1
- package/src/server/lib/onboarding-steps.ts +1 -0
- package/src/server/lib/thread-debug-store.ts +1 -0
- package/src/server/lib/thread-link-preview.spec.ts +2 -2
- package/src/server/lib/thread-link-preview.ts +1 -0
- package/src/server/lib/usage-metrics-store.ts +8 -7
- package/src/server/lib/vault-store.ts +4 -2
- package/src/server/lib/workspace-resource-approval-lifecycle.spec.ts +1 -0
- package/src/server/lib/workspace-resources-store.ts +4 -2
- package/src/server/plugins/agent-chat.ts +2 -1
- package/src/server/plugins/auth.ts +1 -0
- package/src/server/plugins/core-routes.ts +1 -0
- package/src/server/plugins/db.ts +1 -0
- package/src/server/plugins/integrations.ts +3 -2
- package/src/styles/dispatch-css.spec.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreams.js","sourceRoot":"","sources":["../../../src/routes/pages/dreams.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { useActionMutation, useActionQuery } from \"@agent-native/core/client\";\nimport { toast } from \"sonner\";\nimport {\n IconAlertTriangle,\n IconBrain,\n IconCalendarTime,\n IconCheck,\n IconCircleDashed,\n IconClock,\n IconDatabase,\n IconFileDiff,\n IconPlayerPlay,\n IconRefresh,\n IconSettings,\n IconX,\n} from \"@tabler/icons-react\";\nimport { DispatchShell } from \"@/components/dispatch-shell\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { Separator } from \"@/components/ui/separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n} from \"@/components/ui/sheet\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { Spinner } from \"@/components/ui/spinner\";\nimport { Switch } from \"@/components/ui/switch\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { cn } from \"@/lib/utils\";\nimport {\n dreamSettingsToDraft,\n dreamSettingsUpdateFromDraft,\n splitSourceIds,\n type DreamSettings,\n type DreamSettingsDraft,\n} from \"./dream-settings\";\n\nexport function meta() {\n return [{ title: \"Dreams — Dispatch\" }];\n}\n\ntype DreamStatus =\n | \"running\"\n | \"completed\"\n | \"failed\"\n | \"pending\"\n | \"applied\"\n | \"rejected\"\n | \"stale\"\n | string;\n\ninterface DreamPass {\n id: string;\n title?: string | null;\n summary?: string | null;\n status?: DreamStatus | null;\n sourceId?: string | null;\n query?: string | null;\n error?: string | null;\n createdAt?: number | string | null;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n updatedAt?: number | string | null;\n candidateCount?: number | null;\n inspectedThreadCount?: number | null;\n inspectedRunCount?: number | null;\n proposalCount?: number | null;\n proposalCounts?: Record<string, number> | null;\n appliedCount?: number | null;\n rejectedCount?: number | null;\n sourceHealth?: DreamSourceHealth[] | null;\n}\n\ninterface DreamEvidence {\n id?: string | null;\n label?: string | null;\n title?: string | null;\n source?: string | null;\n sourceId?: string | null;\n threadId?: string | null;\n threadTitle?: string | null;\n runId?: string | null;\n kind?: string | null;\n quote?: string | null;\n snippet?: string | null;\n summary?: string | null;\n confidence?: number | null;\n createdAt?: number | string | null;\n [key: string]: unknown;\n}\n\ninterface DreamProposal {\n id: string;\n dreamId?: string | null;\n title?: string | null;\n summary?: string | null;\n status?: DreamStatus | null;\n targetType?: string | null;\n targetPath?: string | null;\n type?: string | null;\n target?: string | null;\n path?: string | null;\n risk?: string | null;\n confidence?: number | null;\n rationale?: string | null;\n content?: string | null;\n evidence?: DreamEvidence[] | null;\n sourceRunIds?: string[] | null;\n createdAt?: number | string | null;\n}\n\ninterface CandidateRun {\n id?: string;\n thread?: {\n id: string;\n ownerEmail: string;\n title: string;\n preview: string;\n messageCount: number;\n createdAt: number;\n updatedAt: number;\n };\n title?: string | null;\n summary?: string | null;\n preview?: string | null;\n ownerEmail?: string | null;\n sourceId?: string | null;\n sourceLabel?: string | null;\n threadId?: string | null;\n runId?: string | null;\n status?: string | null;\n score?: number | null;\n reasons?:\n | string[]\n | Array<{\n code: string;\n label: string;\n score: number;\n evidenceCount: number;\n }>\n | null;\n signals?: string[] | null;\n latestRunStatus?: string | null;\n updatedAt?: number | string | null;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n evidence?: DreamEvidence[] | null;\n}\n\ninterface DreamSourceHealth {\n sourceId: string;\n label?: string | null;\n status: \"ok\" | \"timed_out\" | \"error\" | string;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n durationMs: number;\n timeoutMs?: number | null;\n inspectedThreadCount: number;\n candidateCount: number;\n errorCount: number;\n threadErrorCount?: number | null;\n message?: string | null;\n}\n\ninterface DreamDetail {\n dream?: DreamPass | null;\n report?: string | null;\n summary?: string | null;\n proposals?: DreamProposal[] | null;\n candidates?: CandidateRun[] | null;\n inspectedRuns?: CandidateRun[] | null;\n evidence?: DreamEvidence[] | null;\n [key: string]: unknown;\n}\n\ntype ListDreamsResponse =\n | DreamPass[]\n | {\n dreams?: DreamPass[];\n items?: DreamPass[];\n results?: DreamPass[];\n };\n\ntype ListCandidatesResponse =\n | CandidateRun[]\n | {\n candidates?: CandidateRun[];\n items?: CandidateRun[];\n results?: CandidateRun[];\n sources?: DreamSourceHealth[];\n sourceHealth?: DreamSourceHealth[];\n };\n\ntype GetDreamResponse = DreamDetail | null;\n\ninterface CreateDreamReportParams {\n sourceId?: string;\n sourceIds?: string[];\n allSources?: boolean;\n query?: string;\n ownerEmail?: string;\n limit?: number;\n sourceTimeoutMs?: number;\n sourceConcurrency?: number;\n sourceStartStaggerMs?: number;\n threadConcurrency?: number;\n threadTimeoutMs?: number;\n title?: string;\n}\n\ninterface CreateDreamReportResult {\n id?: string;\n dreamId?: string;\n dream?: DreamPass;\n}\n\ninterface ProposalMutationParams {\n id: string;\n reason?: string;\n}\n\ninterface DreamProposalPreview {\n operation?: \"create\" | \"update\" | \"append\" | string;\n targetExists?: boolean;\n currentContent?: string | null;\n proposedContent?: string | null;\n target?: {\n type?: string | null;\n path?: string | null;\n kind?: string | null;\n resourceId?: string | null;\n };\n approval?: {\n required?: boolean;\n policyEnabled?: boolean;\n willRequestApproval?: boolean;\n };\n}\n\nfunction normalizeArray<T>(value: unknown, keys: readonly string[]): T[] {\n if (Array.isArray(value)) return value as T[];\n if (!value || typeof value !== \"object\") return [];\n const record = value as Record<string, unknown>;\n for (const key of keys) {\n if (Array.isArray(record[key])) return record[key] as T[];\n }\n return [];\n}\n\nfunction normalizeSourceHealth(value: unknown): DreamSourceHealth[] {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return [];\n const record = value as Record<string, unknown>;\n if (Array.isArray(record.sources)) {\n return record.sources as DreamSourceHealth[];\n }\n if (Array.isArray(record.sourceHealth)) {\n return record.sourceHealth as DreamSourceHealth[];\n }\n return [];\n}\n\nfunction formatDate(value: number | string | null | undefined): string {\n if (value == null || value === \"\") return \"n/a\";\n const numeric = Number(value);\n const date = Number.isFinite(numeric) ? new Date(numeric) : new Date(value);\n if (Number.isNaN(date.getTime())) return \"n/a\";\n return date.toLocaleString();\n}\n\nfunction compactDate(value: number | string | null | undefined): string {\n if (value == null || value === \"\") return \"n/a\";\n const numeric = Number(value);\n const date = Number.isFinite(numeric) ? new Date(numeric) : new Date(value);\n if (Number.isNaN(date.getTime())) return \"n/a\";\n return date.toLocaleDateString(undefined, {\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n}\n\nfunction json(value: unknown): string {\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n}\n\nfunction plural(value: number, singular: string, pluralLabel = `${singular}s`) {\n return `${value} ${value === 1 ? singular : pluralLabel}`;\n}\n\nfunction dreamLabel(dream: DreamPass, index: number): string {\n return dream.title || `Dream pass ${index + 1}`;\n}\n\nfunction proposalTarget(proposal: DreamProposal): string {\n return (\n proposal.targetPath ||\n proposal.path ||\n proposal.target ||\n proposal.targetType ||\n proposal.type ||\n \"memory\"\n );\n}\n\nfunction evidenceLabel(evidence: DreamEvidence, index: number): string {\n return (\n evidence.label ||\n evidence.title ||\n evidence.threadTitle ||\n evidence.source ||\n evidence.threadId ||\n evidence.runId ||\n `Evidence ${index + 1}`\n );\n}\n\nfunction candidateLabel(candidate: CandidateRun): string {\n return (\n candidate.thread?.title ||\n candidate.title ||\n candidate.summary ||\n candidate.thread?.preview ||\n candidate.preview ||\n candidate.thread?.id ||\n candidate.threadId ||\n candidate.runId ||\n candidate.id ||\n \"candidate\"\n );\n}\n\nfunction candidateSignals(candidate: CandidateRun): string[] {\n const reasons = (candidate.reasons ?? []).map((reason) =>\n typeof reason === \"string\" ? reason : reason.label,\n );\n return [...reasons, ...(candidate.signals ?? [])].filter(Boolean);\n}\n\nfunction candidateId(candidate: CandidateRun): string {\n return (\n candidate.id ||\n candidate.thread?.id ||\n candidate.threadId ||\n candidate.runId ||\n candidateLabel(candidate)\n );\n}\n\nfunction candidateStatus(candidate: CandidateRun): string {\n return candidate.latestRunStatus || candidate.status || \"unknown\";\n}\n\nfunction candidateOwner(candidate: CandidateRun): string {\n return candidate.thread?.ownerEmail || candidate.ownerEmail || \"n/a\";\n}\n\nfunction candidateUpdatedAt(candidate: CandidateRun): number | string | null {\n return (\n candidate.updatedAt ||\n candidate.completedAt ||\n candidate.startedAt ||\n candidate.thread?.updatedAt ||\n null\n );\n}\n\nfunction dreamProposalCount(dream: DreamPass): number {\n return dream.proposalCount ?? dream.proposalCounts?.total ?? 0;\n}\n\nfunction dreamInspectedCount(dream: DreamPass): number {\n return dream.inspectedThreadCount ?? dream.inspectedRunCount ?? 0;\n}\n\nfunction resultDreamId(result: CreateDreamReportResult | null | undefined) {\n return result?.dream?.id || result?.dreamId || result?.id || null;\n}\n\nfunction statusVariant(status: DreamStatus | null | undefined) {\n const normalized = String(status || \"pending\").toLowerCase();\n if (normalized === \"failed\") return \"destructive\" as const;\n if (normalized === \"completed\" || normalized === \"applied\")\n return \"default\" as const;\n if (normalized === \"rejected\" || normalized === \"stale\")\n return \"outline\" as const;\n return \"secondary\" as const;\n}\n\nfunction sourceStatusVariant(status: string | null | undefined) {\n const normalized = String(status || \"ok\").toLowerCase();\n if (normalized === \"error\" || normalized === \"timed_out\") {\n return \"destructive\" as const;\n }\n return \"secondary\" as const;\n}\n\nfunction StatusBadge({ status }: { status?: DreamStatus | null }) {\n const normalized = String(status || \"pending\").toLowerCase();\n return (\n <Badge variant={statusVariant(status)} className=\"capitalize\">\n {normalized.replace(/_/g, \" \")}\n </Badge>\n );\n}\n\nfunction SourceHealthPanel({ sources }: { sources: DreamSourceHealth[] }) {\n if (sources.length === 0) return null;\n const unhealthyCount = sources.filter(\n (source) => String(source.status).toLowerCase() !== \"ok\",\n ).length;\n return (\n <Alert variant={unhealthyCount > 0 ? \"destructive\" : \"default\"}>\n <IconDatabase className=\"h-4 w-4\" />\n <AlertTitle>Source health</AlertTitle>\n <AlertDescription>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {sources.map((source) => (\n <Badge\n key={source.sourceId}\n variant={sourceStatusVariant(source.status)}\n className=\"gap-1\"\n title={\n source.message ||\n `${source.inspectedThreadCount} inspected, ${source.candidateCount} candidates, ${source.durationMs}ms of ${source.timeoutMs ?? \"n/a\"}ms`\n }\n >\n {source.label || source.sourceId}:{\" \"}\n {String(source.status).replace(/_/g, \" \")} · {source.durationMs}\n ms\n </Badge>\n ))}\n </div>\n </AlertDescription>\n </Alert>\n );\n}\n\nfunction isApprovalRequestResult(value: unknown): boolean {\n if (!value || typeof value !== \"object\") return false;\n const record = value as Record<string, unknown>;\n const result = record.result as Record<string, unknown> | undefined;\n return result?.approvalRequired === true;\n}\n\nfunction QueryState({ error, label }: { error: unknown; label: string }) {\n if (!error) return null;\n return (\n <Alert variant=\"destructive\">\n <IconAlertTriangle className=\"h-4 w-4\" />\n <AlertTitle>{label}</AlertTitle>\n <AlertDescription>\n {error instanceof Error ? error.message : String(error)}\n </AlertDescription>\n </Alert>\n );\n}\n\nfunction RawBlock({ value }: { value: unknown }) {\n return (\n <pre className=\"max-h-64 overflow-auto rounded-md border bg-muted/30 p-3 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words\">\n {typeof value === \"string\" ? value : json(value)}\n </pre>\n );\n}\n\nfunction EmptyPanel({\n title,\n description,\n}: {\n title: string;\n description: string;\n}) {\n return (\n <div className=\"rounded-lg border border-dashed bg-muted/20 px-4 py-8 text-center\">\n <div className=\"text-sm font-medium text-foreground\">{title}</div>\n <div className=\"mx-auto mt-1 max-w-md text-xs leading-relaxed text-muted-foreground\">\n {description}\n </div>\n </div>\n );\n}\n\nfunction DreamListSkeleton() {\n return (\n <div className=\"space-y-2\">\n {Array.from({ length: 5 }).map((_, index) => (\n <div key={index} className=\"rounded-lg border p-3\">\n <Skeleton className=\"h-4 w-2/3\" />\n <Skeleton className=\"mt-2 h-3 w-full\" />\n <Skeleton className=\"mt-2 h-3 w-1/2\" />\n </div>\n ))}\n </div>\n );\n}\n\nfunction ProposalSkeleton() {\n return (\n <div className=\"space-y-3\">\n {Array.from({ length: 3 }).map((_, index) => (\n <div key={index} className=\"rounded-lg border p-4\">\n <Skeleton className=\"h-4 w-1/2\" />\n <Skeleton className=\"mt-3 h-3 w-full\" />\n <Skeleton className=\"mt-2 h-3 w-3/4\" />\n </div>\n ))}\n </div>\n );\n}\n\nfunction StatTile({\n label,\n value,\n icon: Icon,\n}: {\n label: string;\n value: string | number;\n icon: typeof IconBrain;\n}) {\n return (\n <div className=\"rounded-lg border bg-card px-3 py-2.5\">\n <div className=\"flex items-center justify-between gap-3\">\n <div>\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n {label}\n </div>\n <div className=\"mt-1 text-xl font-semibold tabular-nums text-foreground\">\n {value}\n </div>\n </div>\n <Icon size={18} className=\"text-muted-foreground\" />\n </div>\n </div>\n );\n}\n\nfunction DreamSettingsSheet({\n open,\n onOpenChange,\n draft,\n onDraftChange,\n onSave,\n saving,\n loading,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n draft: DreamSettingsDraft;\n onDraftChange: (draft: DreamSettingsDraft) => void;\n onSave: () => void;\n saving: boolean;\n loading: boolean;\n}) {\n const sourceIds = splitSourceIds(draft.sourceIdsText);\n const canSave = draft.schedule.trim().length > 0;\n\n function update<K extends keyof DreamSettingsDraft>(\n key: K,\n value: DreamSettingsDraft[K],\n ) {\n onDraftChange({ ...draft, [key]: value });\n }\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetTrigger asChild>\n <Button variant=\"outline\" disabled={loading}>\n <IconSettings size={15} className=\"mr-1.5\" />\n Settings\n </Button>\n </SheetTrigger>\n <SheetContent className=\"flex w-full flex-col p-0 sm:max-w-2xl\">\n <SheetHeader className=\"border-b px-5 py-4\">\n <div className=\"flex flex-wrap items-center gap-2 pr-8\">\n <Badge variant={draft.enabled ? \"default\" : \"secondary\"}>\n {draft.enabled ? \"Enabled\" : \"Paused\"}\n </Badge>\n <Badge variant=\"outline\" className=\"font-mono\">\n {draft.schedule || \"No schedule\"}\n </Badge>\n </div>\n <SheetTitle className=\"mt-2 text-base\">Dream settings</SheetTitle>\n <SheetDescription>\n Configure recurring dream scope, schedule, and scan limits.\n </SheetDescription>\n </SheetHeader>\n\n <ScrollArea className=\"min-h-0 flex-1\">\n <div className=\"space-y-6 p-5\">\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Schedule\n </div>\n <div className=\"flex items-center justify-between gap-4 rounded-lg border bg-muted/20 px-3 py-3\">\n <div>\n <Label htmlFor=\"dream-enabled\">Recurring dreams</Label>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Saved setting used by dream jobs.\n </div>\n </div>\n <Switch\n id=\"dream-enabled\"\n checked={draft.enabled}\n onCheckedChange={(checked) => update(\"enabled\", checked)}\n />\n </div>\n <div className=\"grid gap-4 sm:grid-cols-[minmax(0,1fr)_180px]\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-schedule\">Cron schedule</Label>\n <Input\n id=\"dream-schedule\"\n value={draft.schedule}\n onChange={(event) => update(\"schedule\", event.target.value)}\n placeholder=\"0 9 * * 1\"\n className=\"font-mono\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-min-candidates\">Min candidates</Label>\n <Input\n id=\"dream-min-candidates\"\n type=\"number\"\n min={0}\n max={50}\n value={draft.minCandidateCount}\n onChange={(event) =>\n update(\"minCandidateCount\", event.target.value)\n }\n />\n </div>\n </div>\n </section>\n\n <Separator />\n\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Sources\n </div>\n <div className=\"flex items-center justify-between gap-4 rounded-lg border bg-muted/20 px-3 py-3\">\n <div>\n <Label htmlFor=\"dream-all-sources\">All sources</Label>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Scan every connected thread-debug source.\n </div>\n </div>\n <Switch\n id=\"dream-all-sources\"\n checked={draft.allSources}\n onCheckedChange={(checked) => update(\"allSources\", checked)}\n />\n </div>\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-id\">Source ID</Label>\n <Input\n id=\"dream-source-id\"\n value={draft.sourceId}\n onChange={(event) => update(\"sourceId\", event.target.value)}\n disabled={draft.allSources || sourceIds.length > 0}\n placeholder=\"current\"\n className=\"font-mono\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-query\">Query</Label>\n <Input\n id=\"dream-query\"\n value={draft.query}\n onChange={(event) => update(\"query\", event.target.value)}\n placeholder=\"Optional search term\"\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-ids\">Explicit source IDs</Label>\n <Textarea\n id=\"dream-source-ids\"\n value={draft.sourceIdsText}\n onChange={(event) =>\n update(\"sourceIdsText\", event.target.value)\n }\n disabled={draft.allSources}\n rows={3}\n placeholder=\"One source ID per line\"\n className=\"font-mono\"\n />\n </div>\n </section>\n\n <Separator />\n\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Scan Limits\n </div>\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-limit\">Candidate limit</Label>\n <Input\n id=\"dream-limit\"\n type=\"number\"\n min={1}\n max={50}\n value={draft.limit}\n onChange={(event) => update(\"limit\", event.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-timeout\">\n Source timeout ms\n </Label>\n <Input\n id=\"dream-source-timeout\"\n type=\"number\"\n min={1000}\n max={60000}\n value={draft.sourceTimeoutMs}\n onChange={(event) =>\n update(\"sourceTimeoutMs\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-concurrency\">\n Source concurrency\n </Label>\n <Input\n id=\"dream-source-concurrency\"\n type=\"number\"\n min={1}\n max={8}\n value={draft.sourceConcurrency}\n onChange={(event) =>\n update(\"sourceConcurrency\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-start-stagger\">Start stagger ms</Label>\n <Input\n id=\"dream-start-stagger\"\n type=\"number\"\n min={0}\n max={5000}\n value={draft.sourceStartStaggerMs}\n onChange={(event) =>\n update(\"sourceStartStaggerMs\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-thread-concurrency\">\n Thread concurrency\n </Label>\n <Input\n id=\"dream-thread-concurrency\"\n type=\"number\"\n min={1}\n max={10}\n value={draft.threadConcurrency}\n onChange={(event) =>\n update(\"threadConcurrency\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-thread-timeout\">\n Thread timeout ms\n </Label>\n <Input\n id=\"dream-thread-timeout\"\n type=\"number\"\n min={1000}\n max={30000}\n value={draft.threadTimeoutMs}\n onChange={(event) =>\n update(\"threadTimeoutMs\", event.target.value)\n }\n />\n </div>\n </div>\n </section>\n </div>\n </ScrollArea>\n\n <SheetFooter className=\"gap-2 border-t px-5 py-4\">\n <Button variant=\"outline\" onClick={() => onOpenChange(false)}>\n Close\n </Button>\n <Button disabled={!canSave || saving} onClick={onSave}>\n {saving ? <Spinner className=\"mr-1.5 size-3.5\" /> : null}\n Save settings\n </Button>\n </SheetFooter>\n </SheetContent>\n </Sheet>\n );\n}\n\nfunction ProposalCard({\n proposal,\n applying,\n rejecting,\n onApply,\n onReject,\n}: {\n proposal: DreamProposal;\n applying: boolean;\n rejecting: boolean;\n onApply: () => void;\n onReject: (reason?: string) => void;\n}) {\n const [open, setOpen] = useState(false);\n const [rejectReason, setRejectReason] = useState(\"\");\n const evidence = proposal.evidence ?? [];\n const sourceRunIds = proposal.sourceRunIds ?? [];\n const status = String(proposal.status || \"pending\").toLowerCase();\n const canAct = status === \"pending\";\n const needsApproval =\n proposal.targetType != null && proposal.targetType !== \"personal-memory\";\n const previewQuery = useActionQuery<DreamProposalPreview>(\n \"preview-dream-proposal\",\n { id: proposal.id },\n { enabled: open, staleTime: 0 },\n );\n const preview = previewQuery.data;\n\n return (\n <div className=\"rounded-lg border bg-card\">\n <div className=\"flex flex-col gap-3 border-b px-4 py-3 md:flex-row md:items-start md:justify-between\">\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <StatusBadge status={proposal.status} />\n <Badge variant=\"outline\" className=\"font-mono\">\n {proposalTarget(proposal)}\n </Badge>\n {proposal.risk ? (\n <Badge variant=\"secondary\" className=\"capitalize\">\n {proposal.risk} risk\n </Badge>\n ) : null}\n </div>\n <div className=\"mt-2 text-sm font-medium text-foreground\">\n {proposal.title || proposal.summary || proposal.id}\n </div>\n {proposal.summary && proposal.title ? (\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {proposal.summary}\n </div>\n ) : null}\n </div>\n <div className=\"flex shrink-0 gap-2\">\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button size=\"sm\" variant={canAct ? \"default\" : \"outline\"}>\n <IconFileDiff size={14} className=\"mr-1.5\" />\n Review\n </Button>\n </SheetTrigger>\n <SheetContent className=\"flex w-full flex-col p-0 sm:max-w-3xl\">\n <SheetHeader className=\"border-b px-5 py-4\">\n <div className=\"flex flex-wrap items-center gap-2 pr-8\">\n <StatusBadge status={proposal.status} />\n <Badge variant=\"outline\" className=\"font-mono\">\n {preview?.target?.path || proposalTarget(proposal)}\n </Badge>\n <Badge variant=\"secondary\" className=\"capitalize\">\n {preview?.operation || \"review\"}\n </Badge>\n {preview?.approval?.willRequestApproval ? (\n <Badge variant=\"secondary\">Approval request</Badge>\n ) : null}\n </div>\n <SheetTitle className=\"mt-2 text-base\">\n {proposal.title || proposal.summary || proposal.id}\n </SheetTitle>\n <SheetDescription>\n {proposal.summary ||\n \"Review the target, evidence, and proposed content before applying this dream proposal.\"}\n </SheetDescription>\n </SheetHeader>\n\n <ScrollArea className=\"min-h-0 flex-1\">\n <div className=\"space-y-5 p-5\">\n {previewQuery.error ? (\n <QueryState\n error={previewQuery.error}\n label=\"Could not preview proposal\"\n />\n ) : null}\n {previewQuery.isLoading ? <ProposalSkeleton /> : null}\n\n <div className=\"grid gap-3 sm:grid-cols-2\">\n <div className=\"rounded-lg border bg-muted/20 p-3\">\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n Target\n </div>\n <div className=\"mt-1 break-all font-mono text-xs text-foreground\">\n {preview?.target?.path || proposalTarget(proposal)}\n </div>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n <Badge variant=\"outline\">\n {preview?.target?.type ||\n proposal.targetType ||\n \"memory\"}\n </Badge>\n {preview?.targetExists ? (\n <Badge variant=\"secondary\">Existing target</Badge>\n ) : (\n <Badge variant=\"secondary\">New target</Badge>\n )}\n </div>\n </div>\n <div className=\"rounded-lg border bg-muted/20 p-3\">\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n Review gate\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-foreground\">\n {preview?.approval?.willRequestApproval\n ? \"Applying will create a Dispatch approval request.\"\n : needsApproval\n ? \"Applying writes a shared/workspace resource because approvals are disabled.\"\n : \"Applying writes personal memory directly.\"}\n </div>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {proposal.risk ? (\n <Badge variant=\"outline\" className=\"capitalize\">\n {proposal.risk} risk\n </Badge>\n ) : null}\n {proposal.confidence != null ? (\n <Badge variant=\"outline\">\n {proposal.confidence}% confidence\n </Badge>\n ) : null}\n </div>\n </div>\n </div>\n\n {proposal.rationale ? (\n <div>\n <div className=\"text-xs font-medium text-foreground\">\n Rationale\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {proposal.rationale}\n </div>\n </div>\n ) : null}\n\n <Separator />\n\n <div className=\"grid gap-4 lg:grid-cols-2\">\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Current target\n </div>\n {preview?.currentContent ? (\n <RawBlock value={preview.currentContent} />\n ) : (\n <EmptyPanel\n title=\"No existing content\"\n description=\"This proposal would create a new target or append to an empty target.\"\n />\n )}\n </div>\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Proposed content\n </div>\n <RawBlock\n value={preview?.proposedContent || proposal.content}\n />\n </div>\n </div>\n\n <Separator />\n\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Evidence\n </div>\n {sourceRunIds.length > 0 ? (\n <div className=\"mb-2 flex flex-wrap gap-1.5\">\n {sourceRunIds.map((id) => (\n <Badge\n key={id}\n variant=\"outline\"\n className=\"font-mono\"\n >\n {id}\n </Badge>\n ))}\n </div>\n ) : null}\n {evidence.length > 0 ? (\n <div className=\"space-y-2\">\n {evidence.map((item, index) => (\n <div\n key={item.id || `${proposal.id}-review-${index}`}\n className=\"rounded-md border bg-muted/20 px-3 py-2\"\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-foreground\">\n {evidenceLabel(item, index)}\n </div>\n <div className=\"text-[11px] text-muted-foreground\">\n {formatDate(item.createdAt)}\n </div>\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {item.quote ||\n item.snippet ||\n item.summary ||\n \"No text\"}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <EmptyPanel\n title=\"No structured evidence\"\n description=\"The proposal did not include compact evidence records.\"\n />\n )}\n </div>\n\n {canAct ? (\n <div className=\"space-y-2\">\n <Label htmlFor={`reject-${proposal.id}`}>\n Rejection reason\n </Label>\n <Textarea\n id={`reject-${proposal.id}`}\n value={rejectReason}\n onChange={(event) =>\n setRejectReason(event.target.value)\n }\n placeholder=\"Optional note for the audit log\"\n />\n </div>\n ) : null}\n </div>\n </ScrollArea>\n\n <SheetFooter className=\"gap-2 border-t px-5 py-4\">\n <Button\n variant=\"outline\"\n disabled={!canAct || applying || rejecting}\n onClick={() => {\n onReject(rejectReason.trim() || undefined);\n setOpen(false);\n }}\n >\n {rejecting ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconX size={14} className=\"mr-1.5\" />\n )}\n Reject\n </Button>\n <Button\n disabled={!canAct || applying || rejecting}\n onClick={() => {\n onApply();\n setOpen(false);\n }}\n >\n {applying ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconCheck size={14} className=\"mr-1.5\" />\n )}\n {needsApproval ? \"Request approval\" : \"Apply\"}\n </Button>\n </SheetFooter>\n </SheetContent>\n </Sheet>\n </div>\n </div>\n\n <Accordion type=\"multiple\" className=\"px-4\">\n <AccordionItem value=\"evidence\" className=\"border-b-0\">\n <AccordionTrigger className=\"py-3 text-xs hover:no-underline\">\n Evidence and provenance\n </AccordionTrigger>\n <AccordionContent className=\"space-y-3 pb-4\">\n {sourceRunIds.length > 0 ? (\n <div className=\"flex flex-wrap gap-1.5\">\n {sourceRunIds.map((id) => (\n <Badge key={id} variant=\"outline\" className=\"font-mono\">\n {id}\n </Badge>\n ))}\n </div>\n ) : null}\n {evidence.length > 0 ? (\n <div className=\"space-y-2\">\n {evidence.map((item, index) => (\n <div\n key={item.id || `${proposal.id}-evidence-${index}`}\n className=\"rounded-md border bg-muted/20 px-3 py-2\"\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-foreground\">\n {evidenceLabel(item, index)}\n </div>\n <div className=\"text-[11px] text-muted-foreground\">\n {formatDate(item.createdAt)}\n </div>\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {item.quote || item.snippet || item.summary || \"No text\"}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"text-xs text-muted-foreground\">\n No structured evidence attached yet.\n </div>\n )}\n </AccordionContent>\n </AccordionItem>\n {proposal.content ? (\n <AccordionItem value=\"content\" className=\"border-b-0\">\n <AccordionTrigger className=\"py-3 text-xs hover:no-underline\">\n Proposed content\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <RawBlock value={proposal.content} />\n </AccordionContent>\n </AccordionItem>\n ) : null}\n </Accordion>\n </div>\n );\n}\n\nexport default function DreamsRoute() {\n const [searchParams, setSearchParams] = useSearchParams();\n const [selectedDreamId, setSelectedDreamId] = useState<string | null>(\n searchParams.get(\"dreamId\"),\n );\n const [settingsOpen, setSettingsOpen] = useState(false);\n const [settingsDraft, setSettingsDraft] = useState<DreamSettingsDraft>(() =>\n dreamSettingsToDraft(null),\n );\n\n const dreamsQuery = useActionQuery<ListDreamsResponse>(\n \"list-dreams\",\n { limit: 25 },\n { staleTime: 15_000 },\n );\n const candidatesQuery = useActionQuery<ListCandidatesResponse>(\n \"list-dream-candidates\",\n {\n limit: 25,\n sourceTimeoutMs: 30_000,\n sourceConcurrency: 2,\n sourceStartStaggerMs: 250,\n threadConcurrency: 3,\n threadTimeoutMs: 8_000,\n },\n { staleTime: 15_000 },\n );\n const dreamSettingsQuery = useActionQuery<DreamSettings>(\n \"get-dream-settings\",\n {},\n { staleTime: 30_000 },\n );\n const dreamDetailQuery = useActionQuery<GetDreamResponse>(\n \"get-dream\",\n { id: selectedDreamId ?? \"\" },\n { enabled: !!selectedDreamId, staleTime: 10_000 },\n );\n\n const dreams = useMemo(\n () =>\n normalizeArray<DreamPass>(dreamsQuery.data, [\n \"dreams\",\n \"items\",\n \"results\",\n ]),\n [dreamsQuery.data],\n );\n const candidates = useMemo(\n () =>\n normalizeArray<CandidateRun>(candidatesQuery.data, [\n \"candidates\",\n \"items\",\n \"results\",\n ]),\n [candidatesQuery.data],\n );\n const candidateSourceHealth = useMemo(\n () => normalizeSourceHealth(candidatesQuery.data),\n [candidatesQuery.data],\n );\n\n useEffect(() => {\n const urlDreamId = searchParams.get(\"dreamId\");\n if (urlDreamId && urlDreamId !== selectedDreamId) {\n setSelectedDreamId(urlDreamId);\n return;\n }\n if (selectedDreamId && dreams.some((dream) => dream.id === selectedDreamId))\n return;\n const nextId = dreams[0]?.id ?? null;\n setSelectedDreamId(nextId);\n if (nextId && nextId !== urlDreamId) {\n const next = new URLSearchParams(searchParams);\n next.set(\"dreamId\", nextId);\n setSearchParams(next, { replace: true });\n }\n }, [dreams, searchParams, selectedDreamId, setSearchParams]);\n\n function selectDream(dreamId: string) {\n setSelectedDreamId(dreamId);\n const next = new URLSearchParams(searchParams);\n next.set(\"dreamId\", dreamId);\n setSearchParams(next, { replace: true });\n }\n\n const createDream = useActionMutation<\n CreateDreamReportResult,\n CreateDreamReportParams\n >(\"create-dream-report\", {\n onSuccess: (result) => {\n const nextId = resultDreamId(result);\n if (nextId) selectDream(nextId);\n toast.success(\"Dream report created\");\n },\n onError: (err) => toast.error(String(err)),\n });\n\n const applyProposal = useActionMutation<unknown, ProposalMutationParams>(\n \"apply-dream-proposal\",\n {\n onSuccess: (result) => {\n toast.success(\n isApprovalRequestResult(result)\n ? \"Approval requested\"\n : \"Proposal applied\",\n );\n dreamDetailQuery.refetch();\n dreamsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n },\n );\n\n const rejectProposal = useActionMutation<unknown, ProposalMutationParams>(\n \"reject-dream-proposal\",\n {\n onSuccess: () => {\n toast.success(\"Proposal rejected\");\n dreamDetailQuery.refetch();\n dreamsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n },\n );\n const ensureDreamSchedule = useActionMutation<\n unknown,\n Partial<DreamSettings>\n >(\"ensure-dream-job\", {\n onSuccess: () => {\n toast.success(\"Dream schedule updated\");\n dreamSettingsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n });\n const saveDreamSettings = useActionMutation<\n DreamSettings,\n Partial<DreamSettings>\n >(\"set-dream-settings\", {\n onSuccess: (settings) => {\n toast.success(\"Dream settings saved\");\n setSettingsDraft(dreamSettingsToDraft(settings));\n setSettingsOpen(false);\n dreamSettingsQuery.refetch();\n candidatesQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n });\n\n const detail = dreamDetailQuery.data ?? null;\n const dreamSettings = dreamSettingsQuery.data ?? null;\n const selectedDream =\n detail?.dream ?? dreams.find((dream) => dream.id === selectedDreamId);\n const proposals = detail?.proposals ?? [];\n const inspectedRuns = detail?.inspectedRuns ?? detail?.candidates ?? [];\n const selectedSourceHealth = selectedDream?.sourceHealth ?? [];\n const pendingProposalCount = proposals.filter(\n (proposal) =>\n String(proposal.status || \"pending\").toLowerCase() === \"pending\",\n ).length;\n const appliedProposalCount = proposals.filter(\n (proposal) => String(proposal.status || \"\").toLowerCase() === \"applied\",\n ).length;\n\n useEffect(() => {\n if (dreamSettings && !settingsOpen) {\n setSettingsDraft(dreamSettingsToDraft(dreamSettings));\n }\n }, [dreamSettings, settingsOpen]);\n\n function handleSettingsOpenChange(open: boolean) {\n if (open) {\n setSettingsDraft(dreamSettingsToDraft(dreamSettings));\n }\n setSettingsOpen(open);\n }\n\n function saveSettings() {\n const update = dreamSettingsUpdateFromDraft(settingsDraft);\n if (!update.schedule) {\n toast.error(\"Add a cron schedule before saving\");\n return;\n }\n saveDreamSettings.mutate(update);\n }\n\n function runDream(scanAllSources = false) {\n createDream.mutate({\n sourceId: scanAllSources ? \"all\" : \"current\",\n allSources: scanAllSources,\n limit: scanAllSources\n ? 8\n : candidates.length > 0\n ? candidates.length\n : 20,\n sourceTimeoutMs: dreamSettings?.sourceTimeoutMs ?? 30_000,\n sourceConcurrency: dreamSettings?.sourceConcurrency ?? 2,\n sourceStartStaggerMs: dreamSettings?.sourceStartStaggerMs ?? 250,\n threadConcurrency: dreamSettings?.threadConcurrency ?? 3,\n threadTimeoutMs: dreamSettings?.threadTimeoutMs ?? 8_000,\n });\n }\n\n function ensureSchedule() {\n ensureDreamSchedule.mutate({\n schedule: dreamSettings?.schedule,\n sourceId: dreamSettings?.sourceId ?? \"all\",\n sourceIds: dreamSettings?.sourceIds,\n allSources: dreamSettings?.allSources ?? true,\n query: dreamSettings?.query ?? undefined,\n limit: dreamSettings?.limit ?? 8,\n sourceTimeoutMs: dreamSettings?.sourceTimeoutMs ?? 30_000,\n sourceConcurrency: dreamSettings?.sourceConcurrency ?? 2,\n sourceStartStaggerMs: dreamSettings?.sourceStartStaggerMs ?? 250,\n threadConcurrency: dreamSettings?.threadConcurrency ?? 3,\n threadTimeoutMs: dreamSettings?.threadTimeoutMs ?? 8_000,\n minCandidateCount: dreamSettings?.minCandidateCount ?? 1,\n });\n }\n\n return (\n <DispatchShell\n title=\"Dreams\"\n description=\"Review agent runs, propose memory improvements, and apply evidence-backed learning changes.\"\n >\n <div className=\"space-y-4\">\n <div className=\"flex flex-col gap-3 md:flex-row md:items-center md:justify-between\">\n <div className=\"grid flex-1 gap-2 sm:grid-cols-2 xl:grid-cols-4\">\n <StatTile\n label=\"Dream passes\"\n value={dreams.length}\n icon={IconBrain}\n />\n <StatTile\n label=\"Pending proposals\"\n value={pendingProposalCount}\n icon={IconCircleDashed}\n />\n <StatTile\n label=\"Candidate runs\"\n value={candidates.length}\n icon={IconClock}\n />\n <StatTile\n label=\"Inspected threads\"\n value={selectedDream ? dreamInspectedCount(selectedDream) : 0}\n icon={IconCheck}\n />\n </div>\n <div className=\"flex shrink-0 flex-wrap gap-2\">\n {dreamSettings ? (\n <Badge variant=\"outline\" className=\"h-9 px-3\">\n {dreamSettings.enabled ? \"Enabled\" : \"Paused\"} ·{\" \"}\n {dreamSettings.allSources\n ? \"All sources\"\n : dreamSettings.sourceId}{\" \"}\n · {dreamSettings.schedule}\n </Badge>\n ) : null}\n <DreamSettingsSheet\n open={settingsOpen}\n onOpenChange={handleSettingsOpenChange}\n draft={settingsDraft}\n onDraftChange={setSettingsDraft}\n onSave={saveSettings}\n saving={saveDreamSettings.isPending}\n loading={dreamSettingsQuery.isLoading}\n />\n <Button\n variant=\"outline\"\n onClick={() => {\n dreamsQuery.refetch();\n candidatesQuery.refetch();\n if (selectedDreamId) dreamDetailQuery.refetch();\n }}\n >\n <IconRefresh size={15} className=\"mr-1.5\" />\n Refresh\n </Button>\n <Button\n variant=\"outline\"\n onClick={ensureSchedule}\n disabled={ensureDreamSchedule.isPending}\n >\n {ensureDreamSchedule.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconCalendarTime size={15} className=\"mr-1.5\" />\n )}\n Ensure schedule\n </Button>\n <Button\n variant=\"outline\"\n onClick={() => runDream(true)}\n disabled={createDream.isPending}\n >\n {createDream.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconDatabase size={15} className=\"mr-1.5\" />\n )}\n Run all sources\n </Button>\n <Button\n onClick={() => runDream(false)}\n disabled={createDream.isPending}\n >\n {createDream.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconPlayerPlay size={15} className=\"mr-1.5\" />\n )}\n Run dream\n </Button>\n </div>\n </div>\n\n <div className=\"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)_380px]\">\n <section className=\"rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div className=\"text-sm font-semibold text-foreground\">\n Recent passes\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Reports generated from prior agent activity.\n </div>\n </div>\n <div className=\"max-h-[720px] overflow-auto p-3\">\n <QueryState\n error={dreamsQuery.error}\n label=\"Could not load dream passes\"\n />\n {dreamsQuery.isLoading ? <DreamListSkeleton /> : null}\n {!dreamsQuery.isLoading && !dreamsQuery.error ? (\n dreams.length > 0 ? (\n <div className=\"space-y-2\">\n {dreams.map((dream, index) => {\n const selected = dream.id === selectedDreamId;\n return (\n <button\n key={dream.id}\n type=\"button\"\n onClick={() => selectDream(dream.id)}\n className={cn(\n \"w-full rounded-lg border px-3 py-3 text-left transition-colors\",\n selected\n ? \"border-foreground bg-muted\"\n : \"bg-background hover:border-foreground/30 hover:bg-muted/40\",\n )}\n >\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-medium text-foreground\">\n {dreamLabel(dream, index)}\n </div>\n <div className=\"mt-1 truncate font-mono text-[11px] text-muted-foreground\">\n {dream.id}\n </div>\n </div>\n <StatusBadge status={dream.status} />\n </div>\n <div className=\"mt-2 line-clamp-2 text-xs leading-relaxed text-muted-foreground\">\n {dream.summary || \"No summary yet.\"}\n </div>\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n <Badge variant=\"outline\">\n {plural(dreamProposalCount(dream), \"proposal\")}\n </Badge>\n <Badge variant=\"outline\">\n {plural(dreamInspectedCount(dream), \"run\")}\n </Badge>\n </div>\n <div className=\"mt-2 text-[11px] text-muted-foreground\">\n {compactDate(\n dream.completedAt ??\n dream.updatedAt ??\n dream.startedAt ??\n dream.createdAt,\n )}\n </div>\n </button>\n );\n })}\n </div>\n ) : (\n <EmptyPanel\n title=\"No dreams yet\"\n description=\"Run the first dream pass to review recent agent history and generate proposed memory changes.\"\n />\n )\n ) : null}\n </div>\n </section>\n\n <section className=\"min-w-0 rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div className=\"flex flex-wrap items-center justify-between gap-3\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-semibold text-foreground\">\n {selectedDream\n ? selectedDream.title || selectedDream.id\n : \"Dream detail\"}\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n {selectedDream\n ? `Completed ${formatDate(\n selectedDream.completedAt ??\n selectedDream.updatedAt ??\n selectedDream.createdAt,\n )}`\n : \"Select a pass or run a new dream.\"}\n </div>\n </div>\n {selectedDream ? (\n <div className=\"flex flex-wrap gap-1.5\">\n <StatusBadge status={selectedDream.status} />\n <Badge variant=\"outline\">\n {plural(appliedProposalCount, \"applied\", \"applied\")}\n </Badge>\n </div>\n ) : null}\n </div>\n </div>\n\n <div className=\"p-4\">\n <QueryState\n error={dreamDetailQuery.error}\n label=\"Could not load dream detail\"\n />\n {dreamDetailQuery.isLoading ? <ProposalSkeleton /> : null}\n {!selectedDreamId && !dreamDetailQuery.isLoading ? (\n <EmptyPanel\n title=\"Nothing selected\"\n description=\"Choose a recent dream pass or run one from candidate agent runs.\"\n />\n ) : null}\n {selectedDreamId &&\n !dreamDetailQuery.isLoading &&\n !dreamDetailQuery.error ? (\n <Tabs defaultValue=\"proposals\" className=\"w-full\">\n <TabsList className=\"grid w-full grid-cols-3\">\n <TabsTrigger value=\"proposals\">Proposals</TabsTrigger>\n <TabsTrigger value=\"report\">Report</TabsTrigger>\n <TabsTrigger value=\"sources\">Sources</TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"proposals\" className=\"mt-4\">\n {proposals.length > 0 ? (\n <div className=\"space-y-3\">\n {proposals.map((proposal) => (\n <ProposalCard\n key={proposal.id}\n proposal={proposal}\n applying={\n applyProposal.isPending &&\n applyProposal.variables?.id === proposal.id\n }\n rejecting={\n rejectProposal.isPending &&\n rejectProposal.variables?.id === proposal.id\n }\n onApply={() =>\n applyProposal.mutate({\n id: proposal.id,\n })\n }\n onReject={(reason) =>\n rejectProposal.mutate({\n id: proposal.id,\n reason,\n })\n }\n />\n ))}\n </div>\n ) : (\n <EmptyPanel\n title=\"No proposals\"\n description=\"This dream did not produce reviewable memory, skill, job, or instruction changes.\"\n />\n )}\n </TabsContent>\n\n <TabsContent value=\"report\" className=\"mt-4\">\n {detail?.report || detail?.summary ? (\n <RawBlock value={detail.report || detail.summary || \"\"} />\n ) : (\n <EmptyPanel\n title=\"No report text\"\n description=\"The dream detail action did not return a report body.\"\n />\n )}\n </TabsContent>\n\n <TabsContent value=\"sources\" className=\"mt-4\">\n {selectedSourceHealth.length > 0 ? (\n <div className=\"mb-4\">\n <SourceHealthPanel sources={selectedSourceHealth} />\n </div>\n ) : null}\n {inspectedRuns.length > 0 || detail?.evidence?.length ? (\n <Accordion type=\"multiple\" className=\"rounded-lg border\">\n {inspectedRuns.map((run, index) => (\n <AccordionItem\n key={candidateId(run)}\n value={candidateId(run) || `run-${index}`}\n className=\"px-4\"\n >\n <AccordionTrigger className=\"text-sm hover:no-underline\">\n <span className=\"min-w-0 truncate text-left\">\n {candidateLabel(run)}\n </span>\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <div className=\"grid gap-2 text-xs text-muted-foreground sm:grid-cols-2\">\n <div>\n Thread:{\" \"}\n <span className=\"font-mono text-foreground\">\n {run.thread?.id ?? run.threadId ?? \"n/a\"}\n </span>\n </div>\n <div>\n Run:{\" \"}\n <span className=\"font-mono text-foreground\">\n {run.runId ?? run.id}\n </span>\n </div>\n <div>Owner: {candidateOwner(run)}</div>\n <div>Status: {candidateStatus(run)}</div>\n </div>\n {candidateSignals(run).length > 0 ? (\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {candidateSignals(run).map((signal) => (\n <Badge key={signal} variant=\"outline\">\n {signal}\n </Badge>\n ))}\n </div>\n ) : null}\n </AccordionContent>\n </AccordionItem>\n ))}\n {(detail?.evidence ?? []).map((item, index) => (\n <AccordionItem\n key={item.id || `evidence-${index}`}\n value={item.id || `evidence-${index}`}\n className=\"px-4\"\n >\n <AccordionTrigger className=\"text-sm hover:no-underline\">\n {evidenceLabel(item, index)}\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <RawBlock value={item} />\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n ) : (\n <EmptyPanel\n title=\"No source runs\"\n description=\"This dream has no structured source list yet.\"\n />\n )}\n </TabsContent>\n </Tabs>\n ) : null}\n </div>\n </section>\n\n <section className=\"rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div>\n <div className=\"text-sm font-semibold text-foreground\">\n Candidate runs\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Grounded signals ready for review.\n </div>\n </div>\n </div>\n <div className=\"max-h-[720px] overflow-auto p-3\">\n <QueryState\n error={candidatesQuery.error}\n label=\"Could not load candidates\"\n />\n {candidatesQuery.isLoading ? <DreamListSkeleton /> : null}\n {!candidatesQuery.isLoading &&\n !candidatesQuery.error &&\n candidateSourceHealth.length > 0 ? (\n <div className=\"mb-3\">\n <SourceHealthPanel sources={candidateSourceHealth} />\n </div>\n ) : null}\n {!candidatesQuery.isLoading && !candidatesQuery.error ? (\n candidates.length > 0 ? (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Run</TableHead>\n <TableHead>Signals</TableHead>\n <TableHead className=\"w-20 text-right\">Score</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {candidates.map((candidate) => {\n const id = candidateId(candidate);\n const signals = candidateSignals(candidate);\n return (\n <TableRow key={id}>\n <TableCell className=\"min-w-0 py-3\">\n <div className=\"max-w-[230px] truncate text-sm font-medium text-foreground\">\n {candidateLabel(candidate)}\n </div>\n <div className=\"mt-1 truncate font-mono text-[11px] text-muted-foreground\">\n {candidate.thread?.id ??\n candidate.threadId ??\n candidate.runId ??\n id}\n </div>\n <div className=\"mt-1 text-[11px] text-muted-foreground\">\n {candidateOwner(candidate)} ·{\" \"}\n {compactDate(candidateUpdatedAt(candidate))}\n </div>\n </TableCell>\n <TableCell className=\"py-3\">\n <div className=\"mt-1 flex flex-wrap gap-1\">\n <Badge variant=\"outline\">\n {candidateStatus(candidate)}\n </Badge>\n {signals.slice(0, 2).map((signal) => (\n <Badge key={signal} variant=\"secondary\">\n {signal}\n </Badge>\n ))}\n </div>\n </TableCell>\n <TableCell className=\"py-3 text-right text-sm tabular-nums text-muted-foreground\">\n {candidate.score ?? \"n/a\"}\n </TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n ) : (\n <EmptyPanel\n title=\"No candidates\"\n description=\"No recent runs matched the dream candidate heuristics.\"\n />\n )\n ) : null}\n </div>\n </section>\n </div>\n </div>\n </DispatchShell>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dreams.js","sourceRoot":"","sources":["../../../src/routes/pages/dreams.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useActionMutation, useActionQuery } from \"@agent-native/core/client\";\nimport {\n IconAlertTriangle,\n IconBrain,\n IconCalendarTime,\n IconCheck,\n IconCircleDashed,\n IconClock,\n IconDatabase,\n IconFileDiff,\n IconPlayerPlay,\n IconRefresh,\n IconSettings,\n IconX,\n} from \"@tabler/icons-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { toast } from \"sonner\";\n\nimport { DispatchShell } from \"@/components/dispatch-shell\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { Separator } from \"@/components/ui/separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n} from \"@/components/ui/sheet\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { Spinner } from \"@/components/ui/spinner\";\nimport { Switch } from \"@/components/ui/switch\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { cn } from \"@/lib/utils\";\n\nimport {\n dreamSettingsToDraft,\n dreamSettingsUpdateFromDraft,\n splitSourceIds,\n type DreamSettings,\n type DreamSettingsDraft,\n} from \"./dream-settings\";\n\nexport function meta() {\n return [{ title: \"Dreams — Dispatch\" }];\n}\n\ntype DreamStatus =\n | \"running\"\n | \"completed\"\n | \"failed\"\n | \"pending\"\n | \"applied\"\n | \"rejected\"\n | \"stale\"\n | string;\n\ninterface DreamPass {\n id: string;\n title?: string | null;\n summary?: string | null;\n status?: DreamStatus | null;\n sourceId?: string | null;\n query?: string | null;\n error?: string | null;\n createdAt?: number | string | null;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n updatedAt?: number | string | null;\n candidateCount?: number | null;\n inspectedThreadCount?: number | null;\n inspectedRunCount?: number | null;\n proposalCount?: number | null;\n proposalCounts?: Record<string, number> | null;\n appliedCount?: number | null;\n rejectedCount?: number | null;\n sourceHealth?: DreamSourceHealth[] | null;\n}\n\ninterface DreamEvidence {\n id?: string | null;\n label?: string | null;\n title?: string | null;\n source?: string | null;\n sourceId?: string | null;\n threadId?: string | null;\n threadTitle?: string | null;\n runId?: string | null;\n kind?: string | null;\n quote?: string | null;\n snippet?: string | null;\n summary?: string | null;\n confidence?: number | null;\n createdAt?: number | string | null;\n [key: string]: unknown;\n}\n\ninterface DreamProposal {\n id: string;\n dreamId?: string | null;\n title?: string | null;\n summary?: string | null;\n status?: DreamStatus | null;\n targetType?: string | null;\n targetPath?: string | null;\n type?: string | null;\n target?: string | null;\n path?: string | null;\n risk?: string | null;\n confidence?: number | null;\n rationale?: string | null;\n content?: string | null;\n evidence?: DreamEvidence[] | null;\n sourceRunIds?: string[] | null;\n createdAt?: number | string | null;\n}\n\ninterface CandidateRun {\n id?: string;\n thread?: {\n id: string;\n ownerEmail: string;\n title: string;\n preview: string;\n messageCount: number;\n createdAt: number;\n updatedAt: number;\n };\n title?: string | null;\n summary?: string | null;\n preview?: string | null;\n ownerEmail?: string | null;\n sourceId?: string | null;\n sourceLabel?: string | null;\n threadId?: string | null;\n runId?: string | null;\n status?: string | null;\n score?: number | null;\n reasons?:\n | string[]\n | Array<{\n code: string;\n label: string;\n score: number;\n evidenceCount: number;\n }>\n | null;\n signals?: string[] | null;\n latestRunStatus?: string | null;\n updatedAt?: number | string | null;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n evidence?: DreamEvidence[] | null;\n}\n\ninterface DreamSourceHealth {\n sourceId: string;\n label?: string | null;\n status: \"ok\" | \"timed_out\" | \"error\" | string;\n startedAt?: number | string | null;\n completedAt?: number | string | null;\n durationMs: number;\n timeoutMs?: number | null;\n inspectedThreadCount: number;\n candidateCount: number;\n errorCount: number;\n threadErrorCount?: number | null;\n message?: string | null;\n}\n\ninterface DreamDetail {\n dream?: DreamPass | null;\n report?: string | null;\n summary?: string | null;\n proposals?: DreamProposal[] | null;\n candidates?: CandidateRun[] | null;\n inspectedRuns?: CandidateRun[] | null;\n evidence?: DreamEvidence[] | null;\n [key: string]: unknown;\n}\n\ntype ListDreamsResponse =\n | DreamPass[]\n | {\n dreams?: DreamPass[];\n items?: DreamPass[];\n results?: DreamPass[];\n };\n\ntype ListCandidatesResponse =\n | CandidateRun[]\n | {\n candidates?: CandidateRun[];\n items?: CandidateRun[];\n results?: CandidateRun[];\n sources?: DreamSourceHealth[];\n sourceHealth?: DreamSourceHealth[];\n };\n\ntype GetDreamResponse = DreamDetail | null;\n\ninterface CreateDreamReportParams {\n sourceId?: string;\n sourceIds?: string[];\n allSources?: boolean;\n query?: string;\n ownerEmail?: string;\n limit?: number;\n sourceTimeoutMs?: number;\n sourceConcurrency?: number;\n sourceStartStaggerMs?: number;\n threadConcurrency?: number;\n threadTimeoutMs?: number;\n title?: string;\n}\n\ninterface CreateDreamReportResult {\n id?: string;\n dreamId?: string;\n dream?: DreamPass;\n}\n\ninterface ProposalMutationParams {\n id: string;\n reason?: string;\n}\n\ninterface DreamProposalPreview {\n operation?: \"create\" | \"update\" | \"append\" | string;\n targetExists?: boolean;\n currentContent?: string | null;\n proposedContent?: string | null;\n target?: {\n type?: string | null;\n path?: string | null;\n kind?: string | null;\n resourceId?: string | null;\n };\n approval?: {\n required?: boolean;\n policyEnabled?: boolean;\n willRequestApproval?: boolean;\n };\n}\n\nfunction normalizeArray<T>(value: unknown, keys: readonly string[]): T[] {\n if (Array.isArray(value)) return value as T[];\n if (!value || typeof value !== \"object\") return [];\n const record = value as Record<string, unknown>;\n for (const key of keys) {\n if (Array.isArray(record[key])) return record[key] as T[];\n }\n return [];\n}\n\nfunction normalizeSourceHealth(value: unknown): DreamSourceHealth[] {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return [];\n const record = value as Record<string, unknown>;\n if (Array.isArray(record.sources)) {\n return record.sources as DreamSourceHealth[];\n }\n if (Array.isArray(record.sourceHealth)) {\n return record.sourceHealth as DreamSourceHealth[];\n }\n return [];\n}\n\nfunction formatDate(value: number | string | null | undefined): string {\n if (value == null || value === \"\") return \"n/a\";\n const numeric = Number(value);\n const date = Number.isFinite(numeric) ? new Date(numeric) : new Date(value);\n if (Number.isNaN(date.getTime())) return \"n/a\";\n return date.toLocaleString();\n}\n\nfunction compactDate(value: number | string | null | undefined): string {\n if (value == null || value === \"\") return \"n/a\";\n const numeric = Number(value);\n const date = Number.isFinite(numeric) ? new Date(numeric) : new Date(value);\n if (Number.isNaN(date.getTime())) return \"n/a\";\n return date.toLocaleDateString(undefined, {\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n}\n\nfunction json(value: unknown): string {\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n}\n\nfunction plural(value: number, singular: string, pluralLabel = `${singular}s`) {\n return `${value} ${value === 1 ? singular : pluralLabel}`;\n}\n\nfunction dreamLabel(dream: DreamPass, index: number): string {\n return dream.title || `Dream pass ${index + 1}`;\n}\n\nfunction proposalTarget(proposal: DreamProposal): string {\n return (\n proposal.targetPath ||\n proposal.path ||\n proposal.target ||\n proposal.targetType ||\n proposal.type ||\n \"memory\"\n );\n}\n\nfunction evidenceLabel(evidence: DreamEvidence, index: number): string {\n return (\n evidence.label ||\n evidence.title ||\n evidence.threadTitle ||\n evidence.source ||\n evidence.threadId ||\n evidence.runId ||\n `Evidence ${index + 1}`\n );\n}\n\nfunction candidateLabel(candidate: CandidateRun): string {\n return (\n candidate.thread?.title ||\n candidate.title ||\n candidate.summary ||\n candidate.thread?.preview ||\n candidate.preview ||\n candidate.thread?.id ||\n candidate.threadId ||\n candidate.runId ||\n candidate.id ||\n \"candidate\"\n );\n}\n\nfunction candidateSignals(candidate: CandidateRun): string[] {\n const reasons = (candidate.reasons ?? []).map((reason) =>\n typeof reason === \"string\" ? reason : reason.label,\n );\n return [...reasons, ...(candidate.signals ?? [])].filter(Boolean);\n}\n\nfunction candidateId(candidate: CandidateRun): string {\n return (\n candidate.id ||\n candidate.thread?.id ||\n candidate.threadId ||\n candidate.runId ||\n candidateLabel(candidate)\n );\n}\n\nfunction candidateStatus(candidate: CandidateRun): string {\n return candidate.latestRunStatus || candidate.status || \"unknown\";\n}\n\nfunction candidateOwner(candidate: CandidateRun): string {\n return candidate.thread?.ownerEmail || candidate.ownerEmail || \"n/a\";\n}\n\nfunction candidateUpdatedAt(candidate: CandidateRun): number | string | null {\n return (\n candidate.updatedAt ||\n candidate.completedAt ||\n candidate.startedAt ||\n candidate.thread?.updatedAt ||\n null\n );\n}\n\nfunction dreamProposalCount(dream: DreamPass): number {\n return dream.proposalCount ?? dream.proposalCounts?.total ?? 0;\n}\n\nfunction dreamInspectedCount(dream: DreamPass): number {\n return dream.inspectedThreadCount ?? dream.inspectedRunCount ?? 0;\n}\n\nfunction resultDreamId(result: CreateDreamReportResult | null | undefined) {\n return result?.dream?.id || result?.dreamId || result?.id || null;\n}\n\nfunction statusVariant(status: DreamStatus | null | undefined) {\n const normalized = String(status || \"pending\").toLowerCase();\n if (normalized === \"failed\") return \"destructive\" as const;\n if (normalized === \"completed\" || normalized === \"applied\")\n return \"default\" as const;\n if (normalized === \"rejected\" || normalized === \"stale\")\n return \"outline\" as const;\n return \"secondary\" as const;\n}\n\nfunction sourceStatusVariant(status: string | null | undefined) {\n const normalized = String(status || \"ok\").toLowerCase();\n if (normalized === \"error\" || normalized === \"timed_out\") {\n return \"destructive\" as const;\n }\n return \"secondary\" as const;\n}\n\nfunction StatusBadge({ status }: { status?: DreamStatus | null }) {\n const normalized = String(status || \"pending\").toLowerCase();\n return (\n <Badge variant={statusVariant(status)} className=\"capitalize\">\n {normalized.replace(/_/g, \" \")}\n </Badge>\n );\n}\n\nfunction SourceHealthPanel({ sources }: { sources: DreamSourceHealth[] }) {\n if (sources.length === 0) return null;\n const unhealthyCount = sources.filter(\n (source) => String(source.status).toLowerCase() !== \"ok\",\n ).length;\n return (\n <Alert variant={unhealthyCount > 0 ? \"destructive\" : \"default\"}>\n <IconDatabase className=\"h-4 w-4\" />\n <AlertTitle>Source health</AlertTitle>\n <AlertDescription>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {sources.map((source) => (\n <Badge\n key={source.sourceId}\n variant={sourceStatusVariant(source.status)}\n className=\"gap-1\"\n title={\n source.message ||\n `${source.inspectedThreadCount} inspected, ${source.candidateCount} candidates, ${source.durationMs}ms of ${source.timeoutMs ?? \"n/a\"}ms`\n }\n >\n {source.label || source.sourceId}:{\" \"}\n {String(source.status).replace(/_/g, \" \")} · {source.durationMs}\n ms\n </Badge>\n ))}\n </div>\n </AlertDescription>\n </Alert>\n );\n}\n\nfunction isApprovalRequestResult(value: unknown): boolean {\n if (!value || typeof value !== \"object\") return false;\n const record = value as Record<string, unknown>;\n const result = record.result as Record<string, unknown> | undefined;\n return result?.approvalRequired === true;\n}\n\nfunction QueryState({ error, label }: { error: unknown; label: string }) {\n if (!error) return null;\n return (\n <Alert variant=\"destructive\">\n <IconAlertTriangle className=\"h-4 w-4\" />\n <AlertTitle>{label}</AlertTitle>\n <AlertDescription>\n {error instanceof Error ? error.message : String(error)}\n </AlertDescription>\n </Alert>\n );\n}\n\nfunction RawBlock({ value }: { value: unknown }) {\n return (\n <pre className=\"max-h-64 overflow-auto rounded-md border bg-muted/30 p-3 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words\">\n {typeof value === \"string\" ? value : json(value)}\n </pre>\n );\n}\n\nfunction EmptyPanel({\n title,\n description,\n}: {\n title: string;\n description: string;\n}) {\n return (\n <div className=\"rounded-lg border border-dashed bg-muted/20 px-4 py-8 text-center\">\n <div className=\"text-sm font-medium text-foreground\">{title}</div>\n <div className=\"mx-auto mt-1 max-w-md text-xs leading-relaxed text-muted-foreground\">\n {description}\n </div>\n </div>\n );\n}\n\nfunction DreamListSkeleton() {\n return (\n <div className=\"space-y-2\">\n {Array.from({ length: 5 }).map((_, index) => (\n <div key={index} className=\"rounded-lg border p-3\">\n <Skeleton className=\"h-4 w-2/3\" />\n <Skeleton className=\"mt-2 h-3 w-full\" />\n <Skeleton className=\"mt-2 h-3 w-1/2\" />\n </div>\n ))}\n </div>\n );\n}\n\nfunction ProposalSkeleton() {\n return (\n <div className=\"space-y-3\">\n {Array.from({ length: 3 }).map((_, index) => (\n <div key={index} className=\"rounded-lg border p-4\">\n <Skeleton className=\"h-4 w-1/2\" />\n <Skeleton className=\"mt-3 h-3 w-full\" />\n <Skeleton className=\"mt-2 h-3 w-3/4\" />\n </div>\n ))}\n </div>\n );\n}\n\nfunction StatTile({\n label,\n value,\n icon: Icon,\n}: {\n label: string;\n value: string | number;\n icon: typeof IconBrain;\n}) {\n return (\n <div className=\"rounded-lg border bg-card px-3 py-2.5\">\n <div className=\"flex items-center justify-between gap-3\">\n <div>\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n {label}\n </div>\n <div className=\"mt-1 text-xl font-semibold tabular-nums text-foreground\">\n {value}\n </div>\n </div>\n <Icon size={18} className=\"text-muted-foreground\" />\n </div>\n </div>\n );\n}\n\nfunction DreamSettingsSheet({\n open,\n onOpenChange,\n draft,\n onDraftChange,\n onSave,\n saving,\n loading,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n draft: DreamSettingsDraft;\n onDraftChange: (draft: DreamSettingsDraft) => void;\n onSave: () => void;\n saving: boolean;\n loading: boolean;\n}) {\n const sourceIds = splitSourceIds(draft.sourceIdsText);\n const canSave = draft.schedule.trim().length > 0;\n\n function update<K extends keyof DreamSettingsDraft>(\n key: K,\n value: DreamSettingsDraft[K],\n ) {\n onDraftChange({ ...draft, [key]: value });\n }\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetTrigger asChild>\n <Button variant=\"outline\" disabled={loading}>\n <IconSettings size={15} className=\"mr-1.5\" />\n Settings\n </Button>\n </SheetTrigger>\n <SheetContent className=\"flex w-full flex-col p-0 sm:max-w-2xl\">\n <SheetHeader className=\"border-b px-5 py-4\">\n <div className=\"flex flex-wrap items-center gap-2 pr-8\">\n <Badge variant={draft.enabled ? \"default\" : \"secondary\"}>\n {draft.enabled ? \"Enabled\" : \"Paused\"}\n </Badge>\n <Badge variant=\"outline\" className=\"font-mono\">\n {draft.schedule || \"No schedule\"}\n </Badge>\n </div>\n <SheetTitle className=\"mt-2 text-base\">Dream settings</SheetTitle>\n <SheetDescription>\n Configure recurring dream scope, schedule, and scan limits.\n </SheetDescription>\n </SheetHeader>\n\n <ScrollArea className=\"min-h-0 flex-1\">\n <div className=\"space-y-6 p-5\">\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Schedule\n </div>\n <div className=\"flex items-center justify-between gap-4 rounded-lg border bg-muted/20 px-3 py-3\">\n <div>\n <Label htmlFor=\"dream-enabled\">Recurring dreams</Label>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Saved setting used by dream jobs.\n </div>\n </div>\n <Switch\n id=\"dream-enabled\"\n checked={draft.enabled}\n onCheckedChange={(checked) => update(\"enabled\", checked)}\n />\n </div>\n <div className=\"grid gap-4 sm:grid-cols-[minmax(0,1fr)_180px]\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-schedule\">Cron schedule</Label>\n <Input\n id=\"dream-schedule\"\n value={draft.schedule}\n onChange={(event) => update(\"schedule\", event.target.value)}\n placeholder=\"0 9 * * 1\"\n className=\"font-mono\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-min-candidates\">Min candidates</Label>\n <Input\n id=\"dream-min-candidates\"\n type=\"number\"\n min={0}\n max={50}\n value={draft.minCandidateCount}\n onChange={(event) =>\n update(\"minCandidateCount\", event.target.value)\n }\n />\n </div>\n </div>\n </section>\n\n <Separator />\n\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Sources\n </div>\n <div className=\"flex items-center justify-between gap-4 rounded-lg border bg-muted/20 px-3 py-3\">\n <div>\n <Label htmlFor=\"dream-all-sources\">All sources</Label>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Scan every connected thread-debug source.\n </div>\n </div>\n <Switch\n id=\"dream-all-sources\"\n checked={draft.allSources}\n onCheckedChange={(checked) => update(\"allSources\", checked)}\n />\n </div>\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-id\">Source ID</Label>\n <Input\n id=\"dream-source-id\"\n value={draft.sourceId}\n onChange={(event) => update(\"sourceId\", event.target.value)}\n disabled={draft.allSources || sourceIds.length > 0}\n placeholder=\"current\"\n className=\"font-mono\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-query\">Query</Label>\n <Input\n id=\"dream-query\"\n value={draft.query}\n onChange={(event) => update(\"query\", event.target.value)}\n placeholder=\"Optional search term\"\n />\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-ids\">Explicit source IDs</Label>\n <Textarea\n id=\"dream-source-ids\"\n value={draft.sourceIdsText}\n onChange={(event) =>\n update(\"sourceIdsText\", event.target.value)\n }\n disabled={draft.allSources}\n rows={3}\n placeholder=\"One source ID per line\"\n className=\"font-mono\"\n />\n </div>\n </section>\n\n <Separator />\n\n <section className=\"space-y-3\">\n <div className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Scan Limits\n </div>\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-limit\">Candidate limit</Label>\n <Input\n id=\"dream-limit\"\n type=\"number\"\n min={1}\n max={50}\n value={draft.limit}\n onChange={(event) => update(\"limit\", event.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-timeout\">\n Source timeout ms\n </Label>\n <Input\n id=\"dream-source-timeout\"\n type=\"number\"\n min={1000}\n max={60000}\n value={draft.sourceTimeoutMs}\n onChange={(event) =>\n update(\"sourceTimeoutMs\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-source-concurrency\">\n Source concurrency\n </Label>\n <Input\n id=\"dream-source-concurrency\"\n type=\"number\"\n min={1}\n max={8}\n value={draft.sourceConcurrency}\n onChange={(event) =>\n update(\"sourceConcurrency\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-start-stagger\">Start stagger ms</Label>\n <Input\n id=\"dream-start-stagger\"\n type=\"number\"\n min={0}\n max={5000}\n value={draft.sourceStartStaggerMs}\n onChange={(event) =>\n update(\"sourceStartStaggerMs\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-thread-concurrency\">\n Thread concurrency\n </Label>\n <Input\n id=\"dream-thread-concurrency\"\n type=\"number\"\n min={1}\n max={10}\n value={draft.threadConcurrency}\n onChange={(event) =>\n update(\"threadConcurrency\", event.target.value)\n }\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"dream-thread-timeout\">\n Thread timeout ms\n </Label>\n <Input\n id=\"dream-thread-timeout\"\n type=\"number\"\n min={1000}\n max={30000}\n value={draft.threadTimeoutMs}\n onChange={(event) =>\n update(\"threadTimeoutMs\", event.target.value)\n }\n />\n </div>\n </div>\n </section>\n </div>\n </ScrollArea>\n\n <SheetFooter className=\"gap-2 border-t px-5 py-4\">\n <Button variant=\"outline\" onClick={() => onOpenChange(false)}>\n Close\n </Button>\n <Button disabled={!canSave || saving} onClick={onSave}>\n {saving ? <Spinner className=\"mr-1.5 size-3.5\" /> : null}\n Save settings\n </Button>\n </SheetFooter>\n </SheetContent>\n </Sheet>\n );\n}\n\nfunction ProposalCard({\n proposal,\n applying,\n rejecting,\n onApply,\n onReject,\n}: {\n proposal: DreamProposal;\n applying: boolean;\n rejecting: boolean;\n onApply: () => void;\n onReject: (reason?: string) => void;\n}) {\n const [open, setOpen] = useState(false);\n const [rejectReason, setRejectReason] = useState(\"\");\n const evidence = proposal.evidence ?? [];\n const sourceRunIds = proposal.sourceRunIds ?? [];\n const status = String(proposal.status || \"pending\").toLowerCase();\n const canAct = status === \"pending\";\n const needsApproval =\n proposal.targetType != null && proposal.targetType !== \"personal-memory\";\n const previewQuery = useActionQuery<DreamProposalPreview>(\n \"preview-dream-proposal\",\n { id: proposal.id },\n { enabled: open, staleTime: 0 },\n );\n const preview = previewQuery.data;\n\n return (\n <div className=\"rounded-lg border bg-card\">\n <div className=\"flex flex-col gap-3 border-b px-4 py-3 md:flex-row md:items-start md:justify-between\">\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <StatusBadge status={proposal.status} />\n <Badge variant=\"outline\" className=\"font-mono\">\n {proposalTarget(proposal)}\n </Badge>\n {proposal.risk ? (\n <Badge variant=\"secondary\" className=\"capitalize\">\n {proposal.risk} risk\n </Badge>\n ) : null}\n </div>\n <div className=\"mt-2 text-sm font-medium text-foreground\">\n {proposal.title || proposal.summary || proposal.id}\n </div>\n {proposal.summary && proposal.title ? (\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {proposal.summary}\n </div>\n ) : null}\n </div>\n <div className=\"flex shrink-0 gap-2\">\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button size=\"sm\" variant={canAct ? \"default\" : \"outline\"}>\n <IconFileDiff size={14} className=\"mr-1.5\" />\n Review\n </Button>\n </SheetTrigger>\n <SheetContent className=\"flex w-full flex-col p-0 sm:max-w-3xl\">\n <SheetHeader className=\"border-b px-5 py-4\">\n <div className=\"flex flex-wrap items-center gap-2 pr-8\">\n <StatusBadge status={proposal.status} />\n <Badge variant=\"outline\" className=\"font-mono\">\n {preview?.target?.path || proposalTarget(proposal)}\n </Badge>\n <Badge variant=\"secondary\" className=\"capitalize\">\n {preview?.operation || \"review\"}\n </Badge>\n {preview?.approval?.willRequestApproval ? (\n <Badge variant=\"secondary\">Approval request</Badge>\n ) : null}\n </div>\n <SheetTitle className=\"mt-2 text-base\">\n {proposal.title || proposal.summary || proposal.id}\n </SheetTitle>\n <SheetDescription>\n {proposal.summary ||\n \"Review the target, evidence, and proposed content before applying this dream proposal.\"}\n </SheetDescription>\n </SheetHeader>\n\n <ScrollArea className=\"min-h-0 flex-1\">\n <div className=\"space-y-5 p-5\">\n {previewQuery.error ? (\n <QueryState\n error={previewQuery.error}\n label=\"Could not preview proposal\"\n />\n ) : null}\n {previewQuery.isLoading ? <ProposalSkeleton /> : null}\n\n <div className=\"grid gap-3 sm:grid-cols-2\">\n <div className=\"rounded-lg border bg-muted/20 p-3\">\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n Target\n </div>\n <div className=\"mt-1 break-all font-mono text-xs text-foreground\">\n {preview?.target?.path || proposalTarget(proposal)}\n </div>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n <Badge variant=\"outline\">\n {preview?.target?.type ||\n proposal.targetType ||\n \"memory\"}\n </Badge>\n {preview?.targetExists ? (\n <Badge variant=\"secondary\">Existing target</Badge>\n ) : (\n <Badge variant=\"secondary\">New target</Badge>\n )}\n </div>\n </div>\n <div className=\"rounded-lg border bg-muted/20 p-3\">\n <div className=\"text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">\n Review gate\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-foreground\">\n {preview?.approval?.willRequestApproval\n ? \"Applying will create a Dispatch approval request.\"\n : needsApproval\n ? \"Applying writes a shared/workspace resource because approvals are disabled.\"\n : \"Applying writes personal memory directly.\"}\n </div>\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {proposal.risk ? (\n <Badge variant=\"outline\" className=\"capitalize\">\n {proposal.risk} risk\n </Badge>\n ) : null}\n {proposal.confidence != null ? (\n <Badge variant=\"outline\">\n {proposal.confidence}% confidence\n </Badge>\n ) : null}\n </div>\n </div>\n </div>\n\n {proposal.rationale ? (\n <div>\n <div className=\"text-xs font-medium text-foreground\">\n Rationale\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {proposal.rationale}\n </div>\n </div>\n ) : null}\n\n <Separator />\n\n <div className=\"grid gap-4 lg:grid-cols-2\">\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Current target\n </div>\n {preview?.currentContent ? (\n <RawBlock value={preview.currentContent} />\n ) : (\n <EmptyPanel\n title=\"No existing content\"\n description=\"This proposal would create a new target or append to an empty target.\"\n />\n )}\n </div>\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Proposed content\n </div>\n <RawBlock\n value={preview?.proposedContent || proposal.content}\n />\n </div>\n </div>\n\n <Separator />\n\n <div>\n <div className=\"mb-2 text-xs font-medium text-foreground\">\n Evidence\n </div>\n {sourceRunIds.length > 0 ? (\n <div className=\"mb-2 flex flex-wrap gap-1.5\">\n {sourceRunIds.map((id) => (\n <Badge\n key={id}\n variant=\"outline\"\n className=\"font-mono\"\n >\n {id}\n </Badge>\n ))}\n </div>\n ) : null}\n {evidence.length > 0 ? (\n <div className=\"space-y-2\">\n {evidence.map((item, index) => (\n <div\n key={item.id || `${proposal.id}-review-${index}`}\n className=\"rounded-md border bg-muted/20 px-3 py-2\"\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-foreground\">\n {evidenceLabel(item, index)}\n </div>\n <div className=\"text-[11px] text-muted-foreground\">\n {formatDate(item.createdAt)}\n </div>\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {item.quote ||\n item.snippet ||\n item.summary ||\n \"No text\"}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <EmptyPanel\n title=\"No structured evidence\"\n description=\"The proposal did not include compact evidence records.\"\n />\n )}\n </div>\n\n {canAct ? (\n <div className=\"space-y-2\">\n <Label htmlFor={`reject-${proposal.id}`}>\n Rejection reason\n </Label>\n <Textarea\n id={`reject-${proposal.id}`}\n value={rejectReason}\n onChange={(event) =>\n setRejectReason(event.target.value)\n }\n placeholder=\"Optional note for the audit log\"\n />\n </div>\n ) : null}\n </div>\n </ScrollArea>\n\n <SheetFooter className=\"gap-2 border-t px-5 py-4\">\n <Button\n variant=\"outline\"\n disabled={!canAct || applying || rejecting}\n onClick={() => {\n onReject(rejectReason.trim() || undefined);\n setOpen(false);\n }}\n >\n {rejecting ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconX size={14} className=\"mr-1.5\" />\n )}\n Reject\n </Button>\n <Button\n disabled={!canAct || applying || rejecting}\n onClick={() => {\n onApply();\n setOpen(false);\n }}\n >\n {applying ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconCheck size={14} className=\"mr-1.5\" />\n )}\n {needsApproval ? \"Request approval\" : \"Apply\"}\n </Button>\n </SheetFooter>\n </SheetContent>\n </Sheet>\n </div>\n </div>\n\n <Accordion type=\"multiple\" className=\"px-4\">\n <AccordionItem value=\"evidence\" className=\"border-b-0\">\n <AccordionTrigger className=\"py-3 text-xs hover:no-underline\">\n Evidence and provenance\n </AccordionTrigger>\n <AccordionContent className=\"space-y-3 pb-4\">\n {sourceRunIds.length > 0 ? (\n <div className=\"flex flex-wrap gap-1.5\">\n {sourceRunIds.map((id) => (\n <Badge key={id} variant=\"outline\" className=\"font-mono\">\n {id}\n </Badge>\n ))}\n </div>\n ) : null}\n {evidence.length > 0 ? (\n <div className=\"space-y-2\">\n {evidence.map((item, index) => (\n <div\n key={item.id || `${proposal.id}-evidence-${index}`}\n className=\"rounded-md border bg-muted/20 px-3 py-2\"\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-xs font-medium text-foreground\">\n {evidenceLabel(item, index)}\n </div>\n <div className=\"text-[11px] text-muted-foreground\">\n {formatDate(item.createdAt)}\n </div>\n </div>\n <div className=\"mt-1 text-xs leading-relaxed text-muted-foreground\">\n {item.quote || item.snippet || item.summary || \"No text\"}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"text-xs text-muted-foreground\">\n No structured evidence attached yet.\n </div>\n )}\n </AccordionContent>\n </AccordionItem>\n {proposal.content ? (\n <AccordionItem value=\"content\" className=\"border-b-0\">\n <AccordionTrigger className=\"py-3 text-xs hover:no-underline\">\n Proposed content\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <RawBlock value={proposal.content} />\n </AccordionContent>\n </AccordionItem>\n ) : null}\n </Accordion>\n </div>\n );\n}\n\nexport default function DreamsRoute() {\n const [searchParams, setSearchParams] = useSearchParams();\n const [selectedDreamId, setSelectedDreamId] = useState<string | null>(\n searchParams.get(\"dreamId\"),\n );\n const [settingsOpen, setSettingsOpen] = useState(false);\n const [settingsDraft, setSettingsDraft] = useState<DreamSettingsDraft>(() =>\n dreamSettingsToDraft(null),\n );\n\n const dreamsQuery = useActionQuery<ListDreamsResponse>(\n \"list-dreams\",\n { limit: 25 },\n { staleTime: 15_000 },\n );\n const candidatesQuery = useActionQuery<ListCandidatesResponse>(\n \"list-dream-candidates\",\n {\n limit: 25,\n sourceTimeoutMs: 30_000,\n sourceConcurrency: 2,\n sourceStartStaggerMs: 250,\n threadConcurrency: 3,\n threadTimeoutMs: 8_000,\n },\n { staleTime: 15_000 },\n );\n const dreamSettingsQuery = useActionQuery<DreamSettings>(\n \"get-dream-settings\",\n {},\n { staleTime: 30_000 },\n );\n const dreamDetailQuery = useActionQuery<GetDreamResponse>(\n \"get-dream\",\n { id: selectedDreamId ?? \"\" },\n { enabled: !!selectedDreamId, staleTime: 10_000 },\n );\n\n const dreams = useMemo(\n () =>\n normalizeArray<DreamPass>(dreamsQuery.data, [\n \"dreams\",\n \"items\",\n \"results\",\n ]),\n [dreamsQuery.data],\n );\n const candidates = useMemo(\n () =>\n normalizeArray<CandidateRun>(candidatesQuery.data, [\n \"candidates\",\n \"items\",\n \"results\",\n ]),\n [candidatesQuery.data],\n );\n const candidateSourceHealth = useMemo(\n () => normalizeSourceHealth(candidatesQuery.data),\n [candidatesQuery.data],\n );\n\n useEffect(() => {\n const urlDreamId = searchParams.get(\"dreamId\");\n if (urlDreamId && urlDreamId !== selectedDreamId) {\n setSelectedDreamId(urlDreamId);\n return;\n }\n if (selectedDreamId && dreams.some((dream) => dream.id === selectedDreamId))\n return;\n const nextId = dreams[0]?.id ?? null;\n setSelectedDreamId(nextId);\n if (nextId && nextId !== urlDreamId) {\n const next = new URLSearchParams(searchParams);\n next.set(\"dreamId\", nextId);\n setSearchParams(next, { replace: true });\n }\n }, [dreams, searchParams, selectedDreamId, setSearchParams]);\n\n function selectDream(dreamId: string) {\n setSelectedDreamId(dreamId);\n const next = new URLSearchParams(searchParams);\n next.set(\"dreamId\", dreamId);\n setSearchParams(next, { replace: true });\n }\n\n const createDream = useActionMutation<\n CreateDreamReportResult,\n CreateDreamReportParams\n >(\"create-dream-report\", {\n onSuccess: (result) => {\n const nextId = resultDreamId(result);\n if (nextId) selectDream(nextId);\n toast.success(\"Dream report created\");\n },\n onError: (err) => toast.error(String(err)),\n });\n\n const applyProposal = useActionMutation<unknown, ProposalMutationParams>(\n \"apply-dream-proposal\",\n {\n onSuccess: (result) => {\n toast.success(\n isApprovalRequestResult(result)\n ? \"Approval requested\"\n : \"Proposal applied\",\n );\n dreamDetailQuery.refetch();\n dreamsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n },\n );\n\n const rejectProposal = useActionMutation<unknown, ProposalMutationParams>(\n \"reject-dream-proposal\",\n {\n onSuccess: () => {\n toast.success(\"Proposal rejected\");\n dreamDetailQuery.refetch();\n dreamsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n },\n );\n const ensureDreamSchedule = useActionMutation<\n unknown,\n Partial<DreamSettings>\n >(\"ensure-dream-job\", {\n onSuccess: () => {\n toast.success(\"Dream schedule updated\");\n dreamSettingsQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n });\n const saveDreamSettings = useActionMutation<\n DreamSettings,\n Partial<DreamSettings>\n >(\"set-dream-settings\", {\n onSuccess: (settings) => {\n toast.success(\"Dream settings saved\");\n setSettingsDraft(dreamSettingsToDraft(settings));\n setSettingsOpen(false);\n dreamSettingsQuery.refetch();\n candidatesQuery.refetch();\n },\n onError: (err) => toast.error(String(err)),\n });\n\n const detail = dreamDetailQuery.data ?? null;\n const dreamSettings = dreamSettingsQuery.data ?? null;\n const selectedDream =\n detail?.dream ?? dreams.find((dream) => dream.id === selectedDreamId);\n const proposals: DreamProposal[] = detail?.proposals ?? [];\n const inspectedRuns: CandidateRun[] =\n detail?.inspectedRuns ?? detail?.candidates ?? [];\n const evidenceItems: DreamEvidence[] = detail?.evidence ?? [];\n const selectedSourceHealth: DreamSourceHealth[] =\n selectedDream?.sourceHealth ?? [];\n const pendingProposalCount = proposals.filter(\n (proposal) =>\n String(proposal.status || \"pending\").toLowerCase() === \"pending\",\n ).length;\n const appliedProposalCount = proposals.filter(\n (proposal) => String(proposal.status || \"\").toLowerCase() === \"applied\",\n ).length;\n\n useEffect(() => {\n if (dreamSettings && !settingsOpen) {\n setSettingsDraft(dreamSettingsToDraft(dreamSettings));\n }\n }, [dreamSettings, settingsOpen]);\n\n function handleSettingsOpenChange(open: boolean) {\n if (open) {\n setSettingsDraft(dreamSettingsToDraft(dreamSettings));\n }\n setSettingsOpen(open);\n }\n\n function saveSettings() {\n const update = dreamSettingsUpdateFromDraft(settingsDraft);\n if (!update.schedule) {\n toast.error(\"Add a cron schedule before saving\");\n return;\n }\n saveDreamSettings.mutate(update);\n }\n\n function runDream(scanAllSources = false) {\n createDream.mutate({\n sourceId: scanAllSources ? \"all\" : \"current\",\n allSources: scanAllSources,\n limit: scanAllSources\n ? 8\n : candidates.length > 0\n ? candidates.length\n : 20,\n sourceTimeoutMs: dreamSettings?.sourceTimeoutMs ?? 30_000,\n sourceConcurrency: dreamSettings?.sourceConcurrency ?? 2,\n sourceStartStaggerMs: dreamSettings?.sourceStartStaggerMs ?? 250,\n threadConcurrency: dreamSettings?.threadConcurrency ?? 3,\n threadTimeoutMs: dreamSettings?.threadTimeoutMs ?? 8_000,\n });\n }\n\n function ensureSchedule() {\n ensureDreamSchedule.mutate({\n schedule: dreamSettings?.schedule,\n sourceId: dreamSettings?.sourceId ?? \"all\",\n sourceIds: dreamSettings?.sourceIds,\n allSources: dreamSettings?.allSources ?? true,\n query: dreamSettings?.query ?? undefined,\n limit: dreamSettings?.limit ?? 8,\n sourceTimeoutMs: dreamSettings?.sourceTimeoutMs ?? 30_000,\n sourceConcurrency: dreamSettings?.sourceConcurrency ?? 2,\n sourceStartStaggerMs: dreamSettings?.sourceStartStaggerMs ?? 250,\n threadConcurrency: dreamSettings?.threadConcurrency ?? 3,\n threadTimeoutMs: dreamSettings?.threadTimeoutMs ?? 8_000,\n minCandidateCount: dreamSettings?.minCandidateCount ?? 1,\n });\n }\n\n return (\n <DispatchShell\n title=\"Dreams\"\n description=\"Review agent runs, propose memory improvements, and apply evidence-backed learning changes.\"\n >\n <div className=\"space-y-4\">\n <div className=\"flex flex-col gap-3 md:flex-row md:items-center md:justify-between\">\n <div className=\"grid flex-1 gap-2 sm:grid-cols-2 xl:grid-cols-4\">\n <StatTile\n label=\"Dream passes\"\n value={dreams.length}\n icon={IconBrain}\n />\n <StatTile\n label=\"Pending proposals\"\n value={pendingProposalCount}\n icon={IconCircleDashed}\n />\n <StatTile\n label=\"Candidate runs\"\n value={candidates.length}\n icon={IconClock}\n />\n <StatTile\n label=\"Inspected threads\"\n value={selectedDream ? dreamInspectedCount(selectedDream) : 0}\n icon={IconCheck}\n />\n </div>\n <div className=\"flex shrink-0 flex-wrap gap-2\">\n {dreamSettings ? (\n <Badge variant=\"outline\" className=\"h-9 px-3\">\n {dreamSettings.enabled ? \"Enabled\" : \"Paused\"} ·{\" \"}\n {dreamSettings.allSources\n ? \"All sources\"\n : dreamSettings.sourceId}{\" \"}\n · {dreamSettings.schedule}\n </Badge>\n ) : null}\n <DreamSettingsSheet\n open={settingsOpen}\n onOpenChange={handleSettingsOpenChange}\n draft={settingsDraft}\n onDraftChange={setSettingsDraft}\n onSave={saveSettings}\n saving={saveDreamSettings.isPending}\n loading={dreamSettingsQuery.isLoading}\n />\n <Button\n variant=\"outline\"\n onClick={() => {\n dreamsQuery.refetch();\n candidatesQuery.refetch();\n if (selectedDreamId) dreamDetailQuery.refetch();\n }}\n >\n <IconRefresh size={15} className=\"mr-1.5\" />\n Refresh\n </Button>\n <Button\n variant=\"outline\"\n onClick={ensureSchedule}\n disabled={ensureDreamSchedule.isPending}\n >\n {ensureDreamSchedule.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconCalendarTime size={15} className=\"mr-1.5\" />\n )}\n Ensure schedule\n </Button>\n <Button\n variant=\"outline\"\n onClick={() => runDream(true)}\n disabled={createDream.isPending}\n >\n {createDream.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconDatabase size={15} className=\"mr-1.5\" />\n )}\n Run all sources\n </Button>\n <Button\n onClick={() => runDream(false)}\n disabled={createDream.isPending}\n >\n {createDream.isPending ? (\n <Spinner className=\"mr-1.5 size-3.5\" />\n ) : (\n <IconPlayerPlay size={15} className=\"mr-1.5\" />\n )}\n Run dream\n </Button>\n </div>\n </div>\n\n <div className=\"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)_380px]\">\n <section className=\"rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div className=\"text-sm font-semibold text-foreground\">\n Recent passes\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Reports generated from prior agent activity.\n </div>\n </div>\n <div className=\"max-h-[720px] overflow-auto p-3\">\n <QueryState\n error={dreamsQuery.error}\n label=\"Could not load dream passes\"\n />\n {dreamsQuery.isLoading ? <DreamListSkeleton /> : null}\n {!dreamsQuery.isLoading && !dreamsQuery.error ? (\n dreams.length > 0 ? (\n <div className=\"space-y-2\">\n {dreams.map((dream, index) => {\n const selected = dream.id === selectedDreamId;\n return (\n <button\n key={dream.id}\n type=\"button\"\n onClick={() => selectDream(dream.id)}\n className={cn(\n \"w-full rounded-lg border px-3 py-3 text-left transition-colors\",\n selected\n ? \"border-foreground bg-muted\"\n : \"bg-background hover:border-foreground/30 hover:bg-muted/40\",\n )}\n >\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-medium text-foreground\">\n {dreamLabel(dream, index)}\n </div>\n <div className=\"mt-1 truncate font-mono text-[11px] text-muted-foreground\">\n {dream.id}\n </div>\n </div>\n <StatusBadge status={dream.status} />\n </div>\n <div className=\"mt-2 line-clamp-2 text-xs leading-relaxed text-muted-foreground\">\n {dream.summary || \"No summary yet.\"}\n </div>\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n <Badge variant=\"outline\">\n {plural(dreamProposalCount(dream), \"proposal\")}\n </Badge>\n <Badge variant=\"outline\">\n {plural(dreamInspectedCount(dream), \"run\")}\n </Badge>\n </div>\n <div className=\"mt-2 text-[11px] text-muted-foreground\">\n {compactDate(\n dream.completedAt ??\n dream.updatedAt ??\n dream.startedAt ??\n dream.createdAt,\n )}\n </div>\n </button>\n );\n })}\n </div>\n ) : (\n <EmptyPanel\n title=\"No dreams yet\"\n description=\"Run the first dream pass to review recent agent history and generate proposed memory changes.\"\n />\n )\n ) : null}\n </div>\n </section>\n\n <section className=\"min-w-0 rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div className=\"flex flex-wrap items-center justify-between gap-3\">\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-semibold text-foreground\">\n {selectedDream\n ? selectedDream.title || selectedDream.id\n : \"Dream detail\"}\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n {selectedDream\n ? `Completed ${formatDate(\n selectedDream.completedAt ??\n selectedDream.updatedAt ??\n selectedDream.createdAt,\n )}`\n : \"Select a pass or run a new dream.\"}\n </div>\n </div>\n {selectedDream ? (\n <div className=\"flex flex-wrap gap-1.5\">\n <StatusBadge status={selectedDream.status} />\n <Badge variant=\"outline\">\n {plural(appliedProposalCount, \"applied\", \"applied\")}\n </Badge>\n </div>\n ) : null}\n </div>\n </div>\n\n <div className=\"p-4\">\n <QueryState\n error={dreamDetailQuery.error}\n label=\"Could not load dream detail\"\n />\n {dreamDetailQuery.isLoading ? <ProposalSkeleton /> : null}\n {!selectedDreamId && !dreamDetailQuery.isLoading ? (\n <EmptyPanel\n title=\"Nothing selected\"\n description=\"Choose a recent dream pass or run one from candidate agent runs.\"\n />\n ) : null}\n {selectedDreamId &&\n !dreamDetailQuery.isLoading &&\n !dreamDetailQuery.error ? (\n <Tabs defaultValue=\"proposals\" className=\"w-full\">\n <TabsList className=\"grid w-full grid-cols-3\">\n <TabsTrigger value=\"proposals\">Proposals</TabsTrigger>\n <TabsTrigger value=\"report\">Report</TabsTrigger>\n <TabsTrigger value=\"sources\">Sources</TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"proposals\" className=\"mt-4\">\n {proposals.length > 0 ? (\n <div className=\"space-y-3\">\n {proposals.map((proposal) => (\n <ProposalCard\n key={proposal.id}\n proposal={proposal}\n applying={\n applyProposal.isPending &&\n applyProposal.variables?.id === proposal.id\n }\n rejecting={\n rejectProposal.isPending &&\n rejectProposal.variables?.id === proposal.id\n }\n onApply={() =>\n applyProposal.mutate({\n id: proposal.id,\n })\n }\n onReject={(reason) =>\n rejectProposal.mutate({\n id: proposal.id,\n reason,\n })\n }\n />\n ))}\n </div>\n ) : (\n <EmptyPanel\n title=\"No proposals\"\n description=\"This dream did not produce reviewable memory, skill, job, or instruction changes.\"\n />\n )}\n </TabsContent>\n\n <TabsContent value=\"report\" className=\"mt-4\">\n {detail?.report || detail?.summary ? (\n <RawBlock value={detail.report || detail.summary || \"\"} />\n ) : (\n <EmptyPanel\n title=\"No report text\"\n description=\"The dream detail action did not return a report body.\"\n />\n )}\n </TabsContent>\n\n <TabsContent value=\"sources\" className=\"mt-4\">\n {selectedSourceHealth.length > 0 ? (\n <div className=\"mb-4\">\n <SourceHealthPanel sources={selectedSourceHealth} />\n </div>\n ) : null}\n {inspectedRuns.length > 0 || evidenceItems.length ? (\n <Accordion type=\"multiple\" className=\"rounded-lg border\">\n {inspectedRuns.map((run, index) => (\n <AccordionItem\n key={candidateId(run)}\n value={candidateId(run) || `run-${index}`}\n className=\"px-4\"\n >\n <AccordionTrigger className=\"text-sm hover:no-underline\">\n <span className=\"min-w-0 truncate text-left\">\n {candidateLabel(run)}\n </span>\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <div className=\"grid gap-2 text-xs text-muted-foreground sm:grid-cols-2\">\n <div>\n Thread:{\" \"}\n <span className=\"font-mono text-foreground\">\n {run.thread?.id ?? run.threadId ?? \"n/a\"}\n </span>\n </div>\n <div>\n Run:{\" \"}\n <span className=\"font-mono text-foreground\">\n {run.runId ?? run.id}\n </span>\n </div>\n <div>Owner: {candidateOwner(run)}</div>\n <div>Status: {candidateStatus(run)}</div>\n </div>\n {candidateSignals(run).length > 0 ? (\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {candidateSignals(run).map((signal) => (\n <Badge key={signal} variant=\"outline\">\n {signal}\n </Badge>\n ))}\n </div>\n ) : null}\n </AccordionContent>\n </AccordionItem>\n ))}\n {evidenceItems.map((item, index) => (\n <AccordionItem\n key={item.id || `evidence-${index}`}\n value={item.id || `evidence-${index}`}\n className=\"px-4\"\n >\n <AccordionTrigger className=\"text-sm hover:no-underline\">\n {evidenceLabel(item, index)}\n </AccordionTrigger>\n <AccordionContent className=\"pb-4\">\n <RawBlock value={item} />\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n ) : (\n <EmptyPanel\n title=\"No source runs\"\n description=\"This dream has no structured source list yet.\"\n />\n )}\n </TabsContent>\n </Tabs>\n ) : null}\n </div>\n </section>\n\n <section className=\"rounded-lg border bg-card\">\n <div className=\"border-b px-4 py-3\">\n <div>\n <div className=\"text-sm font-semibold text-foreground\">\n Candidate runs\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n Grounded signals ready for review.\n </div>\n </div>\n </div>\n <div className=\"max-h-[720px] overflow-auto p-3\">\n <QueryState\n error={candidatesQuery.error}\n label=\"Could not load candidates\"\n />\n {candidatesQuery.isLoading ? <DreamListSkeleton /> : null}\n {!candidatesQuery.isLoading &&\n !candidatesQuery.error &&\n candidateSourceHealth.length > 0 ? (\n <div className=\"mb-3\">\n <SourceHealthPanel sources={candidateSourceHealth} />\n </div>\n ) : null}\n {!candidatesQuery.isLoading && !candidatesQuery.error ? (\n candidates.length > 0 ? (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Run</TableHead>\n <TableHead>Signals</TableHead>\n <TableHead className=\"w-20 text-right\">Score</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {candidates.map((candidate) => {\n const id = candidateId(candidate);\n const signals = candidateSignals(candidate);\n return (\n <TableRow key={id}>\n <TableCell className=\"min-w-0 py-3\">\n <div className=\"max-w-[230px] truncate text-sm font-medium text-foreground\">\n {candidateLabel(candidate)}\n </div>\n <div className=\"mt-1 truncate font-mono text-[11px] text-muted-foreground\">\n {candidate.thread?.id ??\n candidate.threadId ??\n candidate.runId ??\n id}\n </div>\n <div className=\"mt-1 text-[11px] text-muted-foreground\">\n {candidateOwner(candidate)} ·{\" \"}\n {compactDate(candidateUpdatedAt(candidate))}\n </div>\n </TableCell>\n <TableCell className=\"py-3\">\n <div className=\"mt-1 flex flex-wrap gap-1\">\n <Badge variant=\"outline\">\n {candidateStatus(candidate)}\n </Badge>\n {signals.slice(0, 2).map((signal) => (\n <Badge key={signal} variant=\"secondary\">\n {signal}\n </Badge>\n ))}\n </div>\n </TableCell>\n <TableCell className=\"py-3 text-right text-sm tabular-nums text-muted-foreground\">\n {candidate.score ?? \"n/a\"}\n </TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n ) : (\n <EmptyPanel\n title=\"No candidates\"\n description=\"No recent runs matched the dream candidate heuristics.\"\n />\n )\n ) : null}\n </div>\n </section>\n </div>\n </div>\n </DispatchShell>\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function meta(): {
|
|
2
2
|
title: string;
|
|
3
3
|
}[];
|
|
4
|
-
export default function ExtensionViewerRoute(): import("react
|
|
4
|
+
export default function ExtensionViewerRoute(): import("node_modules/@types/react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=extensions.$id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.$id.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/extensions.$id.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI;;IAEnB;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"extensions.$id.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/extensions.$id.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI;;IAEnB;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,oDAE3C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function meta(): {
|
|
2
2
|
title: string;
|
|
3
3
|
}[];
|
|
4
|
-
export default function ExtensionsRoute(): import("react
|
|
4
|
+
export default function ExtensionsRoute(): import("node_modules/@types/react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=extensions._index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions._index.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/extensions._index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI;;IAEnB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"extensions._index.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/extensions._index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI;;IAEnB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,oDAEtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function meta(): {
|
|
2
2
|
title: string;
|
|
3
3
|
}[];
|
|
4
|
-
export default function IdentitiesRoute(): import("react
|
|
4
|
+
export default function IdentitiesRoute(): import("node_modules/@types/react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=identities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/identities.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identities.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/identities.tsx"],"names":[],"mappings":"AAMA,wBAAgB,IAAI;;IAEnB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,oDAiFtC"}
|