@sonicjs-cms/core 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (98) hide show
  1. package/dist/chunk-3MNMOLSA.js +133 -0
  2. package/dist/chunk-3MNMOLSA.js.map +1 -0
  3. package/dist/{chunk-BRC3F4CG.cjs → chunk-6BHDKYLU.cjs} +8 -2
  4. package/dist/{chunk-KRJMGD4E.js.map → chunk-6BHDKYLU.cjs.map} +1 -1
  5. package/dist/{chunk-CXZDAR6S.js → chunk-7N3HK7ZK.js} +3 -3
  6. package/dist/{chunk-CXZDAR6S.js.map → chunk-7N3HK7ZK.js.map} +1 -1
  7. package/dist/chunk-AGOE25LF.cjs +137 -0
  8. package/dist/chunk-AGOE25LF.cjs.map +1 -0
  9. package/dist/{chunk-NRSL6BQI.js → chunk-BITQ4MFX.js} +3 -3
  10. package/dist/{chunk-NRSL6BQI.js.map → chunk-BITQ4MFX.js.map} +1 -1
  11. package/dist/{chunk-24PWAFUT.cjs → chunk-BUKT6HP5.cjs} +13 -13
  12. package/dist/{chunk-24PWAFUT.cjs.map → chunk-BUKT6HP5.cjs.map} +1 -1
  13. package/dist/chunk-DG4INX36.cjs +14246 -0
  14. package/dist/chunk-DG4INX36.cjs.map +1 -0
  15. package/dist/chunk-FDUDHGI6.js +14233 -0
  16. package/dist/chunk-FDUDHGI6.js.map +1 -0
  17. package/dist/{chunk-L3NXO7Y4.cjs → chunk-FVMV5DKA.cjs} +49 -49
  18. package/dist/{chunk-L3NXO7Y4.cjs.map → chunk-FVMV5DKA.cjs.map} +1 -1
  19. package/dist/{chunk-KRJMGD4E.js → chunk-FZYF43TN.js} +8 -2
  20. package/dist/chunk-FZYF43TN.js.map +1 -0
  21. package/dist/chunk-G4JGVZAF.js +1337 -0
  22. package/dist/chunk-G4JGVZAF.js.map +1 -0
  23. package/dist/{chunk-EMMSS5I5.cjs → chunk-IGJUBJBW.cjs} +8 -2
  24. package/dist/{chunk-ALTMI5Y2.cjs.map → chunk-IGJUBJBW.cjs.map} +1 -1
  25. package/dist/chunk-LEGKJ5DI.cjs +1344 -0
  26. package/dist/chunk-LEGKJ5DI.cjs.map +1 -0
  27. package/dist/{chunk-WJ7QYVR2.cjs → chunk-RNR4HA23.cjs} +4 -4
  28. package/dist/{chunk-WJ7QYVR2.cjs.map → chunk-RNR4HA23.cjs.map} +1 -1
  29. package/dist/{chunk-G3PMV62Z.js → chunk-V4OQ3NZ2.js} +7 -3
  30. package/dist/{chunk-G3PMV62Z.js.map → chunk-V4OQ3NZ2.js.map} +1 -1
  31. package/dist/{chunk-PTQZ5FEI.js → chunk-WESS2U3K.js} +3 -3
  32. package/dist/{chunk-PTQZ5FEI.js.map → chunk-WESS2U3K.js.map} +1 -1
  33. package/dist/index.cjs +147 -101
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +5 -135
  36. package/dist/index.js +24 -9
  37. package/dist/index.js.map +1 -1
  38. package/dist/middleware.cjs +23 -23
  39. package/dist/middleware.d.ts +2 -206
  40. package/dist/middleware.js +3 -3
  41. package/dist/plugins.cjs +8 -8
  42. package/dist/plugins.d.ts +2 -330
  43. package/dist/plugins.js +2 -2
  44. package/dist/routes.cjs +52 -3
  45. package/dist/routes.d.ts +2 -17
  46. package/dist/routes.js +7 -2
  47. package/dist/services.cjs +31 -19
  48. package/dist/services.d.ts +2 -5
  49. package/dist/services.js +3 -3
  50. package/dist/templates.cjs +23 -10
  51. package/dist/templates.d.ts +2 -140
  52. package/dist/templates.js +3 -2
  53. package/dist/types.cjs +1 -1
  54. package/dist/types.d.ts +2 -41
  55. package/dist/types.js +1 -1
  56. package/dist/utils.cjs +1 -1
  57. package/dist/utils.d.ts +2 -184
  58. package/dist/utils.js +1 -1
  59. package/migrations/001_initial_schema.sql +198 -0
  60. package/migrations/002_faq_plugin.sql +86 -0
  61. package/migrations/003_stage5_enhancements.sql +121 -0
  62. package/migrations/004_stage6_user_management.sql +183 -0
  63. package/migrations/005_stage7_workflow_automation.sql +294 -0
  64. package/migrations/006_plugin_system.sql +155 -0
  65. package/migrations/007_demo_login_plugin.sql +23 -0
  66. package/migrations/008_fix_slug_validation.sql +22 -0
  67. package/migrations/009_system_logging.sql +57 -0
  68. package/migrations/011_config_managed_collections.sql +14 -0
  69. package/migrations/012_testimonials_plugin.sql +80 -0
  70. package/migrations/013_code_examples_plugin.sql +177 -0
  71. package/migrations/014_fix_plugin_registry.sql +88 -0
  72. package/migrations/015_add_remaining_plugins.sql +89 -0
  73. package/migrations/016_remove_duplicate_cache_plugin.sql +17 -0
  74. package/migrations/017_auth_configurable_fields.sql +49 -0
  75. package/package.json +2 -2
  76. package/dist/chunk-4URGXJP7.js +0 -3
  77. package/dist/chunk-4URGXJP7.js.map +0 -1
  78. package/dist/chunk-ALTMI5Y2.cjs +0 -4
  79. package/dist/chunk-BOLQHE4J.cjs +0 -11
  80. package/dist/chunk-BOLQHE4J.cjs.map +0 -1
  81. package/dist/chunk-BRC3F4CG.cjs.map +0 -1
  82. package/dist/chunk-EMMSS5I5.cjs.map +0 -1
  83. package/dist/chunk-HD7R6T6I.js +0 -9
  84. package/dist/chunk-HD7R6T6I.js.map +0 -1
  85. package/dist/collection-config-FLlGtsh9.d.cts +0 -107
  86. package/dist/collection-config-FLlGtsh9.d.ts +0 -107
  87. package/dist/index-BlsY5XNH.d.ts +0 -8333
  88. package/dist/index-D45jaIlr.d.cts +0 -8333
  89. package/dist/index.d.cts +0 -136
  90. package/dist/middleware.d.cts +0 -206
  91. package/dist/plugin-UzmDImQc.d.cts +0 -357
  92. package/dist/plugin-UzmDImQc.d.ts +0 -357
  93. package/dist/plugins.d.cts +0 -330
  94. package/dist/routes.d.cts +0 -17
  95. package/dist/services.d.cts +0 -5
  96. package/dist/templates.d.cts +0 -140
  97. package/dist/types.d.cts +0 -41
  98. package/dist/utils.d.cts +0 -184
package/dist/index.cjs CHANGED
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
2
 
3
- require('./chunk-ALTMI5Y2.cjs');
4
- var chunk24PWAFUT_cjs = require('./chunk-24PWAFUT.cjs');
5
- var chunkWJ7QYVR2_cjs = require('./chunk-WJ7QYVR2.cjs');
6
- var chunkBOLQHE4J_cjs = require('./chunk-BOLQHE4J.cjs');
7
- var chunkBRC3F4CG_cjs = require('./chunk-BRC3F4CG.cjs');
8
- var chunkL3NXO7Y4_cjs = require('./chunk-L3NXO7Y4.cjs');
3
+ var chunkDG4INX36_cjs = require('./chunk-DG4INX36.cjs');
4
+ require('./chunk-AGOE25LF.cjs');
5
+ var chunkBUKT6HP5_cjs = require('./chunk-BUKT6HP5.cjs');
6
+ var chunkRNR4HA23_cjs = require('./chunk-RNR4HA23.cjs');
7
+ var chunk6BHDKYLU_cjs = require('./chunk-6BHDKYLU.cjs');
8
+ require('./chunk-LEGKJ5DI.cjs');
9
+ var chunkFVMV5DKA_cjs = require('./chunk-FVMV5DKA.cjs');
9
10
  var chunkRGCQSFKC_cjs = require('./chunk-RGCQSFKC.cjs');
