@agent-native/dispatch 0.13.10 → 0.13.12

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.
Files changed (254) hide show
  1. package/dist/actions/navigate.js +1 -1
  2. package/dist/actions/navigate.js.map +1 -1
  3. package/dist/components/agents-panel.js +3 -3
  4. package/dist/components/agents-panel.js.map +1 -1
  5. package/dist/components/app-keys-popover.d.ts.map +1 -1
  6. package/dist/components/app-keys-popover.js +3 -3
  7. package/dist/components/app-keys-popover.js.map +1 -1
  8. package/dist/components/create-app-popover.d.ts.map +1 -1
  9. package/dist/components/create-app-popover.js +2 -2
  10. package/dist/components/create-app-popover.js.map +1 -1
  11. package/dist/components/dispatch-control-plane.d.ts.map +1 -1
  12. package/dist/components/dispatch-control-plane.js +19 -7
  13. package/dist/components/dispatch-control-plane.js.map +1 -1
  14. package/dist/components/dispatch-shell.d.ts.map +1 -1
  15. package/dist/components/dispatch-shell.js +2 -2
  16. package/dist/components/dispatch-shell.js.map +1 -1
  17. package/dist/components/layout/Header.js +2 -1
  18. package/dist/components/layout/Header.js.map +1 -1
  19. package/dist/components/layout/Layout.d.ts.map +1 -1
  20. package/dist/components/layout/Layout.js +12 -5
  21. package/dist/components/layout/Layout.js.map +1 -1
  22. package/dist/components/messaging-setup-panel.d.ts.map +1 -1
  23. package/dist/components/messaging-setup-panel.js +4 -4
  24. package/dist/components/messaging-setup-panel.js.map +1 -1
  25. package/dist/components/task-queue-health.d.ts +2 -0
  26. package/dist/components/task-queue-health.d.ts.map +1 -0
  27. package/dist/components/task-queue-health.js +49 -0
  28. package/dist/components/task-queue-health.js.map +1 -0
  29. package/dist/components/ui/accordion.js.map +1 -1
  30. package/dist/components/ui/alert-dialog.js +1 -1
  31. package/dist/components/ui/alert-dialog.js.map +1 -1
  32. package/dist/components/ui/alert.js.map +1 -1
  33. package/dist/components/ui/avatar.js.map +1 -1
  34. package/dist/components/ui/badge.js.map +1 -1
  35. package/dist/components/ui/breadcrumb.js.map +1 -1
  36. package/dist/components/ui/button.js.map +1 -1
  37. package/dist/components/ui/calendar.js +1 -1
  38. package/dist/components/ui/calendar.js.map +1 -1
  39. package/dist/components/ui/card.js.map +1 -1
  40. package/dist/components/ui/carousel.d.ts +2 -2
  41. package/dist/components/ui/carousel.d.ts.map +1 -1
  42. package/dist/components/ui/carousel.js +1 -1
  43. package/dist/components/ui/carousel.js.map +1 -1
  44. package/dist/components/ui/chart.js.map +1 -1
  45. package/dist/components/ui/checkbox.js.map +1 -1
  46. package/dist/components/ui/command.js +1 -1
  47. package/dist/components/ui/command.js.map +1 -1
  48. package/dist/components/ui/context-menu.js.map +1 -1
  49. package/dist/components/ui/dialog.js.map +1 -1
  50. package/dist/components/ui/drawer.js.map +1 -1
  51. package/dist/components/ui/dropdown-menu.js.map +1 -1
  52. package/dist/components/ui/form.js +1 -1
  53. package/dist/components/ui/form.js.map +1 -1
  54. package/dist/components/ui/hover-card.js.map +1 -1
  55. package/dist/components/ui/input-otp.js.map +1 -1
  56. package/dist/components/ui/input.js.map +1 -1
  57. package/dist/components/ui/label.js.map +1 -1
  58. package/dist/components/ui/menubar.js.map +1 -1
  59. package/dist/components/ui/navigation-menu.js.map +1 -1
  60. package/dist/components/ui/pagination.d.ts +1 -1
  61. package/dist/components/ui/pagination.d.ts.map +1 -1
  62. package/dist/components/ui/pagination.js +1 -1
  63. package/dist/components/ui/pagination.js.map +1 -1
  64. package/dist/components/ui/popover.js.map +1 -1
  65. package/dist/components/ui/progress.js.map +1 -1
  66. package/dist/components/ui/radio-group.js.map +1 -1
  67. package/dist/components/ui/resizable.js.map +1 -1
  68. package/dist/components/ui/scroll-area.js.map +1 -1
  69. package/dist/components/ui/select.js.map +1 -1
  70. package/dist/components/ui/separator.js.map +1 -1
  71. package/dist/components/ui/sheet.js.map +1 -1
  72. package/dist/components/ui/sidebar.d.ts +2 -2
  73. package/dist/components/ui/sidebar.d.ts.map +1 -1
  74. package/dist/components/ui/sidebar.js +6 -6
  75. package/dist/components/ui/sidebar.js.map +1 -1
  76. package/dist/components/ui/skeleton.js.map +1 -1
  77. package/dist/components/ui/slider.js.map +1 -1
  78. package/dist/components/ui/sonner.js.map +1 -1
  79. package/dist/components/ui/spinner.js.map +1 -1
  80. package/dist/components/ui/switch.js.map +1 -1
  81. package/dist/components/ui/table.js.map +1 -1
  82. package/dist/components/ui/tabs.js.map +1 -1
  83. package/dist/components/ui/textarea.js.map +1 -1
  84. package/dist/components/ui/toast.js.map +1 -1
  85. package/dist/components/ui/toaster.js +1 -1
  86. package/dist/components/ui/toaster.js.map +1 -1
  87. package/dist/components/ui/toggle-group.js +1 -1
  88. package/dist/components/ui/toggle-group.js.map +1 -1
  89. package/dist/components/ui/toggle.js.map +1 -1
  90. package/dist/components/ui/tooltip.js.map +1 -1
  91. package/dist/components/ui/use-toast.d.ts.map +1 -1
  92. package/dist/components/ui/use-toast.js.map +1 -1
  93. package/dist/components/workspace-app-card.d.ts.map +1 -1
  94. package/dist/components/workspace-app-card.js +10 -10
  95. package/dist/components/workspace-app-card.js.map +1 -1
  96. package/dist/components/workspace-resource-effective-stack.js +1 -1
  97. package/dist/components/workspace-resource-effective-stack.js.map +1 -1
  98. package/dist/components/workspace-resource-impact-preview.d.ts.map +1 -1
  99. package/dist/components/workspace-resource-impact-preview.js +2 -2
  100. package/dist/components/workspace-resource-impact-preview.js.map +1 -1
  101. package/dist/hooks/use-navigation-state.js +5 -0
  102. package/dist/hooks/use-navigation-state.js.map +1 -1
  103. package/dist/hooks/use-toast.d.ts.map +1 -1
  104. package/dist/hooks/use-toast.js.map +1 -1
  105. package/dist/lib/automation-display.d.ts +13 -0
  106. package/dist/lib/automation-display.d.ts.map +1 -0
  107. package/dist/lib/automation-display.js +62 -0
  108. package/dist/lib/automation-display.js.map +1 -0
  109. package/dist/lib/task-queue.d.ts +19 -0
  110. package/dist/lib/task-queue.d.ts.map +1 -0
  111. package/dist/lib/task-queue.js +54 -0
  112. package/dist/lib/task-queue.js.map +1 -0
  113. package/dist/routes/index.d.ts.map +1 -1
  114. package/dist/routes/index.js +1 -0
  115. package/dist/routes/index.js.map +1 -1
  116. package/dist/routes/pages/_index.js.map +1 -1
  117. package/dist/routes/pages/agents.d.ts.map +1 -1
  118. package/dist/routes/pages/agents.js +1 -1
  119. package/dist/routes/pages/agents.js.map +1 -1
  120. package/dist/routes/pages/approval.js.map +1 -1
  121. package/dist/routes/pages/approvals.js.map +1 -1
  122. package/dist/routes/pages/apps.$appId.js.map +1 -1
  123. package/dist/routes/pages/apps.js.map +1 -1
  124. package/dist/routes/pages/audit.js.map +1 -1
  125. package/dist/routes/pages/automations.d.ts +5 -0
  126. package/dist/routes/pages/automations.d.ts.map +1 -0
  127. package/dist/routes/pages/automations.js +106 -0
  128. package/dist/routes/pages/automations.js.map +1 -0
  129. package/dist/routes/pages/chat.js.map +1 -1
  130. package/dist/routes/pages/destinations.d.ts.map +1 -1
  131. package/dist/routes/pages/destinations.js +31 -27
  132. package/dist/routes/pages/destinations.js.map +1 -1
  133. package/dist/routes/pages/dreams.d.ts.map +1 -1
  134. package/dist/routes/pages/dreams.js +1 -1
  135. package/dist/routes/pages/dreams.js.map +1 -1
  136. package/dist/routes/pages/identities.js.map +1 -1
  137. package/dist/routes/pages/integrations.js.map +1 -1
  138. package/dist/routes/pages/messaging.js.map +1 -1
  139. package/dist/routes/pages/metrics.js.map +1 -1
  140. package/dist/routes/pages/new-app.js.map +1 -1
  141. package/dist/routes/pages/overview.d.ts +2 -2
  142. package/dist/routes/pages/overview.js.map +1 -1
  143. package/dist/routes/pages/settings.d.ts.map +1 -1
  144. package/dist/routes/pages/settings.js +2 -2
  145. package/dist/routes/pages/settings.js.map +1 -1
  146. package/dist/routes/pages/thread-debug.d.ts.map +1 -1
  147. package/dist/routes/pages/thread-debug.js +1 -1
  148. package/dist/routes/pages/thread-debug.js.map +1 -1
  149. package/dist/routes/pages/vault.d.ts.map +1 -1
  150. package/dist/routes/pages/vault.js +1 -1
  151. package/dist/routes/pages/vault.js.map +1 -1
  152. package/dist/routes/pages/workspace.d.ts.map +1 -1
  153. package/dist/routes/pages/workspace.js +1 -1
  154. package/dist/routes/pages/workspace.js.map +1 -1
  155. package/dist/server/lib/pre-auth-routing.d.ts.map +1 -1
  156. package/dist/server/lib/pre-auth-routing.js +1 -0
  157. package/dist/server/lib/pre-auth-routing.js.map +1 -1
  158. package/dist/server/lib/usage-metrics-store.d.ts.map +1 -1
  159. package/dist/server/lib/usage-metrics-store.js +12 -3
  160. package/dist/server/lib/usage-metrics-store.js.map +1 -1
  161. package/package.json +7 -7
  162. package/src/actions/navigate.ts +1 -1
  163. package/src/components/agents-panel.tsx +3 -3
  164. package/src/components/app-keys-popover.tsx +3 -7
  165. package/src/components/create-app-popover.tsx +2 -6
  166. package/src/components/dispatch-control-plane.tsx +48 -7
  167. package/src/components/dispatch-shell.tsx +2 -6
  168. package/src/components/layout/Header.tsx +2 -2
  169. package/src/components/layout/Layout.tsx +13 -15
  170. package/src/components/messaging-setup-panel.tsx +4 -8
  171. package/src/components/task-queue-health.tsx +166 -0
  172. package/src/components/ui/accordion.tsx +1 -1
  173. package/src/components/ui/alert-dialog.tsx +2 -2
  174. package/src/components/ui/alert.tsx +1 -1
  175. package/src/components/ui/avatar.tsx +1 -1
  176. package/src/components/ui/badge.tsx +1 -1
  177. package/src/components/ui/breadcrumb.tsx +1 -1
  178. package/src/components/ui/button.tsx +1 -1
  179. package/src/components/ui/calendar.tsx +2 -2
  180. package/src/components/ui/card.tsx +1 -1
  181. package/src/components/ui/carousel.tsx +2 -2
  182. package/src/components/ui/chart.tsx +1 -1
  183. package/src/components/ui/checkbox.tsx +1 -1
  184. package/src/components/ui/command.tsx +2 -2
  185. package/src/components/ui/context-menu.tsx +1 -1
  186. package/src/components/ui/dialog.tsx +1 -1
  187. package/src/components/ui/drawer.tsx +1 -1
  188. package/src/components/ui/dropdown-menu.tsx +1 -1
  189. package/src/components/ui/form.tsx +2 -2
  190. package/src/components/ui/hover-card.tsx +1 -1
  191. package/src/components/ui/input-otp.tsx +1 -1
  192. package/src/components/ui/input.tsx +1 -1
  193. package/src/components/ui/label.tsx +1 -1
  194. package/src/components/ui/menubar.tsx +1 -1
  195. package/src/components/ui/navigation-menu.tsx +1 -1
  196. package/src/components/ui/pagination.tsx +2 -2
  197. package/src/components/ui/popover.tsx +1 -1
  198. package/src/components/ui/progress.tsx +1 -1
  199. package/src/components/ui/radio-group.tsx +1 -1
  200. package/src/components/ui/resizable.tsx +1 -1
  201. package/src/components/ui/scroll-area.tsx +1 -1
  202. package/src/components/ui/select.tsx +1 -1
  203. package/src/components/ui/separator.tsx +1 -1
  204. package/src/components/ui/sheet.tsx +1 -1
  205. package/src/components/ui/sidebar.tsx +8 -13
  206. package/src/components/ui/skeleton.tsx +1 -1
  207. package/src/components/ui/slider.tsx +1 -1
  208. package/src/components/ui/sonner.tsx +1 -1
  209. package/src/components/ui/spinner.tsx +1 -1
  210. package/src/components/ui/switch.tsx +1 -1
  211. package/src/components/ui/table.tsx +1 -1
  212. package/src/components/ui/tabs.tsx +1 -1
  213. package/src/components/ui/textarea.tsx +1 -1
  214. package/src/components/ui/toast.tsx +1 -1
  215. package/src/components/ui/toaster.tsx +2 -2
  216. package/src/components/ui/toggle-group.tsx +2 -2
  217. package/src/components/ui/toggle.tsx +1 -1
  218. package/src/components/ui/tooltip.tsx +1 -1
  219. package/src/components/ui/use-toast.ts +1 -1
  220. package/src/components/workspace-app-card.tsx +16 -20
  221. package/src/components/workspace-resource-effective-stack.tsx +2 -2
  222. package/src/components/workspace-resource-impact-preview.tsx +2 -3
  223. package/src/hooks/use-navigation-state.spec.ts +7 -0
  224. package/src/hooks/use-navigation-state.ts +4 -0
  225. package/src/hooks/use-toast.ts +1 -1
  226. package/src/lib/automation-display.spec.ts +95 -0
  227. package/src/lib/automation-display.ts +70 -0
  228. package/src/lib/task-queue.spec.ts +57 -0
  229. package/src/lib/task-queue.ts +72 -0
  230. package/src/routes/index.ts +1 -0
  231. package/src/routes/pages/_index.tsx +1 -1
  232. package/src/routes/pages/agents.tsx +8 -5
  233. package/src/routes/pages/approval.tsx +4 -4
  234. package/src/routes/pages/approvals.tsx +4 -4
  235. package/src/routes/pages/apps.$appId.tsx +5 -5
  236. package/src/routes/pages/apps.tsx +8 -8
  237. package/src/routes/pages/audit.tsx +1 -1
  238. package/src/routes/pages/automations.tsx +280 -0
  239. package/src/routes/pages/chat.tsx +1 -1
  240. package/src/routes/pages/destinations.tsx +163 -154
  241. package/src/routes/pages/dreams.tsx +22 -18
  242. package/src/routes/pages/identities.tsx +2 -2
  243. package/src/routes/pages/integrations.tsx +8 -8
  244. package/src/routes/pages/messaging.tsx +2 -2
  245. package/src/routes/pages/metrics.tsx +6 -6
  246. package/src/routes/pages/new-app.tsx +1 -1
  247. package/src/routes/pages/overview.tsx +1 -1
  248. package/src/routes/pages/settings.tsx +37 -6
  249. package/src/routes/pages/thread-debug.tsx +14 -9
  250. package/src/routes/pages/vault.tsx +17 -12
  251. package/src/routes/pages/workspace.tsx +17 -12
  252. package/src/server/lib/pre-auth-routing.ts +1 -0
  253. package/src/server/lib/usage-metrics-store.spec.ts +102 -0
  254. package/src/server/lib/usage-metrics-store.ts +12 -3
