@sonicjs-cms/core 2.0.0-alpha.5 → 2.0.0-alpha.7

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