@agent-native/dispatch 0.15.18 → 0.15.19

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 (81) hide show
  1. package/dist/components/agents-panel.js +1 -1
  2. package/dist/components/agents-panel.js.map +1 -1
  3. package/dist/components/dispatch-control-plane.d.ts.map +1 -1
  4. package/dist/components/dispatch-control-plane.js +1 -1
  5. package/dist/components/dispatch-control-plane.js.map +1 -1
  6. package/dist/components/layout/Layout.d.ts.map +1 -1
  7. package/dist/components/layout/Layout.js +11 -7
  8. package/dist/components/layout/Layout.js.map +1 -1
  9. package/dist/components/messaging-setup-panel.js +1 -1
  10. package/dist/components/messaging-setup-panel.js.map +1 -1
  11. package/dist/components/task-queue-health.js +1 -1
  12. package/dist/components/task-queue-health.js.map +1 -1
  13. package/dist/components/ui/button.d.ts.map +1 -1
  14. package/dist/components/ui/button.js +1 -1
  15. package/dist/components/ui/button.js.map +1 -1
  16. package/dist/components/ui/card.js +1 -1
  17. package/dist/components/ui/card.js.map +1 -1
  18. package/dist/components/workspace-app-card.js +1 -1
  19. package/dist/components/workspace-app-card.js.map +1 -1
  20. package/dist/components/workspace-template-card.js +1 -1
  21. package/dist/components/workspace-template-card.js.map +1 -1
  22. package/dist/routes/pages/$appId.js +1 -1
  23. package/dist/routes/pages/$appId.js.map +1 -1
  24. package/dist/routes/pages/agents.js +1 -1
  25. package/dist/routes/pages/agents.js.map +1 -1
  26. package/dist/routes/pages/approval.js +4 -4
  27. package/dist/routes/pages/approval.js.map +1 -1
  28. package/dist/routes/pages/approvals.js +2 -2
  29. package/dist/routes/pages/approvals.js.map +1 -1
  30. package/dist/routes/pages/apps.$appId.js +1 -1
  31. package/dist/routes/pages/apps.$appId.js.map +1 -1
  32. package/dist/routes/pages/apps.js +3 -3
  33. package/dist/routes/pages/apps.js.map +1 -1
  34. package/dist/routes/pages/audit.js +1 -1
  35. package/dist/routes/pages/audit.js.map +1 -1
  36. package/dist/routes/pages/automations.js +1 -1
  37. package/dist/routes/pages/automations.js.map +1 -1
  38. package/dist/routes/pages/destinations.js +2 -2
  39. package/dist/routes/pages/destinations.js.map +1 -1
  40. package/dist/routes/pages/dreams.js +5 -5
  41. package/dist/routes/pages/dreams.js.map +1 -1
  42. package/dist/routes/pages/identities.js +1 -1
  43. package/dist/routes/pages/identities.js.map +1 -1
  44. package/dist/routes/pages/integrations.js +2 -2
  45. package/dist/routes/pages/integrations.js.map +1 -1
  46. package/dist/routes/pages/metrics.js +4 -4
  47. package/dist/routes/pages/metrics.js.map +1 -1
  48. package/dist/routes/pages/thread-debug.js +5 -5
  49. package/dist/routes/pages/thread-debug.js.map +1 -1
  50. package/dist/routes/pages/vault.js +3 -3
  51. package/dist/routes/pages/vault.js.map +1 -1
  52. package/dist/routes/pages/workspace.d.ts.map +1 -1
  53. package/dist/routes/pages/workspace.js +3 -3
  54. package/dist/routes/pages/workspace.js.map +1 -1
  55. package/package.json +3 -3
  56. package/src/components/agents-panel.tsx +1 -1
  57. package/src/components/dispatch-control-plane.tsx +1 -4
  58. package/src/components/layout/Layout.spec.tsx +5 -0
  59. package/src/components/layout/Layout.tsx +62 -32
  60. package/src/components/messaging-setup-panel.tsx +1 -1
  61. package/src/components/task-queue-health.tsx +1 -1
  62. package/src/components/ui/button.tsx +1 -2
  63. package/src/components/ui/card.tsx +1 -1
  64. package/src/components/workspace-app-card.tsx +1 -1
  65. package/src/components/workspace-template-card.tsx +2 -2
  66. package/src/routes/pages/$appId.tsx +1 -1
  67. package/src/routes/pages/agents.tsx +1 -1
  68. package/src/routes/pages/approval.tsx +4 -4
  69. package/src/routes/pages/approvals.tsx +2 -2
  70. package/src/routes/pages/apps.$appId.tsx +1 -1
  71. package/src/routes/pages/apps.tsx +3 -3
  72. package/src/routes/pages/audit.tsx +1 -1
  73. package/src/routes/pages/automations.tsx +1 -1
  74. package/src/routes/pages/destinations.tsx +2 -2
  75. package/src/routes/pages/dreams.tsx +5 -5
  76. package/src/routes/pages/identities.tsx +2 -2
  77. package/src/routes/pages/integrations.tsx +2 -2
  78. package/src/routes/pages/metrics.tsx +4 -4
  79. package/src/routes/pages/thread-debug.tsx +6 -6
  80. package/src/routes/pages/vault.tsx +3 -3
  81. package/src/routes/pages/workspace.tsx +3 -6