10
11
  var chunkKYGRJCZM_cjs = require('./chunk-KYGRJCZM.cjs');
11
- require('./chunk-EMMSS5I5.cjs');
12
+ require('./chunk-IGJUBJBW.cjs');
12
13
  var hono = require('hono');
13
14
  var d1 = require('drizzle-orm/d1');
14
15
 
@@ -39,11 +40,24 @@ function createSonicJSApp(config = {}) {
39
40
  app.use("*", middleware);
40
41
  }
41
42
  }
43
+ app.route("/api", chunkDG4INX36_cjs.api_default);
44
+ app.route("/api/media", chunkDG4INX36_cjs.api_media_default);
45
+ app.route("/api/system", chunkDG4INX36_cjs.api_system_default);
46
+ app.route("/admin/api", chunkDG4INX36_cjs.admin_api_default);
47
+ app.route("/admin/content", chunkDG4INX36_cjs.admin_content_default);
48
+ app.route("/admin/media", chunkDG4INX36_cjs.adminMediaRoutes);
49
+ app.route("/admin/plugins", chunkDG4INX36_cjs.adminPluginRoutes);
50
+ app.route("/admin/logs", chunkDG4INX36_cjs.adminLogsRoutes);
51
+ app.route("/admin", chunkDG4INX36_cjs.userRoutes);
52
+ app.route("/auth", chunkDG4INX36_cjs.auth_default);
42
53
  if (config.routes) {
43
54
  for (const route of config.routes) {
44
55
  app.route(route.path, route.handler);
45
56
  }
46
57
  }
