@marvalt/digivalt-core 0.1.7 → 0.2.1

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 (44) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +47 -4
  3. package/bin/init.cjs +406 -25
  4. package/dist/config.cjs +520 -0
  5. package/dist/config.cjs.map +1 -0
  6. package/dist/config.d.ts +307 -0
  7. package/dist/config.esm.js +502 -0
  8. package/dist/config.esm.js.map +1 -0
  9. package/dist/generators.cjs +2481 -0
  10. package/dist/generators.cjs.map +1 -0
  11. package/dist/generators.d.ts +19 -0
  12. package/dist/generators.esm.js +2475 -0
  13. package/dist/generators.esm.js.map +1 -0
  14. package/dist/index.cjs +18 -7955
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.ts +18 -1196
  17. package/dist/index.esm.js +13 -7929
  18. package/dist/index.esm.js.map +1 -1
  19. package/dist/runtime/env.d.ts +4 -0
  20. package/dist/runtime/lazy.d.ts +1 -0
  21. package/dist/services/cf-wp-webhook.d.ts +2 -0
  22. package/dist/services/gravityForms.d.ts +3 -0
  23. package/dist/services/mautic.d.ts +5 -1
  24. package/dist/services/suitecrm.d.ts +2 -0
  25. package/dist/services.cjs +1339 -0
  26. package/dist/services.cjs.map +1 -0
  27. package/dist/services.d.ts +432 -0
  28. package/dist/services.esm.js +1322 -0
  29. package/dist/services.esm.js.map +1 -0
  30. package/dist/static/index.d.ts +4 -0
  31. package/dist/static.cjs +997 -0
  32. package/dist/static.cjs.map +1 -0
  33. package/dist/static.d.ts +410 -0
  34. package/dist/static.esm.js +962 -0
  35. package/dist/static.esm.js.map +1 -0
  36. package/dist/types.cjs +3 -0
  37. package/dist/types.cjs.map +1 -0
  38. package/dist/types.d.ts +134 -0
  39. package/dist/types.esm.js +2 -0
  40. package/dist/types.esm.js.map +1 -0
  41. package/package.json +30 -2
  42. package/template/DIGIVALT_SETUP.md +73 -0
  43. package/template/scripts/deploy-secrets.js +55 -23
  44. package/template/scripts/generate.ts +3 -17
