@sonicjs-cms/core 2.19.0 → 3.0.0-beta.10
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.
- package/README.md +52 -52
- package/dist/admin-documents-form.template-DDSH6ROU.js +6 -0
- package/dist/{admin-layout-catalyst.template-UMTIN66R.js.map → admin-documents-form.template-DDSH6ROU.js.map} +1 -1
- package/dist/admin-documents-form.template-LSZKGA5J.cjs +19 -0
- package/dist/{admin-layout-catalyst.template-HFD37TY5.cjs.map → admin-documents-form.template-LSZKGA5J.cjs.map} +1 -1
- package/dist/{filter-bar.template-DlVYMk-T.d.cts → admin-layout-catalyst.template-DrwDUfsE.d.cts} +25 -1
- package/dist/{filter-bar.template-DlVYMk-T.d.ts → admin-layout-catalyst.template-DrwDUfsE.d.ts} +25 -1
- package/dist/admin-layout-catalyst.template-KDHKVLXR.cjs +21 -0
- package/dist/admin-layout-catalyst.template-KDHKVLXR.cjs.map +1 -0
- package/dist/admin-layout-catalyst.template-YQ4EMF2J.js +7 -0
- package/dist/admin-layout-catalyst.template-YQ4EMF2J.js.map +1 -0
- package/dist/app-Bo0X1OWX.d.ts +1268 -0
- package/dist/app-Do66yCcV.d.cts +1268 -0
- package/dist/cache-DDARE4QE.js +4 -0
- package/dist/cache-DDARE4QE.js.map +1 -0
- package/dist/cache-LVYS4BPL.cjs +33 -0
- package/dist/cache-LVYS4BPL.cjs.map +1 -0
- package/dist/chunk-2CB4KY7I.cjs +771 -0
- package/dist/chunk-2CB4KY7I.cjs.map +1 -0
- package/dist/{chunk-ABB34XUS.cjs → chunk-3KYKEXV7.cjs} +667 -19
- package/dist/chunk-3KYKEXV7.cjs.map +1 -0
- package/dist/chunk-4BTBSXMR.cjs +912 -0
- package/dist/chunk-4BTBSXMR.cjs.map +1 -0
- package/dist/{chunk-55RDMDOP.js → chunk-5V62WT6M.js} +181 -57
- package/dist/chunk-5V62WT6M.js.map +1 -0
- package/dist/{chunk-OCL3HMEG.js → chunk-6OC6MF3C.js} +7004 -9807
- package/dist/chunk-6OC6MF3C.js.map +1 -0
- package/dist/chunk-AI663NBO.js +821 -0
- package/dist/chunk-AI663NBO.js.map +1 -0
- package/dist/chunk-ALDRXTUO.js +273 -0
- package/dist/chunk-ALDRXTUO.js.map +1 -0
- package/dist/{chunk-TFNTM3OA.js → chunk-ATUPB6MN.js} +645 -15
- package/dist/chunk-ATUPB6MN.js.map +1 -0
- package/dist/chunk-BLMTL57B.js +767 -0
- package/dist/chunk-BLMTL57B.js.map +1 -0
- package/dist/{chunk-4ZSNJDLS.cjs → chunk-CRGUD4KC.cjs} +9 -9
- package/dist/chunk-CRGUD4KC.cjs.map +1 -0
- package/dist/chunk-F67UK75A.cjs +158 -0
- package/dist/chunk-F67UK75A.cjs.map +1 -0
- package/dist/chunk-GCDZZNIN.js +192 -0
- package/dist/chunk-GCDZZNIN.js.map +1 -0
- package/dist/chunk-HIKBY7MS.cjs +70 -0
- package/dist/chunk-HIKBY7MS.cjs.map +1 -0
- package/dist/{chunk-4NPCDK6B.js → chunk-IDCZBF35.js} +557 -90
- package/dist/chunk-IDCZBF35.js.map +1 -0
- package/dist/chunk-IESEVHXL.js +66 -0
- package/dist/chunk-IESEVHXL.js.map +1 -0
- package/dist/chunk-IGADDMXH.js +387 -0
- package/dist/chunk-IGADDMXH.js.map +1 -0
- package/dist/chunk-IHTXB7AT.cjs +276 -0
- package/dist/chunk-IHTXB7AT.cjs.map +1 -0
- package/dist/chunk-IVPRUGTY.js +242 -0
- package/dist/chunk-IVPRUGTY.js.map +1 -0
- package/dist/{chunk-JZVHLLSI.cjs → chunk-IXUHXTHW.cjs} +2 -151
- package/dist/chunk-IXUHXTHW.cjs.map +1 -0
- package/dist/chunk-J6JTWD2A.cjs +100 -0
- package/dist/chunk-J6JTWD2A.cjs.map +1 -0
- package/dist/chunk-JEQ7FLOD.cjs +199 -0
- package/dist/chunk-JEQ7FLOD.cjs.map +1 -0
- package/dist/{chunk-ON5ZMSU4.js → chunk-JQISFW6U.js} +3 -3
- package/dist/chunk-JQISFW6U.js.map +1 -0
- package/dist/chunk-K25XHMM3.js +566 -0
- package/dist/chunk-K25XHMM3.js.map +1 -0
- package/dist/{chunk-UYJ6TJHX.cjs → chunk-K623Q6WD.cjs} +181 -56
- package/dist/chunk-K623Q6WD.cjs.map +1 -0
- package/dist/{chunk-7A4CB7T3.cjs → chunk-MUNO67TT.cjs} +561 -91
- package/dist/chunk-MUNO67TT.cjs.map +1 -0
- package/dist/chunk-N32OWET6.cjs +327 -0
- package/dist/chunk-N32OWET6.cjs.map +1 -0
- package/dist/chunk-NUKJ54GA.cjs +245 -0
- package/dist/chunk-NUKJ54GA.cjs.map +1 -0
- package/dist/{chunk-XWIA3HVX.js → chunk-OBA2RYZN.js} +6 -1249
- package/dist/chunk-OBA2RYZN.js.map +1 -0
- package/dist/chunk-PMGOBS6X.cjs +408 -0
- package/dist/chunk-PMGOBS6X.cjs.map +1 -0
- package/dist/{chunk-OHYBNCVL.cjs → chunk-PXNTCCPE.cjs} +10 -1256
- package/dist/chunk-PXNTCCPE.cjs.map +1 -0
- package/dist/chunk-PYVFXCSD.js +1828 -0
- package/dist/chunk-PYVFXCSD.js.map +1 -0
- package/dist/{chunk-BU7SFHGP.js → chunk-QZGABF2M.js} +3 -149
- package/dist/chunk-QZGABF2M.js.map +1 -0
- package/dist/{chunk-E4YFJBM2.cjs → chunk-R4ILO3W6.cjs} +876 -829
- package/dist/chunk-R4ILO3W6.cjs.map +1 -0
- package/dist/chunk-RMRJGMDE.js +323 -0
- package/dist/chunk-RMRJGMDE.js.map +1 -0
- package/dist/chunk-RNZFGN4R.js +88 -0
- package/dist/chunk-RNZFGN4R.js.map +1 -0
- package/dist/chunk-RQ6N3FTV.js +900 -0
- package/dist/chunk-RQ6N3FTV.js.map +1 -0
- package/dist/{chunk-R4FOLLFB.cjs → chunk-TO6EY4P7.cjs} +8730 -11520
- package/dist/chunk-TO6EY4P7.cjs.map +1 -0
- package/dist/chunk-V464XBYS.js +154 -0
- package/dist/chunk-V464XBYS.js.map +1 -0
- package/dist/chunk-YA3TJ65D.cjs +575 -0
- package/dist/chunk-YA3TJ65D.cjs.map +1 -0
- package/dist/chunk-YP7GW2G5.cjs +866 -0
- package/dist/chunk-YP7GW2G5.cjs.map +1 -0
- package/dist/{collection-config-B4PG-AaF.d.cts → collection-config-JgHOpFCG.d.cts} +30 -2
- package/dist/{collection-config-B4PG-AaF.d.ts → collection-config-JgHOpFCG.d.ts} +30 -2
- package/dist/config-HFXANXCC.js +6 -0
- package/dist/config-HFXANXCC.js.map +1 -0
- package/dist/config-ON6FNMYX.cjs +19 -0
- package/dist/config-ON6FNMYX.cjs.map +1 -0
- package/dist/define-plugin-BzNHc1ZI.d.ts +1321 -0
- package/dist/define-plugin-IWDKYaVm.d.cts +1321 -0
- package/dist/document-projection-TDWRJX3Z.cjs +13 -0
- package/dist/document-projection-TDWRJX3Z.cjs.map +1 -0
- package/dist/document-projection-YYMC6I4U.js +4 -0
- package/dist/document-projection-YYMC6I4U.js.map +1 -0
- package/dist/index.cjs +13736 -4326
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +331 -493
- package/dist/index.d.ts +331 -493
- package/dist/index.js +13455 -4067
- package/dist/index.js.map +1 -1
- package/dist/middleware.cjs +38 -32
- package/dist/middleware.d.cts +50 -7
- package/dist/middleware.d.ts +50 -7
- package/dist/middleware.js +9 -3
- package/dist/migrations-2XHQEGOQ.cjs +13 -0
- package/dist/{migrations-566IIPS2.cjs.map → migrations-2XHQEGOQ.cjs.map} +1 -1
- package/dist/migrations-PE3CDVSM.js +4 -0
- package/dist/{migrations-H5IXZNCO.js.map → migrations-PE3CDVSM.js.map} +1 -1
- package/dist/{plugin-bootstrap-DfVerYV4.d.cts → plugin-bootstrap-B8ThJU21.d.cts} +4315 -1661
- package/dist/{plugin-bootstrap-P_ciLp_C.d.ts → plugin-bootstrap-qu8hJgUt.d.ts} +4315 -1661
- package/dist/plugins.cjs +171 -12
- package/dist/plugins.d.cts +36 -2
- package/dist/plugins.d.ts +36 -2
- package/dist/plugins.js +5 -2
- package/dist/rbac-O73MFKDA.js +5 -0
- package/dist/rbac-O73MFKDA.js.map +1 -0
- package/dist/rbac-VONLJJKB.cjs +14 -0
- package/dist/rbac-VONLJJKB.cjs.map +1 -0
- package/dist/routes.cjs +42 -46
- package/dist/routes.d.cts +56 -146
- package/dist/routes.d.ts +56 -146
- package/dist/routes.js +18 -10
- package/dist/services.cjs +43 -76
- package/dist/services.d.cts +93 -55
- package/dist/services.d.ts +93 -55
- package/dist/services.js +6 -3
- package/dist/{telemetry-B9vIV4wh.d.cts → telemetry-Cku1ax74.d.cts} +1 -1
- package/dist/{telemetry-B9vIV4wh.d.ts → telemetry-Cku1ax74.d.ts} +1 -1
- package/dist/templates.cjs +17 -29
- package/dist/templates.d.cts +2 -89
- package/dist/templates.d.ts +2 -89
- package/dist/templates.js +3 -3
- package/dist/types-Dea1eNxU.d.cts +286 -0
- package/dist/types-Dea1eNxU.d.ts +286 -0
- package/dist/types.d.cts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/utils.cjs +21 -20
- package/dist/utils.d.cts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +3 -2
- package/migrations/0001_core.sql +184 -0
- package/migrations/0002_documents.sql +163 -0
- package/package.json +12 -7
- package/dist/admin-layout-catalyst.template-HFD37TY5.cjs +0 -17
- package/dist/admin-layout-catalyst.template-UMTIN66R.js +0 -7
- package/dist/app-C9esKLmh.d.cts +0 -112
- package/dist/app-C9esKLmh.d.ts +0 -112
- package/dist/chunk-4NPCDK6B.js.map +0 -1
- package/dist/chunk-4ZSNJDLS.cjs.map +0 -1
- package/dist/chunk-55RDMDOP.js.map +0 -1
- package/dist/chunk-635JAMSE.cjs +0 -653
- package/dist/chunk-635JAMSE.cjs.map +0 -1
- package/dist/chunk-7A4CB7T3.cjs.map +0 -1
- package/dist/chunk-ABB34XUS.cjs.map +0 -1
- package/dist/chunk-BU7SFHGP.js.map +0 -1
- package/dist/chunk-E4YFJBM2.cjs.map +0 -1
- package/dist/chunk-EXNEW5US.js +0 -648
- package/dist/chunk-EXNEW5US.js.map +0 -1
- package/dist/chunk-JZV22DEV.js +0 -1783
- package/dist/chunk-JZV22DEV.js.map +0 -1
- package/dist/chunk-JZVHLLSI.cjs.map +0 -1
- package/dist/chunk-OCL3HMEG.js.map +0 -1
- package/dist/chunk-OHYBNCVL.cjs.map +0 -1
- package/dist/chunk-ON5ZMSU4.js.map +0 -1
- package/dist/chunk-QFWHAFEO.js +0 -1843
- package/dist/chunk-QFWHAFEO.js.map +0 -1
- package/dist/chunk-R4FOLLFB.cjs.map +0 -1
- package/dist/chunk-RLMUFFUD.cjs +0 -2219
- package/dist/chunk-RLMUFFUD.cjs.map +0 -1
- package/dist/chunk-TFNTM3OA.js.map +0 -1
- package/dist/chunk-UYJ6TJHX.cjs.map +0 -1
- package/dist/chunk-WAEQXGCX.cjs +0 -1898
- package/dist/chunk-WAEQXGCX.cjs.map +0 -1
- package/dist/chunk-XWIA3HVX.js.map +0 -1
- package/dist/chunk-ZYAYUIZE.js +0 -2217
- package/dist/chunk-ZYAYUIZE.js.map +0 -1
- package/dist/migrations-566IIPS2.cjs +0 -13
- package/dist/migrations-H5IXZNCO.js +0 -4
- package/dist/plugin-manager-BoM3Q7o7.d.cts +0 -328
- package/dist/plugin-manager-Efx9RyDX.d.ts +0 -328
- package/migrations/001_initial_schema.sql +0 -170
- package/migrations/002_faq_plugin.sql +0 -86
- package/migrations/003_stage5_enhancements.sql +0 -121
- package/migrations/004_stage6_user_management.sql +0 -183
- package/migrations/005_stage7_workflow_automation.sql +0 -294
- package/migrations/006_plugin_system.sql +0 -155
- package/migrations/007_demo_login_plugin.sql +0 -23
- package/migrations/008_fix_slug_validation.sql +0 -22
- package/migrations/009_system_logging.sql +0 -57
- package/migrations/011_config_managed_collections.sql +0 -15
- package/migrations/012_testimonials_plugin.sql +0 -80
- package/migrations/013_code_examples_plugin.sql +0 -177
- package/migrations/014_fix_plugin_registry.sql +0 -88
- package/migrations/015_add_remaining_plugins.sql +0 -89
- package/migrations/016_remove_duplicate_cache_plugin.sql +0 -17
- package/migrations/017_auth_configurable_fields.sql +0 -49
- package/migrations/018_settings_table.sql +0 -23
- package/migrations/019_remove_blog_posts_collection.sql +0 -15
- package/migrations/020_add_email_plugin.sql +0 -22
- package/migrations/021_add_magic_link_auth_plugin.sql +0 -42
- package/migrations/022_add_tinymce_plugin.sql +0 -25
- package/migrations/023_add_easy_mdx_plugin.sql +0 -25
- package/migrations/024_add_quill_editor_plugin.sql +0 -25
- package/migrations/025_add_easymde_plugin.sql +0 -25
- package/migrations/026_add_otp_login.sql +0 -42
- package/migrations/027_fix_slug_field_type.sql +0 -18
- package/migrations/028_fix_slug_field_type_in_schemas.sql +0 -30
- package/migrations/029_add_forms_system.sql +0 -184
- package/migrations/030_add_turnstile_to_forms.sql +0 -14
- package/migrations/031_ai_search_plugin.sql +0 -45
- package/migrations/032_user_profiles.sql +0 -37
- package/migrations/033_form_content_integration.sql +0 -19
- package/migrations/034_security_audit_plugin.sql +0 -27
- package/migrations/035_user_profiles_data_column.sql +0 -16
- package/migrations/036_analytics_events.sql +0 -22
package/dist/services.cjs
CHANGED
|
@@ -1,156 +1,123 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var chunk4BTBSXMR_cjs = require('./chunk-4BTBSXMR.cjs');
|
|
4
|
+
require('./chunk-YA3TJ65D.cjs');
|
|
5
|
+
require('./chunk-YP7GW2G5.cjs');
|
|
6
|
+
var chunkR4ILO3W6_cjs = require('./chunk-R4ILO3W6.cjs');
|
|
7
|
+
var chunkIHTXB7AT_cjs = require('./chunk-IHTXB7AT.cjs');
|
|
6
8
|
require('./chunk-P3XDZL6Q.cjs');
|
|
9
|
+
require('./chunk-MNWKYY5E.cjs');
|
|
7
10
|
require('./chunk-IGJUBJBW.cjs');
|
|
8
11
|
|
|
9
12
|
|
|
10
13
|
|
|
11
14
|
Object.defineProperty(exports, "CACHE_CONFIGS", {
|
|
12
15
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunk4BTBSXMR_cjs.CACHE_CONFIGS; }
|
|
14
17
|
});
|
|
15
18
|
Object.defineProperty(exports, "CATEGORY_INFO", {
|
|
16
19
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunk4BTBSXMR_cjs.CATEGORY_INFO; }
|
|
18
21
|
});
|
|
19
22
|
Object.defineProperty(exports, "CacheService", {
|
|
20
23
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunk4BTBSXMR_cjs.CacheService; }
|
|
22
25
|
});
|
|
23
26
|
Object.defineProperty(exports, "Logger", {
|
|
24
27
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunk4BTBSXMR_cjs.Logger; }
|
|
26
29
|
});
|
|
27
30
|
Object.defineProperty(exports, "SettingsService", {
|
|
28
31
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "TelemetryService", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () { return chunkWAEQXGCX_cjs.TelemetryService; }
|
|
32
|
+
get: function () { return chunk4BTBSXMR_cjs.SettingsService; }
|
|
34
33
|
});
|
|
35
34
|
Object.defineProperty(exports, "buildRouteList", {
|
|
36
35
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
38
|
-
});
|
|
39
|
-
Object.defineProperty(exports, "createInstallationIdentity", {
|
|
40
|
-
enumerable: true,
|
|
41
|
-
get: function () { return chunkWAEQXGCX_cjs.createInstallationIdentity; }
|
|
36
|
+
get: function () { return chunk4BTBSXMR_cjs.buildRouteList; }
|
|
42
37
|
});
|
|
43
38
|
Object.defineProperty(exports, "getAppInstance", {
|
|
44
39
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunk4BTBSXMR_cjs.getAppInstance; }
|
|
46
41
|
});
|
|
47
42
|
Object.defineProperty(exports, "getCacheService", {
|
|
48
43
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunk4BTBSXMR_cjs.getCacheService; }
|
|
50
45
|
});
|
|
51
46
|
Object.defineProperty(exports, "getLogger", {
|
|
52
47
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(exports, "getTelemetryService", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
get: function () { return chunkWAEQXGCX_cjs.getTelemetryService; }
|
|
48
|
+
get: function () { return chunk4BTBSXMR_cjs.getLogger; }
|
|
58
49
|
});
|
|
59
50
|
Object.defineProperty(exports, "initLogger", {
|
|
60
51
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunk4BTBSXMR_cjs.initLogger; }
|
|
62
53
|
});
|
|
63
|
-
Object.defineProperty(exports, "
|
|
54
|
+
Object.defineProperty(exports, "setAppInstance", {
|
|
64
55
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
56
|
+
get: function () { return chunk4BTBSXMR_cjs.setAppInstance; }
|
|
66
57
|
});
|
|
67
|
-
Object.defineProperty(exports, "
|
|
58
|
+
Object.defineProperty(exports, "CollectionRegistry", {
|
|
68
59
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkR4ILO3W6_cjs.CollectionRegistry; }
|
|
70
61
|
});
|
|
71
62
|
Object.defineProperty(exports, "PluginBootstrapService", {
|
|
72
63
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
64
|
+
get: function () { return chunkR4ILO3W6_cjs.PluginBootstrapService; }
|
|
74
65
|
});
|
|
75
66
|
Object.defineProperty(exports, "PluginService", {
|
|
76
67
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(exports, "backfillFormSubmissions", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
get: function () { return chunkE4YFJBM2_cjs.backfillFormSubmissions; }
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(exports, "cleanupRemovedCollections", {
|
|
84
|
-
enumerable: true,
|
|
85
|
-
get: function () { return chunkE4YFJBM2_cjs.cleanupRemovedCollections; }
|
|
68
|
+
get: function () { return chunkR4ILO3W6_cjs.PluginService; }
|
|
86
69
|
});
|
|
87
|
-
Object.defineProperty(exports, "
|
|
70
|
+
Object.defineProperty(exports, "TelemetryService", {
|
|
88
71
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
72
|
+
get: function () { return chunkR4ILO3W6_cjs.TelemetryService; }
|
|
90
73
|
});
|
|
91
|
-
Object.defineProperty(exports, "
|
|
74
|
+
Object.defineProperty(exports, "collectionRecordToRow", {
|
|
92
75
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
76
|
+
get: function () { return chunkR4ILO3W6_cjs.collectionRecordToRow; }
|
|
94
77
|
});
|
|
95
|
-
Object.defineProperty(exports, "
|
|
78
|
+
Object.defineProperty(exports, "createInstallationIdentity", {
|
|
96
79
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
80
|
+
get: function () { return chunkR4ILO3W6_cjs.createInstallationIdentity; }
|
|
98
81
|
});
|
|
99
|
-
Object.defineProperty(exports, "
|
|
82
|
+
Object.defineProperty(exports, "getAvailableCollectionNames", {
|
|
100
83
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
84
|
+
get: function () { return chunkR4ILO3W6_cjs.getAvailableCollectionNames; }
|
|
102
85
|
});
|
|
103
|
-
Object.defineProperty(exports, "
|
|
86
|
+
Object.defineProperty(exports, "getCollectionRegistry", {
|
|
104
87
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
88
|
+
get: function () { return chunkR4ILO3W6_cjs.getCollectionRegistry; }
|
|
106
89
|
});
|
|
107
|
-
Object.defineProperty(exports, "
|
|
90
|
+
Object.defineProperty(exports, "getTelemetryService", {
|
|
108
91
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
92
|
+
get: function () { return chunkR4ILO3W6_cjs.getTelemetryService; }
|
|
110
93
|
});
|
|
111
|
-
Object.defineProperty(exports, "
|
|
94
|
+
Object.defineProperty(exports, "initTelemetry", {
|
|
112
95
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
96
|
+
get: function () { return chunkR4ILO3W6_cjs.initTelemetry; }
|
|
114
97
|
});
|
|
115
98
|
Object.defineProperty(exports, "loadCollectionConfig", {
|
|
116
99
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
100
|
+
get: function () { return chunkR4ILO3W6_cjs.loadCollectionConfig; }
|
|
118
101
|
});
|
|
119
102
|
Object.defineProperty(exports, "loadCollectionConfigs", {
|
|
120
103
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
122
|
-
});
|
|
123
|
-
Object.defineProperty(exports, "mapFormStatusToContentStatus", {
|
|
124
|
-
enumerable: true,
|
|
125
|
-
get: function () { return chunkE4YFJBM2_cjs.mapFormStatusToContentStatus; }
|
|
104
|
+
get: function () { return chunkR4ILO3W6_cjs.loadCollectionConfigs; }
|
|
126
105
|
});
|
|
127
106
|
Object.defineProperty(exports, "registerCollections", {
|
|
128
107
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
130
|
-
});
|
|
131
|
-
Object.defineProperty(exports, "syncAllFormCollections", {
|
|
132
|
-
enumerable: true,
|
|
133
|
-
get: function () { return chunkE4YFJBM2_cjs.syncAllFormCollections; }
|
|
134
|
-
});
|
|
135
|
-
Object.defineProperty(exports, "syncCollection", {
|
|
136
|
-
enumerable: true,
|
|
137
|
-
get: function () { return chunkE4YFJBM2_cjs.syncCollection; }
|
|
138
|
-
});
|
|
139
|
-
Object.defineProperty(exports, "syncCollections", {
|
|
140
|
-
enumerable: true,
|
|
141
|
-
get: function () { return chunkE4YFJBM2_cjs.syncCollections; }
|
|
108
|
+
get: function () { return chunkR4ILO3W6_cjs.registerCollections; }
|
|
142
109
|
});
|
|
143
|
-
Object.defineProperty(exports, "
|
|
110
|
+
Object.defineProperty(exports, "resetCollectionRegistry", {
|
|
144
111
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
112
|
+
get: function () { return chunkR4ILO3W6_cjs.resetCollectionRegistry; }
|
|
146
113
|
});
|
|
147
114
|
Object.defineProperty(exports, "validateCollectionConfig", {
|
|
148
115
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
116
|
+
get: function () { return chunkR4ILO3W6_cjs.validateCollectionConfig; }
|
|
150
117
|
});
|
|
151
118
|
Object.defineProperty(exports, "MigrationService", {
|
|
152
119
|
enumerable: true,
|
|
153
|
-
get: function () { return
|
|
120
|
+
get: function () { return chunkIHTXB7AT_cjs.MigrationService; }
|
|
154
121
|
});
|
|
155
122
|
//# sourceMappingURL=services.cjs.map
|
|
156
123
|
//# sourceMappingURL=services.cjs.map
|
package/dist/services.d.cts
CHANGED
|
@@ -1,15 +1,79 @@
|
|
|
1
|
-
export { C as CorePlugin, L as LogCategory, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, M as Migration, e as MigrationService, f as MigrationStatus, P as PluginBootstrapService, g as PluginService, h as
|
|
2
|
-
import {
|
|
3
|
-
import './
|
|
1
|
+
export { C as CorePlugin, L as LogCategory, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, M as Migration, e as MigrationService, f as MigrationStatus, P as PluginBootstrapService, g as PluginService, h as getAvailableCollectionNames, i as getLogger, j as initLogger, l as loadCollectionConfig, k as loadCollectionConfigs, r as registerCollections, v as validateCollectionConfig } from './plugin-bootstrap-B8ThJU21.cjs';
|
|
2
|
+
import { C as CollectionConfig } from './collection-config-JgHOpFCG.cjs';
|
|
3
|
+
import { T as TelemetryConfig, b as TelemetryIdentity, a as TelemetryEvent, c as TelemetryProperties } from './telemetry-Cku1ax74.cjs';
|
|
4
4
|
import '@cloudflare/workers-types';
|
|
5
5
|
import 'drizzle-zod';
|
|
6
6
|
import 'drizzle-orm/sqlite-core';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* CollectionRegistry — in-memory registry of code-defined collections.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Replaces the DB `collections` table as the source of truth for collection
|
|
12
|
+
* metadata. Populated once at bootstrap from `loadCollectionConfigs()` (which
|
|
13
|
+
* reads code-registered collections). Code-defined IDs are stable across envs:
|
|
14
|
+
* `collection.id === collection.name`.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
interface CollectionRecord extends CollectionConfig {
|
|
18
|
+
/** Stable id = collection.name. Always equals `name` for code-defined collections. */
|
|
19
|
+
id: string;
|
|
20
|
+
}
|
|
21
|
+
declare class CollectionRegistry {
|
|
22
|
+
private byName;
|
|
23
|
+
private bySlug;
|
|
24
|
+
/**
|
|
25
|
+
* Replace the registry contents with the given configs. Idempotent —
|
|
26
|
+
* calling with the same configs twice yields the same state.
|
|
27
|
+
*/
|
|
28
|
+
register(configs: CollectionConfig[]): void;
|
|
29
|
+
/** All registered collections (including inactive). */
|
|
30
|
+
list(): CollectionRecord[];
|
|
31
|
+
/** Active collections only. */
|
|
32
|
+
listActive(): CollectionRecord[];
|
|
33
|
+
getByName(name: string): CollectionRecord | undefined;
|
|
34
|
+
/** For code-defined collections, id === name. */
|
|
35
|
+
getById(id: string): CollectionRecord | undefined;
|
|
36
|
+
/** Look up by the URL slug (set in CollectionConfig.slug). Falls back to getByName if needed. */
|
|
37
|
+
getBySlug(slug: string): CollectionRecord | undefined;
|
|
38
|
+
/** Resolve a path segment to a record — tries slug first, then name. */
|
|
39
|
+
getBySlugOrName(slugOrName: string): CollectionRecord | undefined;
|
|
40
|
+
isActive(name: string): boolean;
|
|
41
|
+
size(): number;
|
|
42
|
+
/** Test helper — wipe state. */
|
|
43
|
+
clear(): void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Map a registry record to the snake_case shape historically returned by
|
|
47
|
+
* `SELECT * FROM collections`. Used by API routes during the consumer
|
|
48
|
+
* migration so downstream clients see no schema drift.
|
|
49
|
+
*/
|
|
50
|
+
interface CollectionRowShape {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
display_name: string;
|
|
54
|
+
description: string | null;
|
|
55
|
+
schema: any;
|
|
56
|
+
is_active: number;
|
|
57
|
+
managed: number;
|
|
58
|
+
source_type: string;
|
|
59
|
+
source_id: string | null;
|
|
60
|
+
created_at: number;
|
|
61
|
+
updated_at: number;
|
|
62
|
+
}
|
|
63
|
+
declare function collectionRecordToRow(record: CollectionRecord): CollectionRowShape;
|
|
64
|
+
declare function getCollectionRegistry(): CollectionRegistry;
|
|
65
|
+
/** Test helper — reset singleton between tests. */
|
|
66
|
+
declare function resetCollectionRegistry(): void;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Cache Service Adapter
|
|
70
|
+
*
|
|
71
|
+
* Thin facade over the cache plugin's `CacheService` so route code can keep its
|
|
72
|
+
* legacy `{ ttl, keyPrefix }` contract while writes land in the plugin's
|
|
73
|
+
* singleton — that's the same registry the admin dashboard at /admin/cache reads
|
|
74
|
+
* via `getAllCacheStats()`. Without this adapter the two caches would be split:
|
|
75
|
+
* routes would write to one, the dashboard would read from another, and the UI
|
|
76
|
+
* would always show zero entries.
|
|
13
77
|
*/
|
|
14
78
|
interface CacheConfig {
|
|
15
79
|
ttl: number;
|
|
@@ -17,49 +81,25 @@ interface CacheConfig {
|
|
|
17
81
|
}
|
|
18
82
|
declare class CacheService {
|
|
19
83
|
private config;
|
|
20
|
-
private
|
|
84
|
+
private inner;
|
|
85
|
+
private keyExpiry;
|
|
21
86
|
constructor(config: CacheConfig);
|
|
22
|
-
/**
|
|
23
|
-
* Generate cache key with prefix
|
|
24
|
-
*/
|
|
25
87
|
generateKey(type: string, identifier?: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Get value from cache
|
|
28
|
-
*/
|
|
29
88
|
get<T>(key: string): Promise<T | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Get value from cache with source information
|
|
32
|
-
*/
|
|
33
89
|
getWithSource<T>(key: string): Promise<{
|
|
34
90
|
hit: boolean;
|
|
35
91
|
data: T | null;
|
|
36
92
|
source: string;
|
|
37
93
|
ttl?: number;
|
|
38
94
|
}>;
|
|
39
|
-
/**
|
|
40
|
-
* Set value in cache
|
|
41
|
-
*/
|
|
42
95
|
set(key: string, value: any, ttl?: number): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Delete specific key from cache
|
|
45
|
-
*/
|
|
46
96
|
delete(key: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Invalidate cache keys matching a pattern
|
|
49
|
-
* For memory cache, we do simple string matching
|
|
50
|
-
*/
|
|
51
97
|
invalidate(pattern: string): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Clear all cache
|
|
54
|
-
*/
|
|
55
98
|
clear(): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Get value from cache or set it using a callback
|
|
58
|
-
*/
|
|
59
99
|
getOrSet<T>(key: string, callback: () => Promise<T>, ttl?: number): Promise<T>;
|
|
60
100
|
}
|
|
61
101
|
/**
|
|
62
|
-
*
|
|
102
|
+
* Default cache configurations for different data types.
|
|
63
103
|
*/
|
|
64
104
|
declare const CACHE_CONFIGS: {
|
|
65
105
|
api: {
|
|
@@ -80,18 +120,11 @@ declare const CACHE_CONFIGS: {
|
|
|
80
120
|
};
|
|
81
121
|
};
|
|
82
122
|
/**
|
|
83
|
-
*
|
|
123
|
+
* Resolve a cache service for a config. Wraps the plugin's singleton so admin
|
|
124
|
+
* dashboard stats and route-side writes share the same store.
|
|
84
125
|
*/
|
|
85
126
|
declare function getCacheService(config: CacheConfig): CacheService;
|
|
86
127
|
|
|
87
|
-
interface Setting {
|
|
88
|
-
id: string;
|
|
89
|
-
category: string;
|
|
90
|
-
key: string;
|
|
91
|
-
value: string;
|
|
92
|
-
created_at: number;
|
|
93
|
-
updated_at: number;
|
|
94
|
-
}
|
|
95
128
|
interface GeneralSettings {
|
|
96
129
|
siteName: string;
|
|
97
130
|
siteDescription: string;
|
|
@@ -108,21 +141,13 @@ declare class SettingsService {
|
|
|
108
141
|
private db;
|
|
109
142
|
constructor(db: D1Database);
|
|
110
143
|
/**
|
|
111
|
-
* Get
|
|
112
|
-
*/
|
|
113
|
-
getSetting(category: string, key: string): Promise<any | null>;
|
|
114
|
-
/**
|
|
115
|
-
* Get all settings for a category
|
|
116
|
-
*/
|
|
117
|
-
getCategorySettings(category: string): Promise<Record<string, any>>;
|
|
118
|
-
/**
|
|
119
|
-
* Set a setting value
|
|
144
|
+
* Get settings document for a category (general or security)
|
|
120
145
|
*/
|
|
121
|
-
|
|
146
|
+
private getSettingsDocument;
|
|
122
147
|
/**
|
|
123
|
-
*
|
|
148
|
+
* Save settings document for a category (general or security)
|
|
124
149
|
*/
|
|
125
|
-
|
|
150
|
+
private saveSettingsDocument;
|
|
126
151
|
/**
|
|
127
152
|
* Get general settings with defaults
|
|
128
153
|
*/
|
|
@@ -202,6 +227,19 @@ declare class TelemetryService {
|
|
|
202
227
|
* Track migration run
|
|
203
228
|
*/
|
|
204
229
|
trackMigrationRun(properties?: TelemetryProperties): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Track project snapshot — fired on bootstrap to capture runtime project shape.
|
|
232
|
+
* Arrays serialized as JSON strings (sanitizeProperties strips objects/arrays).
|
|
233
|
+
*/
|
|
234
|
+
trackProjectSnapshot(data: {
|
|
235
|
+
installation_id: string;
|
|
236
|
+
collection_names: string[];
|
|
237
|
+
collection_counts: Record<string, number>;
|
|
238
|
+
active_plugins: string[];
|
|
239
|
+
field_type_histogram: Record<string, number>;
|
|
240
|
+
doc_total: number;
|
|
241
|
+
sonicjs_version: string;
|
|
242
|
+
}): Promise<void>;
|
|
205
243
|
/**
|
|
206
244
|
* Flush queued events
|
|
207
245
|
*/
|
|
@@ -269,4 +307,4 @@ declare function getAppInstance(): any;
|
|
|
269
307
|
declare const CATEGORY_INFO: Record<string, CategoryInfo>;
|
|
270
308
|
declare function buildRouteList(app: any): RouteMetadata[];
|
|
271
309
|
|
|
272
|
-
export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type GeneralSettings, type RouteMetadata, type
|
|
310
|
+
export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type CollectionRecord, CollectionRegistry, type CollectionRowShape, type GeneralSettings, type RouteMetadata, type SecuritySettings, SettingsService, TelemetryService, buildRouteList, collectionRecordToRow, createInstallationIdentity, getAppInstance, getCacheService, getCollectionRegistry, getTelemetryService, initTelemetry, resetCollectionRegistry, setAppInstance };
|
package/dist/services.d.ts
CHANGED
|
@@ -1,15 +1,79 @@
|
|
|
1
|
-
export { C as CorePlugin, L as LogCategory, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, M as Migration, e as MigrationService, f as MigrationStatus, P as PluginBootstrapService, g as PluginService, h as
|
|
2
|
-
import {
|
|
3
|
-
import './
|
|
1
|
+
export { C as CorePlugin, L as LogCategory, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, M as Migration, e as MigrationService, f as MigrationStatus, P as PluginBootstrapService, g as PluginService, h as getAvailableCollectionNames, i as getLogger, j as initLogger, l as loadCollectionConfig, k as loadCollectionConfigs, r as registerCollections, v as validateCollectionConfig } from './plugin-bootstrap-qu8hJgUt.js';
|
|
2
|
+
import { C as CollectionConfig } from './collection-config-JgHOpFCG.js';
|
|
3
|
+
import { T as TelemetryConfig, b as TelemetryIdentity, a as TelemetryEvent, c as TelemetryProperties } from './telemetry-Cku1ax74.js';
|
|
4
4
|
import '@cloudflare/workers-types';
|
|
5
5
|
import 'drizzle-zod';
|
|
6
6
|
import 'drizzle-orm/sqlite-core';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* CollectionRegistry — in-memory registry of code-defined collections.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Replaces the DB `collections` table as the source of truth for collection
|
|
12
|
+
* metadata. Populated once at bootstrap from `loadCollectionConfigs()` (which
|
|
13
|
+
* reads code-registered collections). Code-defined IDs are stable across envs:
|
|
14
|
+
* `collection.id === collection.name`.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
interface CollectionRecord extends CollectionConfig {
|
|
18
|
+
/** Stable id = collection.name. Always equals `name` for code-defined collections. */
|
|
19
|
+
id: string;
|
|
20
|
+
}
|
|
21
|
+
declare class CollectionRegistry {
|
|
22
|
+
private byName;
|
|
23
|
+
private bySlug;
|
|
24
|
+
/**
|
|
25
|
+
* Replace the registry contents with the given configs. Idempotent —
|
|
26
|
+
* calling with the same configs twice yields the same state.
|
|
27
|
+
*/
|
|
28
|
+
register(configs: CollectionConfig[]): void;
|
|
29
|
+
/** All registered collections (including inactive). */
|
|
30
|
+
list(): CollectionRecord[];
|
|
31
|
+
/** Active collections only. */
|
|
32
|
+
listActive(): CollectionRecord[];
|
|
33
|
+
getByName(name: string): CollectionRecord | undefined;
|
|
34
|
+
/** For code-defined collections, id === name. */
|
|
35
|
+
getById(id: string): CollectionRecord | undefined;
|
|
36
|
+
/** Look up by the URL slug (set in CollectionConfig.slug). Falls back to getByName if needed. */
|
|
37
|
+
getBySlug(slug: string): CollectionRecord | undefined;
|
|
38
|
+
/** Resolve a path segment to a record — tries slug first, then name. */
|
|
39
|
+
getBySlugOrName(slugOrName: string): CollectionRecord | undefined;
|
|
40
|
+
isActive(name: string): boolean;
|
|
41
|
+
size(): number;
|
|
42
|
+
/** Test helper — wipe state. */
|
|
43
|
+
clear(): void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Map a registry record to the snake_case shape historically returned by
|
|
47
|
+
* `SELECT * FROM collections`. Used by API routes during the consumer
|
|
48
|
+
* migration so downstream clients see no schema drift.
|
|
49
|
+
*/
|
|
50
|
+
interface CollectionRowShape {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
display_name: string;
|
|
54
|
+
description: string | null;
|
|
55
|
+
schema: any;
|
|
56
|
+
is_active: number;
|
|
57
|
+
managed: number;
|
|
58
|
+
source_type: string;
|
|
59
|
+
source_id: string | null;
|
|
60
|
+
created_at: number;
|
|
61
|
+
updated_at: number;
|
|
62
|
+
}
|
|
63
|
+
declare function collectionRecordToRow(record: CollectionRecord): CollectionRowShape;
|
|
64
|
+
declare function getCollectionRegistry(): CollectionRegistry;
|
|
65
|
+
/** Test helper — reset singleton between tests. */
|
|
66
|
+
declare function resetCollectionRegistry(): void;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Cache Service Adapter
|
|
70
|
+
*
|
|
71
|
+
* Thin facade over the cache plugin's `CacheService` so route code can keep its
|
|
72
|
+
* legacy `{ ttl, keyPrefix }` contract while writes land in the plugin's
|
|
73
|
+
* singleton — that's the same registry the admin dashboard at /admin/cache reads
|
|
74
|
+
* via `getAllCacheStats()`. Without this adapter the two caches would be split:
|
|
75
|
+
* routes would write to one, the dashboard would read from another, and the UI
|
|
76
|
+
* would always show zero entries.
|
|
13
77
|
*/
|
|
14
78
|
interface CacheConfig {
|
|
15
79
|
ttl: number;
|
|
@@ -17,49 +81,25 @@ interface CacheConfig {
|
|
|
17
81
|
}
|
|
18
82
|
declare class CacheService {
|
|
19
83
|
private config;
|
|
20
|
-
private
|
|
84
|
+
private inner;
|
|
85
|
+
private keyExpiry;
|
|
21
86
|
constructor(config: CacheConfig);
|
|
22
|
-
/**
|
|
23
|
-
* Generate cache key with prefix
|
|
24
|
-
*/
|
|
25
87
|
generateKey(type: string, identifier?: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Get value from cache
|
|
28
|
-
*/
|
|
29
88
|
get<T>(key: string): Promise<T | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Get value from cache with source information
|
|
32
|
-
*/
|
|
33
89
|
getWithSource<T>(key: string): Promise<{
|
|
34
90
|
hit: boolean;
|
|
35
91
|
data: T | null;
|
|
36
92
|
source: string;
|
|
37
93
|
ttl?: number;
|
|
38
94
|
}>;
|
|
39
|
-
/**
|
|
40
|
-
* Set value in cache
|
|
41
|
-
*/
|
|
42
95
|
set(key: string, value: any, ttl?: number): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Delete specific key from cache
|
|
45
|
-
*/
|
|
46
96
|
delete(key: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Invalidate cache keys matching a pattern
|
|
49
|
-
* For memory cache, we do simple string matching
|
|
50
|
-
*/
|
|
51
97
|
invalidate(pattern: string): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Clear all cache
|
|
54
|
-
*/
|
|
55
98
|
clear(): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Get value from cache or set it using a callback
|
|
58
|
-
*/
|
|
59
99
|
getOrSet<T>(key: string, callback: () => Promise<T>, ttl?: number): Promise<T>;
|
|
60
100
|
}
|
|
61
101
|
/**
|
|
62
|
-
*
|
|
102
|
+
* Default cache configurations for different data types.
|
|
63
103
|
*/
|
|
64
104
|
declare const CACHE_CONFIGS: {
|
|
65
105
|
api: {
|
|
@@ -80,18 +120,11 @@ declare const CACHE_CONFIGS: {
|
|
|
80
120
|
};
|
|
81
121
|
};
|
|
82
122
|
/**
|
|
83
|
-
*
|
|
123
|
+
* Resolve a cache service for a config. Wraps the plugin's singleton so admin
|
|
124
|
+
* dashboard stats and route-side writes share the same store.
|
|
84
125
|
*/
|
|
85
126
|
declare function getCacheService(config: CacheConfig): CacheService;
|
|
86
127
|
|
|
87
|
-
interface Setting {
|
|
88
|
-
id: string;
|
|
89
|
-
category: string;
|
|
90
|
-
key: string;
|
|
91
|
-
value: string;
|
|
92
|
-
created_at: number;
|
|
93
|
-
updated_at: number;
|
|
94
|
-
}
|
|
95
128
|
interface GeneralSettings {
|
|
96
129
|
siteName: string;
|
|
97
130
|
siteDescription: string;
|
|
@@ -108,21 +141,13 @@ declare class SettingsService {
|
|
|
108
141
|
private db;
|
|
109
142
|
constructor(db: D1Database);
|
|
110
143
|
/**
|
|
111
|
-
* Get
|
|
112
|
-
*/
|
|
113
|
-
getSetting(category: string, key: string): Promise<any | null>;
|
|
114
|
-
/**
|
|
115
|
-
* Get all settings for a category
|
|
116
|
-
*/
|
|
117
|
-
getCategorySettings(category: string): Promise<Record<string, any>>;
|
|
118
|
-
/**
|
|
119
|
-
* Set a setting value
|
|
144
|
+
* Get settings document for a category (general or security)
|
|
120
145
|
*/
|
|
121
|
-
|
|
146
|
+
private getSettingsDocument;
|
|
122
147
|
/**
|
|
123
|
-
*
|
|
148
|
+
* Save settings document for a category (general or security)
|
|
124
149
|
*/
|
|
125
|
-
|
|
150
|
+
private saveSettingsDocument;
|
|
126
151
|
/**
|
|
127
152
|
* Get general settings with defaults
|
|
128
153
|
*/
|
|
@@ -202,6 +227,19 @@ declare class TelemetryService {
|
|
|
202
227
|
* Track migration run
|
|
203
228
|
*/
|
|
204
229
|
trackMigrationRun(properties?: TelemetryProperties): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Track project snapshot — fired on bootstrap to capture runtime project shape.
|
|
232
|
+
* Arrays serialized as JSON strings (sanitizeProperties strips objects/arrays).
|
|
233
|
+
*/
|
|
234
|
+
trackProjectSnapshot(data: {
|
|
235
|
+
installation_id: string;
|
|
236
|
+
collection_names: string[];
|
|
237
|
+
collection_counts: Record<string, number>;
|
|
238
|
+
active_plugins: string[];
|
|
239
|
+
field_type_histogram: Record<string, number>;
|
|
240
|
+
doc_total: number;
|
|
241
|
+
sonicjs_version: string;
|
|
242
|
+
}): Promise<void>;
|
|
205
243
|
/**
|
|
206
244
|
* Flush queued events
|
|
207
245
|
*/
|
|
@@ -269,4 +307,4 @@ declare function getAppInstance(): any;
|
|
|
269
307
|
declare const CATEGORY_INFO: Record<string, CategoryInfo>;
|
|
270
308
|
declare function buildRouteList(app: any): RouteMetadata[];
|
|
271
309
|
|
|
272
|
-
export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type GeneralSettings, type RouteMetadata, type
|
|
310
|
+
export { CACHE_CONFIGS, CATEGORY_INFO, type CacheConfig, CacheService, type CollectionRecord, CollectionRegistry, type CollectionRowShape, type GeneralSettings, type RouteMetadata, type SecuritySettings, SettingsService, TelemetryService, buildRouteList, collectionRecordToRow, createInstallationIdentity, getAppInstance, getCacheService, getCollectionRegistry, getTelemetryService, initTelemetry, resetCollectionRegistry, setAppInstance };
|
package/dist/services.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
export { CACHE_CONFIGS, CATEGORY_INFO, CacheService, Logger, SettingsService,
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export { CACHE_CONFIGS, CATEGORY_INFO, CacheService, Logger, SettingsService, buildRouteList, getAppInstance, getCacheService, getLogger, initLogger, setAppInstance } from './chunk-RQ6N3FTV.js';
|
|
2
|
+
import './chunk-K25XHMM3.js';
|
|
3
|
+
import './chunk-AI663NBO.js';
|
|
4
|
+
export { CollectionRegistry, PluginBootstrapService, PluginService, TelemetryService, collectionRecordToRow, createInstallationIdentity, getAvailableCollectionNames, getCollectionRegistry, getTelemetryService, initTelemetry, loadCollectionConfig, loadCollectionConfigs, registerCollections, resetCollectionRegistry, validateCollectionConfig } from './chunk-PYVFXCSD.js';
|
|
5
|
+
export { MigrationService } from './chunk-ALDRXTUO.js';
|
|
4
6
|
import './chunk-X7ZAEI5S.js';
|
|
7
|
+
import './chunk-TQABQWOP.js';
|
|
5
8
|
import './chunk-V4OQ3NZ2.js';
|
|
6
9
|
//# sourceMappingURL=services.js.map
|
|
7
10
|
//# sourceMappingURL=services.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Privacy-first telemetry types for SonicJS
|
|
5
5
|
* No PII (Personally Identifiable Information) is collected
|
|
6
6
|
*/
|
|
7
|
-
type TelemetryEvent = 'installation_started' | 'installation_completed' | 'installation_failed' | 'setup_wizard_started' | 'setup_wizard_completed' | 'first_dev_server_start' | 'dev_server_started' | 'dev_server_stopped' | 'admin_login' | 'plugin_activated' | 'plugin_deactivated' | 'collection_created' | 'content_created' | 'page_viewed' | 'feature_used' | 'error_occurred' | 'migration_run' | 'deployment_triggered';
|
|
7
|
+
type TelemetryEvent = 'installation_started' | 'installation_completed' | 'installation_failed' | 'setup_wizard_started' | 'setup_wizard_completed' | 'first_dev_server_start' | 'dev_server_started' | 'dev_server_stopped' | 'admin_login' | 'plugin_activated' | 'plugin_deactivated' | 'collection_created' | 'content_created' | 'page_viewed' | 'feature_used' | 'error_occurred' | 'migration_run' | 'deployment_triggered' | 'project_snapshot';
|
|
8
8
|
interface TelemetryProperties {
|
|
9
9
|
os?: 'darwin' | 'linux' | 'win32' | string;
|
|
10
10
|
nodeVersion?: string;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Privacy-first telemetry types for SonicJS
|
|
5
5
|
* No PII (Personally Identifiable Information) is collected
|
|
6
6
|
*/
|
|
7
|
-
type TelemetryEvent = 'installation_started' | 'installation_completed' | 'installation_failed' | 'setup_wizard_started' | 'setup_wizard_completed' | 'first_dev_server_start' | 'dev_server_started' | 'dev_server_stopped' | 'admin_login' | 'plugin_activated' | 'plugin_deactivated' | 'collection_created' | 'content_created' | 'page_viewed' | 'feature_used' | 'error_occurred' | 'migration_run' | 'deployment_triggered';
|
|
7
|
+
type TelemetryEvent = 'installation_started' | 'installation_completed' | 'installation_failed' | 'setup_wizard_started' | 'setup_wizard_completed' | 'first_dev_server_start' | 'dev_server_started' | 'dev_server_stopped' | 'admin_login' | 'plugin_activated' | 'plugin_deactivated' | 'collection_created' | 'content_created' | 'page_viewed' | 'feature_used' | 'error_occurred' | 'migration_run' | 'deployment_triggered' | 'project_snapshot';
|
|
8
8
|
interface TelemetryProperties {
|
|
9
9
|
os?: 'darwin' | 'linux' | 'win32' | string;
|
|
10
10
|
nodeVersion?: string;
|