58
+ app.get("/", (c) => {
59
+ return c.redirect("/auth/login");
60
+ });
47
61
  app.get("/health", (c) => {
48
62
  return c.json({
49
63
  name: appName,
@@ -68,367 +82,399 @@ function setupCoreRoutes(_app) {
68
82
  console.warn("setupCoreRoutes is deprecated. Use createSonicJSApp() instead.");
69
83
  }
70
84
  function createDb(d1$1) {
71
- return d1.drizzle(d1$1, { schema: chunkWJ7QYVR2_cjs.schema_exports });
85
+ return d1.drizzle(d1$1, { schema: chunkRNR4HA23_cjs.schema_exports });
72
86
  }
73
87
 
74
88
  // src/index.ts
75
- var VERSION = "2.0.0-alpha.1";
89
+ var VERSION = "2.0.0-alpha.3";
76
90
 
91
+ Object.defineProperty(exports, "ROUTES_INFO", {
92
+ enumerable: true,
93
+ get: function () { return chunkDG4INX36_cjs.ROUTES_INFO; }
94
+ });
95
+ Object.defineProperty(exports, "adminContentRoutes", {
96
+ enumerable: true,
97
+ get: function () { return chunkDG4INX36_cjs.admin_content_default; }
98
+ });
99
+ Object.defineProperty(exports, "adminLogsRoutes", {
100
+ enumerable: true,
101
+ get: function () { return chunkDG4INX36_cjs.adminLogsRoutes; }
102
+ });
103
+ Object.defineProperty(exports, "adminMediaRoutes", {
104
+ enumerable: true,
105
+ get: function () { return chunkDG4INX36_cjs.adminMediaRoutes; }
106
+ });
107
+ Object.defineProperty(exports, "adminPluginRoutes", {
108
+ enumerable: true,
109
+ get: function () { return chunkDG4INX36_cjs.adminPluginRoutes; }
110
+ });
111
+ Object.defineProperty(exports, "adminUsersRoutes", {
112
+ enumerable: true,
113
+ get: function () { return chunkDG4INX36_cjs.userRoutes; }
114
+ });
115
+ Object.defineProperty(exports, "apiMediaRoutes", {
116
+ enumerable: true,
117
+ get: function () { return chunkDG4INX36_cjs.api_media_default; }
118
+ });
119
+ Object.defineProperty(exports, "apiRoutes", {
120
+ enumerable: true,
121
+ get: function () { return chunkDG4INX36_cjs.api_default; }
122
+ });
123
+ Object.defineProperty(exports, "authRoutes", {
124
+ enumerable: true,
125
+ get: function () { return chunkDG4INX36_cjs.auth_default; }
126
+ });
77
127
  Object.defineProperty(exports, "AuthManager", {
78
128
  enumerable: true,
79
- get: function () { return chunk24PWAFUT_cjs.AuthManager; }
129
+ get: function () { return chunkBUKT6HP5_cjs.AuthManager; }
80
130
  });
81
131
  Object.defineProperty(exports, "PermissionManager", {
82
132
  enumerable: true,
83
- get: function () { return chunk24PWAFUT_cjs.PermissionManager; }
133
+ get: function () { return chunkBUKT6HP5_cjs.PermissionManager; }
84
134
  });
85
135
  Object.defineProperty(exports, "bootstrapMiddleware", {
86
136
  enumerable: true,
87
- get: function () { return chunk24PWAFUT_cjs.bootstrapMiddleware; }
137
+ get: function () { return chunkBUKT6HP5_cjs.bootstrapMiddleware; }
88
138
  });
89
139
  Object.defineProperty(exports, "cacheHeaders", {
90
140
  enumerable: true,
91
- get: function () { return chunk24PWAFUT_cjs.cacheHeaders; }
141
+ get: function () { return chunkBUKT6HP5_cjs.cacheHeaders; }
92
142
  });
93
143
  Object.defineProperty(exports, "compressionMiddleware", {
94
144
  enumerable: true,
95
- get: function () { return chunk24PWAFUT_cjs.compressionMiddleware; }
145
+ get: function () { return chunkBUKT6HP5_cjs.compressionMiddleware; }
96
146
  });
97
147
  Object.defineProperty(exports, "detailedLoggingMiddleware", {
98
148
  enumerable: true,
99
- get: function () { return chunk24PWAFUT_cjs.detailedLoggingMiddleware; }
149
+ get: function () { return chunkBUKT6HP5_cjs.detailedLoggingMiddleware; }
100
150
  });
101
151
  Object.defineProperty(exports, "getActivePlugins", {
102
152
  enumerable: true,
103
- get: function () { return chunk24PWAFUT_cjs.getActivePlugins; }
153
+ get: function () { return chunkBUKT6HP5_cjs.getActivePlugins; }
104
154
  });
105
155
  Object.defineProperty(exports, "isPluginActive", {
106
156
  enumerable: true,
107
- get: function () { return chunk24PWAFUT_cjs.isPluginActive; }
157
+ get: function () { return chunkBUKT6HP5_cjs.isPluginActive; }
108
158
  });
109
159
  Object.defineProperty(exports, "logActivity", {
110
160
  enumerable: true,
111
- get: function () { return chunk24PWAFUT_cjs.logActivity; }
161
+ get: function () { return chunkBUKT6HP5_cjs.logActivity; }
112
162
  });
113
163
  Object.defineProperty(exports, "loggingMiddleware", {
114
164
  enumerable: true,
115
- get: function () { return chunk24PWAFUT_cjs.loggingMiddleware; }
165
+ get: function () { return chunkBUKT6HP5_cjs.loggingMiddleware; }
116
166
  });
117
167
  Object.defineProperty(exports, "optionalAuth", {
118
168
  enumerable: true,
119
- get: function () { return chunk24PWAFUT_cjs.optionalAuth; }
169
+ get: function () { return chunkBUKT6HP5_cjs.optionalAuth; }
120
170
  });
121
171
  Object.defineProperty(exports, "performanceLoggingMiddleware", {
122
172
  enumerable: true,
123
- get: function () { return chunk24PWAFUT_cjs.performanceLoggingMiddleware; }
173
+ get: function () { return chunkBUKT6HP5_cjs.performanceLoggingMiddleware; }
124
174
  });
125
175
  Object.defineProperty(exports, "requireActivePlugin", {
126
176
  enumerable: true,
127
- get: function () { return chunk24PWAFUT_cjs.requireActivePlugin; }
177
+ get: function () { return chunkBUKT6HP5_cjs.requireActivePlugin; }
128
178
  });
129
179
  Object.defineProperty(exports, "requireActivePlugins", {
130
180
  enumerable: true,
131
- get: function () { return chunk24PWAFUT_cjs.requireActivePlugins; }
181
+ get: function () { return chunkBUKT6HP5_cjs.requireActivePlugins; }
132
182
  });
133
183
  Object.defineProperty(exports, "requireAnyPermission", {
134
184
  enumerable: true,
135
- get: function () { return chunk24PWAFUT_cjs.requireAnyPermission; }
185
+ get: function () { return chunkBUKT6HP5_cjs.requireAnyPermission; }
136
186
  });
137
187
  Object.defineProperty(exports, "requireAuth", {
138
188
  enumerable: true,
139
- get: function () { return chunk24PWAFUT_cjs.requireAuth; }
189
+ get: function () { return chunkBUKT6HP5_cjs.requireAuth; }
140
190
  });
141
191
  Object.defineProperty(exports, "requirePermission", {
142
192
  enumerable: true,
143
- get: function () { return chunk24PWAFUT_cjs.requirePermission; }
193
+ get: function () { return chunkBUKT6HP5_cjs.requirePermission; }
144
194
  });
145
195
  Object.defineProperty(exports, "requireRole", {
146
196
  enumerable: true,
147
- get: function () { return chunk24PWAFUT_cjs.requireRole; }
197
+ get: function () { return chunkBUKT6HP5_cjs.requireRole; }
148
198
  });
149
199
  Object.defineProperty(exports, "securityHeaders", {
150
200
  enumerable: true,
151
- get: function () { return chunk24PWAFUT_cjs.securityHeaders; }
201
+ get: function () { return chunkBUKT6HP5_cjs.securityHeaders; }
152
202
  });
153
203
  Object.defineProperty(exports, "securityLoggingMiddleware", {
154
204
  enumerable: true,
155
- get: function () { return chunk24PWAFUT_cjs.securityLoggingMiddleware; }
205
+ get: function () { return chunkBUKT6HP5_cjs.securityLoggingMiddleware; }
156
206
  });
157
207
  Object.defineProperty(exports, "Logger", {
158
208
  enumerable: true,
159
- get: function () { return chunkWJ7QYVR2_cjs.Logger; }
209
+ get: function () { return chunkRNR4HA23_cjs.Logger; }
160
210
  });
161
211
  Object.defineProperty(exports, "MigrationService", {
162
212
  enumerable: true,
163
- get: function () { return chunkWJ7QYVR2_cjs.MigrationService; }
213
+ get: function () { return chunkRNR4HA23_cjs.MigrationService; }
164
214
  });
165
215
  Object.defineProperty(exports, "PluginBootstrapService", {
166
216
  enumerable: true,
167
- get: function () { return chunkWJ7QYVR2_cjs.PluginBootstrapService; }
217
+ get: function () { return chunkRNR4HA23_cjs.PluginBootstrapService; }
168
218
  });
169
219
  Object.defineProperty(exports, "PluginServiceClass", {
170
220
  enumerable: true,
171
- get: function () { return chunkWJ7QYVR2_cjs.PluginService; }
221
+ get: function () { return chunkRNR4HA23_cjs.PluginService; }
172
222
  });
173
223
  Object.defineProperty(exports, "apiTokens", {
174
224
  enumerable: true,
175
- get: function () { return chunkWJ7QYVR2_cjs.apiTokens; }
225
+ get: function () { return chunkRNR4HA23_cjs.apiTokens; }
176
226
  });
177
227
  Object.defineProperty(exports, "cleanupRemovedCollections", {
178
228
  enumerable: true,
179
- get: function () { return chunkWJ7QYVR2_cjs.cleanupRemovedCollections; }
229
+ get: function () { return chunkRNR4HA23_cjs.cleanupRemovedCollections; }
180
230
  });
181
231
  Object.defineProperty(exports, "collections", {
182
232
  enumerable: true,
183
- get: function () { return chunkWJ7QYVR2_cjs.collections; }
233
+ get: function () { return chunkRNR4HA23_cjs.collections; }
184
234
  });
185
235
  Object.defineProperty(exports, "content", {
186
236
  enumerable: true,
187
- get: function () { return chunkWJ7QYVR2_cjs.content; }
237
+ get: function () { return chunkRNR4HA23_cjs.content; }
188
238
  });
189
239
  Object.defineProperty(exports, "contentVersions", {
190
240
  enumerable: true,
191
- get: function () { return chunkWJ7QYVR2_cjs.contentVersions; }
241
+ get: function () { return chunkRNR4HA23_cjs.contentVersions; }
192
242
  });
193
243
  Object.defineProperty(exports, "fullCollectionSync", {
194
244
  enumerable: true,
195
- get: function () { return chunkWJ7QYVR2_cjs.fullCollectionSync; }
245
+ get: function () { return chunkRNR4HA23_cjs.fullCollectionSync; }
196
246
  });
197
247
  Object.defineProperty(exports, "getAvailableCollectionNames", {
198
248
  enumerable: true,
199
- get: function () { return chunkWJ7QYVR2_cjs.getAvailableCollectionNames; }
249
+ get: function () { return chunkRNR4HA23_cjs.getAvailableCollectionNames; }
200
250
  });
201
251
  Object.defineProperty(exports, "getLogger", {
202
252
  enumerable: true,
203
- get: function () { return chunkWJ7QYVR2_cjs.getLogger; }
253
+ get: function () { return chunkRNR4HA23_cjs.getLogger; }
204
254
  });
205
255
  Object.defineProperty(exports, "getManagedCollections", {
206
256
  enumerable: true,
207
- get: function () { return chunkWJ7QYVR2_cjs.getManagedCollections; }
257
+ get: function () { return chunkRNR4HA23_cjs.getManagedCollections; }
208
258
  });
209
259
  Object.defineProperty(exports, "initLogger", {
210
260
  enumerable: true,
211
- get: function () { return chunkWJ7QYVR2_cjs.initLogger; }
261
+ get: function () { return chunkRNR4HA23_cjs.initLogger; }
212
262
  });
213
263
  Object.defineProperty(exports, "insertCollectionSchema", {
214
264
  enumerable: true,
215
- get: function () { return chunkWJ7QYVR2_cjs.insertCollectionSchema; }
265
+ get: function () { return chunkRNR4HA23_cjs.insertCollectionSchema; }
216
266
  });
217
267
  Object.defineProperty(exports, "insertContentSchema", {
218
268
  enumerable: true,
219
- get: function () { return chunkWJ7QYVR2_cjs.insertContentSchema; }
269
+ get: function () { return chunkRNR4HA23_cjs.insertContentSchema; }
220
270
  });
221
271
  Object.defineProperty(exports, "insertLogConfigSchema", {
222
272
  enumerable: true,
223
- get: function () { return chunkWJ7QYVR2_cjs.insertLogConfigSchema; }
273
+ get: function () { return chunkRNR4HA23_cjs.insertLogConfigSchema; }
224
274
  });
225
275
  Object.defineProperty(exports, "insertMediaSchema", {
226
276
  enumerable: true,
227
- get: function () { return chunkWJ7QYVR2_cjs.insertMediaSchema; }
277
+ get: function () { return chunkRNR4HA23_cjs.insertMediaSchema; }
228
278
  });
229
279
  Object.defineProperty(exports, "insertPluginActivityLogSchema", {
230
280
  enumerable: true,
231
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginActivityLogSchema; }
281
+ get: function () { return chunkRNR4HA23_cjs.insertPluginActivityLogSchema; }
232
282
  });
233
283
  Object.defineProperty(exports, "insertPluginAssetSchema", {
234
284
  enumerable: true,
235
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginAssetSchema; }
285
+ get: function () { return chunkRNR4HA23_cjs.insertPluginAssetSchema; }
236
286
  });
237
287
  Object.defineProperty(exports, "insertPluginHookSchema", {
238
288
  enumerable: true,
239
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginHookSchema; }
289
+ get: function () { return chunkRNR4HA23_cjs.insertPluginHookSchema; }
240
290
  });
241
291
  Object.defineProperty(exports, "insertPluginRouteSchema", {
242
292
  enumerable: true,
243
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginRouteSchema; }
293
+ get: function () { return chunkRNR4HA23_cjs.insertPluginRouteSchema; }
244
294
  });
