@sonicjs-cms/core 2.0.0-alpha.6 → 2.0.0-alpha.8

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 (41) hide show
  1. package/dist/{chunk-CXZDAR6S.js → chunk-7N3HK7ZK.js} +3 -3
  2. package/dist/{chunk-CXZDAR6S.js.map → chunk-7N3HK7ZK.js.map} +1 -1
  3. package/dist/{chunk-NRSL6BQI.js → chunk-BITQ4MFX.js} +3 -3
  4. package/dist/{chunk-NRSL6BQI.js.map → chunk-BITQ4MFX.js.map} +1 -1
  5. package/dist/{chunk-24PWAFUT.cjs → chunk-BUKT6HP5.cjs} +13 -13
  6. package/dist/{chunk-24PWAFUT.cjs.map → chunk-BUKT6HP5.cjs.map} +1 -1
  7. package/dist/{chunk-KWFUNPSQ.cjs → chunk-E57DCHKC.cjs} +8792 -3806
  8. package/dist/chunk-E57DCHKC.cjs.map +1 -0
  9. package/dist/{chunk-L3NXO7Y4.cjs → chunk-FVMV5DKA.cjs} +49 -49
  10. package/dist/{chunk-L3NXO7Y4.cjs.map → chunk-FVMV5DKA.cjs.map} +1 -1
  11. package/dist/{chunk-EMMSS5I5.cjs → chunk-IGJUBJBW.cjs} +8 -2
  12. package/dist/{chunk-EMMSS5I5.cjs.map → chunk-IGJUBJBW.cjs.map} +1 -1
  13. package/dist/{chunk-WJ7QYVR2.cjs → chunk-RNR4HA23.cjs} +4 -4
  14. package/dist/{chunk-WJ7QYVR2.cjs.map → chunk-RNR4HA23.cjs.map} +1 -1
  15. package/dist/{chunk-5RDID2QZ.js → chunk-RWLPYK7R.js} +8768 -3784
  16. package/dist/chunk-RWLPYK7R.js.map +1 -0
  17. package/dist/{chunk-G3PMV62Z.js → chunk-V4OQ3NZ2.js} +7 -3
  18. package/dist/{chunk-G3PMV62Z.js.map → chunk-V4OQ3NZ2.js.map} +1 -1
  19. package/dist/{chunk-PTQZ5FEI.js → chunk-WESS2U3K.js} +3 -3
  20. package/dist/{chunk-PTQZ5FEI.js.map → chunk-WESS2U3K.js.map} +1 -1
  21. package/dist/index.cjs +95 -93
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +9 -7
  24. package/dist/index.js.map +1 -1
  25. package/dist/middleware.cjs +23 -23
  26. package/dist/middleware.js +3 -3
  27. package/dist/plugins.cjs +8 -8
  28. package/dist/plugins.js +2 -2
  29. package/dist/routes.cjs +20 -12
  30. package/dist/routes.js +4 -4
  31. package/dist/services.cjs +18 -18
  32. package/dist/services.js +2 -2
  33. package/dist/templates.cjs +1 -1
  34. package/dist/templates.js +1 -1
  35. package/dist/types.cjs +1 -1
  36. package/dist/types.js +1 -1
  37. package/dist/utils.cjs +1 -1
  38. package/dist/utils.js +1 -1
  39. package/package.json +1 -1
  40. package/dist/chunk-5RDID2QZ.js.map +0 -1
  41. package/dist/chunk-KWFUNPSQ.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkKWFUNPSQ_cjs = require('./chunk-KWFUNPSQ.cjs');
3
+ var chunkE57DCHKC_cjs = require('./chunk-E57DCHKC.cjs');
4
4
  require('./chunk-AGOE25LF.cjs');
5
- var chunk24PWAFUT_cjs = require('./chunk-24PWAFUT.cjs');
6
- var chunkWJ7QYVR2_cjs = require('./chunk-WJ7QYVR2.cjs');
5
+ var chunkBUKT6HP5_cjs = require('./chunk-BUKT6HP5.cjs');
6
+ var chunkRNR4HA23_cjs = require('./chunk-RNR4HA23.cjs');
7
7
  var chunkBRC3F4CG_cjs = require('./chunk-BRC3F4CG.cjs');
8
- var chunkL3NXO7Y4_cjs = require('./chunk-L3NXO7Y4.cjs');
8
+ var chunkFVMV5DKA_cjs = require('./chunk-FVMV5DKA.cjs');
9
9
  var chunkRGCQSFKC_cjs = require('./chunk-RGCQSFKC.cjs');
