@solidxai/core 0.1.11-beta.8 → 0.1.11

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 (98) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/dist/controllers/datasource-introspection.controller.d.ts +8 -0
  3. package/dist/controllers/datasource-introspection.controller.d.ts.map +1 -1
  4. package/dist/controllers/media.controller.js +0 -2
  5. package/dist/controllers/media.controller.js.map +1 -1
  6. package/dist/helpers/module-metadata-helper.service.js +1 -1
  7. package/dist/helpers/module-metadata-helper.service.js.map +1 -1
  8. package/dist/helpers/solid-registry.d.ts +1 -2
  9. package/dist/helpers/solid-registry.d.ts.map +1 -1
  10. package/dist/helpers/solid-registry.js.map +1 -1
  11. package/dist/helpers/typeorm-db-helper.d.ts +1 -0
  12. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
  13. package/dist/helpers/typeorm-db-helper.js +12 -0
  14. package/dist/helpers/typeorm-db-helper.js.map +1 -1
  15. package/dist/index.d.ts +0 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +0 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/interfaces.d.ts +1 -0
  20. package/dist/interfaces.d.ts.map +1 -1
  21. package/dist/interfaces.js.map +1 -1
  22. package/dist/seeders/seed-data/solid-core-metadata.json +62 -33
  23. package/dist/services/authentication.service.d.ts +2 -0
  24. package/dist/services/authentication.service.d.ts.map +1 -1
  25. package/dist/services/authentication.service.js +32 -11
  26. package/dist/services/authentication.service.js.map +1 -1
  27. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  28. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +5 -6
  29. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  30. package/dist/services/crud-helper.service.d.ts.map +1 -1
  31. package/dist/services/crud-helper.service.js +32 -12
  32. package/dist/services/crud-helper.service.js.map +1 -1
  33. package/dist/services/datasource-introspection.service.d.ts +10 -0
  34. package/dist/services/datasource-introspection.service.d.ts.map +1 -1
  35. package/dist/services/datasource-introspection.service.js +109 -17
  36. package/dist/services/datasource-introspection.service.js.map +1 -1
  37. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  38. package/dist/services/menu-item-metadata.service.js +1 -0
  39. package/dist/services/menu-item-metadata.service.js.map +1 -1
  40. package/dist/services/model-metadata.service.d.ts +2 -0
  41. package/dist/services/model-metadata.service.d.ts.map +1 -1
  42. package/dist/services/model-metadata.service.js +49 -15
  43. package/dist/services/model-metadata.service.js.map +1 -1
  44. package/dist/services/module-metadata.service.d.ts.map +1 -1
  45. package/dist/services/module-metadata.service.js +0 -27
  46. package/dist/services/module-metadata.service.js.map +1 -1
  47. package/dist/services/settings/default-settings-provider.service.d.ts +212 -0
  48. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  49. package/dist/services/settings/default-settings-provider.service.js +106 -0
  50. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  51. package/dist/services/solid-ts-morph.service.d.ts +6 -0
  52. package/dist/services/solid-ts-morph.service.d.ts.map +1 -1
  53. package/dist/services/solid-ts-morph.service.js +43 -0
  54. package/dist/services/solid-ts-morph.service.js.map +1 -1
  55. package/dist/subscribers/audit.subscriber.d.ts +0 -1
  56. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  57. package/dist/subscribers/audit.subscriber.js +1 -10
  58. package/dist/subscribers/audit.subscriber.js.map +1 -1
  59. package/dist/subscribers/computed-entity-field.subscriber.d.ts +1 -1
  60. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  61. package/dist/subscribers/computed-entity-field.subscriber.js +11 -13
  62. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  63. package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
  64. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  65. package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
  66. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  67. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  68. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  69. package/dist/subscribers/security-rule.subscriber.js +1 -1
  70. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/controllers/media.controller.ts +1 -1
  73. package/src/helpers/module-metadata-helper.service.ts +1 -1
  74. package/src/helpers/solid-registry.ts +1 -7
  75. package/src/helpers/typeorm-db-helper.ts +15 -0
  76. package/src/index.ts +0 -1
  77. package/src/interfaces.ts +1 -0
  78. package/src/seeders/seed-data/solid-core-metadata.json +62 -33
  79. package/src/services/authentication.service.ts +46 -12
  80. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +5 -10
  81. package/src/services/crud-helper.service.ts +32 -12
  82. package/src/services/datasource-introspection.service.ts +176 -16
  83. package/src/services/menu-item-metadata.service.ts +2 -1
  84. package/src/services/model-metadata.service.ts +63 -21
  85. package/src/services/module-metadata.service.ts +0 -35
  86. package/src/services/settings/default-settings-provider.service.ts +106 -0
  87. package/src/services/solid-ts-morph.service.ts +61 -1
  88. package/src/subscribers/audit.subscriber.ts +1 -12
  89. package/src/subscribers/computed-entity-field.subscriber.ts +23 -29
  90. package/src/subscribers/created-by-updated-by.subscriber.ts +0 -3
  91. package/src/subscribers/field-metadata.subscriber.ts +0 -3
  92. package/src/subscribers/scheduled-job.subscriber.ts +1 -1
  93. package/src/subscribers/security-rule.subscriber.ts +1 -1
  94. package/dist/helpers/nodemon-heartbeat.d.ts +0 -5
  95. package/dist/helpers/nodemon-heartbeat.d.ts.map +0 -1
  96. package/dist/helpers/nodemon-heartbeat.js +0 -67
  97. package/dist/helpers/nodemon-heartbeat.js.map +0 -1
  98. package/src/helpers/nodemon-heartbeat.ts +0 -59