245
295
  Object.defineProperty(exports, "insertPluginSchema", {
246
296
  enumerable: true,
247
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginSchema; }
297
+ get: function () { return chunkRNR4HA23_cjs.insertPluginSchema; }
248
298
  });
249
299
  Object.defineProperty(exports, "insertSystemLogSchema", {
250
300
  enumerable: true,
251
- get: function () { return chunkWJ7QYVR2_cjs.insertSystemLogSchema; }
301
+ get: function () { return chunkRNR4HA23_cjs.insertSystemLogSchema; }
252
302
  });
253
303
  Object.defineProperty(exports, "insertUserSchema", {
254
304
  enumerable: true,
255
- get: function () { return chunkWJ7QYVR2_cjs.insertUserSchema; }
305
+ get: function () { return chunkRNR4HA23_cjs.insertUserSchema; }
256
306
  });
257
307
  Object.defineProperty(exports, "insertWorkflowHistorySchema", {
258
308
  enumerable: true,
259
- get: function () { return chunkWJ7QYVR2_cjs.insertWorkflowHistorySchema; }
309
+ get: function () { return chunkRNR4HA23_cjs.insertWorkflowHistorySchema; }
260
310
  });
261
311
  Object.defineProperty(exports, "isCollectionManaged", {
262
312
  enumerable: true,
263
- get: function () { return chunkWJ7QYVR2_cjs.isCollectionManaged; }
313
+ get: function () { return chunkRNR4HA23_cjs.isCollectionManaged; }
264
314
  });
265
315
  Object.defineProperty(exports, "loadCollectionConfig", {
266
316
  enumerable: true,
267
- get: function () { return chunkWJ7QYVR2_cjs.loadCollectionConfig; }
317
+ get: function () { return chunkRNR4HA23_cjs.loadCollectionConfig; }
268
318
  });
269
319
  Object.defineProperty(exports, "loadCollectionConfigs", {
270
320
  enumerable: true,
271
- get: function () { return chunkWJ7QYVR2_cjs.loadCollectionConfigs; }
321
+ get: function () { return chunkRNR4HA23_cjs.loadCollectionConfigs; }
272
322
  });
273
323
  Object.defineProperty(exports, "logConfig", {
274
324
  enumerable: true,
275
- get: function () { return chunkWJ7QYVR2_cjs.logConfig; }
325
+ get: function () { return chunkRNR4HA23_cjs.logConfig; }
276
326
  });
277
327
  Object.defineProperty(exports, "media", {
278
328
  enumerable: true,
279
- get: function () { return chunkWJ7QYVR2_cjs.media; }
329
+ get: function () { return chunkRNR4HA23_cjs.media; }
280
330
  });
281
331
  Object.defineProperty(exports, "pluginActivityLog", {
282
332
  enumerable: true,
283
- get: function () { return chunkWJ7QYVR2_cjs.pluginActivityLog; }
333
+ get: function () { return chunkRNR4HA23_cjs.pluginActivityLog; }
284
334
  });
285
335
  Object.defineProperty(exports, "pluginAssets", {
286
336
  enumerable: true,
287
- get: function () { return chunkWJ7QYVR2_cjs.pluginAssets; }
337
+ get: function () { return chunkRNR4HA23_cjs.pluginAssets; }
288
338
  });
289
339
  Object.defineProperty(exports, "pluginHooks", {
290
340
  enumerable: true,
291
- get: function () { return chunkWJ7QYVR2_cjs.pluginHooks; }
341
+ get: function () { return chunkRNR4HA23_cjs.pluginHooks; }
292
342
  });
293
343
  Object.defineProperty(exports, "pluginRoutes", {
294
344
  enumerable: true,
295
- get: function () { return chunkWJ7QYVR2_cjs.pluginRoutes; }
345
+ get: function () { return chunkRNR4HA23_cjs.pluginRoutes; }
296
346
  });
297
347
  Object.defineProperty(exports, "plugins", {
298
348
  enumerable: true,
299
- get: function () { return chunkWJ7QYVR2_cjs.plugins; }
349
+ get: function () { return chunkRNR4HA23_cjs.plugins; }
300
350
  });
301
351
  Object.defineProperty(exports, "selectCollectionSchema", {
302
352
  enumerable: true,
303
- get: function () { return chunkWJ7QYVR2_cjs.selectCollectionSchema; }
353
+ get: function () { return chunkRNR4HA23_cjs.selectCollectionSchema; }
304
354
  });
305
355
  Object.defineProperty(exports, "selectContentSchema", {
306
356
  enumerable: true,
307
- get: function () { return chunkWJ7QYVR2_cjs.selectContentSchema; }
357
+ get: function () { return chunkRNR4HA23_cjs.selectContentSchema; }
308
358
  });
309
359
  Object.defineProperty(exports, "selectLogConfigSchema", {
310
360
  enumerable: true,
311
- get: function () { return chunkWJ7QYVR2_cjs.selectLogConfigSchema; }
361
+ get: function () { return chunkRNR4HA23_cjs.selectLogConfigSchema; }
312
362
  });
313
363
  Object.defineProperty(exports, "selectMediaSchema", {
314
364
  enumerable: true,
315
- get: function () { return chunkWJ7QYVR2_cjs.selectMediaSchema; }
365
+ get: function () { return chunkRNR4HA23_cjs.selectMediaSchema; }
316
366
  });
317
367
  Object.defineProperty(exports, "selectPluginActivityLogSchema", {
318
368
  enumerable: true,
319
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginActivityLogSchema; }
369
+ get: function () { return chunkRNR4HA23_cjs.selectPluginActivityLogSchema; }
320
370
  });
321
371
  Object.defineProperty(exports, "selectPluginAssetSchema", {
322
372
  enumerable: true,
323
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginAssetSchema; }
373
+ get: function () { return chunkRNR4HA23_cjs.selectPluginAssetSchema; }
324
374
  });
325
375
  Object.defineProperty(exports, "selectPluginHookSchema", {
326
376
  enumerable: true,
327
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginHookSchema; }
377
+ get: function () { return chunkRNR4HA23_cjs.selectPluginHookSchema; }
328
378
  });
329
379
  Object.defineProperty(exports, "selectPluginRouteSchema", {
330
380
  enumerable: true,
331
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginRouteSchema; }
381
+ get: function () { return chunkRNR4HA23_cjs.selectPluginRouteSchema; }
332
382
  });
333
383
  Object.defineProperty(exports, "selectPluginSchema", {
334
384
  enumerable: true,
335
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginSchema; }
385
+ get: function () { return chunkRNR4HA23_cjs.selectPluginSchema; }
336
386
  });
337
387
  Object.defineProperty(exports, "selectSystemLogSchema", {
338
388
  enumerable: true,
339
- get: function () { return chunkWJ7QYVR2_cjs.selectSystemLogSchema; }
389
+ get: function () { return chunkRNR4HA23_cjs.selectSystemLogSchema; }
340
390
  });
341
391
  Object.defineProperty(exports, "selectUserSchema", {
342
392
  enumerable: true,
343
- get: function () { return chunkWJ7QYVR2_cjs.selectUserSchema; }
393
+ get: function () { return chunkRNR4HA23_cjs.selectUserSchema; }
344
394
  });
345
395
  Object.defineProperty(exports, "selectWorkflowHistorySchema", {
346
396
  enumerable: true,
347
- get: function () { return chunkWJ7QYVR2_cjs.selectWorkflowHistorySchema; }
397
+ get: function () { return chunkRNR4HA23_cjs.selectWorkflowHistorySchema; }
348
398
  });
349
399
  Object.defineProperty(exports, "syncCollection", {
350
400
  enumerable: true,
351
- get: function () { return chunkWJ7QYVR2_cjs.syncCollection; }
401
+ get: function () { return chunkRNR4HA23_cjs.syncCollection; }
352
402
  });
353
403
  Object.defineProperty(exports, "syncCollections", {
354
404
  enumerable: true,
355
- get: function () { return chunkWJ7QYVR2_cjs.syncCollections; }
405
+ get: function () { return chunkRNR4HA23_cjs.syncCollections; }
356
406
  });