10
10
  var chunkKYGRJCZM_cjs = require('./chunk-KYGRJCZM.cjs');
11
- require('./chunk-EMMSS5I5.cjs');
11
+ require('./chunk-IGJUBJBW.cjs');
12
12
  var hono = require('hono');
13
13
  var d1 = require('drizzle-orm/d1');
14
14
 
@@ -39,12 +39,14 @@ function createSonicJSApp(config = {}) {
39
39
  app.use("*", middleware);
40
40
  }
41
41
  }
42
- app.route("/api", chunkKWFUNPSQ_cjs.api_default);
43
- app.route("/api/media", chunkKWFUNPSQ_cjs.api_media_default);
44
- app.route("/api/system", chunkKWFUNPSQ_cjs.api_system_default);
45
- app.route("/admin/api", chunkKWFUNPSQ_cjs.admin_api_default);
46
- app.route("/admin/content", chunkKWFUNPSQ_cjs.admin_content_default);
47
- app.route("/auth", chunkKWFUNPSQ_cjs.auth_default);
42
+ app.route("/api", chunkE57DCHKC_cjs.api_default);
43
+ app.route("/api/media", chunkE57DCHKC_cjs.api_media_default);
44
+ app.route("/api/system", chunkE57DCHKC_cjs.api_system_default);
45
+ app.route("/admin/api", chunkE57DCHKC_cjs.admin_api_default);
46
+ app.route("/admin/content", chunkE57DCHKC_cjs.admin_content_default);
47
+ app.route("/admin/media", chunkE57DCHKC_cjs.adminMediaRoutes);
48
+ app.route("/admin", chunkE57DCHKC_cjs.userRoutes);
49
+ app.route("/auth", chunkE57DCHKC_cjs.auth_default);
48
50
  if (config.routes) {
49
51
  for (const route of config.routes) {
50
52
  app.route(route.path, route.handler);
@@ -77,7 +79,7 @@ function setupCoreRoutes(_app) {
77
79
  console.warn("setupCoreRoutes is deprecated. Use createSonicJSApp() instead.");
78
80
  }
79
81
  function createDb(d1$1) {
80
- return d1.drizzle(d1$1, { schema: chunkWJ7QYVR2_cjs.schema_exports });
82
+ return d1.drizzle(d1$1, { schema: chunkRNR4HA23_cjs.schema_exports });
81
83
  }
82
84
 
83
85
  // src/index.ts
@@ -85,303 +87,303 @@ var VERSION = "2.0.0-alpha.3";
85
87
 
86
88
  Object.defineProperty(exports, "ROUTES_INFO", {
87
89
  enumerable: true,
88
- get: function () { return chunkKWFUNPSQ_cjs.ROUTES_INFO; }
90
+ get: function () { return chunkE57DCHKC_cjs.ROUTES_INFO; }
89
91
  });
90
92
  Object.defineProperty(exports, "AuthManager", {
91
93
  enumerable: true,
92
- get: function () { return chunk24PWAFUT_cjs.AuthManager; }
94
+ get: function () { return chunkBUKT6HP5_cjs.AuthManager; }
93
95
  });
94
96
  Object.defineProperty(exports, "PermissionManager", {
95
97
  enumerable: true,
96
- get: function () { return chunk24PWAFUT_cjs.PermissionManager; }
98
+ get: function () { return chunkBUKT6HP5_cjs.PermissionManager; }
97
99
  });
98
100
  Object.defineProperty(exports, "bootstrapMiddleware", {
99
101
  enumerable: true,
100
- get: function () { return chunk24PWAFUT_cjs.bootstrapMiddleware; }
102
+ get: function () { return chunkBUKT6HP5_cjs.bootstrapMiddleware; }
101
103
  });
102
104
  Object.defineProperty(exports, "cacheHeaders", {
103
105
  enumerable: true,
104
- get: function () { return chunk24PWAFUT_cjs.cacheHeaders; }
106
+ get: function () { return chunkBUKT6HP5_cjs.cacheHeaders; }
105
107
  });
106
108
  Object.defineProperty(exports, "compressionMiddleware", {
107
109
  enumerable: true,
108
- get: function () { return chunk24PWAFUT_cjs.compressionMiddleware; }
110
+ get: function () { return chunkBUKT6HP5_cjs.compressionMiddleware; }
109
111
  });
110
112
  Object.defineProperty(exports, "detailedLoggingMiddleware", {
111
113
  enumerable: true,
112
- get: function () { return chunk24PWAFUT_cjs.detailedLoggingMiddleware; }
114
+ get: function () { return chunkBUKT6HP5_cjs.detailedLoggingMiddleware; }
113
115
  });
114
116
  Object.defineProperty(exports, "getActivePlugins", {
115
117
  enumerable: true,
116
- get: function () { return chunk24PWAFUT_cjs.getActivePlugins; }
118
+ get: function () { return chunkBUKT6HP5_cjs.getActivePlugins; }
117
119
  });
118
120
  Object.defineProperty(exports, "isPluginActive", {
119
121
  enumerable: true,
120
- get: function () { return chunk24PWAFUT_cjs.isPluginActive; }
122
+ get: function () { return chunkBUKT6HP5_cjs.isPluginActive; }
121
123
  });
122
124
  Object.defineProperty(exports, "logActivity", {
123
125
  enumerable: true,
124
- get: function () { return chunk24PWAFUT_cjs.logActivity; }
126
+ get: function () { return chunkBUKT6HP5_cjs.logActivity; }
125
127
  });
126
128
  Object.defineProperty(exports, "loggingMiddleware", {
127
129
  enumerable: true,
128
- get: function () { return chunk24PWAFUT_cjs.loggingMiddleware; }
130
+ get: function () { return chunkBUKT6HP5_cjs.loggingMiddleware; }
129
131
  });
130
132
  Object.defineProperty(exports, "optionalAuth", {
131
133
  enumerable: true,
132
- get: function () { return chunk24PWAFUT_cjs.optionalAuth; }
134
+ get: function () { return chunkBUKT6HP5_cjs.optionalAuth; }
133
135
  });
134
136
  Object.defineProperty(exports, "performanceLoggingMiddleware", {
135
137
  enumerable: true,
136
- get: function () { return chunk24PWAFUT_cjs.performanceLoggingMiddleware; }
138
+ get: function () { return chunkBUKT6HP5_cjs.performanceLoggingMiddleware; }
137
139
  });
138
140
  Object.defineProperty(exports, "requireActivePlugin", {
139
141
  enumerable: true,
140
- get: function () { return chunk24PWAFUT_cjs.requireActivePlugin; }
142
+ get: function () { return chunkBUKT6HP5_cjs.requireActivePlugin; }
141
143
  });
142
144
  Object.defineProperty(exports, "requireActivePlugins", {
143
145
  enumerable: true,
144
- get: function () { return chunk24PWAFUT_cjs.requireActivePlugins; }
146
+ get: function () { return chunkBUKT6HP5_cjs.requireActivePlugins; }
145
147
  });
146
148
  Object.defineProperty(exports, "requireAnyPermission", {
147
149
  enumerable: true,
148
- get: function () { return chunk24PWAFUT_cjs.requireAnyPermission; }
150
+ get: function () { return chunkBUKT6HP5_cjs.requireAnyPermission; }
149
151
  });
150
152
  Object.defineProperty(exports, "requireAuth", {
151
153
  enumerable: true,
152
- get: function () { return chunk24PWAFUT_cjs.requireAuth; }
154
+ get: function () { return chunkBUKT6HP5_cjs.requireAuth; }
153
155
  });
154
156
  Object.defineProperty(exports, "requirePermission", {
155
157
  enumerable: true,
156
- get: function () { return chunk24PWAFUT_cjs.requirePermission; }
158
+ get: function () { return chunkBUKT6HP5_cjs.requirePermission; }
157
159
  });
158
160
  Object.defineProperty(exports, "requireRole", {
159
161
  enumerable: true,
160
- get: function () { return chunk24PWAFUT_cjs.requireRole; }
162
+ get: function () { return chunkBUKT6HP5_cjs.requireRole; }
161
163
  });
162
164
  Object.defineProperty(exports, "securityHeaders", {
163
165
  enumerable: true,
164
- get: function () { return chunk24PWAFUT_cjs.securityHeaders; }
166
+ get: function () { return chunkBUKT6HP5_cjs.securityHeaders; }
165
167
  });
166
168
  Object.defineProperty(exports, "securityLoggingMiddleware", {
167
169
  enumerable: true,
168
- get: function () { return chunk24PWAFUT_cjs.securityLoggingMiddleware; }
170
+ get: function () { return chunkBUKT6HP5_cjs.securityLoggingMiddleware; }
169
171
  });
170
172
  Object.defineProperty(exports, "Logger", {
171
173
  enumerable: true,
172
- get: function () { return chunkWJ7QYVR2_cjs.Logger; }
174
+ get: function () { return chunkRNR4HA23_cjs.Logger; }
173
175
  });
174
176
  Object.defineProperty(exports, "MigrationService", {
175
177
  enumerable: true,
176
- get: function () { return chunkWJ7QYVR2_cjs.MigrationService; }
178
+ get: function () { return chunkRNR4HA23_cjs.MigrationService; }
177
179
  });
178
180
  Object.defineProperty(exports, "PluginBootstrapService", {
179
181
  enumerable: true,
180
- get: function () { return chunkWJ7QYVR2_cjs.PluginBootstrapService; }
182
+ get: function () { return chunkRNR4HA23_cjs.PluginBootstrapService; }
181
183
  });
182
184
  Object.defineProperty(exports, "PluginServiceClass", {
183
185
  enumerable: true,
184
- get: function () { return chunkWJ7QYVR2_cjs.PluginService; }
186
+ get: function () { return chunkRNR4HA23_cjs.PluginService; }
185
187
  });
186
188
  Object.defineProperty(exports, "apiTokens", {
187
189
  enumerable: true,
188
- get: function () { return chunkWJ7QYVR2_cjs.apiTokens; }
190
+ get: function () { return chunkRNR4HA23_cjs.apiTokens; }
189
191
  });
190
192
  Object.defineProperty(exports, "cleanupRemovedCollections", {
191
193
  enumerable: true,
192
- get: function () { return chunkWJ7QYVR2_cjs.cleanupRemovedCollections; }
194
+ get: function () { return chunkRNR4HA23_cjs.cleanupRemovedCollections; }
193
195
  });
194
196
  Object.defineProperty(exports, "collections", {
195
197
  enumerable: true,
196
- get: function () { return chunkWJ7QYVR2_cjs.collections; }
198
+ get: function () { return chunkRNR4HA23_cjs.collections; }
197
199
  });
198
200
  Object.defineProperty(exports, "content", {
199
201
  enumerable: true,
200
- get: function () { return chunkWJ7QYVR2_cjs.content; }
202
+ get: function () { return chunkRNR4HA23_cjs.content; }
201
203
  });
202
204
  Object.defineProperty(exports, "contentVersions", {
203
205
  enumerable: true,
204
- get: function () { return chunkWJ7QYVR2_cjs.contentVersions; }
206
+ get: function () { return chunkRNR4HA23_cjs.contentVersions; }
205
207
  });
206
208
  Object.defineProperty(exports, "fullCollectionSync", {
207
209
  enumerable: true,
208
- get: function () { return chunkWJ7QYVR2_cjs.fullCollectionSync; }
210
+ get: function () { return chunkRNR4HA23_cjs.fullCollectionSync; }
209
211
  });
210
212
  Object.defineProperty(exports, "getAvailableCollectionNames", {
211
213
  enumerable: true,
212
- get: function () { return chunkWJ7QYVR2_cjs.getAvailableCollectionNames; }
214
+ get: function () { return chunkRNR4HA23_cjs.getAvailableCollectionNames; }
213
215
  });
214
216
  Object.defineProperty(exports, "getLogger", {
215
217
  enumerable: true,
216
- get: function () { return chunkWJ7QYVR2_cjs.getLogger; }
218
+ get: function () { return chunkRNR4HA23_cjs.getLogger; }
217
219
  });
218
220
  Object.defineProperty(exports, "getManagedCollections", {
219
221
  enumerable: true,
220
- get: function () { return chunkWJ7QYVR2_cjs.getManagedCollections; }
222
+ get: function () { return chunkRNR4HA23_cjs.getManagedCollections; }
221
223
  });
222
224
  Object.defineProperty(exports, "initLogger", {
223
225
  enumerable: true,
224
- get: function () { return chunkWJ7QYVR2_cjs.initLogger; }
226
+ get: function () { return chunkRNR4HA23_cjs.initLogger; }
225
227
  });
226
228
  Object.defineProperty(exports, "insertCollectionSchema", {
227
229
  enumerable: true,
228
- get: function () { return chunkWJ7QYVR2_cjs.insertCollectionSchema; }
230
+ get: function () { return chunkRNR4HA23_cjs.insertCollectionSchema; }
229
231
  });
230
232
  Object.defineProperty(exports, "insertContentSchema", {
231
233
  enumerable: true,
232
- get: function () { return chunkWJ7QYVR2_cjs.insertContentSchema; }
234
+ get: function () { return chunkRNR4HA23_cjs.insertContentSchema; }
233
235
  });
234
236
  Object.defineProperty(exports, "insertLogConfigSchema", {
235
237
  enumerable: true,
236
- get: function () { return chunkWJ7QYVR2_cjs.insertLogConfigSchema; }
238
+ get: function () { return chunkRNR4HA23_cjs.insertLogConfigSchema; }
237
239
  });
238
240
  Object.defineProperty(exports, "insertMediaSchema", {
239
241
  enumerable: true,
240
- get: function () { return chunkWJ7QYVR2_cjs.insertMediaSchema; }
242
+ get: function () { return chunkRNR4HA23_cjs.insertMediaSchema; }
241
243
  });
242
244
  Object.defineProperty(exports, "insertPluginActivityLogSchema", {
243
245
  enumerable: true,
244
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginActivityLogSchema; }
246
+ get: function () { return chunkRNR4HA23_cjs.insertPluginActivityLogSchema; }
245
247
  });
246
248
  Object.defineProperty(exports, "insertPluginAssetSchema", {
247
249
  enumerable: true,
248
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginAssetSchema; }
250
+ get: function () { return chunkRNR4HA23_cjs.insertPluginAssetSchema; }
249
251
  });