@@ -22,6 +22,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
22
22
  group: "authentication-settings",
23
23
  sortOrder: 50,
24
24
  controlType: "boolean",
25
+ helpText: "Shows Google as a sign-in and sign-up option on supported authentication screens.",
25
26
  },
26
27
  {
27
28
  moduleName: "solid-core",
@@ -32,6 +33,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
32
33
  group: "authentication-settings",
33
34
  sortOrder: 50,
34
35
  controlType: "boolean",
36
+ helpText: "Shows Facebook as a sign-in and sign-up option on supported authentication screens.",
35
37
  },
36
38
  {
37
39
  moduleName: "solid-core",
@@ -42,6 +44,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
42
44
  group: "authentication-settings",
43
45
  sortOrder: 50,
44
46
  controlType: "boolean",
47
+ helpText: "Shows Microsoft as a sign-in and sign-up option on supported authentication screens.",
45
48
  },
46
49
  {
47
50
  moduleName: "solid-core",
@@ -52,6 +55,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
52
55
  group: "authentication-settings",
53
56
  sortOrder: 50,
54
57
  controlType: "boolean",
58
+ helpText: "Shows Microsoft Active Directory as a sign-in and sign-up option on supported authentication screens.",
55
59
  },
56
60
  {
57
61
  moduleName: "solid-core",
@@ -67,6 +71,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
67
71
  { label: "Center", value: "center" },
68
72
  { label: "Right", value: "right" },
69
73
  ],
74
+ helpText: "Controls whether authentication forms are centered or shown beside a left or right visual panel.",
70
75
  },
71
76
  // Removed authPagesTheme as we are going to use the local storage based theme switching in the frontend instead of server side theme switching.
72
77
  // { moduleName: "solid-core", key: "authPagesTheme", value: "light", level: SettingLevel.SystemAdminEditable },
@@ -79,6 +84,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
79
84
  group: "app-settings",
80
85
  sortOrder: 10,
81
86
  controlType: "mediaSingle",
87
+ helpText: "Primary application logo used across branded authentication and workspace surfaces.",
82
88
  },
83
89
  {
84
90
  moduleName: "solid-core",
@@ -89,6 +95,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
89
95
  group: "app-settings",
90
96
  sortOrder: 20,
91
97
  controlType: "mediaSingle",
98
+ helpText: "Secondary company logo for installations that need separate corporate branding.",
92
99
  },
93
100
  {
94
101
  moduleName: "solid-core",
@@ -99,6 +106,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
99
106
  group: "app-settings",
100
107
  sortOrder: 30,
101
108
  controlType: "mediaSingle",
109
+ helpText: "Browser tab icon used by the workspace and authentication pages when a custom favicon is configured.",
102
110
  },
103
111
  {
104
112
  moduleName: "solid-core",
@@ -113,6 +121,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
113
121
  { label: "In Form View", value: "in_form_view" },
114
122
  { label: "In Image View", value: "in_image_view" },
115
123
  ],
124
+ helpText: "Controls whether the app logo appears inside the authentication form or inside the image panel.",
116
125
  },
117
126
  {
118
127
  moduleName: "solid-core",
@@ -127,6 +136,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
127
136
  { label: "Edit", value: "edit" },
128
137
  { label: "View", value: "view" },
129
138
  ],
139
+ helpText: "Decides whether clicking a list row opens the record in edit mode or view mode.",
130
140
  },
131
141
  {
132
142
  moduleName: "solid-core",
@@ -137,6 +147,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
137
147
  group: "app-settings",
138
148
  sortOrder: 50,
139
149
  controlType: "boolean",
150
+ helpText: "Shows or hides the title, subtitle, and description block on authentication screens.",
140
151
  },
141
152
  {
142
153
  moduleName: "solid-core",
@@ -147,6 +158,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
147
158
  group: "app-settings",
148
159
  sortOrder: 60,
149
160
  controlType: "shortText",
161
+ helpText: "Main application name shown on branded authentication screens.",
150
162
  },
151
163
  {
152
164
  moduleName: "solid-core",
@@ -157,6 +169,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
157
169
  group: "app-settings",
158
170
  sortOrder: 70,
159
171
  controlType: "shortText",
172
+ helpText: "Short subtitle shown above or beside the main application title.",
160
173
  },
161
174
  {
162
175
  moduleName: "solid-core",
@@ -167,6 +180,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
167
180
  group: "app-settings",
168
181
  sortOrder: 80,
169
182
  controlType: "longText",
183
+ helpText: "Supporting copy used to explain the product or workspace on authentication screens.",
170
184
  },
