@sonicjs-cms/core 3.0.0-beta.24 → 3.0.0-beta.26

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 (163) hide show
  1. package/bin/db-reset.js +39 -22
  2. package/dist/admin-documents-form.template-JWV5GITD.js +6 -0
  3. package/dist/{admin-documents-form.template-55V2ZGWT.js.map → admin-documents-form.template-JWV5GITD.js.map} +1 -1
  4. package/dist/admin-documents-form.template-UWKGVAMW.cjs +19 -0
  5. package/dist/{admin-layout-catalyst.template-6UQGLCKI.js.map → admin-documents-form.template-UWKGVAMW.cjs.map} +1 -1
  6. package/dist/admin-layout-catalyst.template-MOQ3BBXA.cjs +21 -0
  7. package/dist/{admin-layout-catalyst.template-3XZXDGF7.cjs.map → admin-layout-catalyst.template-MOQ3BBXA.cjs.map} +1 -1
  8. package/dist/admin-layout-catalyst.template-WCYMQVTZ.js +7 -0
  9. package/dist/{admin-documents-form.template-YNAVMJCV.cjs.map → admin-layout-catalyst.template-WCYMQVTZ.js.map} +1 -1
  10. package/dist/{app-01M0dIwt.d.ts → app-BP5IlK94.d.ts} +7 -7
  11. package/dist/{app-aj39TGHB.d.cts → app-fdq4K3vw.d.cts} +7 -7
  12. package/dist/catalog-56DR6OXI.cjs +41 -0
  13. package/dist/catalog-56DR6OXI.cjs.map +1 -0
  14. package/dist/catalog-6MB37KY7.js +4 -0
  15. package/dist/catalog-6MB37KY7.js.map +1 -0
  16. package/dist/{chunk-QCJHCSOK.cjs → chunk-4DHPR7KR.cjs} +77 -17
  17. package/dist/chunk-4DHPR7KR.cjs.map +1 -0
  18. package/dist/{chunk-UIHIXTIS.js → chunk-5YSFQO7X.js} +40 -13
  19. package/dist/chunk-5YSFQO7X.js.map +1 -0
  20. package/dist/{chunk-GMMCCIQO.cjs → chunk-6UAI4SGN.cjs} +3 -3
  21. package/dist/{chunk-GMMCCIQO.cjs.map → chunk-6UAI4SGN.cjs.map} +1 -1
  22. package/dist/{chunk-2XAQTPAE.js → chunk-6X22VFEV.js} +8 -2
  23. package/dist/chunk-6X22VFEV.js.map +1 -0
  24. package/dist/{chunk-URIBTX27.js → chunk-73RTFFMX.js} +3 -3
  25. package/dist/{chunk-URIBTX27.js.map → chunk-73RTFFMX.js.map} +1 -1
  26. package/dist/{chunk-QJUJNTIU.cjs → chunk-A22RBHO7.cjs} +43 -12
  27. package/dist/chunk-A22RBHO7.cjs.map +1 -0
  28. package/dist/{chunk-QZGABF2M.js → chunk-AMP4BSJE.js} +18 -7
  29. package/dist/chunk-AMP4BSJE.js.map +1 -0
  30. package/dist/{chunk-37V3RET3.cjs → chunk-BRKXMRMB.cjs} +99 -98
  31. package/dist/chunk-BRKXMRMB.cjs.map +1 -0
  32. package/dist/{chunk-36Z3AKX3.cjs → chunk-C5LDQ3SH.cjs} +8 -2
  33. package/dist/chunk-C5LDQ3SH.cjs.map +1 -0
  34. package/dist/{chunk-BBEKHLTW.cjs → chunk-CN3T3TDI.cjs} +9 -9
  35. package/dist/{chunk-BBEKHLTW.cjs.map → chunk-CN3T3TDI.cjs.map} +1 -1
  36. package/dist/{chunk-BHND5PEV.js → chunk-E3TQG7AA.js} +3 -3
  37. package/dist/{chunk-BHND5PEV.js.map → chunk-E3TQG7AA.js.map} +1 -1
  38. package/dist/{chunk-FHPEM77Y.js → chunk-EEA476CJ.js} +88 -83
  39. package/dist/chunk-EEA476CJ.js.map +1 -0
  40. package/dist/chunk-F6BTBE4S.js +119 -0
  41. package/dist/chunk-F6BTBE4S.js.map +1 -0
  42. package/dist/chunk-FZGIU5AZ.cjs +128 -0
  43. package/dist/chunk-FZGIU5AZ.cjs.map +1 -0
  44. package/dist/{chunk-BJROXF4N.js → chunk-HSDJDWLV.js} +19 -4
  45. package/dist/chunk-HSDJDWLV.js.map +1 -0
  46. package/dist/{chunk-VGEZNFWH.js → chunk-JD7BZU3A.js} +5 -4
  47. package/dist/chunk-JD7BZU3A.js.map +1 -0
  48. package/dist/{chunk-SOZUG52O.js → chunk-JG5J434C.js} +3 -3
  49. package/dist/{chunk-SOZUG52O.js.map → chunk-JG5J434C.js.map} +1 -1
  50. package/dist/{chunk-BP52BFIV.cjs → chunk-KWQNB6UM.cjs} +6 -5
  51. package/dist/chunk-KWQNB6UM.cjs.map +1 -0
  52. package/dist/{chunk-UYJQDDEE.cjs → chunk-MI2YXCK4.cjs} +14 -8
  53. package/dist/chunk-MI2YXCK4.cjs.map +1 -0
  54. package/dist/{chunk-VC5XVPLM.js → chunk-OJFIQGZB.js} +512 -148
  55. package/dist/chunk-OJFIQGZB.js.map +1 -0
  56. package/dist/{chunk-LTZ5WYOK.cjs → chunk-OLEOKHDX.cjs} +25 -2
  57. package/dist/chunk-OLEOKHDX.cjs.map +1 -0
  58. package/dist/{chunk-E66UVONV.cjs → chunk-OUBUS74I.cjs} +24 -9
  59. package/dist/chunk-OUBUS74I.cjs.map +1 -0
  60. package/dist/{chunk-A2SN3RVL.cjs → chunk-PAS7GZBS.cjs} +40 -13
  61. package/dist/chunk-PAS7GZBS.cjs.map +1 -0
  62. package/dist/{chunk-RJ2O5IIE.js → chunk-RVOX2WH2.js} +74 -18
  63. package/dist/chunk-RVOX2WH2.js.map +1 -0
  64. package/dist/{chunk-3TMTYJAJ.js → chunk-RXLI3ADU.js} +25 -2
  65. package/dist/chunk-RXLI3ADU.js.map +1 -0
  66. package/dist/{chunk-I767LVN7.cjs → chunk-S2QN4LFD.cjs} +881 -515
  67. package/dist/chunk-S2QN4LFD.cjs.map +1 -0
  68. package/dist/{chunk-IXUHXTHW.cjs → chunk-SFGYZUWU.cjs} +18 -7
  69. package/dist/chunk-SFGYZUWU.cjs.map +1 -0
  70. package/dist/{chunk-THFZSDIU.js → chunk-SXC4HPK6.js} +14 -8
  71. package/dist/chunk-SXC4HPK6.js.map +1 -0
  72. package/dist/{chunk-JMJM7DMM.cjs → chunk-TT3TQSCZ.cjs} +5 -5
  73. package/dist/{chunk-JMJM7DMM.cjs.map → chunk-TT3TQSCZ.cjs.map} +1 -1
  74. package/dist/{chunk-LNI3FYSI.js → chunk-UB5QSRO7.js} +9 -14
  75. package/dist/chunk-UB5QSRO7.js.map +1 -0
  76. package/dist/{chunk-VYQVDL2M.js → chunk-UKIDWRA3.js} +36 -5
  77. package/dist/chunk-UKIDWRA3.js.map +1 -0
  78. package/dist/{chunk-KKNEYIZJ.cjs → chunk-XZUEGFXE.cjs} +9 -14
  79. package/dist/chunk-XZUEGFXE.cjs.map +1 -0
  80. package/dist/{collection-config-BTzAvKt2.d.cts → collection-config-U2dydD_O.d.cts} +14 -0
  81. package/dist/{collection-config-BTzAvKt2.d.ts → collection-config-U2dydD_O.d.ts} +14 -0
  82. package/dist/config-DOAWXZBG.js +6 -0
  83. package/dist/{config-6FB2BXMP.js.map → config-DOAWXZBG.js.map} +1 -1
  84. package/dist/{config-OCH7S4WK.cjs → config-VLU73ZW7.cjs} +5 -5
  85. package/dist/{config-OCH7S4WK.cjs.map → config-VLU73ZW7.cjs.map} +1 -1
  86. package/dist/{define-plugin-D_6D9vVZ.d.ts → define-plugin-DDe8a_bh.d.ts} +3 -0
  87. package/dist/{define-plugin-DMcvEy_C.d.cts → define-plugin-rjXmGOgu.d.cts} +3 -0
  88. package/dist/index.cjs +698 -392
  89. package/dist/index.cjs.map +1 -1
  90. package/dist/index.d.cts +27 -12
  91. package/dist/index.d.ts +27 -12
  92. package/dist/index.js +340 -35
  93. package/dist/index.js.map +1 -1
  94. package/dist/middleware.cjs +47 -47
  95. package/dist/middleware.d.cts +10 -10
  96. package/dist/middleware.d.ts +10 -10
  97. package/dist/middleware.js +6 -6
  98. package/dist/migrations-6M6772UC.cjs +13 -0
  99. package/dist/{migrations-FGXZPKDC.cjs.map → migrations-6M6772UC.cjs.map} +1 -1
  100. package/dist/migrations-GZ2HIB4I.js +4 -0
  101. package/dist/{migrations-Z6D27NAW.js.map → migrations-GZ2HIB4I.js.map} +1 -1
  102. package/dist/{plugin-bootstrap-BHWQ2df8.d.cts → plugin-bootstrap-CfVILQeP.d.ts} +1 -1
  103. package/dist/{plugin-bootstrap-Bj4fxX1q.d.ts → plugin-bootstrap-RY5pkoOT.d.cts} +1 -1
  104. package/dist/plugins.cjs +40 -40
  105. package/dist/plugins.d.cts +1 -1
  106. package/dist/plugins.d.ts +1 -1
  107. package/dist/plugins.js +3 -3
  108. package/dist/rbac-TFUOYIVN.cjs +14 -0
  109. package/dist/{rbac-7QZ4JZ2E.cjs.map → rbac-TFUOYIVN.cjs.map} +1 -1
  110. package/dist/rbac-XSNP76CV.js +5 -0
  111. package/dist/{rbac-Y43IEQOP.js.map → rbac-XSNP76CV.js.map} +1 -1
  112. package/dist/routes.cjs +33 -32
  113. package/dist/routes.d.cts +3 -5
  114. package/dist/routes.d.ts +3 -5
  115. package/dist/routes.js +13 -12
  116. package/dist/services.cjs +30 -30
  117. package/dist/services.d.cts +10 -3
  118. package/dist/services.d.ts +10 -3
  119. package/dist/services.js +3 -3
  120. package/dist/{telemetry-Cku1ax74.d.cts → telemetry-QFlTv9f8.d.cts} +1 -1
  121. package/dist/{telemetry-Cku1ax74.d.ts → telemetry-QFlTv9f8.d.ts} +1 -1
  122. package/dist/templates.cjs +17 -17
  123. package/dist/templates.js +3 -3
  124. package/dist/types.d.cts +2 -2
  125. package/dist/types.d.ts +2 -2
  126. package/dist/utils.cjs +12 -12
  127. package/dist/utils.d.cts +2 -2
  128. package/dist/utils.d.ts +2 -2
  129. package/dist/utils.js +2 -2
  130. package/package.json +7 -12
  131. package/dist/admin-documents-form.template-55V2ZGWT.js +0 -6
  132. package/dist/admin-documents-form.template-YNAVMJCV.cjs +0 -19
  133. package/dist/admin-layout-catalyst.template-3XZXDGF7.cjs +0 -21
  134. package/dist/admin-layout-catalyst.template-6UQGLCKI.js +0 -7
  135. package/dist/chunk-2XAQTPAE.js.map +0 -1
  136. package/dist/chunk-36Z3AKX3.cjs.map +0 -1
  137. package/dist/chunk-37V3RET3.cjs.map +0 -1
  138. package/dist/chunk-3TMTYJAJ.js.map +0 -1
  139. package/dist/chunk-A2SN3RVL.cjs.map +0 -1
  140. package/dist/chunk-BJROXF4N.js.map +0 -1
  141. package/dist/chunk-BP52BFIV.cjs.map +0 -1
  142. package/dist/chunk-E66UVONV.cjs.map +0 -1
  143. package/dist/chunk-FHPEM77Y.js.map +0 -1
  144. package/dist/chunk-I767LVN7.cjs.map +0 -1
  145. package/dist/chunk-IXUHXTHW.cjs.map +0 -1
  146. package/dist/chunk-KKNEYIZJ.cjs.map +0 -1
  147. package/dist/chunk-LNI3FYSI.js.map +0 -1
  148. package/dist/chunk-LTZ5WYOK.cjs.map +0 -1
  149. package/dist/chunk-QCJHCSOK.cjs.map +0 -1
  150. package/dist/chunk-QJUJNTIU.cjs.map +0 -1
  151. package/dist/chunk-QZGABF2M.js.map +0 -1
  152. package/dist/chunk-RJ2O5IIE.js.map +0 -1
  153. package/dist/chunk-THFZSDIU.js.map +0 -1
  154. package/dist/chunk-UIHIXTIS.js.map +0 -1
  155. package/dist/chunk-UYJQDDEE.cjs.map +0 -1
  156. package/dist/chunk-VC5XVPLM.js.map +0 -1
  157. package/dist/chunk-VGEZNFWH.js.map +0 -1
  158. package/dist/chunk-VYQVDL2M.js.map +0 -1
  159. package/dist/config-6FB2BXMP.js +0 -6
  160. package/dist/migrations-FGXZPKDC.cjs +0 -13
  161. package/dist/migrations-Z6D27NAW.js +0 -4
  162. package/dist/rbac-7QZ4JZ2E.cjs +0 -14
  163. package/dist/rbac-Y43IEQOP.js +0 -5
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkBP52BFIV_cjs = require('./chunk-BP52BFIV.cjs');
3
+ var chunkKWQNB6UM_cjs = require('./chunk-KWQNB6UM.cjs');
4
4
  var chunkJ6JTWD2A_cjs = require('./chunk-J6JTWD2A.cjs');