250
252
  Object.defineProperty(exports, "insertPluginHookSchema", {
251
253
  enumerable: true,
252
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginHookSchema; }
254
+ get: function () { return chunkRNR4HA23_cjs.insertPluginHookSchema; }
253
255
  });
254
256
  Object.defineProperty(exports, "insertPluginRouteSchema", {
255
257
  enumerable: true,
256
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginRouteSchema; }
258
+ get: function () { return chunkRNR4HA23_cjs.insertPluginRouteSchema; }
257
259
  });
258
260
  Object.defineProperty(exports, "insertPluginSchema", {
259
261
  enumerable: true,
260
- get: function () { return chunkWJ7QYVR2_cjs.insertPluginSchema; }
262
+ get: function () { return chunkRNR4HA23_cjs.insertPluginSchema; }
261
263
  });
262
264
  Object.defineProperty(exports, "insertSystemLogSchema", {
263
265
  enumerable: true,
264
- get: function () { return chunkWJ7QYVR2_cjs.insertSystemLogSchema; }
266
+ get: function () { return chunkRNR4HA23_cjs.insertSystemLogSchema; }
265
267
  });
266
268
  Object.defineProperty(exports, "insertUserSchema", {
267
269
  enumerable: true,
268
- get: function () { return chunkWJ7QYVR2_cjs.insertUserSchema; }
270
+ get: function () { return chunkRNR4HA23_cjs.insertUserSchema; }
269
271
  });
