@sonicjs-cms/core 2.8.2 → 2.9.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 (81) hide show
  1. package/dist/{app-DnQ26Lho.d.cts → app-Ozl9agJG.d.cts} +1 -1
  2. package/dist/{app-DnQ26Lho.d.ts → app-Ozl9agJG.d.ts} +1 -1
  3. package/dist/{chunk-FUUVSYVQ.js → chunk-25YNV4RK.js} +3 -3
  4. package/dist/{chunk-FUUVSYVQ.js.map → chunk-25YNV4RK.js.map} +1 -1
  5. package/dist/{chunk-4Z5BQZT6.js → chunk-2JGQKF7B.js} +324 -301
  6. package/dist/chunk-2JGQKF7B.js.map +1 -0
  7. package/dist/{chunk-WI5ESQKT.js → chunk-3FHMXGLF.js} +7 -5
  8. package/dist/chunk-3FHMXGLF.js.map +1 -0
  9. package/dist/{chunk-VNLR35GO.cjs → chunk-64APW3DW.cjs} +339 -2
  10. package/dist/chunk-64APW3DW.cjs.map +1 -0
  11. package/dist/{chunk-G44QUVNM.js → chunk-7JMMLHPQ.js} +337 -4
  12. package/dist/chunk-7JMMLHPQ.js.map +1 -0
  13. package/dist/chunk-CJYFSKH7.js +54 -54
  14. package/dist/chunk-CJYFSKH7.js.map +1 -1
  15. package/dist/{chunk-ZWKCL46S.cjs → chunk-DQZVU3WB.cjs} +4 -4
  16. package/dist/{chunk-ZWKCL46S.cjs.map → chunk-DQZVU3WB.cjs.map} +1 -1
  17. package/dist/{chunk-3U5YHS4G.cjs → chunk-KSB6FXOP.cjs} +425 -402
  18. package/dist/chunk-KSB6FXOP.cjs.map +1 -0
  19. package/dist/{chunk-VGSZWZP3.cjs → chunk-LDFMYRG6.cjs} +2 -2
  20. package/dist/{chunk-VGSZWZP3.cjs.map → chunk-LDFMYRG6.cjs.map} +1 -1
  21. package/dist/chunk-MNFY6DWY.cjs +54 -54
  22. package/dist/chunk-MNFY6DWY.cjs.map +1 -1
  23. package/dist/{chunk-JSHIGVIF.cjs → chunk-SHU7Q66Q.cjs} +7 -5
  24. package/dist/chunk-SHU7Q66Q.cjs.map +1 -0
  25. package/dist/{chunk-I6REMSMF.js → chunk-STTZVLY2.js} +2 -2
  26. package/dist/{chunk-I6REMSMF.js.map → chunk-STTZVLY2.js.map} +1 -1
  27. package/dist/{collection-config-BF95LgQb.d.cts → collection-config-DckWhkdL.d.cts} +3 -2
  28. package/dist/{collection-config-BF95LgQb.d.ts → collection-config-DckWhkdL.d.ts} +3 -2
  29. package/dist/{filter-bar.template-Daw8ZDoq.d.cts → filter-bar.template-DlVYMk-T.d.cts} +1 -1
  30. package/dist/{filter-bar.template-Daw8ZDoq.d.ts → filter-bar.template-DlVYMk-T.d.ts} +1 -1
  31. package/dist/index.cjs +128 -127
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +8 -8
  34. package/dist/index.d.ts +8 -8
  35. package/dist/index.js +10 -9
  36. package/dist/index.js.map +1 -1
  37. package/dist/middleware.cjs +28 -28
  38. package/dist/middleware.d.cts +1 -1
  39. package/dist/middleware.d.ts +1 -1
  40. package/dist/middleware.js +2 -2
  41. package/dist/migrations-QQWGDWGB.cjs +13 -0
  42. package/dist/{migrations-F3G6CTRS.cjs.map → migrations-QQWGDWGB.cjs.map} +1 -1
  43. package/dist/migrations-SZSR3C3G.js +4 -0
  44. package/dist/{migrations-LLNEST75.js.map → migrations-SZSR3C3G.js.map} +1 -1
  45. package/dist/{plugin-zvZpaiP5.d.cts → plugin-0Xogrln-.d.cts} +1 -1
  46. package/dist/{plugin-zvZpaiP5.d.ts → plugin-0Xogrln-.d.ts} +1 -1
  47. package/dist/{plugin-bootstrap-C7Mj00Ud.d.ts → plugin-bootstrap-BAz7NY0H.d.cts} +2 -2
  48. package/dist/{plugin-bootstrap-DKB5f8-E.d.cts → plugin-bootstrap-Cz3-bj8X.d.ts} +2 -2
  49. package/dist/{plugin-manager-Baa6xXqB.d.ts → plugin-manager-Clf2gXwj.d.ts} +2 -2
  50. package/dist/{plugin-manager-vBal9Zip.d.cts → plugin-manager-GcIeb226.d.cts} +2 -2
  51. package/dist/plugins.d.cts +2 -2
  52. package/dist/plugins.d.ts +2 -2
  53. package/dist/routes.cjs +28 -28
  54. package/dist/routes.d.cts +1 -1
  55. package/dist/routes.d.ts +1 -1
  56. package/dist/routes.js +5 -5
  57. package/dist/services.cjs +30 -14
  58. package/dist/services.d.cts +29 -4
  59. package/dist/services.d.ts +29 -4
  60. package/dist/services.js +2 -2
  61. package/dist/{telemetry-UiD1i9GS.d.cts → telemetry-B9vIV4wh.d.cts} +1 -1
  62. package/dist/{telemetry-UiD1i9GS.d.ts → telemetry-B9vIV4wh.d.ts} +1 -1
  63. package/dist/templates.d.cts +1 -1
  64. package/dist/templates.d.ts +1 -1
  65. package/dist/types.d.cts +3 -3
  66. package/dist/types.d.ts +3 -3
  67. package/dist/utils.cjs +11 -11
  68. package/dist/utils.d.cts +3 -3
  69. package/dist/utils.d.ts +3 -3
  70. package/dist/utils.js +1 -1
  71. package/dist/{version-C_CXrN_T.d.cts → version-ChpccWQ1.d.cts} +1 -1
  72. package/dist/{version-C_CXrN_T.d.ts → version-ChpccWQ1.d.ts} +1 -1
  73. package/package.json +5 -3
  74. package/dist/chunk-3U5YHS4G.cjs.map +0 -1
  75. package/dist/chunk-4Z5BQZT6.js.map +0 -1
  76. package/dist/chunk-G44QUVNM.js.map +0 -1
  77. package/dist/chunk-JSHIGVIF.cjs.map +0 -1
  78. package/dist/chunk-VNLR35GO.cjs.map +0 -1
  79. package/dist/chunk-WI5ESQKT.js.map +0 -1
  80. package/dist/migrations-F3G6CTRS.cjs +0 -13
  81. package/dist/migrations-LLNEST75.js +0 -4
