create-chaaskit 0.1.8 → 0.1.9

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,3 +1,8 @@
1
+ export interface DbSyncResult {
2
+ baseChanged: boolean;
3
+ customCreated: boolean;
4
+ hadOldSchema: boolean;
5
+ }
1
6
  /**
2
7
  * Sync the Prisma schema from @chaaskit/db to the project.
3
8
  * Uses Prisma's multi-file schema feature (prismaSchemaFolder).
@@ -9,5 +14,6 @@
9
14
  */
10
15
  export declare function dbSync(options?: {
11
16
  force?: boolean;
12
- }): Promise<void>;
17
+ quiet?: boolean;
18
+ }): Promise<DbSyncResult>;
13
19
  //# sourceMappingURL=db-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-sync.d.ts","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqG7E"}
1
+ {"version":3,"file":"db-sync.d.ts","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAoHtG"}
@@ -12,6 +12,7 @@ import path from 'path';
12
12
  export async function dbSync(options = {}) {
13
13
  const cwd = process.cwd();
14
14
  const targetSchemaDir = path.join(cwd, 'prisma', 'schema');
15
+ const { quiet } = options;
15
16
  // Find the source schema folder in node_modules
16
17
  const sourceSchemaDir = path.join(cwd, 'node_modules', '@chaaskit', 'db', 'prisma', 'schema');
17
18
  const sourceBasePath = path.join(sourceSchemaDir, 'base.prisma');
@@ -65,27 +66,37 @@ export async function dbSync(options = {}) {
65
66
  const baseChanged = sourceBaseContent !== targetBaseContent;
66
67
  if (baseChanged) {
67
68
  await fs.writeFile(targetBasePath, sourceBaseContent, 'utf-8');
68
- if (targetBaseExists) {
69
- console.log('Updated: prisma/schema/base.prisma');
70
- }
71
- else {
72
- console.log('Created: prisma/schema/base.prisma');
69
+ if (!quiet) {
70
+ if (targetBaseExists) {
71
+ console.log('Updated: prisma/schema/base.prisma');
72
+ }
73
+ else {
74
+ console.log('Created: prisma/schema/base.prisma');
75
+ }
73
76
  }
74
77
  }
75
78
  else {
76
- console.log('No changes: prisma/schema/base.prisma is up to date');
79
+ if (!quiet) {
80
+ console.log('No changes: prisma/schema/base.prisma is up to date');
81
+ }
77
82
  }
78
83
  // Create custom.prisma if it doesn't exist (never overwrite)
84
+ let customCreated = false;
79
85
  if (!targetCustomExists) {
80
86
  const sourceCustomContent = await fs.readFile(sourceCustomPath, 'utf-8');
81
87
  await fs.writeFile(targetCustomPath, sourceCustomContent, 'utf-8');
82
- console.log('Created: prisma/schema/custom.prisma');
88
+ customCreated = true;
89
+ if (!quiet) {
90
+ console.log('Created: prisma/schema/custom.prisma');
91
+ }
83
92
  }
84
93
  else {
85
- console.log('Preserved: prisma/schema/custom.prisma (your custom models)');
94
+ if (!quiet) {
95
+ console.log('Preserved: prisma/schema/custom.prisma (your custom models)');
96
+ }
86
97
  }
87
98
  // Handle migration from old single-file schema
88
- if (hadOldSchema) {
99
+ if (hadOldSchema && !quiet) {
89
100
  console.log('\n--- Migration Notice ---');
90
101
  console.log('Found old single-file schema: prisma/schema.prisma');
91
102
  console.log('');
@@ -97,7 +108,10 @@ export async function dbSync(options = {}) {
97
108
  console.log('Note: Core models (User, Thread, etc.) are now in base.prisma.');
98
109
  console.log('Only copy models YOU created to custom.prisma.');
99
110
  }
100
- printNextSteps();
111
+ if (!quiet) {
112
+ printNextSteps();
113
+ }
114
+ return { baseChanged, customCreated, hadOldSchema };
101
115
  }
102
116
  function printNextSteps() {
103
117
  console.log('\nNext steps:');
@@ -1 +1 @@
1
- {"version":3,"file":"db-sync.js","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-sync.js","sourceRoot":"","sources":["../../src/commands/db-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAYA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA4BD,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwRnE"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA4BD,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoSnE"}
@@ -5,6 +5,7 @@ import chalk from 'chalk';
5
5
  import prompts from 'prompts';
6
6
  import { generateWrapper, isThinWrapper } from '../lib/wrapper-gen.js';
7
7
  import { insertRoutes, routeExistsInConfig } from '../lib/routes-updater.js';
8
+ import { dbSync } from './db-sync.js';
8
9
  const __filename = fileURLToPath(import.meta.url);
9
10
  const __dirname = path.dirname(__filename);
10
11
  /**
@@ -233,7 +234,9 @@ export async function sync(options = {}) {
233
234
  }
234
235
  }
235
236
  }
236
- // Step 7: Summary
237
+ // Step 7: Sync database schema (base.prisma)
238
+ const dbResult = await dbSync({ quiet: true });
239
+ // Step 8: Summary
237
240
  console.log();
238
241
  if (createdRoutes > 0) {
239
242
  console.log(chalk.green(`✓ Created ${createdRoutes} route file(s)`));
@@ -247,14 +250,23 @@ export async function sync(options = {}) {
247
250
  if (frameworkUpdated > 0) {
248
251
  console.log(chalk.green(`✓ Updated ${frameworkUpdated} framework file(s)`));
249
252
  }
253
+ if (dbResult.baseChanged) {
254
+ console.log(chalk.green(`✓ Updated prisma/schema/base.prisma`));
255
+ }
256
+ if (dbResult.customCreated) {
257
+ console.log(chalk.green(`✓ Created prisma/schema/custom.prisma`));
258
+ }
250
259
  const totalChanges = createdRoutes + updatedRoutes + routesAddedToConfig + frameworkUpdated;
251
- if (totalChanges === 0) {
260
+ const schemaChanged = dbResult.baseChanged || dbResult.customCreated;
261
+ if (totalChanges === 0 && !schemaChanged) {
252
262
  console.log(chalk.dim('No changes made.'));
253
263
  }
254
264
  else {
255
265
  console.log();
256
266
  console.log('Next steps:');
257
- console.log(` ${chalk.cyan('pnpm db:generate && pnpm db:push')} (if schema changed)`);
267
+ if (schemaChanged) {
268
+ console.log(` ${chalk.cyan('pnpm db:generate && pnpm db:push')} (schema was updated)`);
269
+ }
258
270
  console.log(` Restart your dev server`);
259
271
  }
260
272
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -1,334 +1,10 @@
1
- import { Form, redirect, useNavigation } from 'react-router';
2
- import type { Route } from './+types/login';
3
- import { config } from '../../config/app.config';
1
+ import { createRoute } from '@chaaskit/client/ssr-utils';
4
2
 
5
- export async function loader({}: Route.LoaderArgs) {
6
- return { config };
7
- }
3
+ const route = createRoute({
4
+ title: 'Sign In',
5
+ load: () => import('@chaaskit/client/routes/LoginRoute'),
6
+ });
8
7
 
9
- export async function action({ request }: Route.ActionArgs) {
10
- const formData = await request.formData();
11
- const email = formData.get('email') as string;
12
- const password = formData.get('password') as string;
13
-
14
- const apiUrl = process.env.API_URL || 'http://localhost:3000';
15
- const res = await fetch(`${apiUrl}/api/auth/login`, {
16
- method: 'POST',
17
- headers: { 'Content-Type': 'application/json' },
18
- body: JSON.stringify({ email, password }),
19
- });
20
-
21
- if (!res.ok) {
22
- // Try to parse JSON, fallback to text for rate limit errors etc.
23
- let errorMessage = 'Login failed';
24
- const contentType = res.headers.get('content-type');
25
- if (contentType?.includes('application/json')) {
26
- try {
27
- const data = await res.json();
28
- // Handle both {error: "string"} and {error: {message: "string"}} formats
29
- errorMessage = typeof data.error === 'string'
30
- ? data.error
31
- : data.error?.message || data.message || 'Login failed';
32
- } catch {
33
- errorMessage = await res.text() || 'Login failed';
34
- }
35
- } else {
36
- errorMessage = await res.text() || 'Login failed';
37
- }
38
- return { error: errorMessage };
39
- }
40
-
41
- // Get redirect URL from query params or default to /chat
42
- const url = new URL(request.url);
43
- const redirectTo = url.searchParams.get('redirect') || '/chat';
44
-
45
- // Forward the session cookie from the API response
46
- const setCookie = res.headers.get('set-cookie');
47
-
48
- return redirect(redirectTo, {
49
- headers: setCookie ? { 'Set-Cookie': setCookie } : {},
50
- });
51
- }
52
-
53
- export function meta({}: Route.MetaArgs) {
54
- return [{ title: `Sign In - ${config.app.name}` }];
55
- }
56
-
57
- export default function Login({
58
- loaderData,
59
- actionData,
60
- }: Route.ComponentProps) {
61
- const { config } = loaderData;
62
- const navigation = useNavigation();
63
- const isSubmitting = navigation.state === 'submitting';
64
-
65
- const hasGoogle = config.auth?.methods?.includes('google') ?? false;
66
- const hasGitHub = config.auth?.methods?.includes('github') ?? false;
67
- const hasEmailPassword = config.auth?.methods?.includes('email-password') ?? true;
68
-
69
- return (
70
- <div
71
- style={{
72
- display: 'flex',
73
- minHeight: '100vh',
74
- alignItems: 'center',
75
- justifyContent: 'center',
76
- backgroundColor: 'rgb(var(--color-background))',
77
- padding: '1rem',
78
- }}
79
- >
80
- <div style={{ width: '100%', maxWidth: '28rem' }}>
81
- <div style={{ marginBottom: '2rem', textAlign: 'center' }}>
82
- {config.ui?.logo && (
83
- <img
84
- src={
85
- typeof config.ui.logo === 'string'
86
- ? config.ui.logo
87
- : config.ui.logo.light
88
- }
89
- alt={config.app.name}
90
- style={{
91
- height: '4rem',
92
- width: '4rem',
93
- marginLeft: 'auto',
94
- marginRight: 'auto',
95
- marginBottom: '1rem',
96
- borderRadius: '0.5rem',
97
- objectFit: 'contain',
98
- }}
99
- />
100
- )}
101
- <h1
102
- style={{
103
- fontSize: '1.875rem',
104
- fontWeight: 'bold',
105
- color: 'rgb(var(--color-text-primary))',
106
- margin: 0,
107
- }}
108
- >
109
- Welcome back
110
- </h1>
111
- <p
112
- style={{
113
- marginTop: '0.5rem',
114
- color: 'rgb(var(--color-text-secondary))',
115
- }}
116
- >
117
- Sign in to {config.app.name}
118
- </p>
119
- </div>
120
-
121
- {/* OAuth buttons */}
122
- {(hasGoogle || hasGitHub) && (
123
- <div
124
- style={{
125
- marginBottom: '1.5rem',
126
- display: 'flex',
127
- flexDirection: 'column',
128
- gap: '0.75rem',
129
- }}
130
- >
131
- {hasGoogle && (
132
- <a
133
- href="/api/auth/oauth/google"
134
- style={{
135
- display: 'flex',
136
- width: '100%',
137
- alignItems: 'center',
138
- justifyContent: 'center',
139
- gap: '0.5rem',
140
- borderRadius: '0.5rem',
141
- border: '1px solid rgb(var(--color-border))',
142
- backgroundColor: 'rgb(var(--color-background))',
143
- padding: '0.5rem 1rem',
144
- color: 'rgb(var(--color-text-primary))',
145
- textDecoration: 'none',
146
- }}
147
- >
148
- Continue with Google
149
- </a>
150
- )}
151
- {hasGitHub && (
152
- <a
153
- href="/api/auth/oauth/github"
154
- style={{
155
- display: 'flex',
156
- width: '100%',
157
- alignItems: 'center',
158
- justifyContent: 'center',
159
- gap: '0.5rem',
160
- borderRadius: '0.5rem',
161
- border: '1px solid rgb(var(--color-border))',
162
- backgroundColor: 'rgb(var(--color-background))',
163
- padding: '0.5rem 1rem',
164
- color: 'rgb(var(--color-text-primary))',
165
- textDecoration: 'none',
166
- }}
167
- >
168
- Continue with GitHub
169
- </a>
170
- )}
171
- </div>
172
- )}
173
-
174
- {(hasGoogle || hasGitHub) && hasEmailPassword && (
175
- <div style={{ position: 'relative', marginBottom: '1.5rem' }}>
176
- <div
177
- style={{
178
- position: 'absolute',
179
- inset: 0,
180
- display: 'flex',
181
- alignItems: 'center',
182
- }}
183
- >
184
- <div
185
- style={{
186
- width: '100%',
187
- borderTop: '1px solid rgb(var(--color-border))',
188
- }}
189
- />
190
- </div>
191
- <div
192
- style={{
193
- position: 'relative',
194
- display: 'flex',
195
- justifyContent: 'center',
196
- fontSize: '0.875rem',
197
- }}
198
- >
199
- <span
200
- style={{
201
- backgroundColor: 'rgb(var(--color-background))',
202
- padding: '0 0.5rem',
203
- color: 'rgb(var(--color-text-muted))',
204
- }}
205
- >
206
- Or continue with email
207
- </span>
208
- </div>
209
- </div>
210
- )}
211
-
212
- {hasEmailPassword && (
213
- <Form
214
- method="post"
215
- style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}
216
- >
217
- <div>
218
- <label
219
- htmlFor="email"
220
- style={{
221
- display: 'block',
222
- fontSize: '0.875rem',
223
- fontWeight: 500,
224
- color: 'rgb(var(--color-text-primary))',
225
- }}
226
- >
227
- Email
228
- </label>
229
- <input
230
- type="email"
231
- id="email"
232
- name="email"
233
- required
234
- style={{
235
- marginTop: '0.25rem',
236
- width: '100%',
237
- borderRadius: '0.5rem',
238
- border: '1px solid rgb(var(--color-input-border))',
239
- backgroundColor: 'rgb(var(--color-input-background))',
240
- padding: '0.5rem 1rem',
241
- color: 'rgb(var(--color-text-primary))',
242
- boxSizing: 'border-box',
243
- }}
244
- />
245
- </div>
246
-
247
- <div>
248
- <label
249
- htmlFor="password"
250
- style={{
251
- display: 'block',
252
- fontSize: '0.875rem',
253
- fontWeight: 500,
254
- color: 'rgb(var(--color-text-primary))',
255
- }}
256
- >
257
- Password
258
- </label>
259
- <input
260
- type="password"
261
- id="password"
262
- name="password"
263
- required
264
- style={{
265
- marginTop: '0.25rem',
266
- width: '100%',
267
- borderRadius: '0.5rem',
268
- border: '1px solid rgb(var(--color-input-border))',
269
- backgroundColor: 'rgb(var(--color-input-background))',
270
- padding: '0.5rem 1rem',
271
- color: 'rgb(var(--color-text-primary))',
272
- boxSizing: 'border-box',
273
- }}
274
- />
275
- </div>
276
-
277
- {actionData?.error && (
278
- <div
279
- style={{
280
- padding: '0.75rem',
281
- backgroundColor: 'rgba(239, 68, 68, 0.1)',
282
- borderRadius: '0.5rem',
283
- color: 'rgb(239, 68, 68)',
284
- fontSize: '0.875rem',
285
- textAlign: 'center',
286
- }}
287
- >
288
- {actionData.error}
289
- </div>
290
- )}
291
-
292
- <button
293
- type="submit"
294
- disabled={isSubmitting}
295
- style={{
296
- width: '100%',
297
- borderRadius: '0.5rem',
298
- backgroundColor: 'rgb(var(--color-primary))',
299
- padding: '0.5rem 1rem',
300
- fontWeight: 500,
301
- color: 'white',
302
- border: 'none',
303
- cursor: isSubmitting ? 'not-allowed' : 'pointer',
304
- opacity: isSubmitting ? 0.7 : 1,
305
- }}
306
- >
307
- {isSubmitting ? 'Signing in...' : 'Sign in'}
308
- </button>
309
- </Form>
310
- )}
311
-
312
- <p
313
- style={{
314
- marginTop: '1.5rem',
315
- textAlign: 'center',
316
- fontSize: '0.875rem',
317
- color: 'rgb(var(--color-text-secondary))',
318
- }}
319
- >
320
- Don't have an account?{' '}
321
- <a
322
- href="/register"
323
- style={{
324
- color: 'rgb(var(--color-primary))',
325
- textDecoration: 'none',
326
- }}
327
- >
328
- Sign up
329
- </a>
330
- </p>
331
- </div>
332
- </div>
333
- );
334
- }
8
+ export const meta = route.meta;
9
+ export const links = route.links;
10
+ export default route.default;
@@ -1,398 +1,10 @@
1
- import { Form, redirect, useNavigation } from 'react-router';
2
- import type { Route } from './+types/register';
3
- import { config } from '../../config/app.config';
1
+ import { createRoute } from '@chaaskit/client/ssr-utils';
4
2
 
5
- export async function loader({}: Route.LoaderArgs) {
6
- return { config };
7
- }
3
+ const route = createRoute({
4
+ title: 'Create Account',
5
+ load: () => import('@chaaskit/client/routes/RegisterRoute'),
6
+ });
8
7
 
9
- export async function action({ request }: Route.ActionArgs) {
10
- const formData = await request.formData();
11
- const name = formData.get('name') as string;
12
- const email = formData.get('email') as string;
13
- const password = formData.get('password') as string;
14
-
15
- const apiUrl = process.env.API_URL || 'http://localhost:3000';
16
- const res = await fetch(`${apiUrl}/api/auth/register`, {
17
- method: 'POST',
18
- headers: { 'Content-Type': 'application/json' },
19
- body: JSON.stringify({ name, email, password }),
20
- });
21
-
22
- if (!res.ok) {
23
- // Try to parse JSON, fallback to text for rate limit errors etc.
24
- let errorMessage = 'Registration failed';
25
- const contentType = res.headers.get('content-type');
26
- if (contentType?.includes('application/json')) {
27
- try {
28
- const data = await res.json();
29
- // Handle both {error: "string"} and {error: {message: "string"}} formats
30
- errorMessage = typeof data.error === 'string'
31
- ? data.error
32
- : data.error?.message || data.message || 'Registration failed';
33
- } catch {
34
- errorMessage = await res.text() || 'Registration failed';
35
- }
36
- } else {
37
- errorMessage = await res.text() || 'Registration failed';
38
- }
39
- return { error: errorMessage };
40
- }
41
-
42
- const data = await res.json();
43
-
44
- // Handle email verification flow
45
- if (data.requiresVerification) {
46
- return redirect('/verify-email');
47
- }
48
-
49
- // Forward the session cookie and redirect to chat
50
- const setCookie = res.headers.get('set-cookie');
51
- return redirect('/chat', {
52
- headers: setCookie ? { 'Set-Cookie': setCookie } : {},
53
- });
54
- }
55
-
56
- export function meta({}: Route.MetaArgs) {
57
- return [{ title: `Create Account - ${config.app.name}` }];
58
- }
59
-
60
- export default function Register({
61
- loaderData,
62
- actionData,
63
- }: Route.ComponentProps) {
64
- const { config } = loaderData;
65
- const navigation = useNavigation();
66
- const isSubmitting = navigation.state === 'submitting';
67
-
68
- const hasGoogle = config.auth?.methods?.includes('google') ?? false;
69
- const hasGitHub = config.auth?.methods?.includes('github') ?? false;
70
- const hasEmailPassword = config.auth?.methods?.includes('email-password') ?? true;
71
-
72
- return (
73
- <div
74
- style={{
75
- display: 'flex',
76
- minHeight: '100vh',
77
- alignItems: 'center',
78
- justifyContent: 'center',
79
- backgroundColor: 'rgb(var(--color-background))',
80
- padding: '1rem',
81
- }}
82
- >
83
- <div style={{ width: '100%', maxWidth: '28rem' }}>
84
- <div style={{ marginBottom: '2rem', textAlign: 'center' }}>
85
- {config.ui?.logo && (
86
- <img
87
- src={
88
- typeof config.ui.logo === 'string'
89
- ? config.ui.logo
90
- : config.ui.logo.light
91
- }
92
- alt={config.app.name}
93
- style={{
94
- height: '4rem',
95
- width: '4rem',
96
- marginLeft: 'auto',
97
- marginRight: 'auto',
98
- marginBottom: '1rem',
99
- borderRadius: '0.5rem',
100
- objectFit: 'contain',
101
- }}
102
- />
103
- )}
104
- <h1
105
- style={{
106
- fontSize: '1.875rem',
107
- fontWeight: 'bold',
108
- color: 'rgb(var(--color-text-primary))',
109
- margin: 0,
110
- }}
111
- >
112
- Create an account
113
- </h1>
114
- <p
115
- style={{
116
- marginTop: '0.5rem',
117
- color: 'rgb(var(--color-text-secondary))',
118
- }}
119
- >
120
- Get started with {config.app.name}
121
- </p>
122
- </div>
123
-
124
- {/* OAuth buttons */}
125
- {(hasGoogle || hasGitHub) && (
126
- <div
127
- style={{
128
- marginBottom: '1.5rem',
129
- display: 'flex',
130
- flexDirection: 'column',
131
- gap: '0.75rem',
132
- }}
133
- >
134
- {hasGoogle && (
135
- <a
136
- href="/api/auth/oauth/google"
137
- style={{
138
- display: 'flex',
139
- width: '100%',
140
- alignItems: 'center',
141
- justifyContent: 'center',
142
- gap: '0.5rem',
143
- borderRadius: '0.5rem',
144
- border: '1px solid rgb(var(--color-border))',
145
- backgroundColor: 'rgb(var(--color-background))',
146
- padding: '0.5rem 1rem',
147
- color: 'rgb(var(--color-text-primary))',
148
- textDecoration: 'none',
149
- }}
150
- >
151
- Sign up with Google
152
- </a>
153
- )}
154
- {hasGitHub && (
155
- <a
156
- href="/api/auth/oauth/github"
157
- style={{
158
- display: 'flex',
159
- width: '100%',
160
- alignItems: 'center',
161
- justifyContent: 'center',
162
- gap: '0.5rem',
163
- borderRadius: '0.5rem',
164
- border: '1px solid rgb(var(--color-border))',
165
- backgroundColor: 'rgb(var(--color-background))',
166
- padding: '0.5rem 1rem',
167
- color: 'rgb(var(--color-text-primary))',
168
- textDecoration: 'none',
169
- }}
170
- >
171
- Sign up with GitHub
172
- </a>
173
- )}
174
- </div>
175
- )}
176
-
177
- {(hasGoogle || hasGitHub) && hasEmailPassword && (
178
- <div style={{ position: 'relative', marginBottom: '1.5rem' }}>
179
- <div
180
- style={{
181
- position: 'absolute',
182
- inset: 0,
183
- display: 'flex',
184
- alignItems: 'center',
185
- }}
186
- >
187
- <div
188
- style={{
189
- width: '100%',
190
- borderTop: '1px solid rgb(var(--color-border))',
191
- }}
192
- />
193
- </div>
194
- <div
195
- style={{
196
- position: 'relative',
197
- display: 'flex',
198
- justifyContent: 'center',
199
- fontSize: '0.875rem',
200
- }}
201
- >
202
- <span
203
- style={{
204
- backgroundColor: 'rgb(var(--color-background))',
205
- padding: '0 0.5rem',
206
- color: 'rgb(var(--color-text-muted))',
207
- }}
208
- >
209
- Or continue with email
210
- </span>
211
- </div>
212
- </div>
213
- )}
214
-
215
- {hasEmailPassword && (
216
- <Form
217
- method="post"
218
- style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}
219
- >
220
- <div>
221
- <label
222
- htmlFor="name"
223
- style={{
224
- display: 'block',
225
- fontSize: '0.875rem',
226
- fontWeight: 500,
227
- color: 'rgb(var(--color-text-primary))',
228
- }}
229
- >
230
- Name
231
- </label>
232
- <input
233
- type="text"
234
- id="name"
235
- name="name"
236
- required
237
- style={{
238
- marginTop: '0.25rem',
239
- width: '100%',
240
- borderRadius: '0.5rem',
241
- border: '1px solid rgb(var(--color-input-border))',
242
- backgroundColor: 'rgb(var(--color-input-background))',
243
- padding: '0.5rem 1rem',
244
- color: 'rgb(var(--color-text-primary))',
245
- boxSizing: 'border-box',
246
- }}
247
- />
248
- </div>
249
-
250
- <div>
251
- <label
252
- htmlFor="email"
253
- style={{
254
- display: 'block',
255
- fontSize: '0.875rem',
256
- fontWeight: 500,
257
- color: 'rgb(var(--color-text-primary))',
258
- }}
259
- >
260
- Email
261
- </label>
262
- <input
263
- type="email"
264
- id="email"
265
- name="email"
266
- required
267
- style={{
268
- marginTop: '0.25rem',
269
- width: '100%',
270
- borderRadius: '0.5rem',
271
- border: '1px solid rgb(var(--color-input-border))',
272
- backgroundColor: 'rgb(var(--color-input-background))',
273
- padding: '0.5rem 1rem',
274
- color: 'rgb(var(--color-text-primary))',
275
- boxSizing: 'border-box',
276
- }}
277
- />
278
- </div>
279
-
280
- <div>
281
- <label
282
- htmlFor="password"
283
- style={{
284
- display: 'block',
285
- fontSize: '0.875rem',
286
- fontWeight: 500,
287
- color: 'rgb(var(--color-text-primary))',
288
- }}
289
- >
290
- Password
291
- </label>
292
- <input
293
- type="password"
294
- id="password"
295
- name="password"
296
- required
297
- minLength={8}
298
- style={{
299
- marginTop: '0.25rem',
300
- width: '100%',
301
- borderRadius: '0.5rem',
302
- border: '1px solid rgb(var(--color-input-border))',
303
- backgroundColor: 'rgb(var(--color-input-background))',
304
- padding: '0.5rem 1rem',
305
- color: 'rgb(var(--color-text-primary))',
306
- boxSizing: 'border-box',
307
- }}
308
- />
309
- </div>
310
-
311
- {actionData?.error && (
312
- <div
313
- style={{
314
- padding: '0.75rem',
315
- backgroundColor: 'rgba(239, 68, 68, 0.1)',
316
- borderRadius: '0.5rem',
317
- color: 'rgb(239, 68, 68)',
318
- fontSize: '0.875rem',
319
- textAlign: 'center',
320
- }}
321
- >
322
- {actionData.error}
323
- </div>
324
- )}
325
-
326
- <button
327
- type="submit"
328
- disabled={isSubmitting}
329
- style={{
330
- width: '100%',
331
- borderRadius: '0.5rem',
332
- backgroundColor: 'rgb(var(--color-primary))',
333
- padding: '0.5rem 1rem',
334
- fontWeight: 500,
335
- color: 'white',
336
- border: 'none',
337
- cursor: isSubmitting ? 'not-allowed' : 'pointer',
338
- opacity: isSubmitting ? 0.7 : 1,
339
- }}
340
- >
341
- {isSubmitting ? 'Creating account...' : 'Create account'}
342
- </button>
343
- </Form>
344
- )}
345
-
346
- <p
347
- style={{
348
- marginTop: '1rem',
349
- textAlign: 'center',
350
- fontSize: '0.75rem',
351
- color: 'rgb(var(--color-text-muted))',
352
- }}
353
- >
354
- By signing up, you agree to our{' '}
355
- <a
356
- href={config.legal?.termsOfServiceUrl || '/terms'}
357
- style={{
358
- color: 'rgb(var(--color-primary))',
359
- textDecoration: 'none',
360
- }}
361
- >
362
- Terms of Service
363
- </a>{' '}
364
- and{' '}
365
- <a
366
- href={config.legal?.privacyPolicyUrl || '/privacy'}
367
- style={{
368
- color: 'rgb(var(--color-primary))',
369
- textDecoration: 'none',
370
- }}
371
- >
372
- Privacy Policy
373
- </a>
374
- </p>
375
-
376
- <p
377
- style={{
378
- marginTop: '1.5rem',
379
- textAlign: 'center',
380
- fontSize: '0.875rem',
381
- color: 'rgb(var(--color-text-secondary))',
382
- }}
383
- >
384
- Already have an account?{' '}
385
- <a
386
- href="/login"
387
- style={{
388
- color: 'rgb(var(--color-primary))',
389
- textDecoration: 'none',
390
- }}
391
- >
392
- Sign in
393
- </a>
394
- </p>
395
- </div>
396
- </div>
397
- );
398
- }
8
+ export const meta = route.meta;
9
+ export const links = route.links;
10
+ export default route.default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-chaaskit",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "CLI to create and manage ChaasKit AI chat SaaS applications",
5
5
  "license": "MIT",
6
6
  "author": "Matt Ferrante <@ferrants>",