270
272
  Object.defineProperty(exports, "insertWorkflowHistorySchema", {
271
273
  enumerable: true,
272
- get: function () { return chunkWJ7QYVR2_cjs.insertWorkflowHistorySchema; }
274
+ get: function () { return chunkRNR4HA23_cjs.insertWorkflowHistorySchema; }
273
275
  });
274
276
  Object.defineProperty(exports, "isCollectionManaged", {
275
277
  enumerable: true,
276
- get: function () { return chunkWJ7QYVR2_cjs.isCollectionManaged; }
278
+ get: function () { return chunkRNR4HA23_cjs.isCollectionManaged; }
277
279
  });
278
280
  Object.defineProperty(exports, "loadCollectionConfig", {
279
281
  enumerable: true,
280
- get: function () { return chunkWJ7QYVR2_cjs.loadCollectionConfig; }
282
+ get: function () { return chunkRNR4HA23_cjs.loadCollectionConfig; }
281
283
  });
282
284
  Object.defineProperty(exports, "loadCollectionConfigs", {
283
285
  enumerable: true,
284
- get: function () { return chunkWJ7QYVR2_cjs.loadCollectionConfigs; }
286
+ get: function () { return chunkRNR4HA23_cjs.loadCollectionConfigs; }
285
287
  });