5
- var chunkKKNEYIZJ_cjs = require('./chunk-KKNEYIZJ.cjs');
5
+ var chunkXZUEGFXE_cjs = require('./chunk-XZUEGFXE.cjs');
6
6
  var chunkQTFKZBLC_cjs = require('./chunk-QTFKZBLC.cjs');
7
7
  var chunkIGJUBJBW_cjs = require('./chunk-IGJUBJBW.cjs');
8
8
  var zod = require('zod');
@@ -3287,9 +3287,9 @@ async function wireRegisteredPlugins(plugins, context, options = {}) {
3287
3287
  continue;
3288
3288
  }
3289
3289
  if (plugin.capabilities !== void 0 && chunkJ6JTWD2A_cjs.isKnownHookEvent(hook.name)) {
3290
- const requiredCap = chunkBP52BFIV_cjs.HOOK_CAPABILITY_MAP[hook.name];
3290
+ const requiredCap = chunkKWQNB6UM_cjs.HOOK_CAPABILITY_MAP[hook.name];
3291
3291
  if (requiredCap && !plugin.capabilities.includes(requiredCap)) {
3292
- const capErr = new chunkBP52BFIV_cjs.SonicCapabilityError(requiredCap, name);
3292
+ const capErr = new chunkKWQNB6UM_cjs.SonicCapabilityError(requiredCap, name);
3293
3293
  if (options.strict) {
3294
3294
  result.errors.push({ plugin: name, phase: "subscribe", error: capErr });
3295
3295
  } else {
@@ -3317,12 +3317,43 @@ async function wireRegisteredPlugins(plugins, context, options = {}) {
3317
3317
  }
3318
3318
  }
3319
3319
  if (context.env?.DB) {
3320
- reflectWiredPlugins(valid, context.env.DB).catch((err) => {
3320
+ const db = context.env.DB;
3321
+ reflectWiredPlugins(valid, db).catch((err) => {
3321
3322
  console.warn("[plugins] DB reflection failed (non-fatal):", err);
3322
3323
  });
3324
+ pruneStaleUserPlugins(valid, db).catch((err) => {
3325
+ console.warn("[plugins] Stale plugin pruning failed (non-fatal):", err);
3326
+ });
3323
3327
  }
3324
3328
  return result;
3325
3329
  }
3330
+ async function pruneStaleUserPlugins(wired, db) {
3331
+ const wiredIds = new Set(wired.map((p) => p.id ?? p.name).filter(Boolean));
3332
+ if (wiredIds.size === 0) return;
3333
+ const now = Math.floor(Date.now() / 1e3);
3334
+ const rows = await db.prepare(
3335
+ `SELECT slug FROM documents
3336
+ WHERE type_id = 'plugin' AND tenant_id = 'default'
3337
+ AND is_current_draft = 1 AND deleted_at IS NULL
3338
+ AND q_plugin_status = 'active'
3339
+ AND (json_extract(data, '$.isCore') = 0 OR json_extract(data, '$.isCore') IS NULL)`
3340
+ ).all();
3341
+ for (const row of rows.results ?? []) {
3342
+ const slug = row.slug;
3343
+ if (!slug || wiredIds.has(slug)) continue;
3344
+ try {
3345
+ await db.prepare(
3346
+ `UPDATE documents
3347
+ SET data = json_set(data, '$.status', 'inactive'),
3348
+ updated_at = ?
3349
+ WHERE slug = ? AND type_id = 'plugin' AND tenant_id = 'default'
3350
+ AND is_current_draft = 1 AND deleted_at IS NULL`
3351
+ ).bind(now, slug).run();
3352
+ console.log(`[plugins] Deactivated stale plugin "${slug}" (removed from config)`);
3353
+ } catch {
3354
+ }
3355
+ }
3356
+ }
3326
3357
  async function reflectWiredPlugins(plugins, db) {
3327
3358
  const now = Date.now();
3328
3359
  for (const plugin of plugins) {
@@ -3443,9 +3474,9 @@ function registerPlugins(app, plugins, host) {
3443
3474
  seen.add(p.id);
3444
3475
  if (p.sonicjsVersionRange) {
3445
3476
  try {
3446
- if (!import_semver2.default.satisfies(chunkKKNEYIZJ_cjs.getCoreVersion(), p.sonicjsVersionRange)) {
3477
+ if (!import_semver2.default.satisfies(chunkXZUEGFXE_cjs.getCoreVersion(), p.sonicjsVersionRange)) {
3447
3478
  console.warn(
3448
- `[plugins] ${p.id} declares sonicjsVersionRange "${p.sonicjsVersionRange}" but core is "${chunkKKNEYIZJ_cjs.getCoreVersion()}". Plugin may not work correctly.`
3479
+ `[plugins] ${p.id} declares sonicjsVersionRange "${p.sonicjsVersionRange}" but core is "${chunkXZUEGFXE_cjs.getCoreVersion()}". Plugin may not work correctly.`
3449
3480
  );
3450
3481
  }
3451
3482
  } catch {
@@ -3464,8 +3495,8 @@ function registerPlugins(app, plugins, host) {
3464
3495
  throw new RegisterPluginsError("register_returned_promise", { id: pluginId2, error: String(err) });
3465
3496
  }
3466
3497
  const menu = list.flatMap((p) => p.menu ?? []);
3467
- chunkBP52BFIV_cjs.setPluginMenu(menu);
3468
- chunkBP52BFIV_cjs.setPluginDefinitions(list);
3498
+ chunkKWQNB6UM_cjs.setPluginMenu(menu);
3499
+ chunkKWQNB6UM_cjs.setPluginDefinitions(list);
3469
3500
  const crons = list.flatMap((p) => p.crons ?? []);
3470
3501
  const cronSchedules = collectCronSchedules(list);
3471
3502
  const byId = /* @__PURE__ */ new Map();
@@ -3816,7 +3847,7 @@ function createTurnstileMiddleware(options) {
3816
3847
  }
3817
3848
 
3818
3849
  // src/plugins/core-plugins/turnstile-plugin/index.ts
3819
- chunkBP52BFIV_cjs.definePlugin({
3850
+ chunkKWQNB6UM_cjs.definePlugin({
3820
3851
  id: manifest_default.id,
3821
3852
  version: manifest_default.version,
3822
3853
  name: manifest_default.name,
@@ -3847,5 +3878,5 @@ exports.registerPlugins = registerPlugins;
3847
3878
  exports.topoSort = topoSort;
3848
3879
  exports.verifyTurnstile = verifyTurnstile;
3849
3880
  exports.wireRegisteredPlugins = wireRegisteredPlugins;
3850
- //# sourceMappingURL=chunk-QJUJNTIU.cjs.map
3851
- //# sourceMappingURL=chunk-QJUJNTIU.cjs.map
3881
+ //# sourceMappingURL=chunk-A22RBHO7.cjs.map
3882
+ //# sourceMappingURL=chunk-A22RBHO7.cjs.map