@@ -1,6 +1,6 @@
1
- export { C as CorePlugin, n as LogCategory, o as LogEntry, p as LogFilter, m as LogLevel, L as Logger, e as Migration, M as MigrationService, h as MigrationStatus, q as PluginBootstrapService, P as PluginService, d as cleanupRemovedCollections, f as fullCollectionSync, g as getAvailableCollectionNames, j as getLogger, c as getManagedCollections, k as initLogger, i as isCollectionManaged, a as loadCollectionConfig, l as loadCollectionConfigs, r as registerCollections, b as syncCollection, s as syncCollections, v as validateCollectionConfig } from './plugin-bootstrap-DKB5f8-E.cjs';
2
- import { b as TelemetryConfig, c as TelemetryIdentity, T as TelemetryEvent, a as TelemetryProperties } from './telemetry-UiD1i9GS.cjs';
3
- import './collection-config-BF95LgQb.cjs';
1
+ export { b as CorePlugin, L as LogCategory, e as LogEntry, f as LogFilter, g as LogLevel, h as Logger, i as Migration, j as MigrationService, k as MigrationStatus, z as PluginBootstrapService, B as PluginService, E as cleanupRemovedCollections, I as fullCollectionSync, J as getAvailableCollectionNames, K as getLogger, O as getManagedCollections, Q as initLogger, a4 as isCollectionManaged, a5 as loadCollectionConfig, a6 as loadCollectionConfigs, ae as registerCollections, ar as syncCollection, as as syncCollections, av as validateCollectionConfig } from './plugin-bootstrap-BAz7NY0H.cjs';
2
+ import { T as TelemetryConfig, b as TelemetryIdentity, a as TelemetryEvent, c as TelemetryProperties } from './telemetry-B9vIV4wh.cjs';
3
+ import './collection-config-DckWhkdL.cjs';
4
4
  import '@cloudflare/workers-types';