286
288
  Object.defineProperty(exports, "logConfig", {
287
289
  enumerable: true,
288
- get: function () { return chunkWJ7QYVR2_cjs.logConfig; }
290
+ get: function () { return chunkRNR4HA23_cjs.logConfig; }
289
291
  });
290
292
  Object.defineProperty(exports, "media", {
291
293
  enumerable: true,
292
- get: function () { return chunkWJ7QYVR2_cjs.media; }
294
+ get: function () { return chunkRNR4HA23_cjs.media; }
293
295
  });
294
296
  Object.defineProperty(exports, "pluginActivityLog", {
295
297
  enumerable: true,
296
- get: function () { return chunkWJ7QYVR2_cjs.pluginActivityLog; }
298
+ get: function () { return chunkRNR4HA23_cjs.pluginActivityLog; }
297
299
  });
298
300
  Object.defineProperty(exports, "pluginAssets", {
299
301
  enumerable: true,
300
- get: function () { return chunkWJ7QYVR2_cjs.pluginAssets; }
302
+ get: function () { return chunkRNR4HA23_cjs.pluginAssets; }
301
303
  });
302
304
  Object.defineProperty(exports, "pluginHooks", {
303
305
  enumerable: true,
304
- get: function () { return chunkWJ7QYVR2_cjs.pluginHooks; }
306
+ get: function () { return chunkRNR4HA23_cjs.pluginHooks; }
305
307
  });