171
185
  {
172
186
  moduleName: "solid-core",
@@ -177,6 +191,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
177
191
  group: "app-settings",
178
192
  sortOrder: 90,
179
193
  controlType: "boolean",
194
+ helpText: "Shows or hides the terms and privacy links on authentication screens.",
180
195
  },
181
196
  {
182
197
  moduleName: "solid-core",
@@ -187,6 +202,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
187
202
  group: "app-settings",
188
203
  sortOrder: 100,
189
204
  controlType: "shortText",
205
+ helpText: "Terms and conditions URL shown when legal links are enabled.",
190
206
  },
191
207
  {
192
208
  moduleName: "solid-core",
@@ -197,6 +213,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
197
213
  group: "app-settings",
198
214
  sortOrder: 110,
199
215
  controlType: "shortText",
216
+ helpText: "Privacy policy URL shown when legal links are enabled.",
200
217
  },
201
218
  {
202
219
  moduleName: "solid-core",
@@ -207,6 +224,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
207
224
  group: "app-settings",
208
225
  sortOrder: 120,
209
226
  controlType: "boolean",
227
+ helpText: "Enables dark theme support for frontend surfaces that honor the global appearance setting.",
210
228
  },
211
229
  {
212
230
  moduleName: "solid-core",
@@ -217,6 +235,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
217
235
  group: "app-settings",
218
236
  sortOrder: 130,
219
237
  controlType: "longText",
238
+ helpText: "Footer copyright text shown on branded authentication screens.",
220
239
  },
221
240
  {
222
241
  moduleName: "solid-core",
@@ -227,6 +246,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
227
246
  group: "misc-settings",
228
247
  sortOrder: 10,
229
248
  controlType: "boolean",
249
+ helpText: "Allows username-based identity flows where the frontend supports them.",
230
250
  },
231
251
  {
232
252
  moduleName: "solid-core",
@@ -237,6 +257,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
237
257
  group: "misc-settings",
238
258
  sortOrder: 20,
239
259
  controlType: "boolean",
260
+ helpText: "Default notification toggle used by user-facing notification settings.",
240
261
  },
241
262
  {
242
263
  moduleName: "solid-core",
@@ -247,6 +268,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
247
268
  group: "misc-settings",
248
269
  sortOrder: 30,
249
270
  controlType: "shortText",
271
+ helpText: "Email address used by the support shortcut in the user menu and related help surfaces.",
250
272
  },
251
273
  {
252
274
  moduleName: "solid-core",
@@ -257,6 +279,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
257
279
  group: "misc-settings",
258
280
  sortOrder: 40,
259
281
  controlType: "shortText",
282
+ helpText: "Friendly label shown for the support shortcut, such as Support or Help Desk.",
260
283
  },
261
284
  {
262
285
  moduleName: "solid-core",
@@ -267,6 +290,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
267
290
  group: "misc-settings",
268
291
  sortOrder: 50,
269
292
  controlType: "shortText",
293
+ helpText: "Icon identifier used for the support shortcut so users can recognize it quickly.",
270
294
  },
271
295
  {
272
296
  moduleName: "solid-core",
@@ -277,6 +301,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
277
301
  group: "authentication-settings",
278
302
  sortOrder: 90,
279
303
  controlType: "mediaSingle",
304
+ helpText: "Banner image used when the authentication form is shown on the left and the visual panel is on the right.",
280
305
  },
281
306
  {
282
307
  moduleName: "solid-core",
@@ -287,6 +312,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
287
312
  group: "authentication-settings",
288
313
  sortOrder: 100,
289
314
  controlType: "mediaSingle",
315
+ helpText: "Banner image used when the authentication form is shown on the right and the visual panel is on the left.",
290
316
  },
291
317
  {
292
318
  moduleName: "solid-core",
@@ -297,6 +323,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
297
323
  group: "authentication-settings",
298
324
  sortOrder: 110,
299
325
  controlType: "mediaSingle",
326
+ helpText: "Background image used for the centered authentication layout.",
300
327
  },
301
328
  {
302
329
  moduleName: "solid-core",
@@ -325,6 +352,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
325
352
  sortOrder: 10,
326
353
  controlType: "custom",
327
354
  settingsWidget: "solidXGenAiCodeBuilderConfigWidget",
355
+ helpText: "Structured AI builder configuration that stores providers, credentials, and model assignments for SolidX code generation features.",
328
356
  },
329
357
  {
330
358
  moduleName: "solid-core",
@@ -341,6 +369,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
341
369
  group: "ai-settings",
342
370
  sortOrder: 20,
343
371
  controlType: "boolean",
372
+ helpText: "Read-only flag indicating whether MCP integration is enabled for this deployment.",
344
373
  },
345
374
  {
346
375
  moduleName: "solid-core",
@@ -351,6 +380,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
351
380
  group: "ai-settings",
352
381
  sortOrder: 30,
353
382
  controlType: "shortText",
383
+ helpText: "Base MCP server URL used when MCP integration is enabled.",
354
384
  },
