@rubytech/create-maxy 1.0.0

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 (181) hide show
  1. package/dist/index.js +428 -0
  2. package/package.json +31 -0
  3. package/payload/maxy/.env.example +12 -0
  4. package/payload/maxy/app/admin/components/ActivityTimeline.tsx +348 -0
  5. package/payload/maxy/app/admin/components/MarkdownMessage.tsx +40 -0
  6. package/payload/maxy/app/api/admin/chat/route.ts +72 -0
  7. package/payload/maxy/app/api/admin/logs/route.ts +40 -0
  8. package/payload/maxy/app/api/admin/session/route.ts +74 -0
  9. package/payload/maxy/app/api/chat/route.ts +72 -0
  10. package/payload/maxy/app/api/health/route.ts +26 -0
  11. package/payload/maxy/app/api/onboarding/claude-auth/route.ts +216 -0
  12. package/payload/maxy/app/api/onboarding/set-pin/route.ts +44 -0
  13. package/payload/maxy/app/api/session/route.ts +51 -0
  14. package/payload/maxy/app/api/telegram/webhook/route.ts +107 -0
  15. package/payload/maxy/app/apple-icon.png +0 -0
  16. package/payload/maxy/app/bot/page.tsx +373 -0
  17. package/payload/maxy/app/favicon.ico +0 -0
  18. package/payload/maxy/app/globals.css +1681 -0
  19. package/payload/maxy/app/layout.tsx +58 -0
  20. package/payload/maxy/app/lib/claude-agent.ts +503 -0
  21. package/payload/maxy/app/og/layout.tsx +15 -0
  22. package/payload/maxy/app/og/page.tsx +252 -0
  23. package/payload/maxy/app/page.tsx +594 -0
  24. package/payload/maxy/app/privacy/page.tsx +72 -0
  25. package/payload/maxy/app/public/page.tsx +266 -0
  26. package/payload/maxy/next.config.mjs +26 -0
  27. package/payload/maxy/package-lock.json +2198 -0
  28. package/payload/maxy/package.json +25 -0
  29. package/payload/maxy/proxy.ts +41 -0
  30. package/payload/maxy/public/brand/claude.png +0 -0
  31. package/payload/maxy/public/brand/maxy-black.png +0 -0
  32. package/payload/maxy/public/brand/maxy.png +0 -0
  33. package/payload/maxy/public/favicon.ico +0 -0
  34. package/payload/maxy/public/og-landscape.png +0 -0
  35. package/payload/maxy/public/og-portrait.png +0 -0
  36. package/payload/maxy/public/og-square.png +0 -0
  37. package/payload/maxy/public/pi-5.jpg +0 -0
  38. package/payload/maxy/public/robots.txt +5 -0
  39. package/payload/maxy/tsconfig.json +41 -0
  40. package/payload/maxy/tsconfig.tsbuildinfo +1 -0
  41. package/payload/maxy/ui.md +28 -0
  42. package/payload/platform/config/cloudflared.yml +17 -0
  43. package/payload/platform/knowledge/maxy.md +161 -0
  44. package/payload/platform/neo4j/schema.cypher +108 -0
  45. package/payload/platform/package-lock.json +1835 -0
  46. package/payload/platform/package.json +17 -0
  47. package/payload/platform/plugins/admin/PLUGIN.md +24 -0
  48. package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +56 -0
  49. package/payload/platform/plugins/admin/hooks/session-start.sh +20 -0
  50. package/payload/platform/plugins/admin/mcp/dist/index.d.ts +2 -0
  51. package/payload/platform/plugins/admin/mcp/dist/index.d.ts.map +1 -0
  52. package/payload/platform/plugins/admin/mcp/dist/index.js +149 -0
  53. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -0
  54. package/payload/platform/plugins/admin/mcp/package.json +18 -0
  55. package/payload/platform/plugins/anthropic/PLUGIN.md +30 -0
  56. package/payload/platform/plugins/anthropic/references/setup-guide.md +146 -0
  57. package/payload/platform/plugins/business-assistant/PLUGIN.md +46 -0
  58. package/payload/platform/plugins/business-assistant/references/crm.md +112 -0
  59. package/payload/platform/plugins/business-assistant/references/document-management.md +96 -0
  60. package/payload/platform/plugins/business-assistant/references/escalation.md +126 -0
  61. package/payload/platform/plugins/business-assistant/references/invoicing.md +163 -0
  62. package/payload/platform/plugins/business-assistant/references/quoting.md +56 -0
  63. package/payload/platform/plugins/business-assistant/references/scheduling.md +127 -0
  64. package/payload/platform/plugins/cloudflare/PLUGIN.md +31 -0
  65. package/payload/platform/plugins/cloudflare/mcp/dist/index.d.ts +2 -0
  66. package/payload/platform/plugins/cloudflare/mcp/dist/index.d.ts.map +1 -0
  67. package/payload/platform/plugins/cloudflare/mcp/dist/index.js +174 -0
  68. package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -0
  69. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +45 -0
  70. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +1 -0
  71. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +256 -0
  72. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -0
  73. package/payload/platform/plugins/cloudflare/mcp/package.json +18 -0
  74. package/payload/platform/plugins/cloudflare/references/setup-guide.md +110 -0
  75. package/payload/platform/plugins/contacts/PLUGIN.md +18 -0
  76. package/payload/platform/plugins/contacts/mcp/dist/index.d.ts +2 -0
  77. package/payload/platform/plugins/contacts/mcp/dist/index.d.ts.map +1 -0
  78. package/payload/platform/plugins/contacts/mcp/dist/index.js +182 -0
  79. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -0
  80. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.d.ts +5 -0
  81. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.d.ts.map +1 -0
  82. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js +34 -0
  83. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js.map +1 -0
  84. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts +19 -0
  85. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts.map +1 -0
  86. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +68 -0
  87. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -0
  88. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts +22 -0
  89. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts.map +1 -0
  90. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js +46 -0
  91. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js.map +1 -0
  92. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts +20 -0
  93. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts.map +1 -0
  94. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js +56 -0
  95. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js.map +1 -0
  96. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts +13 -0
  97. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts.map +1 -0
  98. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js +54 -0
  99. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js.map +1 -0
  100. package/payload/platform/plugins/contacts/mcp/package.json +19 -0
  101. package/payload/platform/plugins/documents/PLUGIN.md +12 -0
  102. package/payload/platform/plugins/documents/mcp/dist/index.d.ts +2 -0
  103. package/payload/platform/plugins/documents/mcp/dist/index.d.ts.map +1 -0
  104. package/payload/platform/plugins/documents/mcp/dist/index.js +82 -0
  105. package/payload/platform/plugins/documents/mcp/dist/index.js.map +1 -0
  106. package/payload/platform/plugins/documents/mcp/package.json +20 -0
  107. package/payload/platform/plugins/memory/PLUGIN.md +17 -0
  108. package/payload/platform/plugins/memory/mcp/dist/index.d.ts +2 -0
  109. package/payload/platform/plugins/memory/mcp/dist/index.d.ts.map +1 -0
  110. package/payload/platform/plugins/memory/mcp/dist/index.js +164 -0
  111. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -0
  112. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.d.ts +3 -0
  113. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.d.ts.map +1 -0
  114. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.js +29 -0
  115. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.js.map +1 -0
  116. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.d.ts +5 -0
  117. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.d.ts.map +1 -0
  118. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js +34 -0
  119. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js.map +1 -0
  120. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts +8 -0
  121. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts.map +1 -0
  122. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js +71 -0
  123. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js.map +1 -0
  124. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.d.ts +24 -0
  125. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.d.ts.map +1 -0
  126. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +125 -0
  127. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -0
  128. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +18 -0
  129. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -0
  130. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +56 -0
  131. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -0
  132. package/payload/platform/plugins/memory/mcp/package.json +19 -0
  133. package/payload/platform/plugins/sales/PLUGIN.md +65 -0
  134. package/payload/platform/plugins/sales/references/close-tracking.md +76 -0
  135. package/payload/platform/plugins/sales/references/closing-framework.md +108 -0
  136. package/payload/platform/plugins/sales/references/comparisons.md +99 -0
  137. package/payload/platform/plugins/sales/references/competitive-positioning.md +51 -0
  138. package/payload/platform/plugins/sales/references/faq.md +62 -0
  139. package/payload/platform/plugins/sales/references/objection-handling.md +157 -0
  140. package/payload/platform/plugins/sales/references/pricing.md +71 -0
  141. package/payload/platform/plugins/sales/references/waitlist.md +23 -0
  142. package/payload/platform/plugins/scheduling/PLUGIN.md +12 -0
  143. package/payload/platform/plugins/scheduling/mcp/dist/index.d.ts +2 -0
  144. package/payload/platform/plugins/scheduling/mcp/dist/index.d.ts.map +1 -0
  145. package/payload/platform/plugins/scheduling/mcp/dist/index.js +13 -0
  146. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -0
  147. package/payload/platform/plugins/scheduling/mcp/package.json +18 -0
  148. package/payload/platform/plugins/telegram/PLUGIN.md +31 -0
  149. package/payload/platform/plugins/telegram/mcp/dist/index.d.ts +2 -0
  150. package/payload/platform/plugins/telegram/mcp/dist/index.d.ts.map +1 -0
  151. package/payload/platform/plugins/telegram/mcp/dist/index.js +101 -0
  152. package/payload/platform/plugins/telegram/mcp/dist/index.js.map +1 -0
  153. package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.d.ts +27 -0
  154. package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.d.ts.map +1 -0
  155. package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.js +41 -0
  156. package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.js.map +1 -0
  157. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.d.ts +16 -0
  158. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.d.ts.map +1 -0
  159. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js +62 -0
  160. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js.map +1 -0
  161. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts +20 -0
  162. package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts.map +1 -0
  163. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js +34 -0
  164. package/payload/platform/plugins/telegram/mcp/dist/tools/message.js.map +1 -0
  165. package/payload/platform/plugins/telegram/mcp/package.json +19 -0
  166. package/payload/platform/plugins/telegram/references/setup-guide.md +50 -0
  167. package/payload/platform/plugins/web/PLUGIN.md +12 -0
  168. package/payload/platform/plugins/web/mcp/dist/index.d.ts +2 -0
  169. package/payload/platform/plugins/web/mcp/dist/index.d.ts.map +1 -0
  170. package/payload/platform/plugins/web/mcp/dist/index.js +12 -0
  171. package/payload/platform/plugins/web/mcp/dist/index.js.map +1 -0
  172. package/payload/platform/plugins/web/mcp/package.json +18 -0
  173. package/payload/platform/scripts/seed-neo4j.sh +73 -0
  174. package/payload/platform/scripts/setup.sh +177 -0
  175. package/payload/platform/scripts/start.sh +62 -0
  176. package/payload/platform/templates/account.json +4 -0
  177. package/payload/platform/templates/agents/admin/IDENTITY.md +28 -0
  178. package/payload/platform/templates/agents/admin/SOUL.md +1 -0
  179. package/payload/platform/templates/agents/public/IDENTITY.md +21 -0
  180. package/payload/platform/templates/agents/public/SOUL.md +1 -0
  181. package/payload/platform/tsconfig.base.json +18 -0