5
5
  import 'drizzle-zod';
6
6
  import 'drizzle-orm/sqlite-core';
@@ -232,4 +232,29 @@ declare function initTelemetry(identity: TelemetryIdentity, config?: Partial<Tel
232
232
  */
233
233
  declare function createInstallationIdentity(projectName?: string): TelemetryIdentity;
234
234
 
235
- export { CACHE_CONFIGS, type CacheConfig, CacheService, type GeneralSettings, type Setting, SettingsService, TelemetryService, createInstallationIdentity, getCacheService, getTelemetryService, initTelemetry };
235
+ /**
236
+ * Route Metadata Service
237
+ *
238
+ * Auto-discovers API routes using Hono's inspectRoutes() and enriches them
239
+ * with metadata from a static registry. Routes without metadata still appear
240
+ * as "auto-discovered" — nothing is ever invisible.
241
+ */
242
+ interface RouteMetadata {
243
+ method: string;
244
+ path: string;
245
+ description: string;
246
+ authentication: boolean | 'unknown';
247
+ category: string;
248
+ documented: boolean;
249
+ }
250
+ interface CategoryInfo {
251
+ title: string;
252
+ description: string;
253
+ icon: string;
254
+ }
255
+ declare function setAppInstance(app: any): void;
256
+ declare function getAppInstance(): any;
257
+ declare const CATEGORY_INFO: Record<string, CategoryInfo>;
258
+ declare function buildRouteList(app: any): RouteMetadata[];
259
+
260
+ export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type GeneralSettings, type RouteMetadata, type Setting, SettingsService, TelemetryService, buildRouteList, createInstallationIdentity, getAppInstance, getCacheService, getTelemetryService, initTelemetry, setAppInstance };
@@ -1,6 +1,6 @@
1
- export { C as CorePlugin, n as LogCategory, o as LogEntry, p as LogFilter, m as LogLevel, L as Logger, e as Migration, M as MigrationService, h as MigrationStatus, q as PluginBootstrapService, P as PluginService, d as cleanupRemovedCollections, f as fullCollectionSync, g as getAvailableCollectionNames, j as getLogger, c as getManagedCollections, k as initLogger, i as isCollectionManaged, a as loadCollectionConfig, l as loadCollectionConfigs, r as registerCollections, b as syncCollection, s as syncCollections, v as validateCollectionConfig } from './plugin-bootstrap-C7Mj00Ud.js';
2
- import { b as TelemetryConfig, c as TelemetryIdentity, T as TelemetryEvent, a as TelemetryProperties } from './telemetry-UiD1i9GS.js';
3
- import './collection-config-BF95LgQb.js';
1
+ export { b as CorePlugin, L as LogCategory, e as LogEntry, f as LogFilter, g as LogLevel, h as Logger, i as Migration, j as MigrationService, k as MigrationStatus, z as PluginBootstrapService, B as PluginService, E as cleanupRemovedCollections, I as fullCollectionSync, J as getAvailableCollectionNames, K as getLogger, O as getManagedCollections, Q as initLogger, a4 as isCollectionManaged, a5 as loadCollectionConfig, a6 as loadCollectionConfigs, ae as registerCollections, ar as syncCollection, as as syncCollections, av as validateCollectionConfig } from './plugin-bootstrap-Cz3-bj8X.js';
2
+ import { T as TelemetryConfig, b as TelemetryIdentity, a as TelemetryEvent, c as TelemetryProperties } from './telemetry-B9vIV4wh.js';
3
+ import './collection-config-DckWhkdL.js';
4
4
  import '@cloudflare/workers-types';