355
385
  {
356
386
  moduleName: "solid-core",
@@ -367,6 +397,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
367
397
  group: "system-settings",
368
398
  sortOrder: 10,
369
399
  controlType: "shortText",
400
+ helpText: "Default date-time format used by Solid core features that need a shared server-side format.",
370
401
  },
371
402
  {
372
403
  moduleName: "solid-core",
@@ -377,6 +408,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
377
408
  group: "system-settings",
378
409
  sortOrder: 20,
379
410
  controlType: "shortText",
411
+ helpText: "Default date format used by Solid core features that need a shared server-side format.",
380
412
  },
381
413
  {
382
414
  moduleName: "solid-core",
@@ -387,6 +419,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
387
419
  group: "system-settings",
388
420
  sortOrder: 30,
389
421
  controlType: "shortText",
422
+ helpText: "Backend base URL used to generate absolute links and media URLs.",
390
423
  },
391
424
  {
392
425
  moduleName: "solid-core",
@@ -397,6 +430,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
397
430
  group: "system-settings",
398
431
  sortOrder: 35,
399
432
  controlType: "shortText",
433
+ helpText: "Frontend admin application base URL used when the backend needs to point users back to the admin UI.",
400
434
  },
401
435
  {
402
436
  moduleName: "solid-core",
@@ -407,6 +441,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
407
441
  group: "system-settings",
408
442
  sortOrder: 40,
409
443
  controlType: "shortText",
444
+ helpText: "Public website URL for the product or marketing site.",
410
445
  },
411
446
 
412
447
  // app-builder-settings-provider.service.ts, app-builder.config.ts
@@ -419,6 +454,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
419
454
  group: "storage-settings",
420
455
  sortOrder: 10,
421
456
  controlType: "longText",
457
+ helpText: "Comma-separated list of module metadata seed files that are loaded by the platform.",
422
458
  },
423
459
  {
424
460
  moduleName: "solid-core",
@@ -429,6 +465,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
429
465
  group: "storage-settings",
430
466
  sortOrder: 20,
431
467
  controlType: "shortText",
468
+ helpText: "Directory where uploaded media is staged before downstream processing or persistence.",
432
469
  },
433
470
  {
434
471
  moduleName: "solid-core",
@@ -440,6 +477,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
440
477
  group: "storage-settings",
441
478
  sortOrder: 30,
442
479
  controlType: "shortText",
480
+ helpText: "Directory used by the default disk-based file storage provider for persisted files.",
443
481
  },
444
482
  {
445
483
  moduleName: "solid-core",
@@ -454,6 +492,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
454
492
  { label: "Disk", value: "disk" },
455
493
  { label: "S3", value: "s3" },
456
494
  ],
495
+ helpText: "Default storage implementation used for file handling, such as local disk or S3.",
457
496
  },
458
497
 
459
498
  // aws-s3-settings-provider.service.ts
@@ -478,6 +517,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
478
517
  group: "storage-settings",
479
518
  sortOrder: 50,
480
519
  controlType: "shortText",
520
+ helpText: "AWS region used by the default S3 storage integration.",
481
521
  },
482
522
  {
483
523
  moduleName: "solid-core",
@@ -488,6 +528,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
488
528
  group: "storage-settings",
489
529
  sortOrder: 60,
490
530
  controlType: "shortText",
531
+ helpText: "Default S3 bucket used when the S3 storage provider is active.",
491
532
  },
492
533
 
493
534
  // email-settings-provider.service.ts
@@ -504,6 +545,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
504
545
  { label: "SMTP Email Service", value: "SMTPEMailService" },
505
546
  { label: "Elastic Email Service", value: "ElasticEmailService" },
506
547
  ],
548
+ helpText: "Email delivery provider currently configured for outbound mail.",
507
549
  },
508
550
  {
509
551
  moduleName: "solid-core",
@@ -514,6 +556,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
514
556
  group: "email-settings",
515
557
  sortOrder: 20,
516
558
  controlType: "longText",
559
+ helpText: "Comma-separated list of email template seed files loaded by the platform.",
517
560
  },
518
561
  {
519
562
  moduleName: "solid-core",
@@ -524,6 +567,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
524
567
  group: "email-settings",
525
568
  sortOrder: 30,
526
569
  controlType: "boolean",
570
+ helpText: "Whether outbound emails are queued for asynchronous delivery instead of being sent inline.",
527
571
  },
528
572
  {
529
573
  moduleName: "solid-core",
@@ -534,6 +578,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
534
578
  group: "email-settings",
535
579
  sortOrder: 40,
536
580
  controlType: "shortText",
581
+ helpText: "SMTP host name used when the SMTP email provider is active.",
537
582
  },
538
583
  {
539
584
  moduleName: "solid-core",
@@ -544,6 +589,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
544
589
  group: "email-settings",
545
590
  sortOrder: 50,
546
591
  controlType: "numeric",
592
+ helpText: "SMTP port used when the SMTP email provider is active.",
547
593
  },
548
594
  {
549
595
  moduleName: "solid-core",
@@ -554,6 +600,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
554
600
  group: "email-settings",
555
601
  sortOrder: 60,
556
602
  controlType: "shortText",
603
+ helpText: "SMTP username used when the SMTP email provider is active.",
557
604
  },