306
308
  Object.defineProperty(exports, "pluginRoutes", {
307
309
  enumerable: true,
308
- get: function () { return chunkWJ7QYVR2_cjs.pluginRoutes; }
310
+ get: function () { return chunkRNR4HA23_cjs.pluginRoutes; }
309
311
  });
310
312
  Object.defineProperty(exports, "plugins", {
311
313
  enumerable: true,
312
- get: function () { return chunkWJ7QYVR2_cjs.plugins; }
314
+ get: function () { return chunkRNR4HA23_cjs.plugins; }
313
315
  });
314
316
  Object.defineProperty(exports, "selectCollectionSchema", {
315
317
  enumerable: true,
316
- get: function () { return chunkWJ7QYVR2_cjs.selectCollectionSchema; }
318
+ get: function () { return chunkRNR4HA23_cjs.selectCollectionSchema; }
317
319
  });
318
320
  Object.defineProperty(exports, "selectContentSchema", {
319
321
  enumerable: true,
320
- get: function () { return chunkWJ7QYVR2_cjs.selectContentSchema; }
322
+ get: function () { return chunkRNR4HA23_cjs.selectContentSchema; }
321
323
  });
322
324
  Object.defineProperty(exports, "selectLogConfigSchema", {
323
325
  enumerable: true,
324
- get: function () { return chunkWJ7QYVR2_cjs.selectLogConfigSchema; }
326
+ get: function () { return chunkRNR4HA23_cjs.selectLogConfigSchema; }
325
327
  });
326
328
  Object.defineProperty(exports, "selectMediaSchema", {
327
329
  enumerable: true,
328
- get: function () { return chunkWJ7QYVR2_cjs.selectMediaSchema; }
330
+ get: function () { return chunkRNR4HA23_cjs.selectMediaSchema; }
329
331
  });
330
332
  Object.defineProperty(exports, "selectPluginActivityLogSchema", {
331
333
  enumerable: true,
332
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginActivityLogSchema; }
334
+ get: function () { return chunkRNR4HA23_cjs.selectPluginActivityLogSchema; }
333
335
  });
334
336
  Object.defineProperty(exports, "selectPluginAssetSchema", {
335
337
  enumerable: true,
336
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginAssetSchema; }
338
+ get: function () { return chunkRNR4HA23_cjs.selectPluginAssetSchema; }
337
339
  });
338
340
  Object.defineProperty(exports, "selectPluginHookSchema", {
339
341
  enumerable: true,
340
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginHookSchema; }
342
+ get: function () { return chunkRNR4HA23_cjs.selectPluginHookSchema; }
341
343
  });
342
344
  Object.defineProperty(exports, "selectPluginRouteSchema", {
343
345
  enumerable: true,
344
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginRouteSchema; }
346
+ get: function () { return chunkRNR4HA23_cjs.selectPluginRouteSchema; }
345
347
  });
346
348
  Object.defineProperty(exports, "selectPluginSchema", {
347
349
  enumerable: true,
348
- get: function () { return chunkWJ7QYVR2_cjs.selectPluginSchema; }
350
+ get: function () { return chunkRNR4HA23_cjs.selectPluginSchema; }
349
351
  });
350
352
  Object.defineProperty(exports, "selectSystemLogSchema", {
351
353
  enumerable: true,
352
- get: function () { return chunkWJ7QYVR2_cjs.selectSystemLogSchema; }
354
+ get: function () { return chunkRNR4HA23_cjs.selectSystemLogSchema; }
353
355
  });
354
356
  Object.defineProperty(exports, "selectUserSchema", {
355
357
  enumerable: true,
356
- get: function () { return chunkWJ7QYVR2_cjs.selectUserSchema; }
358
+ get: function () { return chunkRNR4HA23_cjs.selectUserSchema; }
357
359
  });
358
360
  Object.defineProperty(exports, "selectWorkflowHistorySchema", {
359
361
  enumerable: true,
360
- get: function () { return chunkWJ7QYVR2_cjs.selectWorkflowHistorySchema; }
362
+ get: function () { return chunkRNR4HA23_cjs.selectWorkflowHistorySchema; }
361
363
  });