357
407
  Object.defineProperty(exports, "systemLogs", {
358
408
  enumerable: true,
359
- get: function () { return chunkWJ7QYVR2_cjs.systemLogs; }
409
+ get: function () { return chunkRNR4HA23_cjs.systemLogs; }
360
410
  });
361
411
  Object.defineProperty(exports, "users", {
362
412
  enumerable: true,
363
- get: function () { return chunkWJ7QYVR2_cjs.users; }
413
+ get: function () { return chunkRNR4HA23_cjs.users; }
364
414
  });
365
415
  Object.defineProperty(exports, "validateCollectionConfig", {
366
416
  enumerable: true,
367
- get: function () { return chunkWJ7QYVR2_cjs.validateCollectionConfig; }
417
+ get: function () { return chunkRNR4HA23_cjs.validateCollectionConfig; }
368
418
  });
369
419
  Object.defineProperty(exports, "workflowHistory", {
370
420
  enumerable: true,
371
- get: function () { return chunkWJ7QYVR2_cjs.workflowHistory; }
372
- });
373
- Object.defineProperty(exports, "ROUTES_INFO", {
374
- enumerable: true,
375
- get: function () { return chunkBOLQHE4J_cjs.ROUTES_INFO; }
421
+ get: function () { return chunkRNR4HA23_cjs.workflowHistory; }
376
422
  });
377
423
  Object.defineProperty(exports, "getConfirmationDialogScript", {
378
424
  enumerable: true,
379
- get: function () { return chunkBRC3F4CG_cjs.getConfirmationDialogScript; }
425
+ get: function () { return chunk6BHDKYLU_cjs.getConfirmationDialogScript; }
380
426
  });
381
427
  Object.defineProperty(exports, "renderAlert", {
382
428
  enumerable: true,
383
- get: function () { return chunkBRC3F4CG_cjs.renderAlert; }
429
+ get: function () { return chunk6BHDKYLU_cjs.renderAlert; }
384
430
  });
385
431
  Object.defineProperty(exports, "renderConfirmationDialog", {
386
432
  enumerable: true,
387
- get: function () { return chunkBRC3F4CG_cjs.renderConfirmationDialog; }
433
+ get: function () { return chunk6BHDKYLU_cjs.renderConfirmationDialog; }
388
434
  });
389
435
  Object.defineProperty(exports, "renderFilterBar", {
390
436
  enumerable: true,
391
- get: function () { return chunkBRC3F4CG_cjs.renderFilterBar; }
437
+ get: function () { return chunk6BHDKYLU_cjs.renderFilterBar; }
392
438
  });
393
439
  Object.defineProperty(exports, "renderForm", {
394
440
  enumerable: true,
395
- get: function () { return chunkBRC3F4CG_cjs.renderForm; }
441
+ get: function () { return chunk6BHDKYLU_cjs.renderForm; }
396
442
  });
397
443
  Object.defineProperty(exports, "renderFormField", {
398
444
  enumerable: true,
399
- get: function () { return chunkBRC3F4CG_cjs.renderFormField; }
445
+ get: function () { return chunk6BHDKYLU_cjs.renderFormField; }
400
446
  });
401
447
  Object.defineProperty(exports, "renderPagination", {
402
448
  enumerable: true,
403
- get: function () { return chunkBRC3F4CG_cjs.renderPagination; }
449
+ get: function () { return chunk6BHDKYLU_cjs.renderPagination; }
404
450
  });
405
451
  Object.defineProperty(exports, "renderTable", {
406
452
  enumerable: true,
407
- get: function () { return chunkBRC3F4CG_cjs.renderTable; }
453
+ get: function () { return chunk6BHDKYLU_cjs.renderTable; }
408
454
  });
409
455
  Object.defineProperty(exports, "HookSystemImpl", {
410
456
  enumerable: true,
411
- get: function () { return chunkL3NXO7Y4_cjs.HookSystemImpl; }
457
+ get: function () { return chunkFVMV5DKA_cjs.HookSystemImpl; }
412
458
  });
413
459
  Object.defineProperty(exports, "HookUtils", {
414
460
  enumerable: true,
415
- get: function () { return chunkL3NXO7Y4_cjs.HookUtils; }
461
+ get: function () { return chunkFVMV5DKA_cjs.HookUtils; }
416
462
  });
417
463
  Object.defineProperty(exports, "PluginManagerClass", {
418
464
  enumerable: true,
419
- get: function () { return chunkL3NXO7Y4_cjs.PluginManager; }
465
+ get: function () { return chunkFVMV5DKA_cjs.PluginManager; }
420
466
  });
421
467
  Object.defineProperty(exports, "PluginRegistryImpl", {
422
468
  enumerable: true,
423
- get: function () { return chunkL3NXO7Y4_cjs.PluginRegistryImpl; }
469
+ get: function () { return chunkFVMV5DKA_cjs.PluginRegistryImpl; }
424
470
  });
425
471
  Object.defineProperty(exports, "PluginValidatorClass", {
426
472
  enumerable: true,
427
- get: function () { return chunkL3NXO7Y4_cjs.PluginValidator; }
473
+ get: function () { return chunkFVMV5DKA_cjs.PluginValidator; }
428
474
  });
429
475
  Object.defineProperty(exports, "ScopedHookSystemClass", {
430
476
  enumerable: true,
431
- get: function () { return chunkL3NXO7Y4_cjs.ScopedHookSystem; }
477
+ get: function () { return chunkFVMV5DKA_cjs.ScopedHookSystem; }
432
478
  });