558
605
  {
559
606
  moduleName: "solid-core",
@@ -571,6 +618,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
571
618
  group: "email-settings",
572
619
  sortOrder: 70,
573
620
  controlType: "shortText",
621
+ helpText: "Default From address for outbound mail sent through the SMTP provider.",
574
622
  },
575
623
  {
576
624
  moduleName: "solid-core",
@@ -587,6 +635,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
587
635
  group: "email-settings",
588
636
  sortOrder: 80,
589
637
  controlType: "shortText",
638
+ helpText: "Default From address for outbound mail sent through API-based email providers.",
590
639
  },
591
640
 
592
641
  // genai-settings-provider.service.ts
@@ -599,6 +648,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
599
648
  group: "ai-settings",
600
649
  sortOrder: 40,
601
650
  controlType: "shortText",
651
+ helpText: "Base URL of the RAG service used by AI-assisted features that need retrieval support.",
602
652
  },
603
653
  {
604
654
  moduleName: "solid-core",
@@ -641,6 +691,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
641
691
  group: "oauth-settings",
642
692
  sortOrder: 10,
643
693
  controlType: "shortText",
694
+ helpText: "Google OAuth client ID registered for this application.",
644
695
  },
645
696
  {
646
697
  moduleName: "solid-core",
@@ -657,6 +708,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
657
708
  group: "oauth-settings",
658
709
  sortOrder: 20,
659
710
  controlType: "shortText",
711
+ helpText: "Backend callback URL that Google redirects to after authentication.",
660
712
  },
661
713
  {
662
714
  moduleName: "solid-core",
@@ -667,6 +719,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
667
719
  group: "oauth-settings",
668
720
  sortOrder: 30,
669
721
  controlType: "shortText",
722
+ helpText: "Post-authentication Google redirect URL used by the application flow.",
670
723
  },
671
724
 
672
725
  // facebook-oauth-settings-provider.service.ts
@@ -675,6 +728,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
675
728
  key: "FACEBOOK_CLIENT_ID",
676
729
  value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_ID,
677
730
  level: SettingLevel.SystemAdminReadonly,
731
+ helpText: "Facebook OAuth client ID registered for this application.",
678
732
  },
679
733
  {
680
734
  moduleName: "solid-core",
@@ -687,12 +741,14 @@ const getSolidCoreSettings = (isProd: boolean) =>
687
741
  key: "FACEBOOK_CALLBACK_URL",
688
742
  value: process.env.IAM_FACEBOOK_OAUTH_CALLBACK_URL,
689
743
  level: SettingLevel.SystemAdminReadonly,
744
+ helpText: "Backend callback URL that Facebook redirects to after authentication.",
690
745
  },
691
746
  {
692
747
  moduleName: "solid-core",
693
748
  key: "FACEBOOK_REDIRECT_URL",
694
749
  value: process.env.IAM_FACEBOOK_OAUTH_REDIRECT_URL,
695
750
  level: SettingLevel.SystemAdminReadonly,
751
+ helpText: "Post-authentication Facebook redirect URL used by the application flow.",
696
752
  },
697
753
 
698
754
  // microsoft-oauth-settings-provider.service.ts
@@ -701,6 +757,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
701
757
  key: "MICROSOFT_CLIENT_ID",
702
758
  value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_ID,
703
759
  level: SettingLevel.SystemAdminReadonly,
760
+ helpText: "Microsoft OAuth client ID registered for this application.",
704
761
  },
705
762
  {
706
763
  moduleName: "solid-core",
@@ -713,18 +770,21 @@ const getSolidCoreSettings = (isProd: boolean) =>
713
770
  key: "MICROSOFT_TENANT_ID",
714
771
  value: process.env.IAM_MICROSOFT_OAUTH_TENANT_ID || "common",
715
772
  level: SettingLevel.SystemAdminReadonly,
773
+ helpText: "Microsoft OAuth tenant identifier used to scope sign-in requests.",
716
774
  },
717
775
  {
718
776
  moduleName: "solid-core",
719
777
  key: "MICROSOFT_CALLBACK_URL",
720
778
  value: process.env.IAM_MICROSOFT_OAUTH_CALLBACK_URL,
721
779
  level: SettingLevel.SystemAdminReadonly,
780
+ helpText: "Backend callback URL that Microsoft redirects to after authentication.",
722
781
  },
723
782
  {
724
783
  moduleName: "solid-core",
725
784
  key: "MICROSOFT_REDIRECT_URL",
726
785
  value: process.env.IAM_MICROSOFT_OAUTH_REDIRECT_URL,
727
786
  level: SettingLevel.SystemAdminReadonly,
787
+ helpText: "Post-authentication Microsoft redirect URL used by the application flow.",
728
788
  },
729
789
 
730
790
  // microsoft-active-directory-oauth-settings-provider.service.ts
@@ -737,6 +797,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
737
797
  group: "oauth-settings",
738
798
  sortOrder: 70,
739
799
  controlType: "shortText",
800
+ helpText: "Microsoft Active Directory client ID registered for this application.",
740
801
  },