362
364
  Object.defineProperty(exports, "syncCollection", {
363
365
  enumerable: true,
364
- get: function () { return chunkWJ7QYVR2_cjs.syncCollection; }
366
+ get: function () { return chunkRNR4HA23_cjs.syncCollection; }
365
367
  });
366
368
  Object.defineProperty(exports, "syncCollections", {
367
369
  enumerable: true,
368
- get: function () { return chunkWJ7QYVR2_cjs.syncCollections; }
370
+ get: function () { return chunkRNR4HA23_cjs.syncCollections; }
369
371
  });
370
372
  Object.defineProperty(exports, "systemLogs", {
371
373
  enumerable: true,
372
- get: function () { return chunkWJ7QYVR2_cjs.systemLogs; }
374
+ get: function () { return chunkRNR4HA23_cjs.systemLogs; }
373
375
  });
374
376
  Object.defineProperty(exports, "users", {
375
377
  enumerable: true,
376
- get: function () { return chunkWJ7QYVR2_cjs.users; }
378
+ get: function () { return chunkRNR4HA23_cjs.users; }
377
379
  });
378
380
  Object.defineProperty(exports, "validateCollectionConfig", {
379
381
  enumerable: true,
380
- get: function () { return chunkWJ7QYVR2_cjs.validateCollectionConfig; }
382
+ get: function () { return chunkRNR4HA23_cjs.validateCollectionConfig; }
381
383
  });
382
384
  Object.defineProperty(exports, "workflowHistory", {
383
385
  enumerable: true,
384
- get: function () { return chunkWJ7QYVR2_cjs.workflowHistory; }
386
+ get: function () { return chunkRNR4HA23_cjs.workflowHistory; }
385
387
  });