5
5
  import 'drizzle-zod';
6
6
  import 'drizzle-orm/sqlite-core';
@@ -232,4 +232,29 @@ declare function initTelemetry(identity: TelemetryIdentity, config?: Partial<Tel
232
232
  */
233
233
  declare function createInstallationIdentity(projectName?: string): TelemetryIdentity;
234
234
 
235
- export { CACHE_CONFIGS, type CacheConfig, CacheService, type GeneralSettings, type Setting, SettingsService, TelemetryService, createInstallationIdentity, getCacheService, getTelemetryService, initTelemetry };
235
+ /**
236
+ * Route Metadata Service
237
+ *
238
+ * Auto-discovers API routes using Hono's inspectRoutes() and enriches them
239
+ * with metadata from a static registry. Routes without metadata still appear
240
+ * as "auto-discovered" — nothing is ever invisible.
241
+ */
242
+ interface RouteMetadata {
243
+ method: string;
244
+ path: string;
245
+ description: string;
246
+ authentication: boolean | 'unknown';
247
+ category: string;
248
+ documented: boolean;
249
+ }
250
+ interface CategoryInfo {
251
+ title: string;
252
+ description: string;
253
+ icon: string;
254
+ }
255
+ declare function setAppInstance(app: any): void;
256
+ declare function getAppInstance(): any;
257
+ declare const CATEGORY_INFO: Record<string, CategoryInfo>;
258
+ declare function buildRouteList(app: any): RouteMetadata[];
259
+
260
+ export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type GeneralSettings, type RouteMetadata, type Setting, SettingsService, TelemetryService, buildRouteList, createInstallationIdentity, getAppInstance, getCacheService, getTelemetryService, initTelemetry, setAppInstance };
package/dist/services.js CHANGED
@@ -1,6 +1,6 @@
1
- export { CACHE_CONFIGS, CacheService, Logger, SettingsService, TelemetryService, createInstallationIdentity, getCacheService, getLogger, getTelemetryService, initLogger, initTelemetry } from './chunk-G44QUVNM.js';
1
+ export { CACHE_CONFIGS, CATEGORY_INFO, CacheService, Logger, SettingsService, TelemetryService, buildRouteList, createInstallationIdentity, getAppInstance, getCacheService, getLogger, getTelemetryService, initLogger, initTelemetry, setAppInstance } from './chunk-7JMMLHPQ.js';
2
2
  export { PluginBootstrapService, PluginService, cleanupRemovedCollections, fullCollectionSync, getAvailableCollectionNames, getManagedCollections, isCollectionManaged, loadCollectionConfig, loadCollectionConfigs, registerCollections, syncCollection, syncCollections, validateCollectionConfig } from './chunk-YFJJU26H.js';
3
- export { MigrationService } from './chunk-I6REMSMF.js';
3
+ export { MigrationService } from './chunk-STTZVLY2.js';
4
4
  import './chunk-X7ZAEI5S.js';
5
5
  import './chunk-V4OQ3NZ2.js';
6
6
  //# sourceMappingURL=services.js.map
@@ -32,4 +32,4 @@ interface TelemetryIdentity {
32
32
  projectId?: string;
33
33
  }
34
34
 
35
- export type { TelemetryEvent as T, TelemetryProperties as a, TelemetryConfig as b, TelemetryIdentity as c };
35
+ export type { TelemetryConfig as T, TelemetryEvent as a, TelemetryIdentity as b, TelemetryProperties as c };
@@ -32,4 +32,4 @@ interface TelemetryIdentity {
32
32
  projectId?: string;
33
33
  }
34
34
 