741
802
  {
742
803
  moduleName: "solid-core",
@@ -754,6 +815,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
754
815
  group: "oauth-settings",
755
816
  sortOrder: 80,
756
817
  controlType: "shortText",
818
+ helpText: "Microsoft Active Directory tenant identifier used to scope sign-in requests.",
757
819
  },
758
820
  {
759
821
  moduleName: "solid-core",
@@ -764,6 +826,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
764
826
  group: "oauth-settings",
765
827
  sortOrder: 90,
766
828
  controlType: "shortText",
829
+ helpText: "Backend callback URL that Microsoft Active Directory redirects to after authentication.",
767
830
  },
768
831
  {
769
832
  moduleName: "solid-core",
@@ -774,6 +837,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
774
837
  group: "oauth-settings",
775
838
  sortOrder: 100,
776
839
  controlType: "shortText",
840
+ helpText: "Post-authentication Microsoft Active Directory redirect URL used by the application flow.",
777
841
  },
778
842
 
779
843
  // iam-settings-provider.service.ts
@@ -786,6 +850,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
786
850
  group: "authentication-settings",
787
851
  sortOrder: 20,
788
852
  controlType: "boolean",
853
+ helpText: "Enables passwordless sign-in flows such as OTP-based authentication.",
789
854
  },
790
855
  {
791
856
  moduleName: "solid-core",
@@ -796,6 +861,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
796
861
  group: "authentication-settings",
797
862
  sortOrder: 10,
798
863
  controlType: "boolean",
864
+ helpText: "Enables traditional password-based sign-in.",
799
865
  },
800
866
  {
801
867
  moduleName: "solid-core",
@@ -812,6 +878,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
812
878
  { label: "Email", value: "email" },
813
879
  { label: "Mobile", value: "mobile" },
814
880
  ],
881
+ helpText: "Chooses whether passwordless registration validates new users by email or mobile number.",
815
882
  },
816
883
  {
817
884
  moduleName: "solid-core",
@@ -827,6 +894,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
827
894
  { label: "Mobile", value: "mobile" },
828
895
  { label: "Selectable", value: "selectable" },
829
896
  ],
897
+ helpText: "Chooses whether passwordless login validates users by email, mobile number, or a selectable option.",
830
898
  },
831
899
  {
832
900
  moduleName: "solid-core",
@@ -837,6 +905,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
837
905
  group: "authentication-settings",
838
906
  sortOrder: 60,
839
907
  controlType: "boolean",
908
+ helpText: "Lets unauthenticated visitors create their own account from public registration screens.",
840
909
  },
841
910
  {
842
911
  moduleName: "solid-core",
@@ -848,6 +917,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
848
917
  group: "authentication-settings",
849
918
  sortOrder: 70,
850
919
  controlType: "boolean",
920
+ helpText: "Automatically activates newly registered users instead of requiring a separate activation step.",
851
921
  },
852
922
  {
853
923
  moduleName: "solid-core",
@@ -871,6 +941,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
871
941
  group: "authentication-settings",
872
942
  sortOrder: 85,
873
943
  controlType: "boolean",
944
+ helpText: "Allows OTP delivery to fall back to WhatsApp when the primary OTP path cannot be used.",
874
945
  },
875
946
  {
876
947
  moduleName: "solid-core",
@@ -881,6 +952,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
881
952
  group: "authentication-settings",
882
953
  sortOrder: 86,
883
954
  controlType: "shortText",
955
+ helpText: "Template identifier used when OTP messages are sent through WhatsApp.",
884
956
  },
885
957
  {
886
958
  moduleName: "solid-core",
@@ -891,6 +963,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
891
963
  group: "authentication-settings",
892
964
  sortOrder: 87,
893
965
  controlType: "boolean",
966
+ helpText: "Allows WhatsApp OTP delivery to run as an independent channel where supported.",
894
967
  },
895
968
  {
896
969
  moduleName: "solid-core",
@@ -901,6 +974,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
901
974
  group: "authentication-settings",
902
975
  sortOrder: 88,
903
976
  controlType: "shortText",
977
+ helpText: "Default dialing code applied when OTP phone numbers are entered without a country prefix.",
904
978
  },
905
979
  {
906
980
  moduleName: "solid-core",
@@ -919,6 +993,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
919
993
  group: "authentication-settings",
920
994
  sortOrder: 75,
921
995
  controlType: "shortText",
996
+ helpText: "Role assigned by default to newly created users in flows that rely on automatic role assignment.",
922
997
  },
923
998
  {
924
999
  moduleName: "solid-core",
@@ -948,6 +1023,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
948
1023
  group: "authentication-settings",
949
1024
  sortOrder: 110,
950
1025
  controlType: "numeric",
1026
+ helpText: "Maximum failed login attempts allowed before a user is considered blocked.",
951
1027
  },
952
1028
  {
953
1029
  moduleName: "solid-core",
@@ -958,6 +1034,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
958
1034
  group: "authentication-settings",
959
1035
  sortOrder: 120,
960
1036
  controlType: "boolean",
1037
+ helpText: "Requires users to choose a new password the first time they sign in.",
961
1038
  },