386
388
  Object.defineProperty(exports, "getConfirmationDialogScript", {
387
389
  enumerable: true,
@@ -417,27 +419,27 @@ Object.defineProperty(exports, "renderTable", {
417
419
  });
418
420
  Object.defineProperty(exports, "HookSystemImpl", {
419
421
  enumerable: true,
420
- get: function () { return chunkL3NXO7Y4_cjs.HookSystemImpl; }
422
+ get: function () { return chunkFVMV5DKA_cjs.HookSystemImpl; }
421
423
  });
422
424
  Object.defineProperty(exports, "HookUtils", {
423
425
  enumerable: true,
424
- get: function () { return chunkL3NXO7Y4_cjs.HookUtils; }
426
+ get: function () { return chunkFVMV5DKA_cjs.HookUtils; }
425
427
  });
426
428
  Object.defineProperty(exports, "PluginManagerClass", {
427
429
  enumerable: true,
428
- get: function () { return chunkL3NXO7Y4_cjs.PluginManager; }
430
+ get: function () { return chunkFVMV5DKA_cjs.PluginManager; }
429
431
  });
430
432
  Object.defineProperty(exports, "PluginRegistryImpl", {
431
433
  enumerable: true,
432
- get: function () { return chunkL3NXO7Y4_cjs.PluginRegistryImpl; }
434
+ get: function () { return chunkFVMV5DKA_cjs.PluginRegistryImpl; }
433
435
  });
434
436
  Object.defineProperty(exports, "PluginValidatorClass", {
435
437
  enumerable: true,
436
- get: function () { return chunkL3NXO7Y4_cjs.PluginValidator; }
438
+ get: function () { return chunkFVMV5DKA_cjs.PluginValidator; }
437
439
  });
438
440
  Object.defineProperty(exports, "ScopedHookSystemClass", {
439
441
  enumerable: true,
440
- get: function () { return chunkL3NXO7Y4_cjs.ScopedHookSystem; }
442
+ get: function () { return chunkFVMV5DKA_cjs.ScopedHookSystem; }
441
443
  });
442
444
  Object.defineProperty(exports, "QueryFilterBuilder", {
443
445
  enumerable: true,
@@ -1 +1 @@
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","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 } 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}\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('/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 { 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.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"]}
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","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 } 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}\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', 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 { 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.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"]}
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { api_default, api_media_default, api_system_default, admin_api_default, admin_content_default, auth_default } from './chunk-5RDID2QZ.js';
2
- export { ROUTES_INFO } from './chunk-5RDID2QZ.js';
1
+ import { api_default, api_media_default, api_system_default, admin_api_default, admin_content_default, adminMediaRoutes, userRoutes, auth_default } from './chunk-RWLPYK7R.js';
2
+ export { ROUTES_INFO } from './chunk-RWLPYK7R.js';
3
3
  import './chunk-3MNMOLSA.js';
4
- export { AuthManager, PermissionManager, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './chunk-PTQZ5FEI.js';
5
- import { schema_exports } from './chunk-CXZDAR6S.js';
6
- export { Logger, MigrationService, PluginBootstrapService, PluginService as PluginServiceClass, apiTokens, cleanupRemovedCollections, collections, content, contentVersions, fullCollectionSync, getAvailableCollectionNames, getLogger, getManagedCollections, initLogger, insertCollectionSchema, insertContentSchema, insertLogConfigSchema, insertMediaSchema, insertPluginActivityLogSchema, insertPluginAssetSchema, insertPluginHookSchema, insertPluginRouteSchema, insertPluginSchema, insertSystemLogSchema, insertUserSchema, insertWorkflowHistorySchema, isCollectionManaged, loadCollectionConfig, loadCollectionConfigs, logConfig, media, pluginActivityLog, pluginAssets, pluginHooks, pluginRoutes, plugins, selectCollectionSchema, selectContentSchema, selectLogConfigSchema, selectMediaSchema, selectPluginActivityLogSchema, selectPluginAssetSchema, selectPluginHookSchema, selectPluginRouteSchema, selectPluginSchema, selectSystemLogSchema, selectUserSchema, selectWorkflowHistorySchema, syncCollection, syncCollections, systemLogs, users, validateCollectionConfig, workflowHistory } from './chunk-CXZDAR6S.js';
4
+ export { AuthManager, PermissionManager, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './chunk-WESS2U3K.js';
5
+ import { schema_exports } from './chunk-7N3HK7ZK.js';
6
+ export { Logger, MigrationService, PluginBootstrapService, PluginService as PluginServiceClass, apiTokens, cleanupRemovedCollections, collections, content, contentVersions, fullCollectionSync, getAvailableCollectionNames, getLogger, getManagedCollections, initLogger, insertCollectionSchema, insertContentSchema, insertLogConfigSchema, insertMediaSchema, insertPluginActivityLogSchema, insertPluginAssetSchema, insertPluginHookSchema, insertPluginRouteSchema, insertPluginSchema, insertSystemLogSchema, insertUserSchema, insertWorkflowHistorySchema, isCollectionManaged, loadCollectionConfig, loadCollectionConfigs, logConfig, media, pluginActivityLog, pluginAssets, pluginHooks, pluginRoutes, plugins, selectCollectionSchema, selectContentSchema, selectLogConfigSchema, selectMediaSchema, selectPluginActivityLogSchema, selectPluginAssetSchema, selectPluginHookSchema, selectPluginRouteSchema, selectPluginSchema, selectSystemLogSchema, selectUserSchema, selectWorkflowHistorySchema, syncCollection, syncCollections, systemLogs, users, validateCollectionConfig, workflowHistory } from './chunk-7N3HK7ZK.js';
7
7
  export { getConfirmationDialogScript, renderAlert, renderConfirmationDialog, renderFilterBar, renderForm, renderFormField, renderPagination, renderTable } from './chunk-KRJMGD4E.js';
8
- export { HookSystemImpl, HookUtils, PluginManager as PluginManagerClass, PluginRegistryImpl, PluginValidator as PluginValidatorClass, ScopedHookSystem as ScopedHookSystemClass } from './chunk-NRSL6BQI.js';
8
+ export { HookSystemImpl, HookUtils, PluginManager as PluginManagerClass, PluginRegistryImpl, PluginValidator as PluginValidatorClass, ScopedHookSystem as ScopedHookSystemClass } from './chunk-BITQ4MFX.js';
9
9
  export { QueryFilterBuilder, TemplateRenderer, buildQuery, escapeHtml, metricsTracker, renderTemplate, sanitizeInput, sanitizeObject, templateRenderer } from './chunk-JIINOD2W.js';
10
10
  export { HOOKS } from './chunk-LOUJRBXV.js';
11
- import './chunk-G3PMV62Z.js';
11
+ import './chunk-V4OQ3NZ2.js';
12
12
  import { Hono } from 'hono';
13
13
  import { drizzle } from 'drizzle-orm/d1';
14
14
 
@@ -44,6 +44,8 @@ function createSonicJSApp(config = {}) {
44
44
  app.route("/api/system", api_system_default);
45
45
  app.route("/admin/api", admin_api_default);
46
46
  app.route("/admin/content", admin_content_default);
47
+ app.route("/admin/media", adminMediaRoutes);
48
+ app.route("/admin", userRoutes);
47
49
  app.route("/auth", auth_default);
48
50
  if (config.routes) {
49
51
  for (const route of config.routes) {