35
- export type { TelemetryEvent as T, TelemetryProperties as a, TelemetryConfig as b, TelemetryIdentity as c };
35
+ export type { TelemetryConfig as T, TelemetryEvent as a, TelemetryIdentity as b, TelemetryProperties as c };
@@ -1,4 +1,4 @@
1
- export { A as AlertData, C as ConfirmationDialogOptions, k as Filter, j as FilterBarData, l as FilterOption, h as FormData, F as FormField, P as PaginationData, T as TableColumn, i as TableData, g as getConfirmationDialogScript, d as renderAlert, e as renderConfirmationDialog, f as renderFilterBar, r as renderForm, a as renderFormField, c as renderPagination, b as renderTable } from './filter-bar.template-Daw8ZDoq.cjs';
1
+ export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.cjs';
2
2
  import { HtmlEscapedString } from 'hono/utils/html';
3
3
 
4
4
  interface AdminLayoutData {
@@ -1,4 +1,4 @@
1
- export { A as AlertData, C as ConfirmationDialogOptions, k as Filter, j as FilterBarData, l as FilterOption, h as FormData, F as FormField, P as PaginationData, T as TableColumn, i as TableData, g as getConfirmationDialogScript, d as renderAlert, e as renderConfirmationDialog, f as renderFilterBar, r as renderForm, a as renderFormField, c as renderPagination, b as renderTable } from './filter-bar.template-Daw8ZDoq.js';
1
+ export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.js';
2
2
  import { HtmlEscapedString } from 'hono/utils/html';
3
3
 
4
4
  interface AdminLayoutData {
package/dist/types.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- export { B as BlockDefinition, b as BlockDefinitions, c as CollectionConfig, d as CollectionConfigModule, C as CollectionSchema, e as CollectionSyncResult, a as FieldConfig, F as FieldType } from './collection-config-BF95LgQb.cjs';
2
- export { A as AuthService, C as ContentService, v as HOOKS, k as HookContext, H as HookHandler, u as HookName, l as HookSystem, p as MediaService, M as ModelRelationship, P as Plugin, g as PluginAdminPage, r as PluginBuilderOptions, h as PluginComponent, b as PluginConfig, a as PluginContext, j as PluginHook, q as PluginLogger, n as PluginManager, i as PluginMenuItem, d as PluginMiddleware, e as PluginModel, m as PluginRegistry, c as PluginRoutes, f as PluginService, o as PluginStatus, t as PluginValidationResult, s as PluginValidator, S as ScopedHookSystem } from './plugin-zvZpaiP5.cjs';
1
+ export { B as BlockDefinition, a as BlockDefinitions, C as CollectionConfig, b as CollectionConfigModule, c as CollectionSchema, d as CollectionSyncResult, F as FieldConfig, e as FieldType } from './collection-config-DckWhkdL.cjs';
2
+ export { A as AuthService, C as ContentService, H as HOOKS, a as HookContext, b as HookHandler, c as HookName, d as HookSystem, M as MediaService, e as ModelRelationship, P as Plugin, f as PluginAdminPage, g as PluginBuilderOptions, h as PluginComponent, i as PluginConfig, j as PluginContext, k as PluginHook, l as PluginLogger, m as PluginManager, n as PluginMenuItem, o as PluginMiddleware, p as PluginModel, q as PluginRegistry, r as PluginRoutes, s as PluginService, t as PluginStatus, u as PluginValidationResult, v as PluginValidator, S as ScopedHookSystem } from './plugin-0Xogrln-.cjs';
3
3
  export { P as PluginManifest } from './plugin-manifest-Dpy8wxIB.cjs';
4
- export { b as TelemetryConfig, T as TelemetryEvent, c as TelemetryIdentity, a as TelemetryProperties } from './telemetry-UiD1i9GS.cjs';
4
+ export { T as TelemetryConfig, a as TelemetryEvent, b as TelemetryIdentity, c as TelemetryProperties } from './telemetry-B9vIV4wh.cjs';
5
5
  import 'hono';
6
6
  import 'zod';
7
7
  import '@cloudflare/workers-types';
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { B as BlockDefinition, b as BlockDefinitions, c as CollectionConfig, d as CollectionConfigModule, C as CollectionSchema, e as CollectionSyncResult, a as FieldConfig, F as FieldType } from './collection-config-BF95LgQb.js';
2
- export { A as AuthService, C as ContentService, v as HOOKS, k as HookContext, H as HookHandler, u as HookName, l as HookSystem, p as MediaService, M as ModelRelationship, P as Plugin, g as PluginAdminPage, r as PluginBuilderOptions, h as PluginComponent, b as PluginConfig, a as PluginContext, j as PluginHook, q as PluginLogger, n as PluginManager, i as PluginMenuItem, d as PluginMiddleware, e as PluginModel, m as PluginRegistry, c as PluginRoutes, f as PluginService, o as PluginStatus, t as PluginValidationResult, s as PluginValidator, S as ScopedHookSystem } from './plugin-zvZpaiP5.js';
1
+ export { B as BlockDefinition, a as BlockDefinitions, C as CollectionConfig, b as CollectionConfigModule, c as CollectionSchema, d as CollectionSyncResult, F as FieldConfig, e as FieldType } from './collection-config-DckWhkdL.js';
2
+ export { A as AuthService, C as ContentService, H as HOOKS, a as HookContext, b as HookHandler, c as HookName, d as HookSystem, M as MediaService, e as ModelRelationship, P as Plugin, f as PluginAdminPage, g as PluginBuilderOptions, h as PluginComponent, i as PluginConfig, j as PluginContext, k as PluginHook, l as PluginLogger, m as PluginManager, n as PluginMenuItem, o as PluginMiddleware, p as PluginModel, q as PluginRegistry, r as PluginRoutes, s as PluginService, t as PluginStatus, u as PluginValidationResult, v as PluginValidator, S as ScopedHookSystem } from './plugin-0Xogrln-.js';
3
3
  export { P as PluginManifest } from './plugin-manifest-Dpy8wxIB.js';
4
- export { b as TelemetryConfig, T as TelemetryEvent, c as TelemetryIdentity, a as TelemetryProperties } from './telemetry-UiD1i9GS.js';
4
+ export { T as TelemetryConfig, a as TelemetryEvent, b as TelemetryIdentity, c as TelemetryProperties } from './telemetry-B9vIV4wh.js';
5
5
  import 'hono';
6
6
  import 'zod';
7
7
  import '@cloudflare/workers-types';
package/dist/utils.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkJSHIGVIF_cjs = require('./chunk-JSHIGVIF.cjs');
3
+ var chunkSHU7Q66Q_cjs = require('./chunk-SHU7Q66Q.cjs');
4
4
  var chunkP3XDZL6Q_cjs = require('./chunk-P3XDZL6Q.cjs');
5
5
  var chunkRCQ2HIQD_cjs = require('./chunk-RCQ2HIQD.cjs');
6
6
  var chunkMNWKYY5E_cjs = require('./chunk-MNWKYY5E.cjs');
@@ -10,43 +10,43 @@ require('./chunk-IGJUBJBW.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "QueryFilterBuilder", {
12
12
  enumerable: true,
13
- get: function () { return chunkJSHIGVIF_cjs.QueryFilterBuilder; }
13
+ get: function () { return chunkSHU7Q66Q_cjs.QueryFilterBuilder; }
14
14
  });
15
15
  Object.defineProperty(exports, "SONICJS_VERSION", {
16
16
  enumerable: true,
17
- get: function () { return chunkJSHIGVIF_cjs.SONICJS_VERSION; }
17
+ get: function () { return chunkSHU7Q66Q_cjs.SONICJS_VERSION; }
18
18
  });
19
19
  Object.defineProperty(exports, "TemplateRenderer", {
20
20
  enumerable: true,
21
- get: function () { return chunkJSHIGVIF_cjs.TemplateRenderer; }
21
+ get: function () { return chunkSHU7Q66Q_cjs.TemplateRenderer; }
22
22
  });
23
23
  Object.defineProperty(exports, "buildQuery", {
24
24
  enumerable: true,
25
- get: function () { return chunkJSHIGVIF_cjs.buildQuery; }
25
+ get: function () { return chunkSHU7Q66Q_cjs.buildQuery; }
26
26
  });
27
27
  Object.defineProperty(exports, "generateSlug", {
28
28
  enumerable: true,
29
- get: function () { return chunkJSHIGVIF_cjs.generateSlug; }
29
+ get: function () { return chunkSHU7Q66Q_cjs.generateSlug; }
30
30
  });
31
31
  Object.defineProperty(exports, "getBlocksFieldConfig", {
32
32
  enumerable: true,
33
- get: function () { return chunkJSHIGVIF_cjs.getBlocksFieldConfig; }
33
+ get: function () { return chunkSHU7Q66Q_cjs.getBlocksFieldConfig; }
34
34
  });
35
35
  Object.defineProperty(exports, "getCoreVersion", {
36
36
  enumerable: true,
37
- get: function () { return chunkJSHIGVIF_cjs.getCoreVersion; }
37
+ get: function () { return chunkSHU7Q66Q_cjs.getCoreVersion; }
38
38
  });
39
39
  Object.defineProperty(exports, "parseBlocksValue", {
40
40
  enumerable: true,
41
- get: function () { return chunkJSHIGVIF_cjs.parseBlocksValue; }
41
+ get: function () { return chunkSHU7Q66Q_cjs.parseBlocksValue; }
42
42
  });
43
43
  Object.defineProperty(exports, "renderTemplate", {
44
44
  enumerable: true,
45
- get: function () { return chunkJSHIGVIF_cjs.renderTemplate; }
45
+ get: function () { return chunkSHU7Q66Q_cjs.renderTemplate; }
46
46
  });
47
47
  Object.defineProperty(exports, "templateRenderer", {
48
48
  enumerable: true,
49
- get: function () { return chunkJSHIGVIF_cjs.templateRenderer; }
49
+ get: function () { return chunkSHU7Q66Q_cjs.templateRenderer; }
50
50
  });
51
51
  Object.defineProperty(exports, "generateInstallationId", {
52
52
  enumerable: true,
package/dist/utils.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- export { c as FilterCondition, d as FilterGroup, F as FilterOperator, f as QueryFilter, Q as QueryFilterBuilder, h as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, b as buildQuery, e as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, a as sanitizeObject, t as templateRenderer } from './version-C_CXrN_T.cjs';
2
- import { b as TelemetryConfig } from './telemetry-UiD1i9GS.cjs';
3
- import { b as BlockDefinitions } from './collection-config-BF95LgQb.cjs';
1
+ export { F as FilterCondition, a as FilterGroup, b as FilterOperator, Q as QueryFilter, c as QueryFilterBuilder, d as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, e as buildQuery, f as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, h as sanitizeObject, t as templateRenderer } from './version-ChpccWQ1.cjs';
2
+ import { T as TelemetryConfig } from './telemetry-B9vIV4wh.cjs';
3
+ import { a as BlockDefinitions } from './collection-config-DckWhkdL.cjs';
4
4
 
5
5
  /**
6
6
  * Slug generation utilities for creating URL-friendly slugs
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { c as FilterCondition, d as FilterGroup, F as FilterOperator, f as QueryFilter, Q as QueryFilterBuilder, h as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, b as buildQuery, e as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, a as sanitizeObject, t as templateRenderer } from './version-C_CXrN_T.js';
2
- import { b as TelemetryConfig } from './telemetry-UiD1i9GS.js';
3
- import { b as BlockDefinitions } from './collection-config-BF95LgQb.js';
1
+ export { F as FilterCondition, a as FilterGroup, b as FilterOperator, Q as QueryFilter, c as QueryFilterBuilder, d as QueryResult, S as SONICJS_VERSION, T as TemplateRenderer, e as buildQuery, f as escapeHtml, g as getCoreVersion, m as metricsTracker, r as renderTemplate, s as sanitizeInput, h as sanitizeObject, t as templateRenderer } from './version-ChpccWQ1.js';
2
+ import { T as TelemetryConfig } from './telemetry-B9vIV4wh.js';
3
+ import { a as BlockDefinitions } from './collection-config-DckWhkdL.js';
4
4
 
5
5
  /**
6
6
  * Slug generation utilities for creating URL-friendly slugs
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, generateSlug, getBlocksFieldConfig, getCoreVersion, parseBlocksValue, renderTemplate, templateRenderer } from './chunk-WI5ESQKT.js';
1
+ export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, generateSlug, getBlocksFieldConfig, getCoreVersion, parseBlocksValue, renderTemplate, templateRenderer } from './chunk-3FHMXGLF.js';
2
2
  export { generateInstallationId, generateProjectId, getDefaultTelemetryConfig, getTelemetryConfig, isTelemetryEnabled, sanitizeErrorMessage, sanitizeRoute, shouldSkipEvent } from './chunk-X7ZAEI5S.js';
3
3
  export { metricsTracker } from './chunk-FICTAGD4.js';
4
4
  export { escapeHtml, sanitizeInput, sanitizeObject } from './chunk-TQABQWOP.js';
@@ -197,4 +197,4 @@ declare const SONICJS_VERSION: string;
197
197
  */
198
198
  declare function getCoreVersion(): string;
199
199
 
200
- export { type FilterOperator as F, QueryFilterBuilder as Q, SONICJS_VERSION as S, TemplateRenderer as T, sanitizeObject as a, buildQuery as b, type FilterCondition as c, type FilterGroup as d, escapeHtml as e, type QueryFilter as f, getCoreVersion as g, type QueryResult as h, metricsTracker as m, renderTemplate as r, sanitizeInput as s, templateRenderer as t };
200
+ export { type FilterCondition as F, type QueryFilter as Q, SONICJS_VERSION as S, TemplateRenderer as T, type FilterGroup as a, type FilterOperator as b, QueryFilterBuilder as c, type QueryResult as d, buildQuery as e, escapeHtml as f, getCoreVersion as g, sanitizeObject as h, metricsTracker as m, renderTemplate as r, sanitizeInput as s, templateRenderer as t };
@@ -197,4 +197,4 @@ declare const SONICJS_VERSION: string;
197
197
  */
198
198
  declare function getCoreVersion(): string;
199
199
 
200
- export { type FilterOperator as F, QueryFilterBuilder as Q, SONICJS_VERSION as S, TemplateRenderer as T, sanitizeObject as a, buildQuery as b, type FilterCondition as c, type FilterGroup as d, escapeHtml as e, type QueryFilter as f, getCoreVersion as g, type QueryResult as h, metricsTracker as m, renderTemplate as r, sanitizeInput as s, templateRenderer as t };
200
+ export { type FilterCondition as F, type QueryFilter as Q, SONICJS_VERSION as S, TemplateRenderer as T, type FilterGroup as a, type FilterOperator as b, QueryFilterBuilder as c, type QueryResult as d, buildQuery as e, escapeHtml as f, getCoreVersion as g, sanitizeObject as h, metricsTracker as m, renderTemplate as r, sanitizeInput as s, templateRenderer as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonicjs-cms/core",
3
- "version": "2.8.2",
3
+ "version": "2.9.0",
4
4
  "description": "Core framework for SonicJS headless CMS - Edge-first, TypeScript-native CMS built for Cloudflare Workers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -102,17 +102,19 @@
102
102
  "zod": "^3.0.0 || ^4.0.0"
103
103
  },
104
104
  "dependencies": {
105
+ "csv-parse": "^6.2.1",
105
106
  "drizzle-zod": "^0.8.3",
106
107
  "highlight.js": "^11.11.1",
107
108
  "marked": "^16.4.1",
108
- "semver": "^7.7.3"
109
+ "semver": "^7.7.3",
110
+ "tiny-lru": "^13.0.0"
109
111
  },
110
112
  "devDependencies": {
111
- "@vitest/coverage-v8": "^4.0.5",
112
113
  "@cloudflare/workers-types": "^4.20251014.0",
113
114
  "@types/node": "^24.9.2",
114
115
  "@typescript-eslint/eslint-plugin": "^8.50.0",
115
116
  "@typescript-eslint/parser": "^8.50.0",
117
+ "@vitest/coverage-v8": "^4.0.5",
116
118
  "drizzle-orm": "^0.44.7",
117
119
  "eslint": "^9.39.2",
118
120
  "glob": "^10.5.0",