962
1039
  {
963
1040
  moduleName: "solid-core",
@@ -970,6 +1047,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
970
1047
  group: "authentication-settings",
971
1048
  sortOrder: 130,
972
1049
  controlType: "shortText",
1050
+ helpText: "Validation pattern applied to new passwords in registration and password-change flows.",
973
1051
  },
974
1052
  {
975
1053
  moduleName: "solid-core",
@@ -982,6 +1060,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
982
1060
  group: "authentication-settings",
983
1061
  sortOrder: 140,
984
1062
  controlType: "longText",
1063
+ helpText: "Custom error message shown when a password does not satisfy the configured regex.",
985
1064
  },
986
1065
  {
987
1066
  moduleName: "solid-core",
@@ -994,6 +1073,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
994
1073
  group: "authentication-settings",
995
1074
  sortOrder: 150,
996
1075
  controlType: "longText",
1076
+ helpText: "Human-friendly guidance shown to users so they understand the password policy before submission.",
997
1077
  },
998
1078
  {
999
1079
  moduleName: "solid-core",
@@ -1004,6 +1084,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1004
1084
  group: "authentication-settings",
1005
1085
  sortOrder: 160,
1006
1086
  controlType: "boolean",
1087
+ helpText: "Enables automatic password generation in flows that create user credentials on the user's behalf.",
1007
1088
  },
1008
1089
  {
1009
1090
  moduleName: "solid-core",
@@ -1023,6 +1104,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1023
1104
  group: "authentication-settings",
1024
1105
  sortOrder: 170,
1025
1106
  controlType: "boolean",
1107
+ helpText: "Adds name fields to the public registration form so users can provide profile details up front.",
1026
1108
  },
1027
1109
  {
1028
1110
  moduleName: "solid-core",
@@ -1036,6 +1118,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1036
1118
  group: "authentication-settings",
1037
1119
  sortOrder: 180,
1038
1120
  controlType: "boolean",
1121
+ helpText: "Sends a welcome email after a successful signup when email delivery is configured.",
1039
1122
  },
1040
1123
  {
1041
1124
  moduleName: "solid-core",
@@ -1049,6 +1132,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1049
1132
  group: "authentication-settings",
1050
1133
  sortOrder: 190,
1051
1134
  controlType: "boolean",
1135
+ helpText: "Sends a welcome SMS after a successful signup when SMS delivery is configured.",
1052
1136
  },
1053
1137
  {
1054
1138
  moduleName: "solid-core",
@@ -1059,6 +1143,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1059
1143
  group: "authentication-settings",
1060
1144
  sortOrder: 180,
1061
1145
  controlType: "shortText",
1146
+ helpText: "Frontend login page URL used in backend-generated links and redirects.",
1062
1147
  },
1063
1148
  {
1064
1149
  moduleName: "solid-core",
@@ -1069,6 +1154,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1069
1154
  group: "authentication-settings",
1070
1155
  sortOrder: 190,
1071
1156
  controlType: "shortText",
1157
+ helpText: "Frontend forgot-password page URL used in backend-generated links and redirects.",
1072
1158
  },
1073
1159
 
1074
1160
  // jwt-settings-provider.service.ts
@@ -1087,6 +1173,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1087
1173
  group: "jwt-settings",
1088
1174
  sortOrder: 10,
1089
1175
  controlType: "shortText",
1176
+ helpText: "JWT audience claim expected by tokens issued by this deployment.",
1090
1177
  },
1091
1178
  {
1092
1179
  moduleName: "solid-core",
@@ -1097,6 +1184,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1097
1184
  group: "jwt-settings",
1098
1185
  sortOrder: 20,
1099
1186
  controlType: "shortText",
1187
+ helpText: "JWT issuer claim attached to tokens issued by this deployment.",
1100
1188
  },
1101
1189
  {
1102
1190
  moduleName: "solid-core",
@@ -1128,6 +1216,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1128
1216
  { label: "Database", value: "database" },
1129
1217
  { label: "RabbitMQ", value: "rabbitmq" },
1130
1218
  ],
1219
+ helpText: "Default queue broker used for background job processing.",
1131
1220
  },
1132
1221
  {
1133
1222
  moduleName: "solid-core",
@@ -1138,6 +1227,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1138
1227
  group: "queue-settings",
1139
1228
  sortOrder: 20,
1140
1229
  controlType: "shortText",
1230
+ helpText: "Service role or worker identity expected by the queue subsystem.",
1141
1231
  },
1142
1232
  {
1143
1233
  moduleName: "solid-core",
@@ -1162,6 +1252,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1162
1252
  group: "sms-settings",
1163
1253
  sortOrder: 10,
1164
1254
  controlType: "shortText",
1255
+ helpText: "SMS delivery provider currently configured for outbound messages.",
1165
1256
  },
1166
1257
  {
1167
1258
  moduleName: "solid-core",
@@ -1172,6 +1263,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1172
1263
  group: "sms-settings",
1173
1264
  sortOrder: 20,
1174
1265
  controlType: "longText",
1266
+ helpText: "Comma-separated list of SMS template seed files loaded by the platform.",
1175
1267
  },
