create-chaaskit 0.1.1 → 0.1.3

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 (55) hide show
  1. package/LICENSE +21 -0
  2. package/dist/templates/app/routes/chat.admin.promo-codes.tsx +10 -0
  3. package/dist/templates/app/routes/chat.admin.waitlist.tsx +10 -0
  4. package/dist/templates/app/routes.ts +2 -0
  5. package/dist/templates/config/app.config.ts +24 -0
  6. package/dist/templates/prisma/schema/base.prisma +170 -0
  7. package/dist/templates/server.js +40 -10
  8. package/package.json +19 -10
  9. package/dist/cli.d.ts +0 -3
  10. package/dist/cli.d.ts.map +0 -1
  11. package/dist/cli.js +0 -25
  12. package/dist/cli.js.map +0 -1
  13. package/dist/templates/app/components/AcceptInviteClient.tsx +0 -10
  14. package/dist/templates/app/components/AdminDashboardClient.tsx +0 -10
  15. package/dist/templates/app/components/AdminTeamClient.tsx +0 -10
  16. package/dist/templates/app/components/AdminTeamsClient.tsx +0 -10
  17. package/dist/templates/app/components/AdminUsersClient.tsx +0 -10
  18. package/dist/templates/app/components/ApiKeysClient.tsx +0 -10
  19. package/dist/templates/app/components/AutomationsClient.tsx +0 -10
  20. package/dist/templates/app/components/ChatClient.tsx +0 -13
  21. package/dist/templates/app/components/DocumentsClient.tsx +0 -10
  22. package/dist/templates/app/components/OAuthConsentClient.tsx +0 -10
  23. package/dist/templates/app/components/PricingClient.tsx +0 -10
  24. package/dist/templates/app/components/TeamSettingsClient.tsx +0 -10
  25. package/dist/templates/app/components/VerifyEmailClient.tsx +0 -10
  26. package/dist/templates/app/routes/admin._index.tsx +0 -57
  27. package/dist/templates/app/routes/admin.teams.$teamId.tsx +0 -57
  28. package/dist/templates/app/routes/admin.teams._index.tsx +0 -57
  29. package/dist/templates/app/routes/admin.users.tsx +0 -57
  30. package/dist/templates/app/routes/api-keys.tsx +0 -57
  31. package/dist/templates/app/routes/automations.tsx +0 -57
  32. package/dist/templates/app/routes/documents.tsx +0 -57
  33. package/dist/templates/app/routes/team.$teamId.settings.tsx +0 -57
  34. package/dist/templates/app/routes/thread.$threadId.tsx +0 -102
  35. package/dist/templates/docs/admin.md +0 -257
  36. package/dist/templates/docs/api-keys.md +0 -403
  37. package/dist/templates/docs/authentication.md +0 -247
  38. package/dist/templates/docs/configuration.md +0 -1212
  39. package/dist/templates/docs/custom-pages.md +0 -466
  40. package/dist/templates/docs/deployment.md +0 -362
  41. package/dist/templates/docs/development.md +0 -411
  42. package/dist/templates/docs/documents.md +0 -293
  43. package/dist/templates/docs/extensions.md +0 -639
  44. package/dist/templates/docs/index.md +0 -139
  45. package/dist/templates/docs/installation.md +0 -286
  46. package/dist/templates/docs/mcp.md +0 -952
  47. package/dist/templates/docs/native-tools.md +0 -688
  48. package/dist/templates/docs/queue.md +0 -514
  49. package/dist/templates/docs/scheduled-prompts.md +0 -279
  50. package/dist/templates/docs/settings.md +0 -415
  51. package/dist/templates/docs/slack.md +0 -318
  52. package/dist/templates/docs/styling.md +0 -288
  53. package/dist/templates/index.html +0 -16
  54. package/dist/templates/prisma/schema.prisma +0 -271
  55. package/dist/templates/src/main.tsx +0 -8
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/admin.teams.$teamId';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const AdminTeamClient = lazy(() => import('../components/AdminTeamClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Admin - Team Details' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function AdminTeamDetails() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <AdminTeamClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/admin.teams._index';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const AdminTeamsClient = lazy(() => import('../components/AdminTeamsClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Admin - Teams' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function AdminTeams() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <AdminTeamsClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/admin.users';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const AdminUsersClient = lazy(() => import('../components/AdminUsersClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Admin - Users' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function AdminUsers() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <AdminUsersClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/api-keys';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const ApiKeysClient = lazy(() => import('../components/ApiKeysClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'API Keys' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function ApiKeys() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <ApiKeysClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/automations';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const AutomationsClient = lazy(() => import('../components/AutomationsClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Automations' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function Automations() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <AutomationsClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/documents';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const DocumentsClient = lazy(() => import('../components/DocumentsClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Documents' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function Documents() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <DocumentsClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,57 +0,0 @@
1
- import type { Route } from './+types/team.$teamId.settings';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- const TeamSettingsClient = lazy(() => import('../components/TeamSettingsClient'));
6
-
7
- export function meta({}: Route.MetaArgs) {
8
- return [{ title: 'Team Settings' }];
9
- }
10
-
11
- export function links() {
12
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
13
- }
14
-
15
- export default function TeamSettings() {
16
- return (
17
- <ClientOnly fallback={<LoadingSkeleton />}>
18
- {() => (
19
- <Suspense fallback={<LoadingSkeleton />}>
20
- <TeamSettingsClient />
21
- </Suspense>
22
- )}
23
- </ClientOnly>
24
- );
25
- }
26
-
27
- function LoadingSkeleton() {
28
- return (
29
- <div
30
- style={{
31
- display: 'flex',
32
- height: '100vh',
33
- alignItems: 'center',
34
- justifyContent: 'center',
35
- backgroundColor: 'rgb(var(--color-background))',
36
- }}
37
- >
38
- <div
39
- style={{
40
- width: '2rem',
41
- height: '2rem',
42
- border: '2px solid rgb(var(--color-primary))',
43
- borderTopColor: 'transparent',
44
- borderRadius: '50%',
45
- animation: 'spin 1s linear infinite',
46
- }}
47
- />
48
- <style>
49
- {`
50
- @keyframes spin {
51
- to { transform: rotate(360deg); }
52
- }
53
- `}
54
- </style>
55
- </div>
56
- );
57
- }
@@ -1,102 +0,0 @@
1
- import type { Route } from './+types/thread.$threadId';
2
- import { lazy, Suspense } from 'react';
3
- import { ClientOnly } from '../components/ClientOnly';
4
-
5
- // Lazy load the client-only component
6
- const ChatClient = lazy(() => import('../components/ChatClient'));
7
-
8
- export function meta({}: Route.MetaArgs) {
9
- return [{ title: 'Chat' }];
10
- }
11
-
12
- // Styles are loaded via link tag in root.tsx to avoid SSR import issues
13
- export function links() {
14
- return [{ rel: 'stylesheet', href: '/node_modules/@chaaskit/client/dist/lib/styles.css' }];
15
- }
16
-
17
- /**
18
- * Thread view route - shows a specific chat thread.
19
- * Uses the same ChatClient component as the main chat route.
20
- */
21
- export default function Thread() {
22
- return (
23
- <ClientOnly fallback={<ThreadLoadingSkeleton />}>
24
- {() => (
25
- <Suspense fallback={<ThreadLoadingSkeleton />}>
26
- <ChatClient />
27
- </Suspense>
28
- )}
29
- </ClientOnly>
30
- );
31
- }
32
-
33
- function ThreadLoadingSkeleton() {
34
- return (
35
- <div style={{ display: 'flex', height: '100vh' }}>
36
- {/* Sidebar skeleton */}
37
- <div
38
- style={{
39
- width: '256px',
40
- backgroundColor: 'rgb(var(--color-sidebar))',
41
- borderRight: '1px solid rgb(var(--color-border))',
42
- padding: '1rem',
43
- }}
44
- >
45
- <div
46
- style={{
47
- height: '2rem',
48
- backgroundColor: 'rgb(var(--color-background-secondary))',
49
- borderRadius: '0.5rem',
50
- marginBottom: '1rem',
51
- }}
52
- />
53
- <div
54
- style={{
55
- height: '1rem',
56
- backgroundColor: 'rgb(var(--color-background-secondary))',
57
- borderRadius: '0.25rem',
58
- width: '80%',
59
- }}
60
- />
61
- </div>
62
- {/* Main content skeleton */}
63
- <div
64
- style={{
65
- flex: 1,
66
- display: 'flex',
67
- alignItems: 'center',
68
- justifyContent: 'center',
69
- backgroundColor: 'rgb(var(--color-background))',
70
- }}
71
- >
72
- <div
73
- style={{
74
- display: 'flex',
75
- flexDirection: 'column',
76
- alignItems: 'center',
77
- gap: '1rem',
78
- }}
79
- >
80
- <div
81
- style={{
82
- width: '2rem',
83
- height: '2rem',
84
- border: '2px solid rgb(var(--color-primary))',
85
- borderTopColor: 'transparent',
86
- borderRadius: '50%',
87
- animation: 'spin 1s linear infinite',
88
- }}
89
- />
90
- <p style={{ color: 'rgb(var(--color-text-muted))' }}>Loading...</p>
91
- </div>
92
- </div>
93
- <style>
94
- {`
95
- @keyframes spin {
96
- to { transform: rotate(360deg); }
97
- }
98
- `}
99
- </style>
100
- </div>
101
- );
102
- }