@@ -0,0 +1,252 @@
1
+ import Image from 'next/image'
2
+
3
+ type Format = 'landscape' | 'square' | 'portrait' | 'linkedin-banner'
4
+
5
+ const dimensions: Record<Format, { width: number; height: number }> = {
6
+ landscape: { width: 1200, height: 628 },
7
+ square: { width: 1200, height: 1200 },
8
+ portrait: { width: 1080, height: 1350 },
9
+ 'linkedin-banner': { width: 4200, height: 700 },
10
+ }
11
+
12
+ export default async function OGImage({
13
+ searchParams,
14
+ }: {
15
+ searchParams: Promise<{ format?: string }>
16
+ }) {
17
+ const params = await searchParams
18
+ const format = (params.format as Format) || 'landscape'
19
+ const { width, height } = dimensions[format] || dimensions.landscape
20
+
21
+ const isLinkedIn = format === 'linkedin-banner'
22
+ const isPortrait = format === 'portrait'
23
+ const isSquare = format === 'square'
24
+
25
+ // LinkedIn banner: hero image left, text right
26
+ if (isLinkedIn) {
27
+ return (
28
+ <div
29
+ style={{
30
+ width,
31
+ height,
32
+ minWidth: width,
33
+ maxWidth: width,
34
+ minHeight: height,
35
+ maxHeight: height,
36
+ display: 'flex',
37
+ position: 'relative',
38
+ overflow: 'hidden',
39
+ backgroundColor: '#FAFAF8',
40
+ }}
41
+ >
42
+ <div style={{ width: '50%', position: 'relative', flexShrink: 0 }}>
43
+ <Image src="/marketing/maxy-family.png" alt="" fill style={{ objectFit: 'cover' }} />
44
+ </div>
45
+ <div
46
+ style={{
47
+ width: '50%',
48
+ display: 'flex',
49
+ flexDirection: 'column',
50
+ alignItems: 'flex-end',
51
+ justifyContent: 'center',
52
+ padding: '32px 120px',
53
+ }}
54
+ >
55
+ <Image src="/brand/maxy-black.png" alt="Maxy" width={80} height={80} style={{ objectFit: 'contain' }} />
56
+ <h1
57
+ style={{
58
+ fontFamily: "'Cormorant', Georgia, serif",
59
+ fontWeight: 300,
60
+ fontSize: 48,
61
+ color: '#1A1A1A',
62
+ marginTop: 20,
63
+ letterSpacing: '-0.02em',
64
+ lineHeight: 1.15,
65
+ textAlign: 'right',
66
+ }}
67
+ >
68
+ No Stress. Quiet Life.
69
+ </h1>
70
+ </div>
71
+ </div>
72
+ )
73
+ }
74
+
75
+ // Portrait: hero image top, text bottom
76
+ if (isPortrait) {
77
+ return (
78
+ <div
79
+ style={{
80
+ width,
81
+ height,
82
+ minWidth: width,
83
+ maxWidth: width,
84
+ minHeight: height,
85
+ maxHeight: height,
86
+ display: 'flex',
87
+ flexDirection: 'column',
88
+ overflow: 'hidden',
89
+ backgroundColor: '#FAFAF8',
90
+ }}
91
+ >
92
+ <div style={{ position: 'relative', width: '100%', height: '60%', flexShrink: 0 }}>
93
+ <Image src="/marketing/maxy-family.png" alt="" fill style={{ objectFit: 'cover' }} />
94
+ </div>
95
+ <div
96
+ style={{
97
+ flex: 1,
98
+ display: 'flex',
99
+ flexDirection: 'column',
100
+ alignItems: 'center',
101
+ justifyContent: 'center',
102
+ padding: '40px 60px',
103
+ }}
104
+ >
105
+ <Image src="/brand/maxy-black.png" alt="Maxy" width={64} height={64} style={{ objectFit: 'contain', marginBottom: 20 }} />
106
+ <h1
107
+ style={{
108
+ fontFamily: "'Cormorant', Georgia, serif",
109
+ fontWeight: 300,
110
+ fontSize: 56,
111
+ color: '#1A1A1A',
112
+ letterSpacing: '-0.02em',
113
+ lineHeight: 1.15,
114
+ textAlign: 'center',
115
+ margin: 0,
116
+ }}
117
+ >
118
+ No Stress. Quiet Life.
119
+ </h1>
120
+ <p
121
+ style={{
122
+ fontFamily: "'DM Sans', sans-serif",
123
+ fontSize: 24,
124
+ color: '#6B6B6B',
125
+ marginTop: 16,
126
+ textAlign: 'center',
127
+ }}
128
+ >
129
+ A personal AI assistant that lives in your home.
130
+ </p>
131
+ </div>
132
+ </div>
133
+ )
134
+ }
135
+
136
+ // Square: hero image top half, text bottom half
137
+ if (isSquare) {
138
+ return (
139
+ <div
140
+ style={{
141
+ width,
142
+ height,
143
+ minWidth: width,
144
+ maxWidth: width,
145
+ minHeight: height,
146
+ maxHeight: height,
147
+ display: 'flex',
148
+ flexDirection: 'column',
149
+ overflow: 'hidden',
150
+ backgroundColor: '#FAFAF8',
151
+ }}
152
+ >
153
+ <div style={{ position: 'relative', width: '100%', height: '55%', flexShrink: 0 }}>
154
+ <Image src="/marketing/maxy-family.png" alt="" fill style={{ objectFit: 'cover' }} />
155
+ </div>
156
+ <div
157
+ style={{
158
+ flex: 1,
159
+ display: 'flex',
160
+ flexDirection: 'column',
161
+ alignItems: 'center',
162
+ justifyContent: 'center',
163
+ padding: '32px 60px',
164
+ }}
165
+ >
166
+ <Image src="/brand/maxy-black.png" alt="Maxy" width={72} height={72} style={{ objectFit: 'contain', marginBottom: 20 }} />
167
+ <h1
168
+ style={{
169
+ fontFamily: "'Cormorant', Georgia, serif",
170
+ fontWeight: 300,
171
+ fontSize: 60,
172
+ color: '#1A1A1A',
173
+ letterSpacing: '-0.02em',
174
+ lineHeight: 1.15,
175
+ textAlign: 'center',
176
+ margin: 0,
177
+ }}
178
+ >
179
+ No Stress. Quiet Life.
180
+ </h1>
181
+ <p
182
+ style={{
183
+ fontFamily: "'DM Sans', sans-serif",
184
+ fontSize: 26,
185
+ color: '#6B6B6B',
186
+ marginTop: 16,
187
+ textAlign: 'center',
188
+ }}
189
+ >
190
+ A personal AI assistant that lives in your home.
191
+ </p>
192
+ </div>
193
+ </div>
194
+ )
195
+ }
196
+
197
+ // Landscape: hero image left, text right
198
+ return (
199
+ <div
200
+ style={{
201
+ width,
202
+ height,
203
+ minWidth: width,
204
+ maxWidth: width,
205
+ minHeight: height,
206
+ maxHeight: height,
207
+ display: 'flex',
208
+ overflow: 'hidden',
209
+ backgroundColor: '#FAFAF8',
210
+ }}
211
+ >
212
+ <div style={{ position: 'relative', width: '45%', flexShrink: 0 }}>
213
+ <Image src="/marketing/maxy-family.png" alt="" fill style={{ objectFit: 'cover' }} />
214
+ </div>
215
+ <div
216
+ style={{
217
+ flex: 1,
218
+ display: 'flex',
219
+ flexDirection: 'column',
220
+ justifyContent: 'center',
221
+ padding: '40px 48px',
222
+ }}
223
+ >
224
+ <Image src="/brand/maxy-black.png" alt="Maxy" width={64} height={64} style={{ objectFit: 'contain', marginBottom: 20 }} />
225
+ <h1
226
+ style={{
227
+ fontFamily: "'Cormorant', Georgia, serif",
228
+ fontWeight: 300,
229
+ fontSize: 48,
230
+ color: '#1A1A1A',
231
+ letterSpacing: '-0.02em',
232
+ lineHeight: 1.15,
233
+ margin: 0,
234
+ }}
235
+ >
236
+ No Stress. Quiet Life.
237
+ </h1>
238
+ <p
239
+ style={{
240
+ fontFamily: "'DM Sans', sans-serif",
241
+ fontSize: 20,
242
+ color: '#6B6B6B',
243
+ lineHeight: 1.5,
244
+ marginTop: 14,
245
+ }}
246
+ >
247
+ A personal AI assistant that lives in your home.
248
+ </p>
249
+ </div>
250
+ </div>
251
+ )
252
+ }