@lumerahq/cli 0.19.11 → 0.19.13

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.
@@ -1,5 +1,5 @@
1
- import { type ClassValue, clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
1
+ import { type ClassValue, clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
3
 
4
4
  export function cn(...inputs: ClassValue[]) {
5
5
  return twMerge(clsx(inputs));
@@ -125,6 +125,6 @@ if (rootElement && !rootElement.innerHTML) {
125
125
  ReactDOM.createRoot(rootElement).render(
126
126
  <StrictMode>
127
127
  <App />
128
- </StrictMode>,
128
+ </StrictMode>
129
129
  );
130
130
  }
@@ -1,6 +1,6 @@
1
1
  import { createFileRoute } from '@tanstack/react-router';
2
+ import { Bot, LayoutGrid, MessageSquare, Workflow } from 'lucide-react';
2
3
  import { useContext } from 'react';
3
- import { MessageSquare, LayoutGrid, Bot, Workflow } from 'lucide-react';
4
4
  import { AuthContext } from '../lib/auth';
5
5
 
6
6
  export const Route = createFileRoute('/')({
@@ -14,8 +14,12 @@ function HomePage() {
14
14
  <div className="space-y-10">
15
15
  {/* Header */}
16
16
  <div>
17
- <h1 className="text-2xl font-semibold tracking-tight">Welcome{auth?.user?.name ? `, ${auth.user.name}` : ''}</h1>
18
- <p className="text-muted-foreground mt-2 text-[0.95rem] leading-relaxed">Your app is ready. Use Studio to start building.</p>
17
+ <h1 className="text-2xl font-semibold tracking-tight">
18
+ Welcome{auth?.user?.name ? `, ${auth.user.name}` : ''}
19
+ </h1>
20
+ <p className="text-muted-foreground mt-2 text-[0.95rem] leading-relaxed">
21
+ Your app is ready. Use Studio to start building.
22
+ </p>
19
23
  </div>
20
24
 
21
25
  {/* Getting Started */}
@@ -27,8 +31,8 @@ function HomePage() {
27
31
  <div className="space-y-2">
28
32
  <h2 className="font-semibold text-lg tracking-tight">Build with Studio</h2>
29
33
  <p className="text-muted-foreground text-sm leading-relaxed">
30
- Switch to the <strong>Chat</strong> tab and tell the agent what you want to build.
31
- It will set up your data, write the logic, and build your UI — all from a conversation.
34
+ Switch to the <strong>Chat</strong> tab and tell the agent what you want to build. It
35
+ will set up your data, write the logic, and build your UI — all from a conversation.
32
36
  </p>
33
37
  </div>
34
38
  </div>
@@ -36,7 +40,9 @@ function HomePage() {
36
40
 
37
41
  {/* Example prompts */}
38
42
  <div>
39
- <h2 className="text-sm font-semibold uppercase tracking-wider text-muted-foreground mb-4">Try asking the agent</h2>
43
+ <h2 className="text-sm font-semibold uppercase tracking-wider text-muted-foreground mb-4">
44
+ Try asking the agent
45
+ </h2>
40
46
  <div className="flex flex-wrap gap-2">
41
47
  {[
42
48
  'Build an invoice processing app with approval workflows',
@@ -57,27 +63,32 @@ function HomePage() {
57
63
 
58
64
  {/* What you can build */}
59
65
  <div>
60
- <h2 className="text-sm font-semibold uppercase tracking-wider text-muted-foreground mb-5">What you can build</h2>
66
+ <h2 className="text-sm font-semibold uppercase tracking-wider text-muted-foreground mb-5">
67
+ What you can build
68
+ </h2>
61
69
  <div className="grid gap-4 md:grid-cols-3">
62
70
  <div className="group rounded-xl bg-card p-5 space-y-3 shadow-[0_1px_2px_0_oklch(0_0_0/0.03)] border border-border/60 hover:shadow-[0_4px_12px_-2px_oklch(0_0_0/0.06)] hover:border-border transition-all duration-300">
63
71
  <LayoutGrid className="size-5 text-primary transition-colors duration-300" />
64
72
  <h3 className="font-medium text-sm tracking-tight">Internal apps</h3>
65
73
  <p className="text-xs text-muted-foreground leading-relaxed">
66
- Back-office tools for your team — dashboards, approval queues, and operational workflows.
74
+ Back-office tools for your team — dashboards, approval queues, and operational
75
+ workflows.
67
76
  </p>
68
77
  </div>
69
78
  <div className="group rounded-xl bg-card p-5 space-y-3 shadow-[0_1px_2px_0_oklch(0_0_0/0.03)] border border-border/60 hover:shadow-[0_4px_12px_-2px_oklch(0_0_0/0.06)] hover:border-border transition-all duration-300">
70
79
  <Bot className="size-5 text-primary transition-colors duration-300" />
71
80
  <h3 className="font-medium text-sm tracking-tight">Agent-powered workflows</h3>
72
81
  <p className="text-xs text-muted-foreground leading-relaxed">
73
- AI agents that extract data, run reviews, draft outputs, and route exceptions — humans stay in the loop.
82
+ AI agents that extract data, run reviews, draft outputs, and route exceptions — humans
83
+ stay in the loop.
74
84
  </p>
75
85
  </div>
76
86
  <div className="group rounded-xl bg-card p-5 space-y-3 shadow-[0_1px_2px_0_oklch(0_0_0/0.03)] border border-border/60 hover:shadow-[0_4px_12px_-2px_oklch(0_0_0/0.06)] hover:border-border transition-all duration-300">
77
87
  <Workflow className="size-5 text-primary transition-colors duration-300" />
78
88
  <h3 className="font-medium text-sm tracking-tight">Automations</h3>
79
89
  <p className="text-xs text-muted-foreground leading-relaxed">
80
- Connect to your systems, process inbound emails, and trigger actions automatically — with a full audit trail.
90
+ Connect to your systems, process inbound emails, and trigger actions automatically —
91
+ with a full audit trail.
81
92
  </p>
82
93
  </div>
83
94
  </div>
@@ -1,6 +1,100 @@
1
1
  @import "tailwindcss";
2
2
  @import "tw-animate-css";
3
- @import "shadcn/tailwind.css";
3
+
4
+ @theme inline {
5
+ @keyframes accordion-down {
6
+ from {
7
+ height: 0;
8
+ }
9
+ to {
10
+ height: var(
11
+ --radix-accordion-content-height,
12
+ var(--accordion-panel-height, auto)
13
+ );
14
+ }
15
+ }
16
+
17
+ @keyframes accordion-up {
18
+ from {
19
+ height: var(
20
+ --radix-accordion-content-height,
21
+ var(--accordion-panel-height, auto)
22
+ );
23
+ }
24
+ to {
25
+ height: 0;
26
+ }
27
+ }
28
+ }
29
+
30
+ @custom-variant data-open {
31
+ &:where([data-state="open"]),
32
+ &:where([data-open]:not([data-open="false"])) {
33
+ @slot;
34
+ }
35
+ }
36
+
37
+ @custom-variant data-closed {
38
+ &:where([data-state="closed"]),
39
+ &:where([data-closed]:not([data-closed="false"])) {
40
+ @slot;
41
+ }
42
+ }
43
+
44
+ @custom-variant data-checked {
45
+ &:where([data-state="checked"]),
46
+ &:where([data-checked]:not([data-checked="false"])) {
47
+ @slot;
48
+ }
49
+ }
50
+
51
+ @custom-variant data-unchecked {
52
+ &:where([data-state="unchecked"]),
53
+ &:where([data-unchecked]:not([data-unchecked="false"])) {
54
+ @slot;
55
+ }
56
+ }
57
+
58
+ @custom-variant data-selected {
59
+ &:where([data-selected="true"]) {
60
+ @slot;
61
+ }
62
+ }
63
+
64
+ @custom-variant data-disabled {
65
+ &:where([data-disabled="true"]),
66
+ &:where([data-disabled]:not([data-disabled="false"])) {
67
+ @slot;
68
+ }
69
+ }
70
+
71
+ @custom-variant data-active {
72
+ &:where([data-state="active"]),
73
+ &:where([data-active]:not([data-active="false"])) {
74
+ @slot;
75
+ }
76
+ }
77
+
78
+ @custom-variant data-horizontal {
79
+ &:where([data-orientation="horizontal"]) {
80
+ @slot;
81
+ }
82
+ }
83
+
84
+ @custom-variant data-vertical {
85
+ &:where([data-orientation="vertical"]) {
86
+ @slot;
87
+ }
88
+ }
89
+
90
+ @utility no-scrollbar {
91
+ -ms-overflow-style: none;
92
+ scrollbar-width: none;
93
+
94
+ &::-webkit-scrollbar {
95
+ display: none;
96
+ }
97
+ }
4
98
 
5
99
  @custom-variant dark (&:is(.dark *));
6
100
 
@@ -34,7 +128,7 @@ body {
34
128
  --secondary-foreground: oklch(0.16 0.01 60);
35
129
  /* Warm stone muted tones */
36
130
  --muted: oklch(0.955 0.005 60);
37
- --muted-foreground: oklch(0.50 0.01 60);
131
+ --muted-foreground: oklch(0.5 0.01 60);
38
132
  /* Accent — lighter orange tint */
39
133
  --accent: oklch(0.95 0.03 50);
40
134
  --accent-foreground: oklch(0.35 0.12 35);
@@ -20,9 +20,6 @@ export default defineConfig({
20
20
  dedupe: ['react', 'react-dom'],
21
21
  },
22
22
  server: {
23
- allowedHosts: [
24
- 'mac.lumerahq.com',
25
- 'untunable-del-nonephemerally.ngrok-free.dev',
26
- ],
23
+ allowedHosts: ['mac.lumerahq.com'],
27
24
  },
28
25
  });