433
479
  Object.defineProperty(exports, "QueryFilterBuilder", {
434
480
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app.ts","../src/db/index.ts","../src/index.ts"],"names":["Hono","d1","drizzle","schema_exports"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Main Application Factory\n *\n * Creates a configured SonicJS application with all core functionality\n */\n\nimport { Hono } from 'hono'\nimport type { Context } from 'hono'\nimport type { D1Database, KVNamespace, R2Bucket } from '@cloudflare/workers-types'\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface Bindings {\n DB: D1Database\n CACHE_KV: KVNamespace\n MEDIA_BUCKET: R2Bucket\n ASSETS: Fetcher\n EMAIL_QUEUE?: Queue\n SENDGRID_API_KEY?: string\n DEFAULT_FROM_EMAIL?: string\n IMAGES_ACCOUNT_ID?: string\n IMAGES_API_TOKEN?: string\n ENVIRONMENT?: string\n}\n\nexport interface Variables {\n user?: {\n userId: string\n email: string\n role: string\n exp: number\n iat: number\n }\n requestId?: string\n startTime?: number\n appVersion?: string\n}\n\nexport interface SonicJSConfig {\n // Collections configuration\n collections?: {\n directory?: string\n autoSync?: boolean\n }\n\n // Plugins configuration\n plugins?: {\n directory?: string\n autoLoad?: boolean\n }\n\n // Custom routes\n routes?: Array<{\n path: string\n handler: Hono\n }>\n\n // Custom middleware\n middleware?: {\n beforeAuth?: Array<(c: Context, next: () => Promise<void>) => Promise<void>>\n afterAuth?: Array<(c: Context, next: () => Promise<void>) => Promise<void>>\n }\n\n // App metadata\n version?: string\n name?: string\n}\n\nexport type SonicJSApp = Hono<{ Bindings: Bindings; Variables: Variables }>\n\n// ============================================================================\n// Application Factory\n// ============================================================================\n\n/**\n * Create a SonicJS application with core functionality\n *\n * @param config - Application configuration\n * @returns Configured Hono application\n *\n * @example\n * ```typescript\n * import { createSonicJSApp } from '@sonicjs/core'\n *\n * const app = createSonicJSApp({\n * collections: {\n * directory: './src/collections',\n * autoSync: true\n * },\n * plugins: {\n * directory: './src/plugins',\n * autoLoad: true\n * }\n * })\n *\n * export default app\n * ```\n */\nexport function createSonicJSApp(config: SonicJSConfig = {}): SonicJSApp {\n const app = new Hono<{ Bindings: Bindings; Variables: Variables }>()\n\n // Set app metadata\n const appVersion = config.version || '1.0.0'\n const appName = config.name || 'SonicJS'\n\n // App version middleware\n app.use('*', async (c, next) => {\n c.set('appVersion', appVersion)\n await next()\n })\n\n // Bootstrap middleware\n // Note: Implementation will be imported from middleware/bootstrap\n // This is a placeholder for the factory pattern\n app.use('*', async (_c, next) => {\n // Bootstrap logic here (migrations, collections, plugins)\n await next()\n })\n\n // Custom middleware - before auth\n if (config.middleware?.beforeAuth) {\n for (const middleware of config.middleware.beforeAuth) {\n app.use('*', middleware)\n }\n }\n\n // Logging middleware\n app.use('*', async (_c, next) => {\n // Logging logic here\n await next()\n })\n\n // Security middleware\n app.use('*', async (_c, next) => {\n // Security headers, CORS, etc.\n await next()\n })\n\n // Custom middleware - after auth\n if (config.middleware?.afterAuth) {\n for (const middleware of config.middleware.afterAuth) {\n app.use('*', middleware)\n }\n }\n\n // Core routes\n // Note: Routes will be imported from routes/*\n // This is a placeholder for the factory pattern\n\n // Custom routes\n if (config.routes) {\n for (const route of config.routes) {\n app.route(route.path, route.handler)\n }\n }\n\n // Health check\n app.get('/health', (c) => {\n return c.json({\n name: appName,\n version: appVersion,\n status: 'running',\n timestamp: new Date().toISOString()\n })\n })\n\n // 404 handler\n app.notFound((c) => {\n return c.json({ error: 'Not Found', status: 404 }, 404)\n })\n\n // Error handler\n app.onError((err, c) => {\n console.error(err)\n return c.json({ error: 'Internal Server Error', status: 500 }, 500)\n })\n\n return app\n}\n\n/**\n * Setup core middleware (backward compatibility)\n *\n * @param _app - Hono application\n * @deprecated Use createSonicJSApp() instead\n */\nexport function setupCoreMiddleware(_app: SonicJSApp): void {\n console.warn('setupCoreMiddleware is deprecated. Use createSonicJSApp() instead.')\n // Backward compatibility implementation\n}\n\n/**\n * Setup core routes (backward compatibility)\n *\n * @param _app - Hono application\n * @deprecated Use createSonicJSApp() instead\n */\nexport function setupCoreRoutes(_app: SonicJSApp): void {\n console.warn('setupCoreRoutes is deprecated. Use createSonicJSApp() instead.')\n // Backward compatibility implementation\n}\n","import { drizzle } from 'drizzle-orm/d1';\nimport * as schema from './schema';\n\nexport function createDb(d1: D1Database) {\n return drizzle(d1, { schema });\n}\n\nexport * from './schema';","/**\n * @sonicjs/core - Main Entry Point\n *\n * Core framework for SonicJS headless CMS\n * Built for Cloudflare's edge platform with TypeScript\n *\n * Phase 2 Migration Status:\n * - Week 1: Types, Utils, Database (COMPLETED ✓)\n * - Week 2: Services, Middleware, Plugins (COMPLETED ✓)\n * - Week 3: Routes, Templates (COMPLETED ✓)\n * - Week 4: Integration & Testing (COMPLETED ✓)\n *\n * Test Coverage:\n * - Utilities: 48 tests (sanitize, query-filter, metrics)\n * - Middleware: 51 tests (auth, logging, security, performance)\n * - Total: 99 tests passing\n */\n\n// ============================================================================\n// Main Application API (Phase 2 Week 1)\n// ============================================================================\n\nexport { createSonicJSApp, setupCoreMiddleware, setupCoreRoutes } from './app'\nexport type { SonicJSConfig, SonicJSApp, Bindings, Variables } from './app'\n\n// ============================================================================\n// Placeholders - To be populated in Phase 2\n// ============================================================================\n\n// Services - Week 2 (COMPLETED)\nexport {\n // Collection Management\n loadCollectionConfigs,\n loadCollectionConfig,\n getAvailableCollectionNames,\n validateCollectionConfig,\n syncCollections,\n syncCollection,\n isCollectionManaged,\n getManagedCollections,\n cleanupRemovedCollections,\n fullCollectionSync,\n // Database Migrations\n MigrationService,\n // Logging\n Logger,\n getLogger,\n initLogger,\n // Plugin Services - Class implementations\n PluginService as PluginServiceClass,\n PluginBootstrapService,\n} from './services'\n\nexport type { Migration, MigrationStatus, LogLevel, LogCategory, LogEntry, LogFilter, CorePlugin } from './services'\n\n// Middleware - Week 2 (COMPLETED)\nexport {\n // Authentication\n AuthManager,\n requireAuth,\n requireRole,\n optionalAuth,\n // Logging\n loggingMiddleware,\n detailedLoggingMiddleware,\n securityLoggingMiddleware,\n performanceLoggingMiddleware,\n // Performance\n cacheHeaders,\n compressionMiddleware,\n securityHeaders,\n // Permissions\n PermissionManager,\n requirePermission,\n requireAnyPermission,\n logActivity,\n // Plugin middleware\n requireActivePlugin,\n requireActivePlugins,\n getActivePlugins,\n isPluginActive,\n // Bootstrap\n bootstrapMiddleware,\n} from './middleware'\n\nexport type { Permission, UserPermissions } from './middleware'\n\n// Plugins - Week 2 (COMPLETED)\nexport {\n // Hook System - Class implementations\n HookSystemImpl,\n ScopedHookSystem as ScopedHookSystemClass,\n HookUtils,\n // Plugin Registry\n PluginRegistryImpl,\n // Plugin Manager - Class implementation\n PluginManager as PluginManagerClass,\n // Plugin Validator - Class implementation\n PluginValidator as PluginValidatorClass,\n} from './plugins'\n\n// Routes - Week 3 (COMPLETED)\nexport { ROUTES_INFO } from './routes'\n\n// Templates - Week 3 (COMPLETED)\nexport {\n // Form templates\n renderForm,\n renderFormField,\n // Table templates\n renderTable,\n // Pagination templates\n renderPagination,\n // Alert templates\n renderAlert,\n // Confirmation dialog templates\n renderConfirmationDialog,\n getConfirmationDialogScript,\n // Filter bar templates\n renderFilterBar,\n} from './templates'\n\nexport type {\n FormField,\n FormData,\n TableColumn,\n TableData,\n PaginationData,\n AlertData,\n ConfirmationDialogOptions,\n FilterBarData,\n Filter,\n FilterOption,\n} from './templates'\n\n// Types - Week 1 (COMPLETED)\nexport type {\n // Collection types\n FieldType,\n FieldConfig,\n CollectionSchema,\n CollectionConfig,\n CollectionConfigModule,\n CollectionSyncResult,\n // Plugin types\n Plugin,\n PluginContext,\n PluginConfig,\n PluginRoutes,\n PluginMiddleware,\n PluginModel,\n PluginService,\n PluginAdminPage,\n PluginComponent,\n PluginMenuItem,\n PluginHook,\n HookHandler,\n HookContext,\n HookSystem,\n ScopedHookSystem,\n PluginRegistry,\n PluginManager,\n PluginStatus,\n AuthService,\n ContentService,\n MediaService,\n PluginLogger,\n PluginBuilderOptions,\n PluginValidator,\n PluginValidationResult,\n HookName,\n // Plugin manifest\n PluginManifest,\n} from './types'\n\nexport { HOOKS } from './types'\n\n// Utils - Week 1 (COMPLETED)\nexport {\n // Sanitization\n escapeHtml,\n sanitizeInput,\n sanitizeObject,\n // Template rendering\n TemplateRenderer,\n templateRenderer,\n renderTemplate,\n // Query filtering\n QueryFilterBuilder,\n buildQuery,\n // Metrics\n metricsTracker,\n} from './utils'\n\nexport type {\n FilterOperator,\n FilterCondition,\n FilterGroup,\n QueryFilter,\n QueryResult,\n} from './utils'\n\n// Database - Week 1 (COMPLETED)\nexport {\n createDb,\n // Schema exports\n users,\n collections,\n content,\n contentVersions,\n media,\n apiTokens,\n workflowHistory,\n plugins,\n pluginHooks,\n pluginRoutes,\n pluginAssets,\n pluginActivityLog,\n systemLogs,\n logConfig,\n // Zod validation schemas\n insertUserSchema,\n selectUserSchema,\n insertCollectionSchema,\n selectCollectionSchema,\n insertContentSchema,\n selectContentSchema,\n insertMediaSchema,\n selectMediaSchema,\n insertWorkflowHistorySchema,\n selectWorkflowHistorySchema,\n insertPluginSchema,\n selectPluginSchema,\n insertPluginHookSchema,\n selectPluginHookSchema,\n insertPluginRouteSchema,\n selectPluginRouteSchema,\n insertPluginAssetSchema,\n selectPluginAssetSchema,\n insertPluginActivityLogSchema,\n selectPluginActivityLogSchema,\n insertSystemLogSchema,\n selectSystemLogSchema,\n insertLogConfigSchema,\n selectLogConfigSchema,\n} from './db'\n\nexport type {\n User,\n NewUser,\n Collection,\n NewCollection,\n Content,\n NewContent,\n Media,\n NewMedia,\n WorkflowHistory,\n NewWorkflowHistory,\n Plugin as DbPlugin,\n NewPlugin,\n PluginHook as DbPluginHook,\n NewPluginHook,\n PluginRoute,\n NewPluginRoute,\n PluginAsset,\n NewPluginAsset,\n PluginActivityLog,\n NewPluginActivityLog,\n SystemLog,\n NewSystemLog,\n LogConfig,\n NewLogConfig,\n} from './db'\n\n// Plugins - Week 2\n// export { PluginBuilder, HookSystem } from './plugins/sdk'\n\n// ============================================================================\n// Version\n// ============================================================================\n\nexport const VERSION = '2.0.0-alpha.1'\n\n// ============================================================================\n// Phase 2 Migration Notes\n// ============================================================================\n\n/**\n * This is a work-in-progress package being extracted from the main SonicJS codebase.\n *\n * Current Phase: 2 (Core Module Migration)\n * Current Week: 1 (Types, Utils, Database)\n *\n * Expected completion: 4 weeks from 2025-01-17\n *\n * DO NOT USE IN PRODUCTION - Alpha release for development only\n */\n"]}
1
+ {"version":3,"sources":["../src/app.ts","../src/db/index.ts","../src/index.ts"],"names":["Hono","api_default","api_media_default","api_system_default","admin_api_default","admin_content_default","adminMediaRoutes","adminPluginRoutes","adminLogsRoutes","userRoutes","auth_default","d1","drizzle","schema_exports"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Main Application Factory\n *\n * Creates a configured SonicJS application with all core functionality\n */\n\nimport { Hono } from 'hono'\nimport type { Context } from 'hono'\nimport type { D1Database, KVNamespace, R2Bucket } from '@cloudflare/workers-types'\nimport { apiRoutes, apiMediaRoutes, apiSystemRoutes, adminApiRoutes, authRoutes, adminContentRoutes, adminUsersRoutes, adminMediaRoutes, adminPluginRoutes, adminLogsRoutes } from './routes'\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport interface Bindings {\n DB: D1Database\n CACHE_KV: KVNamespace\n MEDIA_BUCKET: R2Bucket\n ASSETS: Fetcher\n EMAIL_QUEUE?: Queue\n SENDGRID_API_KEY?: string\n DEFAULT_FROM_EMAIL?: string\n IMAGES_ACCOUNT_ID?: string\n IMAGES_API_TOKEN?: string\n ENVIRONMENT?: string\n BUCKET_NAME?: string\n}\n\nexport interface Variables {\n user?: {\n userId: string\n email: string\n role: string\n exp: number\n iat: number\n }\n requestId?: string\n startTime?: number\n appVersion?: string\n}\n\nexport interface SonicJSConfig {\n // Collections configuration\n collections?: {\n directory?: string\n autoSync?: boolean\n }\n\n // Plugins configuration\n plugins?: {\n directory?: string\n autoLoad?: boolean\n }\n\n // Custom routes\n routes?: Array<{\n path: string\n handler: Hono\n }>\n\n // Custom middleware\n middleware?: {\n beforeAuth?: Array<(c: Context, next: () => Promise<void>) => Promise<void>>\n afterAuth?: Array<(c: Context, next: () => Promise<void>) => Promise<void>>\n }\n\n // App metadata\n version?: string\n name?: string\n}\n\nexport type SonicJSApp = Hono<{ Bindings: Bindings; Variables: Variables }>\n\n// ============================================================================\n// Application Factory\n// ============================================================================\n\n/**\n * Create a SonicJS application with core functionality\n *\n * @param config - Application configuration\n * @returns Configured Hono application\n *\n * @example\n * ```typescript\n * import { createSonicJSApp } from '@sonicjs/core'\n *\n * const app = createSonicJSApp({\n * collections: {\n * directory: './src/collections',\n * autoSync: true\n * },\n * plugins: {\n * directory: './src/plugins',\n * autoLoad: true\n * }\n * })\n *\n * export default app\n * ```\n */\nexport function createSonicJSApp(config: SonicJSConfig = {}): SonicJSApp {\n const app = new Hono<{ Bindings: Bindings; Variables: Variables }>()\n\n // Set app metadata\n const appVersion = config.version || '1.0.0'\n const appName = config.name || 'SonicJS'\n\n // App version middleware\n app.use('*', async (c, next) => {\n c.set('appVersion', appVersion)\n await next()\n })\n\n // Bootstrap middleware\n // Note: Implementation will be imported from middleware/bootstrap\n // This is a placeholder for the factory pattern\n app.use('*', async (_c, next) => {\n // Bootstrap logic here (migrations, collections, plugins)\n await next()\n })\n\n // Custom middleware - before auth\n if (config.middleware?.beforeAuth) {\n for (const middleware of config.middleware.beforeAuth) {\n app.use('*', middleware)\n }\n }\n\n // Logging middleware\n app.use('*', async (_c, next) => {\n // Logging logic here\n await next()\n })\n\n // Security middleware\n app.use('*', async (_c, next) => {\n // Security headers, CORS, etc.\n await next()\n })\n\n // Custom middleware - after auth\n if (config.middleware?.afterAuth) {\n for (const middleware of config.middleware.afterAuth) {\n app.use('*', middleware)\n }\n }\n\n // Core routes\n // Routes are being imported incrementally from routes/*\n // Each route is tested and migrated one-by-one\n app.route('/api', apiRoutes)\n app.route('/api/media', apiMediaRoutes)\n app.route('/api/system', apiSystemRoutes)\n app.route('/admin/api', adminApiRoutes)\n app.route('/admin/content', adminContentRoutes)\n app.route('/admin/media', adminMediaRoutes)\n app.route('/admin/plugins', adminPluginRoutes)\n app.route('/admin/logs', adminLogsRoutes)\n app.route('/admin', adminUsersRoutes)\n app.route('/auth', authRoutes)\n\n // Custom routes - User-defined routes\n if (config.routes) {\n for (const route of config.routes) {\n app.route(route.path, route.handler)\n }\n }\n\n // Root redirect to login\n app.get('/', (c) => {\n return c.redirect('/auth/login')\n })\n\n // Health check\n app.get('/health', (c) => {\n return c.json({\n name: appName,\n version: appVersion,\n status: 'running',\n timestamp: new Date().toISOString()\n })\n })\n\n // 404 handler\n app.notFound((c) => {\n return c.json({ error: 'Not Found', status: 404 }, 404)\n })\n\n // Error handler\n app.onError((err, c) => {\n console.error(err)\n return c.json({ error: 'Internal Server Error', status: 500 }, 500)\n })\n\n return app\n}\n\n/**\n * Setup core middleware (backward compatibility)\n *\n * @param _app - Hono application\n * @deprecated Use createSonicJSApp() instead\n */\nexport function setupCoreMiddleware(_app: SonicJSApp): void {\n console.warn('setupCoreMiddleware is deprecated. Use createSonicJSApp() instead.')\n // Backward compatibility implementation\n}\n\n/**\n * Setup core routes (backward compatibility)\n *\n * @param _app - Hono application\n * @deprecated Use createSonicJSApp() instead\n */\nexport function setupCoreRoutes(_app: SonicJSApp): void {\n console.warn('setupCoreRoutes is deprecated. Use createSonicJSApp() instead.')\n // Backward compatibility implementation\n}\n","import { drizzle } from 'drizzle-orm/d1';\nimport * as schema from './schema';\n\nexport function createDb(d1: D1Database) {\n return drizzle(d1, { schema });\n}\n\nexport * from './schema';","/**\n * @sonicjs/core - Main Entry Point\n *\n * Core framework for SonicJS headless CMS\n * Built for Cloudflare's edge platform with TypeScript\n *\n * Phase 2 Migration Status:\n * - Week 1: Types, Utils, Database (COMPLETED ✓)\n * - Week 2: Services, Middleware, Plugins (COMPLETED ✓)\n * - Week 3: Routes, Templates (COMPLETED ✓)\n * - Week 4: Integration & Testing (COMPLETED ✓)\n *\n * Test Coverage:\n * - Utilities: 48 tests (sanitize, query-filter, metrics)\n * - Middleware: 51 tests (auth, logging, security, performance)\n * - Total: 99 tests passing\n */\n\n// ============================================================================\n// Main Application API (Phase 2 Week 1)\n// ============================================================================\n\nexport { createSonicJSApp, setupCoreMiddleware, setupCoreRoutes } from './app'\nexport type { SonicJSConfig, SonicJSApp, Bindings, Variables } from './app'\n\n// ============================================================================\n// Placeholders - To be populated in Phase 2\n// ============================================================================\n\n// Services - Week 2 (COMPLETED)\nexport {\n // Collection Management\n loadCollectionConfigs,\n loadCollectionConfig,\n getAvailableCollectionNames,\n validateCollectionConfig,\n syncCollections,\n syncCollection,\n isCollectionManaged,\n getManagedCollections,\n cleanupRemovedCollections,\n fullCollectionSync,\n // Database Migrations\n MigrationService,\n // Logging\n Logger,\n getLogger,\n initLogger,\n // Plugin Services - Class implementations\n PluginService as PluginServiceClass,\n PluginBootstrapService,\n} from './services'\n\nexport type { Migration, MigrationStatus, LogLevel, LogCategory, LogEntry, LogFilter, CorePlugin } from './services'\n\n// Middleware - Week 2 (COMPLETED)\nexport {\n // Authentication\n AuthManager,\n requireAuth,\n requireRole,\n optionalAuth,\n // Logging\n loggingMiddleware,\n detailedLoggingMiddleware,\n securityLoggingMiddleware,\n performanceLoggingMiddleware,\n // Performance\n cacheHeaders,\n compressionMiddleware,\n securityHeaders,\n // Permissions\n PermissionManager,\n requirePermission,\n requireAnyPermission,\n logActivity,\n // Plugin middleware\n requireActivePlugin,\n requireActivePlugins,\n getActivePlugins,\n isPluginActive,\n // Bootstrap\n bootstrapMiddleware,\n} from './middleware'\n\nexport type { Permission, UserPermissions } from './middleware'\n\n// Plugins - Week 2 (COMPLETED)\nexport {\n // Hook System - Class implementations\n HookSystemImpl,\n ScopedHookSystem as ScopedHookSystemClass,\n HookUtils,\n // Plugin Registry\n PluginRegistryImpl,\n // Plugin Manager - Class implementation\n PluginManager as PluginManagerClass,\n // Plugin Validator - Class implementation\n PluginValidator as PluginValidatorClass,\n} from './plugins'\n\n// Routes - Week 3 (COMPLETED)\nexport {\n ROUTES_INFO,\n apiRoutes,\n apiMediaRoutes,\n authRoutes,\n adminContentRoutes,\n adminUsersRoutes,\n adminMediaRoutes,\n adminLogsRoutes,\n adminPluginRoutes,\n} from './routes'\n\n// Templates - Week 3 (COMPLETED)\nexport {\n // Form templates\n renderForm,\n renderFormField,\n // Table templates\n renderTable,\n // Pagination templates\n renderPagination,\n // Alert templates\n renderAlert,\n // Confirmation dialog templates\n renderConfirmationDialog,\n getConfirmationDialogScript,\n // Filter bar templates\n renderFilterBar,\n} from './templates'\n\nexport type {\n FormField,\n FormData,\n TableColumn,\n TableData,\n PaginationData,\n AlertData,\n ConfirmationDialogOptions,\n FilterBarData,\n Filter,\n FilterOption,\n} from './templates'\n\n// Types - Week 1 (COMPLETED)\nexport type {\n // Collection types\n FieldType,\n FieldConfig,\n CollectionSchema,\n CollectionConfig,\n CollectionConfigModule,\n CollectionSyncResult,\n // Plugin types\n Plugin,\n PluginContext,\n PluginConfig,\n PluginRoutes,\n PluginMiddleware,\n PluginModel,\n PluginService,\n PluginAdminPage,\n PluginComponent,\n PluginMenuItem,\n PluginHook,\n HookHandler,\n HookContext,\n HookSystem,\n ScopedHookSystem,\n PluginRegistry,\n PluginManager,\n PluginStatus,\n AuthService,\n ContentService,\n MediaService,\n PluginLogger,\n PluginBuilderOptions,\n PluginValidator,\n PluginValidationResult,\n HookName,\n // Plugin manifest\n PluginManifest,\n} from './types'\n\nexport { HOOKS } from './types'\n\n// Utils - Week 1 (COMPLETED)\nexport {\n // Sanitization\n escapeHtml,\n sanitizeInput,\n sanitizeObject,\n // Template rendering\n TemplateRenderer,\n templateRenderer,\n renderTemplate,\n // Query filtering\n QueryFilterBuilder,\n buildQuery,\n // Metrics\n metricsTracker,\n} from './utils'\n\nexport type {\n FilterOperator,\n FilterCondition,\n FilterGroup,\n QueryFilter,\n QueryResult,\n} from './utils'\n\n// Database - Week 1 (COMPLETED)\nexport {\n createDb,\n // Schema exports\n users,\n collections,\n content,\n contentVersions,\n media,\n apiTokens,\n workflowHistory,\n plugins,\n pluginHooks,\n pluginRoutes,\n pluginAssets,\n pluginActivityLog,\n systemLogs,\n logConfig,\n // Zod validation schemas\n insertUserSchema,\n selectUserSchema,\n insertCollectionSchema,\n selectCollectionSchema,\n insertContentSchema,\n selectContentSchema,\n insertMediaSchema,\n selectMediaSchema,\n insertWorkflowHistorySchema,\n selectWorkflowHistorySchema,\n insertPluginSchema,\n selectPluginSchema,\n insertPluginHookSchema,\n selectPluginHookSchema,\n insertPluginRouteSchema,\n selectPluginRouteSchema,\n insertPluginAssetSchema,\n selectPluginAssetSchema,\n insertPluginActivityLogSchema,\n selectPluginActivityLogSchema,\n insertSystemLogSchema,\n selectSystemLogSchema,\n insertLogConfigSchema,\n selectLogConfigSchema,\n} from './db'\n\nexport type {\n User,\n NewUser,\n Collection,\n NewCollection,\n Content,\n NewContent,\n Media,\n NewMedia,\n WorkflowHistory,\n NewWorkflowHistory,\n Plugin as DbPlugin,\n NewPlugin,\n PluginHook as DbPluginHook,\n NewPluginHook,\n PluginRoute,\n NewPluginRoute,\n PluginAsset,\n NewPluginAsset,\n PluginActivityLog,\n NewPluginActivityLog,\n SystemLog,\n NewSystemLog,\n LogConfig,\n NewLogConfig,\n} from './db'\n\n// Plugins - Week 2\n// export { PluginBuilder, HookSystem } from './plugins/sdk'\n\n// ============================================================================\n// Version\n// ============================================================================\n\nexport const VERSION = '2.0.0-alpha.3'\n\n// ============================================================================\n// Phase 2 Migration Notes\n// ============================================================================\n\n/**\n * This is a work-in-progress package being extracted from the main SonicJS codebase.\n *\n * Current Phase: 2 (Core Module Migration)\n * Current Week: 1 (Types, Utils, Database)\n *\n * Expected completion: 4 weeks from 2025-01-17\n *\n * DO NOT USE IN PRODUCTION - Alpha release for development only\n */\n"]}