@@ -1,8 +1,8 @@
1
1
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
2
2
  import * as React from "react";
3
3
 
4
- import { buttonVariants } from "@/components/ui/button";
5
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
+ import { buttonVariants } from "./button";
6
6
 
7
7
  const AlertDialog = AlertDialogPrimitive.Root;
8
8
 
@@ -1,7 +1,7 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const alertVariants = cva(
7
7
  "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
@@ -1,7 +1,7 @@
1
1
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Avatar = React.forwardRef<
7
7
  React.ElementRef<typeof AvatarPrimitive.Root>,
@@ -1,7 +1,7 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const badgeVariants = cva(
7
7
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
@@ -2,7 +2,7 @@ import { Slot } from "@radix-ui/react-slot";
2
2
  import { IconChevronRight, IconDots } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const Breadcrumb = React.forwardRef<
8
8
  HTMLElement,
@@ -2,7 +2,7 @@ import { Slot } from "@radix-ui/react-slot";
2
2
  import { cva, type VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const buttonVariants = cva(
8
8
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
@@ -2,8 +2,8 @@ import { IconChevronLeft, IconChevronRight } from "@tabler/icons-react";
2
2
  import * as React from "react";
3
3
  import { DayPicker } from "react-day-picker";
4
4
 
5
- import { buttonVariants } from "@/components/ui/button";
6
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
+ import { buttonVariants } from "./button";
7
7
 
8
8
  export type CalendarProps = React.ComponentProps<typeof DayPicker>;
9
9
 
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../lib/utils";
4
4
 
5
5
  const Card = React.forwardRef<
6
6
  HTMLDivElement,
@@ -4,8 +4,8 @@ import useEmblaCarousel, {
4
4
  } from "embla-carousel-react";
5
5
  import * as React from "react";
6
6
 
7
- import { Button } from "@/components/ui/button";
8
- import { cn } from "@/lib/utils";
7
+ import { cn } from "../../lib/utils";
8
+ import { Button } from "./button";
9
9
 
10
10
  type CarouselApi = UseEmblaCarouselType[1];
11
11
  type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import * as RechartsPrimitive from "recharts";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  // Format: { THEME_NAME: CSS_SELECTOR }
7
7
  const THEMES = { light: "", dark: ".dark" } as const;
@@ -2,7 +2,7 @@ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
2
2
  import { IconCheck } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const Checkbox = React.forwardRef<
8
8
  React.ElementRef<typeof CheckboxPrimitive.Root>,
@@ -3,8 +3,8 @@ import { IconSearch } from "@tabler/icons-react";
3
3
  import { Command as CommandPrimitive } from "cmdk";
4
4
  import * as React from "react";
5
5
 
6
- import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog";
7
- import { cn } from "@/lib/utils";
6
+ import { cn } from "../../lib/utils";
7
+ import { Dialog, DialogContent, DialogTitle } from "./dialog";
8
8
 
9
9
  const Command = React.forwardRef<
10
10
  React.ElementRef<typeof CommandPrimitive>,
@@ -2,7 +2,7 @@ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
2
2
  import { IconCheck, IconChevronRight, IconCircle } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const ContextMenu = ContextMenuPrimitive.Root;
8
8
 
@@ -2,7 +2,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
2
2
  import { IconX } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const Dialog = DialogPrimitive.Root;
8
8
 
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { Drawer as DrawerPrimitive } from "vaul";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Drawer = ({
7
7
  shouldScaleBackground = true,
@@ -2,7 +2,7 @@ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2
2
  import { IconCheck, IconChevronRight, IconCircle } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const DropdownMenu = DropdownMenuPrimitive.Root;
8
8
 
@@ -10,8 +10,8 @@ import {
10
10
  useFormContext,
11
11
  } from "react-hook-form";
12
12
 
13
- import { Label } from "@/components/ui/label";
14
- import { cn } from "@/lib/utils";
13
+ import { cn } from "../../lib/utils";
14
+ import { Label } from "./label";
15
15
 
16
16
  const Form = FormProvider;
17
17
 
@@ -1,7 +1,7 @@
1
1
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const HoverCard = HoverCardPrimitive.Root;
7
7
 
@@ -2,7 +2,7 @@ import { IconPoint } from "@tabler/icons-react";
2
2
  import { OTPInput, OTPInputContext } from "input-otp";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const InputOTP = React.forwardRef<
8
8
  React.ElementRef<typeof OTPInput>,
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../lib/utils";
4
4
 
5
5
  const Input = React.forwardRef<HTMLInputElement, React.ComponentProps<"input">>(
6
6
  ({ className, type, ...props }, ref) => {
@@ -2,7 +2,7 @@ import * as LabelPrimitive from "@radix-ui/react-label";
2
2
  import { cva, type VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const labelVariants = cva(
8
8
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
@@ -2,7 +2,7 @@ import * as MenubarPrimitive from "@radix-ui/react-menubar";
2
2
  import { IconCheck, IconChevronRight, IconCircle } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  // Explicit type annotations needed because TS can't generate portable .d.ts
8
8
  // declarations for these without referencing internal Radix types from a
@@ -3,7 +3,7 @@ import { IconChevronDown } from "@tabler/icons-react";
3
3
  import { cva } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
- import { cn } from "@/lib/utils";
6
+ import { cn } from "../../lib/utils";
7
7
 
8
8
  const NavigationMenu = React.forwardRef<
9
9
  React.ElementRef<typeof NavigationMenuPrimitive.Root>,
@@ -5,8 +5,8 @@ import {
5
5
  } from "@tabler/icons-react";
6
6
  import * as React from "react";
7
7
 
8
- import { ButtonProps, buttonVariants } from "@/components/ui/button";
9
- import { cn } from "@/lib/utils";
8
+ import { cn } from "../../lib/utils";
9
+ import { ButtonProps, buttonVariants } from "./button";
10
10
 
11
11
  const Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (
12
12
  <nav
@@ -1,7 +1,7 @@
1
1
  import * as PopoverPrimitive from "@radix-ui/react-popover";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Popover = PopoverPrimitive.Root;
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Progress = React.forwardRef<
7
7
  React.ElementRef<typeof ProgressPrimitive.Root>,
@@ -2,7 +2,7 @@ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
2
2
  import { IconCircle } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const RadioGroup = React.forwardRef<
8
8
  React.ElementRef<typeof RadioGroupPrimitive.Root>,
@@ -1,7 +1,7 @@
1
1
  import { IconGripVertical } from "@tabler/icons-react";
2
2
  import * as ResizablePrimitive from "react-resizable-panels";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const ResizablePanelGroup = ({
7
7
  className,
@@ -1,7 +1,7 @@
1
1
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const ScrollArea = React.forwardRef<
7
7
  React.ElementRef<typeof ScrollAreaPrimitive.Root>,
@@ -2,7 +2,7 @@ import * as SelectPrimitive from "@radix-ui/react-select";
2
2
  import { IconCheck, IconChevronDown, IconChevronUp } from "@tabler/icons-react";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const Select = SelectPrimitive.Root;
8
8
 
@@ -1,7 +1,7 @@
1
1
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Separator = React.forwardRef<
7
7
  React.ElementRef<typeof SeparatorPrimitive.Root>,
@@ -3,7 +3,7 @@ import { IconX } from "@tabler/icons-react";
3
3
  import { cva, type VariantProps } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
- import { cn } from "@/lib/utils";
6
+ import { cn } from "../../lib/utils";
7
7
 
8
8
  const Sheet = SheetPrimitive.Root;
9
9
 
@@ -3,24 +3,19 @@ import { IconLayoutSidebar } from "@tabler/icons-react";
3
3
  import { VariantProps, cva } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
- import { Button } from "@/components/ui/button";
7
- import { Input } from "@/components/ui/input";
8
- import { Separator } from "@/components/ui/separator";
9
- import {
10
- Sheet,
11
- SheetContent,
12
- SheetDescription,
13
- SheetTitle,
14
- } from "@/components/ui/sheet";
15
- import { Skeleton } from "@/components/ui/skeleton";
6
+ import { useIsMobile } from "../../hooks/use-mobile";
7
+ import { cn } from "../../lib/utils";
8
+ import { Button } from "./button";
9
+ import { Input } from "./input";
10
+ import { Separator } from "./separator";
11
+ import { Sheet, SheetContent, SheetDescription, SheetTitle } from "./sheet";
12
+ import { Skeleton } from "./skeleton";
16
13
  import {
17
14
  Tooltip,
18
15
  TooltipContent,
19
16
  TooltipProvider,
20
17
  TooltipTrigger,
21
- } from "@/components/ui/tooltip";
22
- import { useIsMobile } from "@/hooks/use-mobile";
23
- import { cn } from "@/lib/utils";
18
+ } from "./tooltip";
24
19
 
25
20
  const SIDEBAR_COOKIE_NAME = "sidebar:state";
26
21
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
@@ -1,4 +1,4 @@
1
- import { cn } from "@/lib/utils";
1
+ import { cn } from "../../lib/utils";
2
2
 
3
3
  function Skeleton({
4
4
  className,
@@ -1,7 +1,7 @@
1
1
  import * as SliderPrimitive from "@radix-ui/react-slider";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Slider = React.forwardRef<
7
7
  React.ElementRef<typeof SliderPrimitive.Root>,
@@ -1,7 +1,7 @@
1
1
  import { useTheme } from "next-themes";
2
2
  import { Toaster as Sonner } from "sonner";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  type ToasterProps = React.ComponentProps<typeof Sonner>;
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { IconLoader2 } from "@tabler/icons-react";
2
2
 
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../lib/utils";
4
4
 
5
5
  export function Spinner({
6
6
  className,
@@ -1,7 +1,7 @@
1
1
  import * as SwitchPrimitives from "@radix-ui/react-switch";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Switch = React.forwardRef<
7
7
  React.ElementRef<typeof SwitchPrimitives.Root>,
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../lib/utils";
4
4
 
5
5
  const Table = React.forwardRef<
6
6
  HTMLTableElement,
@@ -1,7 +1,7 @@
1
1
  import * as TabsPrimitive from "@radix-ui/react-tabs";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const Tabs = TabsPrimitive.Root;
7
7
 
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../lib/utils";
4
4
 
5
5
  export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
6
6
 
@@ -3,7 +3,7 @@ import { IconX } from "@tabler/icons-react";
3
3
  import { cva, type VariantProps } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
- import { cn } from "@/lib/utils";
6
+ import { cn } from "../../lib/utils";
7
7
 
8
8
  const ToastProvider = ToastPrimitives.Provider;
9
9
 
@@ -1,3 +1,4 @@
1
+ import { useToast } from "../../hooks/use-toast";
1
2
  import {
2
3
  Toast,
3
4
  ToastClose,
@@ -5,8 +6,7 @@ import {
5
6
  ToastProvider,
6
7
  ToastTitle,
7
8
  ToastViewport,
8
- } from "@/components/ui/toast";
9
- import { useToast } from "@/hooks/use-toast";
9
+ } from "./toast";
10
10
 
11
11
  export function Toaster() {
12
12
  const { toasts } = useToast();
@@ -2,8 +2,8 @@ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
5
- import { toggleVariants } from "@/components/ui/toggle";
6
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
+ import { toggleVariants } from "./toggle";
7
7
 
8
8
  const ToggleGroupContext = React.createContext<
9
9
  VariantProps<typeof toggleVariants>
@@ -2,7 +2,7 @@ import * as TogglePrimitive from "@radix-ui/react-toggle";
2
2
  import { cva, type VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../lib/utils";
6
6
 
7
7
  const toggleVariants = cva(
8
8
  "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
@@ -1,7 +1,7 @@
1
1
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
2
2
  import * as React from "react";
3
3
 
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../lib/utils";
5
5
 
6
6
  const TooltipProvider = TooltipPrimitive.Provider;
7
7
 
@@ -1,3 +1,3 @@
1
- import { useToast, toast } from "@/hooks/use-toast";
1
+ import { useToast, toast } from "../../hooks/use-toast";
2
2
 
3
3
  export { useToast, toast };
@@ -15,9 +15,15 @@ import {
15
15
  import { useEffect, useState, type FormEvent } from "react";
16
16
  import { toast } from "sonner";
17
17
 
18
- import { AppKeysPopover } from "@/components/app-keys-popover";
19
- import { Badge } from "@/components/ui/badge";
20
- import { Button } from "@/components/ui/button";
18
+ import { cn } from "../lib/utils";
19
+ import {
20
+ isPendingBuilderHref,
21
+ workspaceAppHref,
22
+ type WorkspaceAppSummary,
23
+ } from "../lib/workspace-apps";
24
+ import { AppKeysPopover } from "./app-keys-popover";
25
+ import { Badge } from "./ui/badge";
26
+ import { Button } from "./ui/button";
21
27
  import {
22
28
  Dialog,
23
29
  DialogContent,
@@ -26,28 +32,18 @@ import {
26
32
  DialogHeader,
27
33
  DialogTitle,
28
34
  DialogTrigger,
29
- } from "@/components/ui/dialog";
35
+ } from "./ui/dialog";
30
36
  import {
31
37
  DropdownMenu,
32
38
  DropdownMenuContent,
33
39
  DropdownMenuItem,
34
40
  DropdownMenuTrigger,
35
- } from "@/components/ui/dropdown-menu";
36
- import { Input } from "@/components/ui/input";
37
- import { Label } from "@/components/ui/label";
38
- import { Textarea } from "@/components/ui/textarea";
39
- import {
40
- Tooltip,
41
- TooltipContent,
42
- TooltipTrigger,
43
- } from "@/components/ui/tooltip";
44
- import { AppResourceEffectiveStack } from "@/components/workspace-resource-effective-stack";
45
- import { cn } from "@/lib/utils";
46
- import {
47
- isPendingBuilderHref,
48
- workspaceAppHref,
49
- type WorkspaceAppSummary,
50
- } from "@/lib/workspace-apps";
41
+ } from "./ui/dropdown-menu";
42
+ import { Input } from "./ui/input";
43
+ import { Label } from "./ui/label";
44
+ import { Textarea } from "./ui/textarea";
45
+ import { Tooltip, TooltipContent, TooltipTrigger } from "./ui/tooltip";
46
+ import { AppResourceEffectiveStack } from "./workspace-resource-effective-stack";
51
47
 
52
48
  export function WorkspaceAppCard({
53
49
  app,
@@ -1,7 +1,7 @@
1
1
  import { useActionQuery } from "@agent-native/core/client";
2
2
 
3
- import { Badge } from "@/components/ui/badge";
4
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../lib/utils";
4
+ import { Badge } from "./ui/badge";
5
5
 
6
6
  export function appAvailabilityLabel(value?: string) {
7
7
  switch (value) {
@@ -1,8 +1,7 @@
1
1
  import { useActionQuery } from "@agent-native/core/client";
2
2
 
3
- import { Badge } from "@/components/ui/badge";
4
- import { Skeleton } from "@/components/ui/skeleton";
5
-
3
+ import { Badge } from "./ui/badge";
4
+ import { Skeleton } from "./ui/skeleton";
6
5
  import { formatResourceTimestamp } from "./workspace-resource-effective-stack";
7
6
 
8
7
  function isApprovalRequest(result: any): boolean {
@@ -35,4 +35,11 @@ describe("buildDispatchNavigationState", () => {
35
35
  query: "focus",
36
36
  });
37
37
  });
38
+
39
+ it("recognizes the automations route", () => {
40
+ expect(buildDispatchNavigationState("/automations")).toEqual({
41
+ view: "automations",
42
+ path: "/automations",
43
+ });
44
+ });
38
45
  });
@@ -216,6 +216,7 @@ function resolveView(
216
216
  if (pathname.startsWith("/destinations")) return "destinations";
217
217
  if (pathname.startsWith("/identities")) return "identities";
218
218
  if (pathname.startsWith("/approvals")) return "approvals";
219
+ if (pathname.startsWith("/automations")) return "automations";
219
220
  if (pathname.startsWith("/audit")) return "audit";
220
221
  if (pathname.startsWith("/dreams")) return "dreams";
221
222
  if (pathname.startsWith("/thread-debug")) return "thread-debug";
@@ -263,6 +264,9 @@ function resolvePath(
263
264
  return "/identities";
264
265
  case "approvals":
265
266
  return "/approvals";
267
+ case "automations":
268
+ case "jobs":
269
+ return "/automations";
266
270
  case "audit":
267
271
  return "/audit";
268
272
  case "dreams":
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import type { ToastActionElement, ToastProps } from "@/components/ui/toast";
3
+ import type { ToastActionElement, ToastProps } from "../components/ui/toast";
4
4
 
5
5
  const TOAST_LIMIT = 1;
6
6
  const TOAST_REMOVE_DELAY = 1000000;