@sonicjs-cms/core 2.17.1 → 2.18.0

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 (51) hide show
  1. package/dist/{chunk-3TVMUQWG.cjs → chunk-3XP76LM7.cjs} +8 -8
  2. package/dist/{chunk-3TVMUQWG.cjs.map → chunk-3XP76LM7.cjs.map} +1 -1
  3. package/dist/{chunk-47HKH3D6.cjs → chunk-56PLLVDG.cjs} +9 -3
  4. package/dist/chunk-56PLLVDG.cjs.map +1 -0
  5. package/dist/{chunk-5EBTBD2Z.cjs → chunk-74BFRAQS.cjs} +54 -3
  6. package/dist/chunk-74BFRAQS.cjs.map +1 -0
  7. package/dist/{chunk-I6444XLU.cjs → chunk-DAESIIWY.cjs} +2 -2
  8. package/dist/{chunk-I6444XLU.cjs.map → chunk-DAESIIWY.cjs.map} +1 -1
  9. package/dist/{chunk-P5IDHMOL.js → chunk-GH3HYA7D.js} +4 -4
  10. package/dist/{chunk-P5IDHMOL.js.map → chunk-GH3HYA7D.js.map} +1 -1
  11. package/dist/{chunk-5ITJB5ZT.cjs → chunk-LTJ7P7RT.cjs} +242 -124
  12. package/dist/chunk-LTJ7P7RT.cjs.map +1 -0
  13. package/dist/{chunk-7D7SI5P7.js → chunk-NDS4S4AG.js} +54 -3
  14. package/dist/chunk-NDS4S4AG.js.map +1 -0
  15. package/dist/{chunk-QZBZEUZF.js → chunk-OWJPOVFW.js} +2 -2
  16. package/dist/{chunk-QZBZEUZF.js.map → chunk-OWJPOVFW.js.map} +1 -1
  17. package/dist/{chunk-UDUHP4PA.js → chunk-RYRNZYND.js} +128 -10
  18. package/dist/chunk-RYRNZYND.js.map +1 -0
  19. package/dist/{chunk-EUFBU4T4.js → chunk-YK5IEGQZ.js} +9 -3
  20. package/dist/chunk-YK5IEGQZ.js.map +1 -0
  21. package/dist/index.cjs +196 -153
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +65 -22
  26. package/dist/index.js.map +1 -1
  27. package/dist/middleware.cjs +32 -32
  28. package/dist/middleware.js +3 -3
  29. package/dist/migrations-CW2IT5YP.cjs +13 -0
  30. package/dist/{migrations-VQ4UX4M4.cjs.map → migrations-CW2IT5YP.cjs.map} +1 -1
  31. package/dist/migrations-S42BOXI4.js +4 -0
  32. package/dist/{migrations-3TVS3HU5.js.map → migrations-S42BOXI4.js.map} +1 -1
  33. package/dist/routes.cjs +28 -28
  34. package/dist/routes.js +5 -5
  35. package/dist/services.cjs +23 -23
  36. package/dist/services.js +2 -2
  37. package/dist/utils.cjs +11 -11
  38. package/dist/utils.d.cts +1 -1
  39. package/dist/utils.d.ts +1 -1
  40. package/dist/utils.js +1 -1
  41. package/dist/{version-ChpccWQ1.d.cts → version-DFTyGfIH.d.cts} +9 -1
  42. package/dist/{version-ChpccWQ1.d.ts → version-DFTyGfIH.d.ts} +9 -1
  43. package/package.json +1 -1
  44. package/dist/chunk-47HKH3D6.cjs.map +0 -1
  45. package/dist/chunk-5EBTBD2Z.cjs.map +0 -1
  46. package/dist/chunk-5ITJB5ZT.cjs.map +0 -1
  47. package/dist/chunk-7D7SI5P7.js.map +0 -1
  48. package/dist/chunk-EUFBU4T4.js.map +0 -1
  49. package/dist/chunk-UDUHP4PA.js.map +0 -1
  50. package/dist/migrations-3TVS3HU5.js +0 -4
  51. package/dist/migrations-VQ4UX4M4.cjs +0 -13
package/dist/index.cjs CHANGED
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunk5ITJB5ZT_cjs = require('./chunk-5ITJB5ZT.cjs');
3
+ var chunkLTJ7P7RT_cjs = require('./chunk-LTJ7P7RT.cjs');
4
4
  var chunkWAEQXGCX_cjs = require('./chunk-WAEQXGCX.cjs');
5
- var chunk3TVMUQWG_cjs = require('./chunk-3TVMUQWG.cjs');
6
- var chunk47HKH3D6_cjs = require('./chunk-47HKH3D6.cjs');
7
- var chunkI6444XLU_cjs = require('./chunk-I6444XLU.cjs');
5
+ var chunk3XP76LM7_cjs = require('./chunk-3XP76LM7.cjs');
6
+ var chunk56PLLVDG_cjs = require('./chunk-56PLLVDG.cjs');
7
+ var chunkDAESIIWY_cjs = require('./chunk-DAESIIWY.cjs');
8
8
  var chunk4ZSNJDLS_cjs = require('./chunk-4ZSNJDLS.cjs');
9
9
  var chunkOHYBNCVL_cjs = require('./chunk-OHYBNCVL.cjs');
10
10
  var chunkUYJ6TJHX_cjs = require('./chunk-UYJ6TJHX.cjs');
11
11
  var chunkABB34XUS_cjs = require('./chunk-ABB34XUS.cjs');
12
12
  var chunk635JAMSE_cjs = require('./chunk-635JAMSE.cjs');
13
- var chunk5EBTBD2Z_cjs = require('./chunk-5EBTBD2Z.cjs');
13
+ var chunk74BFRAQS_cjs = require('./chunk-74BFRAQS.cjs');
14
14
  require('./chunk-P3XDZL6Q.cjs');
15
15
  var chunkRCQ2HIQD_cjs = require('./chunk-RCQ2HIQD.cjs');
16
16
  var chunkMNWKYY5E_cjs = require('./chunk-MNWKYY5E.cjs');