1176
1268
  {
1177
1269
  moduleName: "solid-core",
@@ -1182,6 +1274,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1182
1274
  group: "sms-settings",
1183
1275
  sortOrder: 30,
1184
1276
  controlType: "boolean",
1277
+ helpText: "Whether outbound SMS messages are queued for asynchronous delivery instead of being sent inline.",
1185
1278
  },
1186
1279
  {
1187
1280
  moduleName: "solid-core",
@@ -1192,6 +1285,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1192
1285
  group: "sms-settings",
1193
1286
  sortOrder: 40,
1194
1287
  controlType: "shortText",
1288
+ helpText: "MSG91 endpoint URL used when the MSG91 SMS provider is active.",
1195
1289
  },
1196
1290
  {
1197
1291
  moduleName: "solid-core",
@@ -1208,6 +1302,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1208
1302
  group: "sms-settings",
1209
1303
  sortOrder: 50,
1210
1304
  controlType: "shortText",
1305
+ helpText: "Twilio account SID used when the Twilio SMS provider is active.",
1211
1306
  },
1212
1307
  {
1213
1308
  moduleName: "solid-core",
@@ -1224,6 +1319,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1224
1319
  group: "sms-settings",
1225
1320
  sortOrder: 60,
1226
1321
  controlType: "shortText",
1322
+ helpText: "Twilio phone number used as the sender for outbound SMS.",
1227
1323
  },
1228
1324
 
1229
1325
  // tiny-url-settings-provider.service.ts
@@ -1236,6 +1332,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1236
1332
  group: "short-url-settings",
1237
1333
  sortOrder: 10,
1238
1334
  controlType: "shortText",
1335
+ helpText: "API endpoint used to create shortened URLs.",
1239
1336
  },
1240
1337
  {
1241
1338
  moduleName: "solid-core",
@@ -1252,6 +1349,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1252
1349
  group: "short-url-settings",
1253
1350
  sortOrder: 20,
1254
1351
  controlType: "shortText",
1352
+ helpText: "Short URL domain used when generating branded or provider-backed tiny URLs.",
1255
1353
  },
1256
1354
  {
1257
1355
  moduleName: "solid-core",
@@ -1262,6 +1360,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1262
1360
  group: "short-url-settings",
1263
1361
  sortOrder: 30,
1264
1362
  controlType: "boolean",
1363
+ helpText: "Indicates whether short URL generation is enabled for this deployment.",
1265
1364
  },
1266
1365
 
1267
1366
  // whatsapp-settings-provider.service.ts
@@ -1274,6 +1373,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1274
1373
  group: "whatsapp-settings",
1275
1374
  sortOrder: 10,
1276
1375
  controlType: "shortText",
1376
+ helpText: "WhatsApp delivery provider currently configured for outbound messages.",
1277
1377
  },
1278
1378
  {
1279
1379
  moduleName: "solid-core",
@@ -1284,6 +1384,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1284
1384
  group: "whatsapp-settings",
1285
1385
  sortOrder: 20,
1286
1386
  controlType: "shortText",
1387
+ helpText: "MSG91 endpoint URL used when the MSG91 WhatsApp provider is active.",
1287
1388
  },
1288
1389
  {
1289
1390
  moduleName: "solid-core",
@@ -1300,6 +1401,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1300
1401
  group: "whatsapp-settings",
1301
1402
  sortOrder: 30,
1302
1403
  controlType: "shortText",
1404
+ helpText: "Integrated WhatsApp number used by the MSG91 WhatsApp provider.",
1303
1405
  },
1304
1406
  {
1305
1407
  moduleName: "solid-core",
@@ -1310,6 +1412,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1310
1412
  group: "whatsapp-settings",
1311
1413
  sortOrder: 40,
1312
1414
  controlType: "shortText",
1415
+ helpText: "Base Meta WhatsApp API URL used by the Meta WhatsApp integration.",
1313
1416
  },
1314
1417
  {
1315
1418
  moduleName: "solid-core",
@@ -1320,6 +1423,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1320
1423
  group: "whatsapp-settings",
1321
1424
  sortOrder: 50,
1322
1425
  controlType: "shortText",
1426
+ helpText: "Meta WhatsApp API version used when building outbound requests.",
1323
1427
  },
1324
1428
  {
1325
1429
  moduleName: "solid-core",
@@ -1330,6 +1434,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1330
1434
  group: "whatsapp-settings",
1331
1435
  sortOrder: 60,
1332
1436
  controlType: "shortText",
1437
+ helpText: "Meta WhatsApp phone number ID used to send messages from the connected business account.",
1333
1438
  },
1334
1439
  {
1335
1440
  moduleName: "solid-core",
@@ -1340,6 +1445,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1340
1445
  group: "whatsapp-settings",
1341
1446
  sortOrder: 70,
1342
1447
  controlType: "shortText",
1448
+ helpText: "Meta WhatsApp business account ID associated with the connected sender.",
1343
1449
  },
1344
1450
  {
1345
1451
  moduleName: "solid-core",