@@ -0,0 +1,307 @@
1
+ interface EnvironmentConfig {
2
+ mode: 'local' | 'remote' | 'production' | 'error';
3
+ authMode: 'direct' | 'cloudflare_proxy' | 'supabase_proxy' | 'error';
4
+ dataSource: 'static' | 'dynamic' | 'hybrid';
5
+ baseUrl: string;
6
+ headers: Record<string, string>;
7
+ description: string;
8
+ mautic?: {
9
+ url?: string;
10
+ proxyUrl?: string;
11
+ appId?: string;
12
+ workerSecret?: string;
13
+ };
14
+ suiteCRM: {
15
+ url?: string;
16
+ proxyUrl?: string;
17
+ appId?: string;
18
+ workerSecret?: string;
19
+ oauth2?: {
20
+ clientId?: string;
21
+ clientSecret?: string;
22
+ username?: string;
23
+ password?: string;
24
+ tokenUrl?: string;
25
+ };
26
+ };
27
+ }
28
+ interface DevelopmentConfig {
29
+ local: EnvironmentConfig;
30
+ remote: EnvironmentConfig;
31
+ production: EnvironmentConfig;
32
+ }
33
+ declare const getEnvironmentConfig: () => EnvironmentConfig;
34
+ declare const getDevelopmentConfigs: () => DevelopmentConfig;
35
+ declare const getEnvironmentStatus: () => {
36
+ currentConfig: EnvironmentConfig;
37
+ diagnostics: {
38
+ isLocalDevelopment: boolean;
39
+ authMode: string;
40
+ hasCloudflareCredentials: boolean;
41
+ hasWordpressApiUrl: boolean;
42
+ cloudflareWorkerUrl: boolean;
43
+ cfAccessId: boolean;
44
+ cfAccessSecret: boolean;
45
+ mauticProxyUrl: boolean;
46
+ };
47
+ recommendations: {
48
+ authMode: any;
49
+ cloudflare: any;
50
+ };
51
+ };
52
+ declare const currentEnv: EnvironmentConfig;
53
+ declare const envStatus: {
54
+ currentConfig: EnvironmentConfig;
55
+ diagnostics: {
56
+ isLocalDevelopment: boolean;
57
+ authMode: string;
58
+ hasCloudflareCredentials: boolean;
59
+ hasWordpressApiUrl: boolean;
60
+ cloudflareWorkerUrl: boolean;
61
+ cfAccessId: boolean;
62
+ cfAccessSecret: boolean;
63
+ mauticProxyUrl: boolean;
64
+ };
65
+ recommendations: {
66
+ authMode: any;
67
+ cloudflare: any;
68
+ };
69
+ };
70
+
71
+ /**
72
+ * Integration Configuration
73
+ * Centralized configuration for all third-party integrations
74
+ */
75
+ interface IntegrationConfig {
76
+ wordpress: {
77
+ enabled: boolean;
78
+ apiUrl: string;
79
+ authMode: 'direct' | 'supabase_proxy';
80
+ wpAuthToken?: string;
81
+ };
82
+ supabase: {
83
+ enabled: boolean;
84
+ url: string;
85
+ anonKey: string;
86
+ serviceRoleKey?: string;
87
+ };
88
+ gravityForms: {
89
+ enabled: boolean;
90
+ url?: string;
91
+ proxyUrl?: string;
92
+ consumerKey?: string;
93
+ consumerSecret?: string;
94
+ frontendSecret?: string;
95
+ forms: {
96
+ [formId: string]: {
97
+ name: string;
98
+ type: 'contact' | 'lead' | 'newsletter' | 'support' | 'custom';
99
+ redirectUrl?: string;
100
+ successMessage?: string;
101
+ };
102
+ };
103
+ };
104
+ mautic: {
105
+ enabled: boolean;
106
+ url?: string;
107
+ proxyUrl?: string;
108
+ apiPublicKey?: string;
109
+ apiSecretKey?: string;
110
+ appId?: string;
111
+ workerSecret?: string;
112
+ forms: {
113
+ [formId: string]: {
114
+ name: string;
115
+ type: 'newsletter' | 'lead' | 'contact' | 'custom';
116
+ redirectUrl?: string;
117
+ successMessage?: string;
118
+ postAction?: 'message' | 'redirect' | 'return';
119
+ postActionProperty?: string;
120
+ };
121
+ };
122
+ };
123
+ suiteCRM: {
124
+ enabled: boolean;
125
+ url?: string;
126
+ proxyUrl?: string;
127
+ appId?: string;
128
+ workerSecret?: string;
129
+ oauth2?: {
130
+ clientId?: string;
131
+ clientSecret?: string;
132
+ username?: string;
133
+ password?: string;
134
+ tokenUrl?: string;
135
+ };
136
+ };
137
+ chatwoot: {
138
+ enabled: boolean;
139
+ websiteToken: string;
140
+ baseUrl: string;
141
+ locale: string;
142
+ type: 'standard' | 'expanded_bubble';
143
+ launcherTitle: string;
144
+ hideMessageBubble: boolean;
145
+ position: 'left' | 'right';
146
+ showPopoutButton: boolean;
147
+ };
148
+ analytics: {
149
+ googleAnalytics: {
150
+ enabled: boolean;
151
+ measurementId?: string;
152
+ };
153
+ googleTagManager: {
154
+ enabled: boolean;
155
+ containerId?: string;
156
+ };
157
+ facebookPixel: {
158
+ enabled: boolean;
159
+ pixelId?: string;
160
+ };
161
+ linkedinInsight: {
162
+ enabled: boolean;
163
+ partnerId?: string;
164
+ };
165
+ };
166
+ seo: {
167
+ defaultTitle: string;
168
+ defaultDescription: string;
169
+ defaultImage: string;
170
+ siteName: string;
171
+ siteUrl: string;
172
+ twitterHandle?: string;
173
+ facebookAppId?: string;
174
+ googleSiteVerification?: string;
175
+ bingSiteVerification?: string;
176
+ };
177
+ performance: {
178
+ enableLazyLoading: boolean;
179
+ enableImageOptimization: boolean;
180
+ enableCodeSplitting: boolean;
181
+ enableServiceWorker: boolean;
182
+ enableCaching: boolean;
183
+ };
184
+ }
185
+ /**
186
+ * Get integration configuration with environment variable fallbacks
187
+ */
188
+ declare function getIntegrationConfig(): IntegrationConfig;
189
+ /**
190
+ * Validate integration configuration
191
+ * Only validates integrations that are actually enabled
192
+ */
193
+ declare function validateIntegrationConfig(): string[];
194
+ /**
195
+ * Get specific integration configuration
196
+ */
197
+ declare function getWordPressConfig(): {
198
+ enabled: boolean;
199
+ apiUrl: string;
200
+ authMode: "direct" | "supabase_proxy";
201
+ wpAuthToken?: string;
202
+ };
203
+ declare function getSupabaseConfig(): {
204
+ enabled: boolean;
205
+ url: string;
206
+ anonKey: string;
207
+ serviceRoleKey?: string;
208
+ };
209
+ declare function getGravityFormsConfig(): {
210
+ enabled: boolean;
211
+ url?: string;
212
+ proxyUrl?: string;
213
+ consumerKey?: string;
214
+ consumerSecret?: string;
215
+ frontendSecret?: string;
216
+ forms: {
217
+ [formId: string]: {
218
+ name: string;
219
+ type: "contact" | "lead" | "newsletter" | "support" | "custom";
220
+ redirectUrl?: string;
221
+ successMessage?: string;
222
+ };
223
+ };
224
+ };
225
+ declare function getMauticConfig(): {
226
+ enabled: boolean;
227
+ url?: string;
228
+ proxyUrl?: string;
229
+ apiPublicKey?: string;
230
+ apiSecretKey?: string;
231
+ appId?: string;
232
+ workerSecret?: string;
233
+ forms: {
234
+ [formId: string]: {
235
+ name: string;
236
+ type: "newsletter" | "lead" | "contact" | "custom";
237
+ redirectUrl?: string;
238
+ successMessage?: string;
239
+ postAction?: "message" | "redirect" | "return";
240
+ postActionProperty?: string;
241
+ };
242
+ };
243
+ };
244
+ declare function getSuiteCRMConfig(): {
245
+ enabled: boolean;
246
+ url?: string;
247
+ proxyUrl?: string;
248
+ appId?: string;
249
+ workerSecret?: string;
250
+ oauth2?: {
251
+ clientId?: string;
252
+ clientSecret?: string;
253
+ username?: string;
254
+ password?: string;
255
+ tokenUrl?: string;
256
+ };
257
+ };
258
+ declare function getChatwootConfig(): {
259
+ enabled: boolean;
260
+ websiteToken: string;
261
+ baseUrl: string;
262
+ locale: string;
263
+ type: "standard" | "expanded_bubble";
264
+ launcherTitle: string;
265
+ hideMessageBubble: boolean;
266
+ position: "left" | "right";
267
+ showPopoutButton: boolean;
268
+ };
269
+ declare function getAnalyticsConfig(): {
270
+ googleAnalytics: {
271
+ enabled: boolean;
272
+ measurementId?: string;
273
+ };
274
+ googleTagManager: {
275
+ enabled: boolean;
276
+ containerId?: string;
277
+ };
278
+ facebookPixel: {
279
+ enabled: boolean;
280
+ pixelId?: string;
281
+ };
282
+ linkedinInsight: {
283
+ enabled: boolean;
284
+ partnerId?: string;
285
+ };
286
+ };
287
+ declare function getSEOConfig(): {
288
+ defaultTitle: string;
289
+ defaultDescription: string;
290
+ defaultImage: string;
291
+ siteName: string;
292
+ siteUrl: string;
293
+ twitterHandle?: string;
294
+ facebookAppId?: string;
295
+ googleSiteVerification?: string;
296
+ bingSiteVerification?: string;
297
+ };
298
+ declare function getPerformanceConfig(): {
299
+ enableLazyLoading: boolean;
300
+ enableImageOptimization: boolean;
301
+ enableCodeSplitting: boolean;
302
+ enableServiceWorker: boolean;
303
+ enableCaching: boolean;
304
+ };
305
+
306
+ export { currentEnv, envStatus, getAnalyticsConfig, getChatwootConfig, getDevelopmentConfigs, getEnvironmentConfig, getEnvironmentStatus, getGravityFormsConfig, getIntegrationConfig, getMauticConfig, getPerformanceConfig, getSEOConfig, getSuiteCRMConfig, getSupabaseConfig, getWordPressConfig, validateIntegrationConfig };
307
+ export type { DevelopmentConfig, EnvironmentConfig, IntegrationConfig };