@@ -181,14 +181,14 @@ export function WorkspaceTemplateCard({
181
181
  return (
182
182
  <Card
183
183
  className={cn(
184
- "flex h-full flex-col border-border/60 bg-card/40 shadow-none transition-[background-color,border-color] hover:border-foreground/20 hover:bg-accent/15",
184
+ "flex h-full flex-col bg-card/40 shadow-none transition-[background-color] hover:bg-accent/15",
185
185
  className,
186
186
  )}
187
187
  >
188
188
  <CardHeader className="gap-2 p-4">
189
189
  <div className="flex items-start justify-between gap-3">
190
190
  <div className="flex min-w-0 items-start gap-2.5">
191
- <span className="mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/40 text-muted-foreground">
191
+ <span className="mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md bg-muted/40 text-muted-foreground">
192
192
  <IconFileText size={16} />
193
193
  </span>
194
194
  <div className="min-w-0">
@@ -149,7 +149,7 @@ export default function WorkspaceAppCatchAllRoute() {
149
149
  title={app?.name || t("dispatch.pages.pageNotFound")}
150
150
  description={t("dispatch.pages.pageNotFoundDescription")}
151
151
  >
152
- <div className="max-w-2xl rounded-lg border bg-card p-5">
152
+ <div className="max-w-2xl rounded-lg bg-card p-5">
153
153
  <Button asChild size="sm" variant="ghost" className="-ml-2 mb-4">
154
154
  <Link to={appPath("/overview")}>
155
155
  <IconArrowLeft size={15} className="mr-1.5" />
@@ -102,7 +102,7 @@ function DispatchMcpAccessPanel() {
102
102
  }
103
103
 
104
104
  return (
105
- <section className="rounded-2xl border bg-card p-5">
105
+ <section className="rounded-2xl bg-card p-5">
106
106
  <div className="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
107
107
  <div className="min-w-0">
108
108
  <div className="flex items-center gap-2 text-sm font-medium text-foreground">
@@ -86,7 +86,7 @@ export default function ApprovalPreviewRoute() {
86
86
  if (!id) {
87
87
  return (
88
88
  <div className="flex min-h-screen items-center justify-center bg-background p-6">
89
- <div className="w-full max-w-md rounded-2xl border bg-card p-6 text-center">
89
+ <div className="w-full max-w-md rounded-2xl bg-card p-6 text-center">
90
90
  <IconAlertCircle
91
91
  size={32}
92
92
  className="mx-auto mb-3 text-muted-foreground"
@@ -107,7 +107,7 @@ export default function ApprovalPreviewRoute() {
107
107
  return (
108
108
  <div className="flex min-h-screen items-start justify-center bg-background p-6">
109
109
  <div className="w-full max-w-md space-y-4">
110
- <div className="rounded-2xl border bg-card p-5">
110
+ <div className="rounded-2xl bg-card p-5">
111
111
  <div className="flex items-start gap-3">
112
112
  <Skeleton className="h-9 w-9 shrink-0 rounded-xl" />
113
113
  <div className="min-w-0 flex-1 space-y-2">
@@ -158,7 +158,7 @@ export default function ApprovalPreviewRoute() {
158
158
  if (!approval) {
159
159
  return (
160
160
  <div className="flex min-h-screen items-center justify-center bg-background p-6">
161
- <div className="w-full max-w-md rounded-2xl border bg-card p-6 text-center">
161
+ <div className="w-full max-w-md rounded-2xl bg-card p-6 text-center">
162
162
  <IconAlertCircle
163
163
  size={32}
164
164
  className="mx-auto mb-3 text-muted-foreground"
@@ -193,7 +193,7 @@ export default function ApprovalPreviewRoute() {
193
193
  return (
194
194
  <div className="flex min-h-screen items-start justify-center bg-background p-6">
195
195
  <div className="w-full max-w-2xl space-y-4">
196
- <div className="rounded-2xl border bg-card p-5">
196
+ <div className="rounded-2xl bg-card p-5">
197
197
  <div className="flex items-start gap-3">
198
198
  <div className="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border bg-muted text-foreground">
199
199
  <IconShieldCheck size={17} />
@@ -59,7 +59,7 @@ export default function ApprovalsRoute() {
59
59
  description="Review durable dispatch changes before they apply."
60
60
  >
61
61
  <div className="grid gap-4 xl:grid-cols-[minmax(0,0.9fr)_minmax(0,1.1fr)]">
62
- <Collapsible className="rounded-2xl border bg-card">
62
+ <Collapsible className="rounded-2xl bg-card">
63
63
  <CollapsibleTrigger className="group flex w-full cursor-pointer items-center justify-between gap-3 p-5 text-left hover:bg-muted/20">
64
64
  <span>
65
65
  <span className="block text-lg font-semibold text-foreground">
@@ -133,7 +133,7 @@ export default function ApprovalsRoute() {
133
133
  </CollapsibleContent>
134
134
  </Collapsible>
135
135
 
136
- <section className="rounded-2xl border bg-card p-5">
136
+ <section className="rounded-2xl bg-card p-5">
137
137
  <h2 className="text-lg font-semibold text-foreground">
138
138
  Pending and recent requests
139
139
  </h2>
@@ -47,7 +47,7 @@ export default function WorkspaceAppRoute() {
47
47
  title={app?.name || t("dispatch.pages.workspaceAppFallback")}
48
48
  description={t("dispatch.pages.workspaceAppDescription")}
49
49
  >
50
- <div className="max-w-2xl rounded-lg border bg-card p-5">
50
+ <div className="max-w-2xl rounded-lg bg-card p-5">
51
51
  <Button asChild size="sm" variant="ghost" className="-ml-2 mb-4">
52
52
  <Link to="/apps">
53
53
  <IconArrowLeft size={15} className="mr-1.5" />
@@ -301,7 +301,7 @@ function OtherAppsSkeletonGrid() {
301
301
  return (
302
302
  <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-3">
303
303
  {Array.from({ length: 3 }).map((_, index) => (
304
- <div key={index} className="rounded-lg border bg-card p-4">
304
+ <div key={index} className="rounded-lg bg-card p-4">
305
305
  <div className="flex items-start gap-3">
306
306
  <Skeleton className="size-8 rounded-md" />
307
307
  <div className="flex-1 space-y-3">
@@ -326,7 +326,7 @@ function OtherAppCard({ app }: { app: ConnectedAppSummary }) {
326
326
  })}
327
327
  target="_blank"
328
328
  rel="noopener noreferrer"
329
- className="group flex min-h-[116px] items-start gap-3 rounded-xl border border-border/60 bg-card/40 p-4 transition-[background-color,border-color] hover:border-foreground/20 hover:bg-accent/15 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
329
+ className="group flex min-h-[116px] items-start gap-3 rounded-xl bg-card/40 p-4 transition-[background-color] hover:bg-accent/15 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
330
330
  >
331
331
  <span className="flex size-8 shrink-0 items-center justify-center rounded-md bg-muted text-xs font-semibold text-muted-foreground">
332
332
  {app.name.charAt(0).toUpperCase()}
@@ -356,7 +356,7 @@ function AppsSkeletonGrid() {
356
356
  return (
357
357
  <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-3">
358
358
  {Array.from({ length: 3 }).map((_, index) => (
359
- <div key={index} className="rounded-lg border bg-card p-4">
359
+ <div key={index} className="rounded-lg bg-card p-4">
360
360
  <div className="flex items-start justify-between gap-3">
361
361
  <div className="min-w-0 flex-1 space-y-3">
362
362
  <Skeleton className="h-4 w-32" />
@@ -16,7 +16,7 @@ export default function AuditRoute() {
16
16
  title="Audit"
17
17
  description="Change history for routes, settings, and approvals."
18
18
  >
19
- <section className="rounded-2xl border bg-card p-5">
19
+ <section className="rounded-2xl bg-card p-5">
20
20
  {query.isError ? (
21
21
  <ActionQueryError
22
22
  error={query.error}
@@ -206,7 +206,7 @@ export default function AutomationsRoute() {
206
206
  <CreateAutomationButton />
207
207
  </div>
208
208
 
209
- <div className="divide-y rounded-lg border bg-card">
209
+ <div className="divide-y rounded-lg bg-card">
210
210
  {automationsQuery.isLoading && ordered.length === 0 ? (
211
211
  Array.from({ length: 4 }).map((_, index) => (
212
212
  <div key={index} className="px-4 py-3">
@@ -119,7 +119,7 @@ export default function DestinationsRoute() {
119
119
  >
120
120
  <div className="flex flex-col gap-4">
121
121
  <TaskQueueHealth />
122
- <section className="rounded-2xl border bg-card p-5">
122
+ <section className="rounded-2xl bg-card p-5">
123
123
  <h2 className="text-lg font-semibold text-foreground">
124
124
  {t("dispatch.pages.savedDestinations")}
125
125
  </h2>
@@ -205,7 +205,7 @@ export default function DestinationsRoute() {
205
205
  <Collapsible
206
206
  open={addOpen}
207
207
  onOpenChange={setAddOpen}
208
- className="rounded-2xl border bg-card"
208
+ className="rounded-2xl bg-card"
209
209
  >
210
210
  <CollapsibleTrigger className="group flex w-full cursor-pointer items-center justify-between gap-3 p-5 text-left hover:bg-muted/20">
211
211
  <span>
@@ -558,7 +558,7 @@ function StatTile({
558
558
  icon: typeof IconBrain;
559
559
  }) {
560
560
  return (
561
- <div className="rounded-lg border bg-card px-3 py-2.5">
561
+ <div className="rounded-lg bg-card px-3 py-2.5">
562
562
  <div className="flex items-center justify-between gap-2">
563
563
  <div className="min-w-0 flex-1">
564
564
  <div className="truncate text-[11px] font-medium uppercase tracking-wide text-muted-foreground">
@@ -867,7 +867,7 @@ function ProposalCard({
867
867
  const preview = previewQuery.data;
868
868
 
869
869
  return (
870
- <div className="rounded-lg border bg-card">
870
+ <div className="rounded-lg bg-card">
871
871
  <div className="flex flex-col gap-3 border-b px-4 py-3 md:flex-row md:items-start md:justify-between">
872
872
  <div className="min-w-0">
873
873
  <div className="flex flex-wrap items-center gap-2">
@@ -1520,7 +1520,7 @@ export default function DreamsRoute() {
1520
1520
  </div>
1521
1521
 
1522
1522
  <div className="grid gap-4 lg:grid-cols-2 xl:grid-cols-[280px_minmax(0,1fr)_380px]">
1523
- <section className="rounded-lg border bg-card">
1523
+ <section className="rounded-lg bg-card">
1524
1524
  <div className="border-b px-4 py-3">
1525
1525
  <div className="text-sm font-semibold text-foreground">
1526
1526
  Recent passes
@@ -1596,7 +1596,7 @@ export default function DreamsRoute() {
1596
1596
  </div>
1597
1597
  </section>
1598
1598
 
1599
- <section className="min-w-0 rounded-lg border bg-card">
1599
+ <section className="min-w-0 rounded-lg bg-card">
1600
1600
  <div className="border-b px-4 py-3">
1601
1601
  <div className="flex flex-wrap items-center justify-between gap-3">
1602
1602
  <div className="min-w-0">
@@ -1771,7 +1771,7 @@ export default function DreamsRoute() {
1771
1771
  </div>
1772
1772
  </section>
1773
1773
 
1774
- <section className="rounded-lg border bg-card">
1774
+ <section className="rounded-lg bg-card">
1775
1775
  <div className="border-b px-4 py-3">
1776
1776
  <div>
1777
1777
  <div className="text-sm font-semibold text-foreground">
@@ -31,7 +31,7 @@ export default function IdentitiesRoute() {
31
31
  />
32
32
  ) : (
33
33
  <div className="grid gap-4 xl:grid-cols-2">
34
- <section className="rounded-2xl border bg-card p-5">
34
+ <section className="rounded-2xl bg-card p-5">
35
35
  <div className="flex flex-wrap items-center justify-between gap-2">
36
36
  <h2 className="text-lg font-semibold text-foreground">
37
37
  Active links
@@ -73,7 +73,7 @@ export default function IdentitiesRoute() {
73
73
  </div>
74
74
  </section>
75
75
 
76
- <section className="rounded-2xl border bg-card p-5">
76
+ <section className="rounded-2xl bg-card p-5">
77
77
  <h2 className="text-lg font-semibold text-foreground">
78
78
  Link tokens
79
79
  </h2>
@@ -247,7 +247,7 @@ function ConnectorCard({
247
247
  <button
248
248
  type="button"
249
249
  onClick={() => setOpen(true)}
250
- className="group flex flex-col items-start gap-2 rounded-2xl border bg-card p-5 text-left transition hover:border-foreground/20 hover:bg-card/80 cursor-pointer"
250
+ className="group flex flex-col items-start gap-2 rounded-2xl bg-card p-5 text-left transition-[background-color] hover:bg-card/80 cursor-pointer"
251
251
  >
252
252
  <div className="flex w-full items-start justify-between gap-2">
253
253
  <div className="flex h-9 w-9 items-center justify-center rounded-xl bg-muted">
@@ -430,7 +430,7 @@ export default function ConnectionsRoute() {
430
430
  )}
431
431
 
432
432
  {apps.length > 0 && (
433
- <Collapsible className="mt-6 rounded-2xl border bg-card">
433
+ <Collapsible className="mt-6 rounded-2xl bg-card">
434
434
  <CollapsibleTrigger className="group flex w-full items-center justify-between px-4 py-3 text-sm">
435
435
  <span className="flex items-center gap-2 text-muted-foreground">
436
436
  <IconPlugConnected size={14} />
@@ -217,7 +217,7 @@ function RangeSelector({
217
217
  onChange: (value: number) => void;
218
218
  }) {
219
219
  return (
220
- <div className="flex rounded-md border bg-card p-0.5">
220
+ <div className="flex rounded-md bg-card p-0.5">
221
221
  {RANGES.map((range) => (
222
222
  <Button
223
223
  key={range}
@@ -246,7 +246,7 @@ function MetricCard({
246
246
  icon: ReactNode;
247
247
  }) {
248
248
  return (
249
- <div className="rounded-lg border bg-card p-4">
249
+ <div className="rounded-lg bg-card p-4">
250
250
  <div className="mb-3 flex items-center justify-between gap-3">
251
251
  <span className="text-xs font-medium text-muted-foreground">
252
252
  {label}
@@ -275,7 +275,7 @@ function Panel({
275
275
  action?: ReactNode;
276
276
  }) {
277
277
  return (
278
- <section className="rounded-lg border bg-card">
278
+ <section className="rounded-lg bg-card">
279
279
  <div className="flex items-center justify-between gap-3 border-b px-4 py-3">
280
280
  <div className="flex min-w-0 items-center gap-2">
281
281
  <span className="text-muted-foreground">{icon}</span>
@@ -295,7 +295,7 @@ function LoadingMetrics() {
295
295
  <div className="space-y-4">
296
296
  <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-5">
297
297
  {Array.from({ length: 5 }).map((_, index) => (
298
- <div key={index} className="rounded-lg border bg-card p-4">
298
+ <div key={index} className="rounded-lg bg-card p-4">
299
299
  <Skeleton className="mb-4 h-4 w-24" />
300
300
  <Skeleton className="h-7 w-20" />
301
301
  <Skeleton className="mt-3 h-3 w-28" />
@@ -210,7 +210,7 @@ function ResultCard({
210
210
  function MessageBlock({ message }: { message: ThreadMessage }) {
211
211
  const tools = toolParts(message);
212
212
  return (
213
- <div className="rounded-lg border bg-card">
213
+ <div className="rounded-lg bg-card">
214
214
  <div className="flex flex-wrap items-center justify-between gap-2 border-b px-3 py-2">
215
215
  <div className="flex min-w-0 items-center gap-2">
216
216
  <Badge
@@ -276,7 +276,7 @@ function ThreadDetail({ detail }: { detail: ThreadDebugResponse }) {
276
276
  );
277
277
 
278
278
  return (
279
- <div className="rounded-lg border bg-card">
279
+ <div className="rounded-lg bg-card">
280
280
  <div className="border-b px-4 py-3">
281
281
  <div className="flex flex-wrap items-start justify-between gap-3">
282
282
  <div className="min-w-0">
@@ -326,7 +326,7 @@ function ThreadDetail({ detail }: { detail: ThreadDebugResponse }) {
326
326
  <TabsContent value="runs" className="mt-4 space-y-3">
327
327
  {detail.runs.length > 0 ? (
328
328
  detail.runs.map((run) => (
329
- <details key={run.id} className="rounded-lg border bg-card">
329
+ <details key={run.id} className="rounded-lg bg-card">
330
330
  <summary className="cursor-pointer px-4 py-3">
331
331
  <div className="inline-flex flex-wrap items-center gap-2">
332
332
  <Badge variant="outline">{run.status}</Badge>
@@ -529,7 +529,7 @@ export default function ThreadDebugRoute() {
529
529
  onRetry={() => void sourcesQuery.refetch()}
530
530
  />
531
531
  ) : null}
532
- <section className="rounded-lg border bg-card p-4">
532
+ <section className="rounded-lg bg-card p-4">
533
533
  <div className="grid gap-3 lg:grid-cols-[220px_1fr_260px_auto]">
534
534
  <Select value={sourceId} onValueChange={setSourceId}>
535
535
  <SelectTrigger>
@@ -621,7 +621,7 @@ export default function ThreadDebugRoute() {
621
621
  ) : null}
622
622
 
623
623
  <div className="grid gap-4 xl:grid-cols-[380px_1fr]">
624
- <section className="min-h-[520px] rounded-lg border bg-card">
624
+ <section className="min-h-[520px] rounded-lg bg-card">
625
625
  <div className="flex items-center justify-between border-b px-4 py-3">
626
626
  <div>
627
627
  <div className="text-sm font-semibold text-foreground">
@@ -681,7 +681,7 @@ export default function ThreadDebugRoute() {
681
681
  />
682
682
  ) : null}
683
683
  {detailLoading ? (
684
- <div className="rounded-lg border bg-card p-4">
684
+ <div className="rounded-lg bg-card p-4">
685
685
  <Skeleton className="h-6 w-72" />
686
686
  <Skeleton className="mt-3 h-4 w-96" />
687
687
  <Skeleton className="mt-6 h-[520px] w-full" />
@@ -437,7 +437,7 @@ function VaultAccessSettingsCard({ mode }: { mode: VaultAccessMode }) {
437
437
  const allApps = mode !== "manual";
438
438
 
439
439
  return (
440
- <div className="rounded-xl border bg-card px-4 py-3">
440
+ <div className="rounded-xl bg-card px-4 py-3">
441
441
  <div className="flex items-center justify-between gap-4">
442
442
  <div className="min-w-0">
443
443
  <Label className="text-sm font-medium">
@@ -492,7 +492,7 @@ function SecretRow({
492
492
  const allApps = accessMode !== "manual";
493
493
 
494
494
  return (
495
- <div className="rounded-xl border bg-card">
495
+ <div className="rounded-xl bg-card">
496
496
  <button
497
497
  type="button"
498
498
  className="flex w-full items-center gap-3 px-4 py-3 text-left cursor-pointer"
@@ -827,7 +827,7 @@ export default function VaultRoute() {
827
827
  ? Array.from({ length: 3 }).map((_, index) => (
828
828
  <div
829
829
  key={index}
830
- className="rounded-2xl border bg-card px-5 py-4 space-y-2"
830
+ className="rounded-2xl bg-card px-5 py-4 space-y-2"
831
831
  >
832
832
  <Skeleton className="h-4 w-1/3" />
833
833
  <Skeleton className="h-3 w-2/3" />
@@ -716,7 +716,7 @@ function ResourceRow({ resource, grants }: { resource: any; grants: any[] }) {
716
716
  const activeGrants = grants.filter((g) => g.status === "active");
717
717
 
718
718
  return (
719
- <div className="rounded-lg border bg-card">
719
+ <div className="rounded-lg bg-card">
720
720
  <button
721
721
  type="button"
722
722
  className="flex w-full items-center gap-3 px-4 py-3 text-left cursor-pointer"
@@ -944,7 +944,7 @@ function GlobalContextSection({ resources }: { resources: any[] }) {
944
944
  const exists = !!resource;
945
945
  const global = resource?.scope === "all";
946
946
  return (
947
- <div key={item.path} className="rounded-lg border bg-card p-4">
947
+ <div key={item.path} className="rounded-lg bg-card p-4">
948
948
  <div className="flex items-start justify-between gap-3">
949
949
  <div className="min-w-0">
950
950
  <div className="flex items-center gap-2">
@@ -1056,10 +1056,7 @@ export default function WorkspaceRoute() {
1056
1056
  return (
1057
1057
  <div className="space-y-3">
1058
1058
  {Array.from({ length: 3 }).map((_, index) => (
1059
- <div
1060
- key={index}
1061
- className="rounded-lg border bg-card px-5 py-4 space-y-2"
1062
- >
1059
+ <div key={index} className="rounded-lg bg-card px-5 py-4 space-y-2">
1063
1060
  <Skeleton className="h-4 w-1/3" />
1064
1061
  <Skeleton className="h-3 w-2/3" />
1065
1062
  </div>