@@ -560,7 +560,7 @@ function formatCellValue(value) {
560
560
  // src/plugins/core-plugins/database-tools-plugin/admin-routes.ts
561
561
  function createDatabaseToolsAdminRoutes() {
562
562
  const router3 = new hono.Hono();
563
- router3.use("*", chunk3TVMUQWG_cjs.requireAuth());
563
+ router3.use("*", chunk3XP76LM7_cjs.requireAuth());
564
564
  router3.get("/api/stats", async (c) => {
565
565
  try {
566
566
  const user = c.get("user");
@@ -1608,7 +1608,27 @@ var OTPService = class {
1608
1608
  };
1609
1609
 
1610
1610
  // src/plugins/core-plugins/otp-login-plugin/email-templates.ts
1611
+ function sanitizeColor(value) {
1612
+ if (!value) return "";
1613
+ if (/^#[0-9a-fA-F]{3,8}$/.test(value)) return value;
1614
+ if (/^[a-zA-Z]+$/.test(value)) return value;
1615
+ if (/^(rgb|rgba|hsl|hsla)\([0-9.,\s%]+\)$/.test(value)) return value;
1616
+ return "";
1617
+ }
1618
+ function escapeHtml3(value) {
1619
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1620
+ }
1611
1621
  function renderOTPEmailHTML(data) {
1622
+ const logoUrl = data.logoUrl ? escapeHtml3(data.logoUrl) : "";
1623
+ const loginUrl = data.loginUrl ? escapeHtml3(data.loginUrl) : "";
1624
+ const appName = escapeHtml3(data.appName);
1625
+ const loginButtonText = escapeHtml3(
1626
+ data.loginButtonText && data.loginButtonText.trim() || `Sign in to ${data.appName}`
1627
+ );
1628
+ const logoWidth = Math.max(20, Math.min(600, Number(data.logoWidth) || 150));
1629
+ const logoBorderWidth = Math.max(0, Math.min(20, Number(data.logoBorderWidth) || 0));
1630
+ const logoBorderColor = sanitizeColor(data.logoBorderColor);
1631
+ const logoBorderStyle = logoBorderWidth > 0 && logoBorderColor ? `border: ${logoBorderWidth}px solid ${logoBorderColor}; border-radius: 8px;` : "";
1612
1632
  return `<!DOCTYPE html>
1613
1633
  <html>
1614
1634
  <head>
@@ -1620,15 +1640,15 @@ function renderOTPEmailHTML(data) {
1620
1640
 
1621
1641
  <div style="background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
1622
1642
 
1623
- ${data.logoUrl ? `
1643
+ ${logoUrl ? `
1624
1644
  <div style="text-align: center; padding: 30px 20px 20px;">
1625
- <img src="${data.logoUrl}" alt="Logo" style="max-width: 150px; height: auto;">
1645
+ <img src="${logoUrl}" alt="${appName}" style="max-width: ${logoWidth}px; width: 100%; height: auto; ${logoBorderStyle}">
1626
1646
  </div>
1627
1647
  ` : ""}
1628
1648
 
1629
1649
  <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 40px 30px; text-align: center;">
1630
1650
  <h1 style="margin: 0 0 10px 0; font-size: 32px; font-weight: 600;">Your Login Code</h1>
1631
- <p style="margin: 0; opacity: 0.95; font-size: 16px;">Enter this code to sign in to ${data.appName}</p>
1651
+ <p style="margin: 0; opacity: 0.95; font-size: 16px;">Enter this code to sign in to ${appName}</p>
1632
1652
  </div>
1633
1653
 
1634
1654
  <div style="padding: 40px 30px;">
@@ -1638,6 +1658,14 @@ function renderOTPEmailHTML(data) {
1638
1658
  </div>
1639
1659
  </div>
1640
1660
 
1661
+ ${loginUrl ? `
1662
+ <div style="text-align: center; margin: 0 0 30px 0;">
1663
+ <a href="${loginUrl}" style="display: inline-block; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; text-decoration: none; padding: 14px 32px; border-radius: 8px; font-weight: 600; font-size: 16px;">
1664
+ ${loginButtonText}
1665
+ </a>
1666
+ </div>
1667
+ ` : ""}
1668
+
1641
1669
  <div style="background: #fff3cd; border-left: 4px solid #ffc107; padding: 16px 20px; margin: 0 0 30px 0; border-radius: 6px;">
1642
1670
  <p style="margin: 0; font-size: 14px; color: #856404;">
1643
1671
  <strong>\u26A0\uFE0F This code expires in ${data.expiryMinutes} minutes</strong>
@@ -1659,7 +1687,7 @@ function renderOTPEmailHTML(data) {
1659
1687
  \u{1F512} Security Notice
1660
1688
  </p>
1661
1689
  <p style="margin: 0; font-size: 13px; color: #004080; line-height: 1.6;">
1662
- Never share this code with anyone. ${data.appName} will never ask you for this code via phone, email, or social media.
1690
+ Never share this code with anyone. ${appName} will never ask you for this code via phone, email, or social media.
1663
1691
  </p>
1664
1692
  </div>
1665
1693
  </div>
@@ -1671,22 +1699,23 @@ function renderOTPEmailHTML(data) {
1671
1699
  </p>
1672
1700
 
1673
1701
  <div style="text-align: center; color: #999; font-size: 12px; line-height: 1.6;">
1674
- <p style="margin: 5px 0;">This email was sent to ${data.email}</p>
1675
- ${data.ipAddress ? `<p style="margin: 5px 0;">IP Address: ${data.ipAddress}</p>` : ""}
1676
- <p style="margin: 5px 0;">Time: ${data.timestamp}</p>
1702
+ <p style="margin: 5px 0;">This email was sent to ${escapeHtml3(data.email)}</p>
1703
+ ${data.ipAddress ? `<p style="margin: 5px 0;">IP Address: ${escapeHtml3(data.ipAddress)}</p>` : ""}
1704
+ <p style="margin: 5px 0;">Time: ${escapeHtml3(data.timestamp)}</p>
1677
1705
  </div>
1678
1706
  </div>
1679
1707
 
1680
1708
  </div>
1681
1709
 
1682
1710
  <div style="text-align: center; padding: 20px; color: #999; font-size: 12px;">
1683
- <p style="margin: 0;">&copy; ${(/* @__PURE__ */ new Date()).getFullYear()} ${data.appName}. All rights reserved.</p>
1711
+ <p style="margin: 0;">&copy; ${(/* @__PURE__ */ new Date()).getFullYear()} ${appName}. All rights reserved.</p>
1684
1712
  </div>
1685
1713
 
1686
1714
  </body>
1687
1715
  </html>`;
1688
1716
  }
1689
1717
  function renderOTPEmailText(data) {
1718
+ const ctaLabel = data.loginButtonText && data.loginButtonText.trim() || `Sign in to ${data.appName}`;
1690
1719
  return `Your Login Code for ${data.appName}
1691
1720
 
1692
1721
  Your one-time verification code is:
@@ -1694,6 +1723,9 @@ Your one-time verification code is:
1694
1723
  ${data.code}
1695
1724
 
1696
1725
  This code expires in ${data.expiryMinutes} minutes.
1726
+ ${data.loginUrl ? `
1727
+ ${ctaLabel}: ${data.loginUrl}
1728
+ ` : ""}
1697
1729
 
1698
1730
  Quick Tips:
1699
1731
  \u2022 Enter the code exactly as shown (${data.codeLength} digits)
@@ -1734,7 +1766,13 @@ var DEFAULT_SETTINGS = {
1734
1766
  codeExpiryMinutes: 10,
1735
1767
  maxAttempts: 3,
1736
1768
  rateLimitPerHour: 5,
1737
- allowNewUserRegistration: false
1769
+ allowNewUserRegistration: false,
1770
+ logoUrl: "",
1771
+ logoWidth: 150,
1772
+ logoBorderWidth: 0,
1773
+ logoBorderColor: "#ffffff",
1774
+ loginUrl: "",
1775
+ loginButtonText: ""
1738
1776
  };
1739
1777
  function createOTPLoginPlugin() {
1740
1778
  const builder = chunk635JAMSE_cjs.PluginBuilder.create({
@@ -1824,7 +1862,12 @@ function createOTPLoginPlugin() {
1824
1862
  ipAddress,
1825
1863
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1826
1864
  appName: siteName,
1827
- logoUrl: settings.logoUrl || ""
1865
+ logoUrl: settings.logoUrl || "",
1866
+ logoWidth: settings.logoWidth,
1867
+ logoBorderWidth: settings.logoBorderWidth,
1868
+ logoBorderColor: settings.logoBorderColor || "",
1869
+ loginUrl: settings.loginUrl || "",
1870
+ loginButtonText: settings.loginButtonText || ""
1828
1871
  });
1829
1872
  const emailPlugin2 = await db.prepare(`
1830
1873
  SELECT settings FROM plugins WHERE id = 'email'
@@ -1939,8 +1982,8 @@ function createOTPLoginPlugin() {
1939
1982
  error: "Account is deactivated"
1940
1983
  }, 403);
1941
1984
  }
1942
- const tokenTtl = await chunk3TVMUQWG_cjs.getJwtExpirySecondsFromDb(db, c.env);
1943
- const token = await chunk3TVMUQWG_cjs.AuthManager.generateToken(user.id, user.email, user.role, c.env.JWT_SECRET, tokenTtl);
1985
+ const tokenTtl = await chunk3XP76LM7_cjs.getJwtExpirySecondsFromDb(db, c.env);
1986
+ const token = await chunk3XP76LM7_cjs.AuthManager.generateToken(user.id, user.email, user.role, c.env.JWT_SECRET, tokenTtl);
1944
1987
  cookie.setCookie(c, "auth_token", token, {
1945
1988
  httpOnly: true,
1946
1989
  secure: true,
@@ -2409,15 +2452,15 @@ function createOAuthProvidersPlugin() {
2409
2452
  if (!user || !user.is_active) {
2410
2453
  return c.redirect("/auth/login?error=Account is deactivated");
2411
2454
  }
2412
- const tokenTtl2 = await chunk3TVMUQWG_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2413
- const jwt2 = await chunk3TVMUQWG_cjs.AuthManager.generateToken(
2455
+ const tokenTtl2 = await chunk3XP76LM7_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2456
+ const jwt2 = await chunk3XP76LM7_cjs.AuthManager.generateToken(
2414
2457
  user.id,
2415
2458
  user.email,
2416
2459
  user.role,
2417
2460
  c.env.JWT_SECRET,
2418
2461
  tokenTtl2
2419
2462
  );
2420
- chunk3TVMUQWG_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
2463
+ chunk3XP76LM7_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
2421
2464
  return c.redirect("/admin");
2422
2465
  }
2423
2466
  const existingUser = await oauthService.findUserByEmail(profile.email);
@@ -2434,15 +2477,15 @@ function createOAuthProvidersPlugin() {
2434
2477
  tokenExpiresAt: tokenExpiresAt ?? void 0,
2435
2478
  profileData: JSON.stringify(profile)
2436
2479
  });
2437
- const tokenTtl2 = await chunk3TVMUQWG_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2438
- const jwt2 = await chunk3TVMUQWG_cjs.AuthManager.generateToken(
2480
+ const tokenTtl2 = await chunk3XP76LM7_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2481
+ const jwt2 = await chunk3XP76LM7_cjs.AuthManager.generateToken(
2439
2482
  existingUser.id,
2440
2483
  existingUser.email,
2441
2484
  existingUser.role,
2442
2485
  c.env.JWT_SECRET,
2443
2486
  tokenTtl2
2444
2487
  );
2445
- chunk3TVMUQWG_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
2488
+ chunk3XP76LM7_cjs.AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
2446
2489
  return c.redirect("/admin");
2447
2490
  }
2448
2491
  const newUserId = await oauthService.createUserFromOAuth(profile);
@@ -2455,15 +2498,15 @@ function createOAuthProvidersPlugin() {
2455
2498
  tokenExpiresAt: tokenExpiresAt ?? void 0,
2456
2499
  profileData: JSON.stringify(profile)
2457
2500
  });
2458
- const tokenTtl = await chunk3TVMUQWG_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2459
- const jwt = await chunk3TVMUQWG_cjs.AuthManager.generateToken(
2501
+ const tokenTtl = await chunk3XP76LM7_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
2502
+ const jwt = await chunk3XP76LM7_cjs.AuthManager.generateToken(
2460
2503
  newUserId,
2461
2504
  profile.email.toLowerCase(),
2462
2505
  "viewer",
2463
2506
  c.env.JWT_SECRET,
2464
2507
  tokenTtl
2465
2508
  );
2466
- chunk3TVMUQWG_cjs.AuthManager.setAuthCookie(c, jwt, { sameSite: "Lax", maxAge: tokenTtl });
2509
+ chunk3XP76LM7_cjs.AuthManager.setAuthCookie(c, jwt, { sameSite: "Lax", maxAge: tokenTtl });
2467
2510
  return c.redirect("/admin");
2468
2511
  } catch (error) {
2469
2512
  console.error("OAuth callback error:", error);
@@ -4156,7 +4199,7 @@ function renderSettingsPage(data) {
4156
4199
 
4157
4200
  // src/plugins/core-plugins/ai-search-plugin/routes/admin.ts
4158
4201
  var adminRoutes = new hono.Hono();
4159
- adminRoutes.use("*", chunk3TVMUQWG_cjs.requireAuth());
4202
+ adminRoutes.use("*", chunk3XP76LM7_cjs.requireAuth());
4160
4203
  adminRoutes.get("/", async (c) => {
4161
4204
  try {
4162
4205
  const user = c.get("user");
@@ -4557,15 +4600,15 @@ function createMagicLinkAuthPlugin() {
4557
4600
  SET used = 1, used_at = ?
4558
4601
  WHERE id = ?
4559
4602
  `).bind(Date.now(), magicLink.id).run();
4560
- const tokenTtl = await chunk3TVMUQWG_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
4561
- const jwtToken = await chunk3TVMUQWG_cjs.AuthManager.generateToken(
4603
+ const tokenTtl = await chunk3XP76LM7_cjs.getJwtExpirySecondsFromDb(c.env.DB, c.env);
4604
+ const jwtToken = await chunk3XP76LM7_cjs.AuthManager.generateToken(
4562
4605
  user.id,
4563
4606
  user.email,
4564
4607
  user.role,
4565
4608
  c.env.JWT_SECRET,
4566
4609
  tokenTtl
4567
4610
  );
4568
- chunk3TVMUQWG_cjs.AuthManager.setAuthCookie(c, jwtToken, { maxAge: tokenTtl });
4611
+ chunk3XP76LM7_cjs.AuthManager.setAuthCookie(c, jwtToken, { maxAge: tokenTtl });
4569
4612
  await db.prepare(`
4570
4613
  UPDATE users SET last_login_at = ? WHERE id = ?
4571
4614
  `).bind(Date.now(), user.id).run();
@@ -5575,7 +5618,7 @@ function renderSecuritySettingsPage(data) {
5575
5618
 
5576
5619
  // src/plugins/core-plugins/security-audit-plugin/routes/admin.ts
5577
5620
  var adminRoutes2 = new hono.Hono();
5578
- adminRoutes2.use("*", chunk3TVMUQWG_cjs.requireAuth());
5621
+ adminRoutes2.use("*", chunk3XP76LM7_cjs.requireAuth());
5579
5622
  adminRoutes2.use("*", async (c, next) => {
5580
5623
  const user = c.get("user");
5581
5624
  if (user?.role !== "admin") {
@@ -5585,7 +5628,7 @@ adminRoutes2.use("*", async (c, next) => {
5585
5628
  });
5586
5629
  async function getSettings(db) {
5587
5630
  try {
5588
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
5631
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
5589
5632
  const plugin2 = await pluginService.getPlugin("security-audit");
5590
5633
  if (plugin2?.settings) {
5591
5634
  const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
@@ -5690,7 +5733,7 @@ adminRoutes2.post("/settings", async (c) => {
5690
5733
  autoPurge: body["retention.autoPurge"] === "true"
5691
5734
  }
5692
5735
  };
5693
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
5736
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
5694
5737
  await pluginService.updatePluginSettings("security-audit", settings);
5695
5738
  if (c.req.header("HX-Request")) {
5696
5739
  return c.json({ success: true });
@@ -5851,7 +5894,7 @@ var BruteForceDetector = class {
5851
5894
 
5852
5895
  // src/plugins/core-plugins/security-audit-plugin/routes/api.ts
5853
5896
  var apiRoutes2 = new hono.Hono();
5854
- apiRoutes2.use("*", chunk3TVMUQWG_cjs.requireAuth());
5897
+ apiRoutes2.use("*", chunk3XP76LM7_cjs.requireAuth());
5855
5898
  apiRoutes2.use("*", async (c, next) => {
5856
5899
  const user = c.get("user");
5857
5900
  if (user?.role !== "admin") {
@@ -5861,7 +5904,7 @@ apiRoutes2.use("*", async (c, next) => {
5861
5904
  });
5862
5905
  async function getSettings2(db) {
5863
5906
  try {
5864
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
5907
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
5865
5908
  const plugin2 = await pluginService.getPlugin("security-audit");
5866
5909
  if (plugin2?.settings) {
5867
5910
  const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
@@ -6009,7 +6052,7 @@ function generateFingerprint(ip, userAgent) {
6009
6052
  }
6010
6053
  async function getPluginSettings(db) {
6011
6054
  try {
6012
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
6055
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
6013
6056
  const plugin2 = await pluginService.getPlugin("security-audit");
6014
6057
  if (plugin2?.settings) {
6015
6058
  const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
@@ -7019,7 +7062,7 @@ var DEFAULT_SETTINGS3 = {
7019
7062
 
7020
7063
  // src/plugins/core-plugins/stripe-plugin/routes/admin.ts
7021
7064
  var adminRoutes3 = new hono.Hono();
7022
- adminRoutes3.use("*", chunk3TVMUQWG_cjs.requireAuth());
7065
+ adminRoutes3.use("*", chunk3XP76LM7_cjs.requireAuth());
7023
7066
  adminRoutes3.use("*", async (c, next) => {
7024
7067
  const user = c.get("user");
7025
7068
  if (user?.role !== "admin") {
@@ -7029,7 +7072,7 @@ adminRoutes3.use("*", async (c, next) => {
7029
7072
  });
7030
7073
  async function getSettings3(db) {
7031
7074
  try {
7032
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
7075
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
7033
7076
  const plugin2 = await pluginService.getPlugin("stripe");
7034
7077
  if (plugin2?.settings) {
7035
7078
  const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
@@ -7351,7 +7394,7 @@ function timingSafeEqual(a, b) {
7351
7394
  var apiRoutes3 = new hono.Hono();
7352
7395
  async function getSettings4(db) {
7353
7396
  try {
7354
- const pluginService = new chunk47HKH3D6_cjs.PluginService(db);
7397
+ const pluginService = new chunk56PLLVDG_cjs.PluginService(db);
7355
7398
  const plugin2 = await pluginService.getPlugin("stripe");
7356
7399
  if (plugin2?.settings) {
7357
7400
  const settings = typeof plugin2.settings === "string" ? JSON.parse(plugin2.settings) : plugin2.settings;
@@ -7502,7 +7545,7 @@ apiRoutes3.post("/webhook", async (c) => {
7502
7545
  }
7503
7546
  return c.json({ received: true });
7504
7547
  });
7505
- apiRoutes3.post("/create-checkout-session", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7548
+ apiRoutes3.post("/create-checkout-session", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7506
7549
  const db = c.env.DB;
7507
7550
  const user = c.get("user");
7508
7551
  if (!user) return c.json({ error: "Unauthorized" }, 401);
@@ -7542,7 +7585,7 @@ apiRoutes3.post("/create-checkout-session", chunk3TVMUQWG_cjs.requireAuth(), asy
7542
7585
  });
7543
7586
  return c.json({ sessionId: session.id, url: session.url });
7544
7587
  });
7545
- apiRoutes3.get("/subscription", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7588
+ apiRoutes3.get("/subscription", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7546
7589
  const user = c.get("user");
7547
7590
  if (!user) return c.json({ error: "Unauthorized" }, 401);
7548
7591
  const db = c.env.DB;
@@ -7554,7 +7597,7 @@ apiRoutes3.get("/subscription", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7554
7597
  }
7555
7598
  return c.json({ subscription });
7556
7599
  });
7557
- apiRoutes3.get("/subscriptions", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7600
+ apiRoutes3.get("/subscriptions", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7558
7601
  const user = c.get("user");
7559
7602
  if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
7560
7603
  const db = c.env.DB;
@@ -7570,7 +7613,7 @@ apiRoutes3.get("/subscriptions", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7570
7613
  const result = await subscriptionService.list(filters);
7571
7614
  return c.json(result);
7572
7615
  });
7573
- apiRoutes3.get("/stats", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7616
+ apiRoutes3.get("/stats", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7574
7617
  const user = c.get("user");
7575
7618
  if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
7576
7619
  const db = c.env.DB;
@@ -7579,7 +7622,7 @@ apiRoutes3.get("/stats", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7579
7622
  const stats = await subscriptionService.getStats();
7580
7623
  return c.json(stats);
7581
7624
  });
7582
- apiRoutes3.post("/sync-subscriptions", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7625
+ apiRoutes3.post("/sync-subscriptions", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7583
7626
  const user = c.get("user");
7584
7627
  if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
7585
7628
  const db = c.env.DB;
@@ -7627,7 +7670,7 @@ apiRoutes3.post("/sync-subscriptions", chunk3TVMUQWG_cjs.requireAuth(), async (c
7627
7670
  }, 500);
7628
7671
  }
7629
7672
  });
7630
- apiRoutes3.get("/events", chunk3TVMUQWG_cjs.requireAuth(), async (c) => {
7673
+ apiRoutes3.get("/events", chunk3XP76LM7_cjs.requireAuth(), async (c) => {
7631
7674
  const user = c.get("user");
7632
7675
  if (user?.role !== "admin") return c.json({ error: "Access denied" }, 403);
7633
7676
  const db = c.env.DB;
@@ -7693,7 +7736,7 @@ function createStripePlugin() {
7693
7736
  var stripePlugin = createStripePlugin();
7694
7737
 
7695
7738
  // src/middleware/plugin-menu.ts
7696
- var REGISTRY_MENU_PLUGINS = Object.values(chunk47HKH3D6_cjs.PLUGIN_REGISTRY).filter((p) => p.adminMenu !== null).map((p) => ({
7739
+ var REGISTRY_MENU_PLUGINS = Object.values(chunk56PLLVDG_cjs.PLUGIN_REGISTRY).filter((p) => p.adminMenu !== null).map((p) => ({
7697
7740
  codeName: p.codeName,
7698
7741
  label: p.adminMenu.label,
7699
7742
  path: p.adminMenu.path,
@@ -7792,7 +7835,7 @@ var HOOKS2 = {
7792
7835
  USER_LOGIN: "user:login"};
7793
7836
  chunkUYJ6TJHX_cjs.init_admin_layout_catalyst_template();
7794
7837
  var adminRoutes4 = new hono.Hono();
7795
- adminRoutes4.use("*", chunk3TVMUQWG_cjs.requireAuth());
7838
+ adminRoutes4.use("*", chunk3XP76LM7_cjs.requireAuth());
7796
7839
  adminRoutes4.use("*", async (c, next) => {
7797
7840
  const user = c.get("user");
7798
7841
  if (user?.role !== "admin") {
@@ -7863,7 +7906,7 @@ adminRoutes4.get("/", async (c) => {
7863
7906
  <div class="divide-y divide-zinc-950/5 dark:divide-white/10">
7864
7907
  ${topPages.length > 0 ? topPages.map((p) => `
7865
7908
  <div class="flex items-center justify-between px-6 py-3">
7866
- <span class="text-sm text-zinc-700 dark:text-zinc-300 font-mono truncate">${escapeHtml3(p.path)}</span>
7909
+ <span class="text-sm text-zinc-700 dark:text-zinc-300 font-mono truncate">${escapeHtml4(p.path)}</span>
7867
7910
  <span class="text-sm font-medium text-zinc-500 dark:text-zinc-400">${p.views}</span>
7868
7911
  </div>
7869
7912
  `).join("") : `
@@ -7892,7 +7935,7 @@ adminRoutes4.get("/", async (c) => {
7892
7935
  <tbody class="divide-y divide-zinc-950/5 dark:divide-white/10">
7893
7936
  ${recentActivity.length > 0 ? recentActivity.map((a) => `
7894
7937
  <tr>
7895
- <td class="px-6 py-2 font-mono text-zinc-700 dark:text-zinc-300 truncate max-w-xs">${escapeHtml3(a.url || "")}</td>
7938
+ <td class="px-6 py-2 font-mono text-zinc-700 dark:text-zinc-300 truncate max-w-xs">${escapeHtml4(a.url || "")}</td>
7896
7939
  <td class="px-6 py-2"><span class="inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium ${a.method === "GET" ? "bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-400" : "bg-blue-50 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"}">${a.method || ""}</span></td>
7897
7940
  <td class="px-6 py-2"><span class="inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium ${(a.status_code || 0) >= 400 ? "bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-400" : "bg-green-50 text-green-700 dark:bg-green-900/30 dark:text-green-400"}">${a.status_code || ""}</span></td>
7898
7941
  <td class="px-6 py-2 text-zinc-500 dark:text-zinc-400">${a.duration || 0}ms</td>
@@ -7922,7 +7965,7 @@ adminRoutes4.get("/", async (c) => {
7922
7965
  dynamicMenuItems: c.get("pluginMenuItems")
7923
7966
  }));
7924
7967
  });
7925
- function escapeHtml3(str) {
7968
+ function escapeHtml4(str) {
7926
7969
  return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
7927
7970
  }
7928
7971
 
@@ -9591,7 +9634,7 @@ function renderCacheDashboard(data) {
9591
9634
  </script>
9592
9635
 
9593
9636
  <!-- Confirmation Dialogs -->
9594
- ${chunk5ITJB5ZT_cjs.renderConfirmationDialog({
9637
+ ${chunkLTJ7P7RT_cjs.renderConfirmationDialog({
9595
9638
  id: "clear-all-cache-confirm",
9596
9639
  title: "Clear All Cache",
9597
9640
  message: "Are you sure you want to clear all cache entries? This cannot be undone.",
@@ -9602,7 +9645,7 @@ function renderCacheDashboard(data) {
9602
9645
  onConfirm: "performClearAllCaches()"
9603
9646
  })}
9604
9647
 
9605
- ${chunk5ITJB5ZT_cjs.renderConfirmationDialog({
9648
+ ${chunkLTJ7P7RT_cjs.renderConfirmationDialog({
9606
9649
  id: "clear-namespace-cache-confirm",
9607
9650
  title: "Clear Namespace Cache",
9608
9651
  message: "Clear cache for this namespace?",
@@ -9613,7 +9656,7 @@ function renderCacheDashboard(data) {
9613
9656
  onConfirm: "performClearNamespaceCache()"
9614
9657
  })}
9615
9658
 
9616
- ${chunk5ITJB5ZT_cjs.getConfirmationDialogScript()}
9659
+ ${chunkLTJ7P7RT_cjs.getConfirmationDialogScript()}
9617
9660
  `;
9618
9661
  const layoutData = {
9619
9662
  title: "Cache System",
@@ -10299,14 +10342,14 @@ var faviconSvg = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
10299
10342
  // src/app.ts
10300
10343
  function createSonicJSApp(config = {}) {
10301
10344
  const app2 = new hono.Hono();
10302
- const appVersion = config.version || chunk5EBTBD2Z_cjs.getCoreVersion();
10345
+ const appVersion = config.version || chunk74BFRAQS_cjs.getCoreVersion();
10303
10346
  const appName = config.name || "SonicJS AI";
10304
10347
  app2.use("*", async (c, next) => {
10305
10348
  c.set("appVersion", appVersion);
10306
10349
  await next();
10307
10350
  });
10308
- app2.use("*", chunk3TVMUQWG_cjs.metricsMiddleware());
10309
- app2.use("*", chunk3TVMUQWG_cjs.bootstrapMiddleware(config));
10351
+ app2.use("*", chunk3XP76LM7_cjs.metricsMiddleware());
10352
+ app2.use("*", chunk3XP76LM7_cjs.bootstrapMiddleware(config));
10310
10353
  if (config.middleware?.beforeAuth) {
10311
10354
  for (const middleware of config.middleware.beforeAuth) {
10312
10355
  app2.use("*", middleware);
@@ -10315,32 +10358,32 @@ function createSonicJSApp(config = {}) {
10315
10358
  app2.use("*", async (_c, next) => {
10316
10359
  await next();
10317
10360
  });
10318
- app2.use("*", chunk3TVMUQWG_cjs.securityHeadersMiddleware());
10319
- app2.use("*", chunk3TVMUQWG_cjs.csrfProtection());
10361
+ app2.use("*", chunk3XP76LM7_cjs.securityHeadersMiddleware());
10362
+ app2.use("*", chunk3XP76LM7_cjs.csrfProtection());
10320
10363
  if (config.middleware?.afterAuth) {
10321
10364
  for (const middleware of config.middleware.afterAuth) {
10322
10365
  app2.use("*", middleware);
10323
10366
  }
10324
10367
  }
10325
10368
  const adminRoles = config.adminAccessRoles || ["admin"];
10326
- app2.use("/admin/*", chunk3TVMUQWG_cjs.requireAuth());
10327
- app2.use("/admin/*", chunk3TVMUQWG_cjs.requireRole(adminRoles));
10369
+ app2.use("/admin/*", chunk3XP76LM7_cjs.requireAuth());
10370
+ app2.use("/admin/*", chunk3XP76LM7_cjs.requireRole(adminRoles));
10328
10371
  app2.use("/admin/*", pluginMenuMiddleware());
10329
- app2.route("/api", chunk5ITJB5ZT_cjs.api_default);
10330
- app2.route("/api/media", chunk5ITJB5ZT_cjs.api_media_default);
10331
- app2.route("/api/system", chunk5ITJB5ZT_cjs.api_system_default);
10332
- app2.route("/admin/api", chunk5ITJB5ZT_cjs.admin_api_default);
10333
- app2.route("/admin/dashboard", chunk5ITJB5ZT_cjs.router);
10334
- app2.route("/admin/collections", chunk5ITJB5ZT_cjs.adminCollectionsRoutes);
10335
- app2.route("/admin/forms", chunk5ITJB5ZT_cjs.adminFormsRoutes);
10336
- app2.route("/admin/settings", chunk5ITJB5ZT_cjs.adminSettingsRoutes);
10337
- app2.route("/forms", chunk5ITJB5ZT_cjs.public_forms_default);
10338
- app2.route("/api/forms", chunk5ITJB5ZT_cjs.public_forms_default);
10339
- app2.route("/admin/api-reference", chunk5ITJB5ZT_cjs.router2);
10372
+ app2.route("/api", chunkLTJ7P7RT_cjs.api_default);
10373
+ app2.route("/api/media", chunkLTJ7P7RT_cjs.api_media_default);
10374
+ app2.route("/api/system", chunkLTJ7P7RT_cjs.api_system_default);
10375
+ app2.route("/admin/api", chunkLTJ7P7RT_cjs.admin_api_default);
10376
+ app2.route("/admin/dashboard", chunkLTJ7P7RT_cjs.router);
10377
+ app2.route("/admin/collections", chunkLTJ7P7RT_cjs.adminCollectionsRoutes);
10378
+ app2.route("/admin/forms", chunkLTJ7P7RT_cjs.adminFormsRoutes);
10379
+ app2.route("/admin/settings", chunkLTJ7P7RT_cjs.adminSettingsRoutes);
10380
+ app2.route("/forms", chunkLTJ7P7RT_cjs.public_forms_default);
10381
+ app2.route("/api/forms", chunkLTJ7P7RT_cjs.public_forms_default);
10382
+ app2.route("/admin/api-reference", chunkLTJ7P7RT_cjs.router2);
10340
10383
  app2.route("/admin/database-tools", createDatabaseToolsAdminRoutes());
10341
10384
  app2.route("/admin/seed-data", createSeedDataAdminRoutes());
10342
- app2.route("/admin/content", chunk5ITJB5ZT_cjs.admin_content_default);
10343
- app2.route("/admin/media", chunk5ITJB5ZT_cjs.adminMediaRoutes);
10385
+ app2.route("/admin/content", chunkLTJ7P7RT_cjs.admin_content_default);
10386
+ app2.route("/admin/media", chunkLTJ7P7RT_cjs.adminMediaRoutes);
10344
10387
  app2.use("/auth/*", securityAuditMiddleware());
10345
10388
  if (securityAuditPlugin.routes && securityAuditPlugin.routes.length > 0) {
10346
10389
  for (const route of securityAuditPlugin.routes) {
@@ -10358,8 +10401,8 @@ function createSonicJSApp(config = {}) {
10358
10401
  app2.route(route.path, route.handler);
10359
10402
  }
10360
10403
  }
10361
- if (chunk5ITJB5ZT_cjs.userProfilesPlugin.routes && chunk5ITJB5ZT_cjs.userProfilesPlugin.routes.length > 0) {
10362
- for (const route of chunk5ITJB5ZT_cjs.userProfilesPlugin.routes) {
10404
+ if (chunkLTJ7P7RT_cjs.userProfilesPlugin.routes && chunkLTJ7P7RT_cjs.userProfilesPlugin.routes.length > 0) {
10405
+ for (const route of chunkLTJ7P7RT_cjs.userProfilesPlugin.routes) {
10363
10406
  app2.route(route.path, route.handler);
10364
10407
  }
10365
10408
  }
@@ -10379,11 +10422,11 @@ function createSonicJSApp(config = {}) {
10379
10422
  app2.route(route.path, route.handler);
10380
10423
  }
10381
10424
  }
10382
- app2.route("/admin/plugins", chunk5ITJB5ZT_cjs.adminPluginRoutes);
10383
- app2.route("/admin/logs", chunk5ITJB5ZT_cjs.adminLogsRoutes);
10384
- app2.route("/admin", chunk5ITJB5ZT_cjs.userRoutes);
10385
- app2.route("/auth", chunk5ITJB5ZT_cjs.auth_default);
10386
- app2.route("/", chunk5ITJB5ZT_cjs.test_cleanup_default);
10425
+ app2.route("/admin/plugins", chunkLTJ7P7RT_cjs.adminPluginRoutes);
10426
+ app2.route("/admin/logs", chunkLTJ7P7RT_cjs.adminLogsRoutes);
10427
+ app2.route("/admin", chunkLTJ7P7RT_cjs.userRoutes);
10428
+ app2.route("/auth", chunkLTJ7P7RT_cjs.auth_default);
10429
+ app2.route("/", chunkLTJ7P7RT_cjs.test_cleanup_default);
10387
10430
  if (emailPlugin.routes && emailPlugin.routes.length > 0) {
10388
10431
  for (const route of emailPlugin.routes) {
10389
10432
  app2.route(route.path, route.handler);
@@ -10467,99 +10510,99 @@ function createDb(d1$1) {
10467
10510
  }
10468
10511
 
10469
10512
  // src/index.ts
10470
- var VERSION = chunk5EBTBD2Z_cjs.package_default.version;
10513
+ var VERSION = chunk74BFRAQS_cjs.package_default.version;
10471
10514
 
10472
10515
  Object.defineProperty(exports, "ROUTES_INFO", {
10473
10516
  enumerable: true,
10474
- get: function () { return chunk5ITJB5ZT_cjs.ROUTES_INFO; }
10517
+ get: function () { return chunkLTJ7P7RT_cjs.ROUTES_INFO; }
10475
10518
  });
10476
10519
  Object.defineProperty(exports, "adminApiRoutes", {
10477
10520
  enumerable: true,
10478
- get: function () { return chunk5ITJB5ZT_cjs.admin_api_default; }
10521
+ get: function () { return chunkLTJ7P7RT_cjs.admin_api_default; }
10479
10522
  });
10480
10523
  Object.defineProperty(exports, "adminCheckboxRoutes", {
10481
10524
  enumerable: true,
10482
- get: function () { return chunk5ITJB5ZT_cjs.adminCheckboxRoutes; }
10525
+ get: function () { return chunkLTJ7P7RT_cjs.adminCheckboxRoutes; }
10483
10526
  });
10484
10527
  Object.defineProperty(exports, "adminCodeExamplesRoutes", {
10485
10528
  enumerable: true,
10486
- get: function () { return chunk5ITJB5ZT_cjs.admin_code_examples_default; }
10529
+ get: function () { return chunkLTJ7P7RT_cjs.admin_code_examples_default; }
10487
10530
  });
10488
10531
  Object.defineProperty(exports, "adminCollectionsRoutes", {
10489
10532
  enumerable: true,
10490
- get: function () { return chunk5ITJB5ZT_cjs.adminCollectionsRoutes; }
10533
+ get: function () { return chunkLTJ7P7RT_cjs.adminCollectionsRoutes; }
10491
10534
  });
10492
10535
  Object.defineProperty(exports, "adminContentRoutes", {
10493
10536
  enumerable: true,
10494
- get: function () { return chunk5ITJB5ZT_cjs.admin_content_default; }
10537
+ get: function () { return chunkLTJ7P7RT_cjs.admin_content_default; }
10495
10538
  });
10496
10539
  Object.defineProperty(exports, "adminDashboardRoutes", {
10497
10540
  enumerable: true,
10498
- get: function () { return chunk5ITJB5ZT_cjs.router; }
10541
+ get: function () { return chunkLTJ7P7RT_cjs.router; }
10499
10542
  });
10500
10543
  Object.defineProperty(exports, "adminDesignRoutes", {
10501
10544
  enumerable: true,
10502
- get: function () { return chunk5ITJB5ZT_cjs.adminDesignRoutes; }
10545
+ get: function () { return chunkLTJ7P7RT_cjs.adminDesignRoutes; }
10503
10546
  });
10504
10547
  Object.defineProperty(exports, "adminLogsRoutes", {
10505
10548
  enumerable: true,
10506
- get: function () { return chunk5ITJB5ZT_cjs.adminLogsRoutes; }
10549
+ get: function () { return chunkLTJ7P7RT_cjs.adminLogsRoutes; }
10507
10550
  });
10508
10551
  Object.defineProperty(exports, "adminMediaRoutes", {
10509
10552
  enumerable: true,
10510
- get: function () { return chunk5ITJB5ZT_cjs.adminMediaRoutes; }
10553
+ get: function () { return chunkLTJ7P7RT_cjs.adminMediaRoutes; }
10511
10554
  });
10512
10555
  Object.defineProperty(exports, "adminPluginRoutes", {
10513
10556
  enumerable: true,
10514
- get: function () { return chunk5ITJB5ZT_cjs.adminPluginRoutes; }
10557
+ get: function () { return chunkLTJ7P7RT_cjs.adminPluginRoutes; }
10515
10558
  });
10516
10559
  Object.defineProperty(exports, "adminSettingsRoutes", {
10517
10560
  enumerable: true,
10518
- get: function () { return chunk5ITJB5ZT_cjs.adminSettingsRoutes; }
10561
+ get: function () { return chunkLTJ7P7RT_cjs.adminSettingsRoutes; }
10519
10562
  });
10520
10563
  Object.defineProperty(exports, "adminTestimonialsRoutes", {
10521
10564
  enumerable: true,
10522
- get: function () { return chunk5ITJB5ZT_cjs.admin_testimonials_default; }
10565
+ get: function () { return chunkLTJ7P7RT_cjs.admin_testimonials_default; }
10523
10566
  });
10524
10567
  Object.defineProperty(exports, "adminUsersRoutes", {
10525
10568
  enumerable: true,
10526
- get: function () { return chunk5ITJB5ZT_cjs.userRoutes; }
10569
+ get: function () { return chunkLTJ7P7RT_cjs.userRoutes; }
10527
10570
  });
10528
10571
  Object.defineProperty(exports, "apiContentCrudRoutes", {
10529
10572
  enumerable: true,
10530
- get: function () { return chunk5ITJB5ZT_cjs.api_content_crud_default; }
10573
+ get: function () { return chunkLTJ7P7RT_cjs.api_content_crud_default; }
10531
10574
  });
10532
10575
  Object.defineProperty(exports, "apiMediaRoutes", {
10533
10576
  enumerable: true,
10534
- get: function () { return chunk5ITJB5ZT_cjs.api_media_default; }
10577
+ get: function () { return chunkLTJ7P7RT_cjs.api_media_default; }
10535
10578
  });
10536
10579
  Object.defineProperty(exports, "apiRoutes", {
10537
10580
  enumerable: true,
10538
- get: function () { return chunk5ITJB5ZT_cjs.api_default; }
10581
+ get: function () { return chunkLTJ7P7RT_cjs.api_default; }
10539
10582
  });
10540
10583
  Object.defineProperty(exports, "apiSystemRoutes", {
10541
10584
  enumerable: true,
10542
- get: function () { return chunk5ITJB5ZT_cjs.api_system_default; }
10585
+ get: function () { return chunkLTJ7P7RT_cjs.api_system_default; }
10543
10586
  });
10544
10587
  Object.defineProperty(exports, "authRoutes", {
10545
10588
  enumerable: true,
10546
- get: function () { return chunk5ITJB5ZT_cjs.auth_default; }
10589
+ get: function () { return chunkLTJ7P7RT_cjs.auth_default; }
10547
10590
  });
10548
10591
  Object.defineProperty(exports, "createUserProfilesPlugin", {
10549
10592
  enumerable: true,
10550
- get: function () { return chunk5ITJB5ZT_cjs.createUserProfilesPlugin; }
10593
+ get: function () { return chunkLTJ7P7RT_cjs.createUserProfilesPlugin; }
10551
10594
  });
10552
10595
  Object.defineProperty(exports, "defineUserProfile", {
10553
10596
  enumerable: true,
10554
- get: function () { return chunk5ITJB5ZT_cjs.defineUserProfile; }
10597
+ get: function () { return chunkLTJ7P7RT_cjs.defineUserProfile; }
10555
10598
  });
10556
10599
  Object.defineProperty(exports, "getUserProfileConfig", {
10557
10600
  enumerable: true,
10558
- get: function () { return chunk5ITJB5ZT_cjs.getUserProfileConfig; }
10601
+ get: function () { return chunkLTJ7P7RT_cjs.getUserProfileConfig; }
10559
10602
  });
10560
10603
  Object.defineProperty(exports, "userProfilesPlugin", {
10561
10604
  enumerable: true,
10562
- get: function () { return chunk5ITJB5ZT_cjs.userProfilesPlugin; }
10605
+ get: function () { return chunkLTJ7P7RT_cjs.userProfilesPlugin; }
10563
10606
  });
10564
10607
  Object.defineProperty(exports, "Logger", {
10565
10608
  enumerable: true,
@@ -10727,167 +10770,167 @@ Object.defineProperty(exports, "workflowHistory", {
10727
10770
  });
10728
10771
  Object.defineProperty(exports, "AuthManager", {
10729
10772
  enumerable: true,
10730
- get: function () { return chunk3TVMUQWG_cjs.AuthManager; }
10773
+ get: function () { return chunk3XP76LM7_cjs.AuthManager; }
10731
10774
  });
10732
10775
  Object.defineProperty(exports, "PermissionManager", {
10733
10776
  enumerable: true,
10734
- get: function () { return chunk3TVMUQWG_cjs.PermissionManager; }
10777
+ get: function () { return chunk3XP76LM7_cjs.PermissionManager; }
10735
10778
  });
10736
10779
  Object.defineProperty(exports, "bootstrapMiddleware", {
10737
10780
  enumerable: true,
10738
- get: function () { return chunk3TVMUQWG_cjs.bootstrapMiddleware; }
10781
+ get: function () { return chunk3XP76LM7_cjs.bootstrapMiddleware; }
10739
10782
  });
10740
10783
  Object.defineProperty(exports, "cacheHeaders", {
10741
10784
  enumerable: true,
10742
- get: function () { return chunk3TVMUQWG_cjs.cacheHeaders; }
10785
+ get: function () { return chunk3XP76LM7_cjs.cacheHeaders; }
10743
10786
  });
10744
10787
  Object.defineProperty(exports, "compressionMiddleware", {
10745
10788
  enumerable: true,
10746
- get: function () { return chunk3TVMUQWG_cjs.compressionMiddleware; }
10789
+ get: function () { return chunk3XP76LM7_cjs.compressionMiddleware; }
10747
10790
  });
10748
10791
  Object.defineProperty(exports, "detailedLoggingMiddleware", {
10749
10792
  enumerable: true,
10750
- get: function () { return chunk3TVMUQWG_cjs.detailedLoggingMiddleware; }
10793
+ get: function () { return chunk3XP76LM7_cjs.detailedLoggingMiddleware; }
10751
10794
  });
10752
10795
  Object.defineProperty(exports, "getActivePlugins", {
10753
10796
  enumerable: true,
10754
- get: function () { return chunk3TVMUQWG_cjs.getActivePlugins; }
10797
+ get: function () { return chunk3XP76LM7_cjs.getActivePlugins; }
10755
10798
  });
10756
10799
  Object.defineProperty(exports, "isPluginActive", {
10757
10800
  enumerable: true,
10758
- get: function () { return chunk3TVMUQWG_cjs.isPluginActive; }
10801
+ get: function () { return chunk3XP76LM7_cjs.isPluginActive; }
10759
10802
  });
10760
10803
  Object.defineProperty(exports, "logActivity", {
10761
10804
  enumerable: true,
10762
- get: function () { return chunk3TVMUQWG_cjs.logActivity; }
10805
+ get: function () { return chunk3XP76LM7_cjs.logActivity; }
10763
10806
  });
10764
10807
  Object.defineProperty(exports, "loggingMiddleware", {
10765
10808
  enumerable: true,
10766
- get: function () { return chunk3TVMUQWG_cjs.loggingMiddleware; }
10809
+ get: function () { return chunk3XP76LM7_cjs.loggingMiddleware; }
10767
10810
  });
10768
10811
  Object.defineProperty(exports, "optionalAuth", {
10769
10812
  enumerable: true,
10770
- get: function () { return chunk3TVMUQWG_cjs.optionalAuth; }
10813
+ get: function () { return chunk3XP76LM7_cjs.optionalAuth; }
10771
10814
  });
10772
10815
  Object.defineProperty(exports, "performanceLoggingMiddleware", {
10773
10816
  enumerable: true,
10774
- get: function () { return chunk3TVMUQWG_cjs.performanceLoggingMiddleware; }
10817
+ get: function () { return chunk3XP76LM7_cjs.performanceLoggingMiddleware; }
10775
10818
  });
10776
10819
  Object.defineProperty(exports, "requireActivePlugin", {
10777
10820
  enumerable: true,
10778
- get: function () { return chunk3TVMUQWG_cjs.requireActivePlugin; }
10821
+ get: function () { return chunk3XP76LM7_cjs.requireActivePlugin; }
10779
10822
  });
10780
10823
  Object.defineProperty(exports, "requireActivePlugins", {
10781
10824
  enumerable: true,
10782
- get: function () { return chunk3TVMUQWG_cjs.requireActivePlugins; }
10825
+ get: function () { return chunk3XP76LM7_cjs.requireActivePlugins; }
10783
10826
  });
10784
10827
  Object.defineProperty(exports, "requireAnyPermission", {
10785
10828
  enumerable: true,
10786
- get: function () { return chunk3TVMUQWG_cjs.requireAnyPermission; }
10829
+ get: function () { return chunk3XP76LM7_cjs.requireAnyPermission; }
10787
10830
  });
10788
10831
  Object.defineProperty(exports, "requireAuth", {
10789
10832
  enumerable: true,
10790
- get: function () { return chunk3TVMUQWG_cjs.requireAuth; }
10833
+ get: function () { return chunk3XP76LM7_cjs.requireAuth; }
10791
10834
  });
10792
10835
  Object.defineProperty(exports, "requirePermission", {
10793
10836
  enumerable: true,
10794
- get: function () { return chunk3TVMUQWG_cjs.requirePermission; }
10837
+ get: function () { return chunk3XP76LM7_cjs.requirePermission; }
10795
10838
  });
10796
10839
  Object.defineProperty(exports, "requireRole", {
10797
10840
  enumerable: true,
10798
- get: function () { return chunk3TVMUQWG_cjs.requireRole; }
10841
+ get: function () { return chunk3XP76LM7_cjs.requireRole; }
10799
10842
  });
10800
10843
  Object.defineProperty(exports, "securityHeaders", {
10801
10844
  enumerable: true,
10802
- get: function () { return chunk3TVMUQWG_cjs.securityHeadersMiddleware; }
10845
+ get: function () { return chunk3XP76LM7_cjs.securityHeadersMiddleware; }
10803
10846
  });
10804
10847
  Object.defineProperty(exports, "securityLoggingMiddleware", {
10805
10848
  enumerable: true,
10806
- get: function () { return chunk3TVMUQWG_cjs.securityLoggingMiddleware; }
10849
+ get: function () { return chunk3XP76LM7_cjs.securityLoggingMiddleware; }
10807
10850
  });
10808
10851
  Object.defineProperty(exports, "PluginBootstrapService", {
10809
10852
  enumerable: true,
10810
- get: function () { return chunk47HKH3D6_cjs.PluginBootstrapService; }
10853
+ get: function () { return chunk56PLLVDG_cjs.PluginBootstrapService; }
10811
10854
  });
10812
10855
  Object.defineProperty(exports, "PluginServiceClass", {
10813
10856
  enumerable: true,
10814
- get: function () { return chunk47HKH3D6_cjs.PluginService; }
10857
+ get: function () { return chunk56PLLVDG_cjs.PluginService; }
10815
10858
  });
10816
10859
  Object.defineProperty(exports, "backfillFormSubmissions", {
10817
10860
  enumerable: true,
10818
- get: function () { return chunk47HKH3D6_cjs.backfillFormSubmissions; }
10861
+ get: function () { return chunk56PLLVDG_cjs.backfillFormSubmissions; }
10819
10862
  });
10820
10863
  Object.defineProperty(exports, "cleanupRemovedCollections", {
10821
10864
  enumerable: true,
10822
- get: function () { return chunk47HKH3D6_cjs.cleanupRemovedCollections; }
10865
+ get: function () { return chunk56PLLVDG_cjs.cleanupRemovedCollections; }
10823
10866
  });
10824
10867
  Object.defineProperty(exports, "createContentFromSubmission", {
10825
10868
  enumerable: true,
10826
- get: function () { return chunk47HKH3D6_cjs.createContentFromSubmission; }
10869
+ get: function () { return chunk56PLLVDG_cjs.createContentFromSubmission; }
10827
10870
  });
10828
10871
  Object.defineProperty(exports, "deriveCollectionSchemaFromFormio", {
10829
10872
  enumerable: true,
10830
- get: function () { return chunk47HKH3D6_cjs.deriveCollectionSchemaFromFormio; }
10873
+ get: function () { return chunk56PLLVDG_cjs.deriveCollectionSchemaFromFormio; }
10831
10874
  });
10832
10875
  Object.defineProperty(exports, "deriveSubmissionTitle", {
10833
10876
  enumerable: true,
10834
- get: function () { return chunk47HKH3D6_cjs.deriveSubmissionTitle; }
10877
+ get: function () { return chunk56PLLVDG_cjs.deriveSubmissionTitle; }
10835
10878
  });
10836
10879
  Object.defineProperty(exports, "fullCollectionSync", {
10837
10880
  enumerable: true,
10838
- get: function () { return chunk47HKH3D6_cjs.fullCollectionSync; }
10881
+ get: function () { return chunk56PLLVDG_cjs.fullCollectionSync; }
10839
10882
  });
10840
10883
  Object.defineProperty(exports, "getAvailableCollectionNames", {
10841
10884
  enumerable: true,
10842
- get: function () { return chunk47HKH3D6_cjs.getAvailableCollectionNames; }
10885
+ get: function () { return chunk56PLLVDG_cjs.getAvailableCollectionNames; }
10843
10886
  });
10844
10887
  Object.defineProperty(exports, "getManagedCollections", {
10845
10888
  enumerable: true,
10846
- get: function () { return chunk47HKH3D6_cjs.getManagedCollections; }
10889
+ get: function () { return chunk56PLLVDG_cjs.getManagedCollections; }
10847
10890
  });
10848
10891
  Object.defineProperty(exports, "isCollectionManaged", {
10849
10892
  enumerable: true,
10850
- get: function () { return chunk47HKH3D6_cjs.isCollectionManaged; }
10893
+ get: function () { return chunk56PLLVDG_cjs.isCollectionManaged; }
10851
10894
  });
10852
10895
  Object.defineProperty(exports, "loadCollectionConfig", {
10853
10896
  enumerable: true,
10854
- get: function () { return chunk47HKH3D6_cjs.loadCollectionConfig; }
10897
+ get: function () { return chunk56PLLVDG_cjs.loadCollectionConfig; }
10855
10898
  });
10856
10899
  Object.defineProperty(exports, "loadCollectionConfigs", {
10857
10900
  enumerable: true,
10858
- get: function () { return chunk47HKH3D6_cjs.loadCollectionConfigs; }
10901
+ get: function () { return chunk56PLLVDG_cjs.loadCollectionConfigs; }
10859
10902
  });
10860
10903
  Object.defineProperty(exports, "mapFormStatusToContentStatus", {
10861
10904
  enumerable: true,
10862
- get: function () { return chunk47HKH3D6_cjs.mapFormStatusToContentStatus; }
10905
+ get: function () { return chunk56PLLVDG_cjs.mapFormStatusToContentStatus; }
10863
10906
  });
10864
10907
  Object.defineProperty(exports, "registerCollections", {
10865
10908
  enumerable: true,
10866
- get: function () { return chunk47HKH3D6_cjs.registerCollections; }
10909
+ get: function () { return chunk56PLLVDG_cjs.registerCollections; }
10867
10910
  });
10868
10911
  Object.defineProperty(exports, "syncAllFormCollections", {
10869
10912
  enumerable: true,
10870
- get: function () { return chunk47HKH3D6_cjs.syncAllFormCollections; }
10913
+ get: function () { return chunk56PLLVDG_cjs.syncAllFormCollections; }
10871
10914
  });
10872
10915
  Object.defineProperty(exports, "syncCollection", {
10873
10916
  enumerable: true,
10874
- get: function () { return chunk47HKH3D6_cjs.syncCollection; }
10917
+ get: function () { return chunk56PLLVDG_cjs.syncCollection; }
10875
10918
  });
10876
10919
  Object.defineProperty(exports, "syncCollections", {
10877
10920
  enumerable: true,
10878
- get: function () { return chunk47HKH3D6_cjs.syncCollections; }
10921
+ get: function () { return chunk56PLLVDG_cjs.syncCollections; }
10879
10922
  });
10880
10923
  Object.defineProperty(exports, "syncFormCollection", {
10881
10924
  enumerable: true,
10882
- get: function () { return chunk47HKH3D6_cjs.syncFormCollection; }
10925
+ get: function () { return chunk56PLLVDG_cjs.syncFormCollection; }
10883
10926
  });
10884
10927
  Object.defineProperty(exports, "validateCollectionConfig", {
10885
10928
  enumerable: true,
10886
- get: function () { return chunk47HKH3D6_cjs.validateCollectionConfig; }
10929
+ get: function () { return chunk56PLLVDG_cjs.validateCollectionConfig; }
10887
10930
  });
10888
10931
  Object.defineProperty(exports, "MigrationService", {
10889
10932
  enumerable: true,
10890
- get: function () { return chunkI6444XLU_cjs.MigrationService; }
10933
+ get: function () { return chunkDAESIIWY_cjs.MigrationService; }
10891
10934
  });
10892
10935
  Object.defineProperty(exports, "renderFilterBar", {
10893
10936
  enumerable: true,
@@ -10955,31 +10998,31 @@ Object.defineProperty(exports, "PluginHelpers", {
10955
10998
  });
10956
10999
  Object.defineProperty(exports, "QueryFilterBuilder", {
10957
11000
  enumerable: true,
10958
- get: function () { return chunk5EBTBD2Z_cjs.QueryFilterBuilder; }
11001
+ get: function () { return chunk74BFRAQS_cjs.QueryFilterBuilder; }
10959
11002
  });
10960
11003
  Object.defineProperty(exports, "SONICJS_VERSION", {
10961
11004
  enumerable: true,
10962
- get: function () { return chunk5EBTBD2Z_cjs.SONICJS_VERSION; }
11005
+ get: function () { return chunk74BFRAQS_cjs.SONICJS_VERSION; }
10963
11006
  });
10964
11007
  Object.defineProperty(exports, "TemplateRenderer", {
10965
11008
  enumerable: true,
10966
- get: function () { return chunk5EBTBD2Z_cjs.TemplateRenderer; }
11009
+ get: function () { return chunk74BFRAQS_cjs.TemplateRenderer; }
10967
11010
  });
10968
11011
  Object.defineProperty(exports, "buildQuery", {
10969
11012
  enumerable: true,
10970
- get: function () { return chunk5EBTBD2Z_cjs.buildQuery; }
11013
+ get: function () { return chunk74BFRAQS_cjs.buildQuery; }
10971
11014
  });
10972
11015
  Object.defineProperty(exports, "getCoreVersion", {
10973
11016
  enumerable: true,
10974
- get: function () { return chunk5EBTBD2Z_cjs.getCoreVersion; }
11017
+ get: function () { return chunk74BFRAQS_cjs.getCoreVersion; }
10975
11018
  });
10976
11019
  Object.defineProperty(exports, "renderTemplate", {
10977
11020
  enumerable: true,
10978
- get: function () { return chunk5EBTBD2Z_cjs.renderTemplate; }
11021
+ get: function () { return chunk74BFRAQS_cjs.renderTemplate; }
10979
11022
  });
10980
11023
  Object.defineProperty(exports, "templateRenderer", {
10981
11024
  enumerable: true,
10982
- get: function () { return chunk5EBTBD2Z_cjs.templateRenderer; }
11025
+ get: function () { return chunk74BFRAQS_cjs.templateRenderer; }
10983
11026
  });
10984
11027
  Object.defineProperty(exports, "metricsTracker", {
10985
11028
  enumerable: true,