@solidxai/core 0.1.11-beta.0 → 0.1.11-beta.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 (226) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/CLAUDE.md +26 -0
  3. package/dist/commands/migrate-removed-fields.command.d.ts +19 -0
  4. package/dist/commands/migrate-removed-fields.command.d.ts.map +1 -0
  5. package/dist/commands/migrate-removed-fields.command.js +77 -0
  6. package/dist/commands/migrate-removed-fields.command.js.map +1 -0
  7. package/dist/controllers/datasource-introspection.controller.d.ts +46 -1
  8. package/dist/controllers/datasource-introspection.controller.d.ts.map +1 -1
  9. package/dist/controllers/datasource-introspection.controller.js +38 -0
  10. package/dist/controllers/datasource-introspection.controller.js.map +1 -1
  11. package/dist/controllers/service.controller.d.ts +1 -0
  12. package/dist/controllers/service.controller.d.ts.map +1 -1
  13. package/dist/controllers/service.controller.js +2 -2
  14. package/dist/controllers/service.controller.js.map +1 -1
  15. package/dist/dtos/datasource-introspection-mapping.dto.d.ts +5 -0
  16. package/dist/dtos/datasource-introspection-mapping.dto.d.ts.map +1 -1
  17. package/dist/dtos/datasource-introspection-mapping.dto.js +24 -2
  18. package/dist/dtos/datasource-introspection-mapping.dto.js.map +1 -1
  19. package/dist/entities/{legacy-common-with-id.entity.d.ts → legacy-common-with-generated-id.entity.d.ts} +2 -2
  20. package/dist/entities/legacy-common-with-generated-id.entity.d.ts.map +1 -0
  21. package/dist/entities/{legacy-common-with-id.entity.js → legacy-common-with-generated-id.entity.js} +4 -4
  22. package/dist/entities/legacy-common-with-generated-id.entity.js.map +1 -0
  23. package/dist/entities/{legacy-common.entity.d.ts → legacy-common.entity-with-existing-id.entity.d.ts} +1 -1
  24. package/dist/entities/legacy-common.entity-with-existing-id.entity.d.ts.map +1 -0
  25. package/dist/entities/{legacy-common.entity.js → legacy-common.entity-with-existing-id.entity.js} +1 -1
  26. package/dist/entities/legacy-common.entity-with-existing-id.entity.js.map +1 -0
  27. package/dist/helpers/command.service.d.ts +2 -0
  28. package/dist/helpers/command.service.d.ts.map +1 -1
  29. package/dist/helpers/command.service.js +6 -2
  30. package/dist/helpers/command.service.js.map +1 -1
  31. package/dist/helpers/environment.helper.d.ts +1 -0
  32. package/dist/helpers/environment.helper.d.ts.map +1 -1
  33. package/dist/helpers/environment.helper.js +4 -0
  34. package/dist/helpers/environment.helper.js.map +1 -1
  35. package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts.map +1 -1
  36. package/dist/helpers/field-crud-managers/IntFieldCrudManager.js +4 -1
  37. package/dist/helpers/field-crud-managers/IntFieldCrudManager.js.map +1 -1
  38. package/dist/helpers/model-metadata-helper.service.d.ts +2 -1
  39. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  40. package/dist/helpers/model-metadata-helper.service.js +9 -5
  41. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  42. package/dist/helpers/nodemon-heartbeat.d.ts +5 -0
  43. package/dist/helpers/nodemon-heartbeat.d.ts.map +1 -0
  44. package/dist/helpers/nodemon-heartbeat.js +67 -0
  45. package/dist/helpers/nodemon-heartbeat.js.map +1 -0
  46. package/dist/helpers/solid-registry.d.ts +2 -1
  47. package/dist/helpers/solid-registry.d.ts.map +1 -1
  48. package/dist/helpers/solid-registry.js.map +1 -1
  49. package/dist/helpers/typeorm-db-helper.d.ts +1 -0
  50. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
  51. package/dist/helpers/typeorm-db-helper.js +12 -0
  52. package/dist/helpers/typeorm-db-helper.js.map +1 -1
  53. package/dist/index.d.ts +3 -2
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -2
  56. package/dist/index.js.map +1 -1
  57. package/dist/interfaces/datasource-introspection-provider.interface.d.ts +1 -0
  58. package/dist/interfaces/datasource-introspection-provider.interface.d.ts.map +1 -1
  59. package/dist/interfaces/datasource-introspection-provider.interface.js.map +1 -1
  60. package/dist/interfaces.d.ts +1 -0
  61. package/dist/interfaces.d.ts.map +1 -1
  62. package/dist/interfaces.js.map +1 -1
  63. package/dist/repository/scheduled-job.repository.d.ts +5 -2
  64. package/dist/repository/scheduled-job.repository.d.ts.map +1 -1
  65. package/dist/repository/scheduled-job.repository.js +66 -3
  66. package/dist/repository/scheduled-job.repository.js.map +1 -1
  67. package/dist/repository/security-rule.repository.d.ts +2 -2
  68. package/dist/repository/security-rule.repository.d.ts.map +1 -1
  69. package/dist/repository/security-rule.repository.js +6 -3
  70. package/dist/repository/security-rule.repository.js.map +1 -1
  71. package/dist/seeders/module-metadata-seeder.service.d.ts +43 -2
  72. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  73. package/dist/seeders/module-metadata-seeder.service.js +1173 -232
  74. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  75. package/dist/seeders/seed-data/solid-core-metadata.json +128 -34
  76. package/dist/services/action-metadata.service.d.ts +7 -0
  77. package/dist/services/action-metadata.service.d.ts.map +1 -1
  78. package/dist/services/action-metadata.service.js +76 -3
  79. package/dist/services/action-metadata.service.js.map +1 -1
  80. package/dist/services/api-key.service.d.ts.map +1 -1
  81. package/dist/services/api-key.service.js.map +1 -1
  82. package/dist/services/authentication.service.d.ts +2 -0
  83. package/dist/services/authentication.service.d.ts.map +1 -1
  84. package/dist/services/authentication.service.js +32 -11
  85. package/dist/services/authentication.service.js.map +1 -1
  86. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  87. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +7 -5
  88. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  89. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +4 -0
  90. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts.map +1 -1
  91. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js +18 -1
  92. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js.map +1 -1
  93. package/dist/services/crud-helper.service.d.ts.map +1 -1
  94. package/dist/services/crud-helper.service.js +25 -12
  95. package/dist/services/crud-helper.service.js.map +1 -1
  96. package/dist/services/crud.service.d.ts +1 -0
  97. package/dist/services/crud.service.d.ts.map +1 -1
  98. package/dist/services/crud.service.js +27 -0
  99. package/dist/services/crud.service.js.map +1 -1
  100. package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.d.ts.map +1 -1
  101. package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.js +12 -0
  102. package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.js.map +1 -1
  103. package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.d.ts.map +1 -1
  104. package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.js +2 -0
  105. package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.js.map +1 -1
  106. package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.d.ts.map +1 -1
  107. package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.js +28 -15
  108. package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.js.map +1 -1
  109. package/dist/services/datasource-introspection.service.d.ts +62 -2
  110. package/dist/services/datasource-introspection.service.d.ts.map +1 -1
  111. package/dist/services/datasource-introspection.service.js +654 -186
  112. package/dist/services/datasource-introspection.service.js.map +1 -1
  113. package/dist/services/import-transaction.service.d.ts.map +1 -1
  114. package/dist/services/import-transaction.service.js +3 -0
  115. package/dist/services/import-transaction.service.js.map +1 -1
  116. package/dist/services/locale.service.d.ts +14 -0
  117. package/dist/services/locale.service.d.ts.map +1 -1
  118. package/dist/services/locale.service.js +83 -0
  119. package/dist/services/locale.service.js.map +1 -1
  120. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +10 -10
  121. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  122. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  123. package/dist/services/menu-item-metadata.service.js +1 -0
  124. package/dist/services/menu-item-metadata.service.js.map +1 -1
  125. package/dist/services/model-metadata.service.d.ts +3 -0
  126. package/dist/services/model-metadata.service.d.ts.map +1 -1
  127. package/dist/services/model-metadata.service.js +78 -0
  128. package/dist/services/model-metadata.service.js.map +1 -1
  129. package/dist/services/module-metadata.service.d.ts.map +1 -1
  130. package/dist/services/module-metadata.service.js +28 -0
  131. package/dist/services/module-metadata.service.js.map +1 -1
  132. package/dist/services/removed-field-migration.service.d.ts +30 -0
  133. package/dist/services/removed-field-migration.service.d.ts.map +1 -0
  134. package/dist/services/removed-field-migration.service.js +319 -0
  135. package/dist/services/removed-field-migration.service.js.map +1 -0
  136. package/dist/services/role-metadata.service.d.ts +5 -0
  137. package/dist/services/role-metadata.service.d.ts.map +1 -1
  138. package/dist/services/role-metadata.service.js +95 -33
  139. package/dist/services/role-metadata.service.js.map +1 -1
  140. package/dist/services/settings/default-settings-provider.service.d.ts +244 -0
  141. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  142. package/dist/services/settings/default-settings-provider.service.js +120 -0
  143. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  144. package/dist/services/solid-ts-morph.service.d.ts +6 -0
  145. package/dist/services/solid-ts-morph.service.d.ts.map +1 -1
  146. package/dist/services/solid-ts-morph.service.js +43 -0
  147. package/dist/services/solid-ts-morph.service.js.map +1 -1
  148. package/dist/services/view-metadata.service.d.ts +6 -0
  149. package/dist/services/view-metadata.service.d.ts.map +1 -1
  150. package/dist/services/view-metadata.service.js +70 -8
  151. package/dist/services/view-metadata.service.js.map +1 -1
  152. package/dist/solid-core.module.d.ts.map +1 -1
  153. package/dist/solid-core.module.js +4 -0
  154. package/dist/solid-core.module.js.map +1 -1
  155. package/dist/subscribers/audit.subscriber.d.ts +5 -1
  156. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  157. package/dist/subscribers/audit.subscriber.js +76 -12
  158. package/dist/subscribers/audit.subscriber.js.map +1 -1
  159. package/dist/subscribers/computed-entity-field.subscriber.d.ts +9 -1
  160. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  161. package/dist/subscribers/computed-entity-field.subscriber.js +45 -11
  162. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  163. package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
  164. package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
  165. package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
  166. package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
  167. package/dist/subscribers/scheduled-job.subscriber.d.ts.map +1 -1
  168. package/dist/subscribers/scheduled-job.subscriber.js +3 -2
  169. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  170. package/dist/subscribers/security-rule.subscriber.d.ts.map +1 -1
  171. package/dist/subscribers/security-rule.subscriber.js +5 -3
  172. package/dist/subscribers/security-rule.subscriber.js.map +1 -1
  173. package/package.json +1 -1
  174. package/src/commands/migrate-removed-fields.command.ts +81 -0
  175. package/src/controllers/datasource-introspection.controller.ts +27 -1
  176. package/src/controllers/service.controller.ts +3 -2
  177. package/src/dtos/datasource-introspection-mapping.dto.ts +15 -0
  178. package/src/entities/{legacy-common-with-id.entity.ts → legacy-common-with-generated-id.entity.ts} +1 -1
  179. package/src/helpers/command.service.ts +10 -2
  180. package/src/helpers/environment.helper.ts +11 -0
  181. package/src/helpers/field-crud-managers/IntFieldCrudManager.ts +4 -1
  182. package/src/helpers/model-metadata-helper.service.ts +8 -3
  183. package/src/helpers/nodemon-heartbeat.ts +59 -0
  184. package/src/helpers/solid-registry.ts +7 -1
  185. package/src/helpers/typeorm-db-helper.ts +15 -0
  186. package/src/index.ts +3 -2
  187. package/src/interfaces/datasource-introspection-provider.interface.ts +1 -0
  188. package/src/interfaces.ts +1 -0
  189. package/src/repository/scheduled-job.repository.ts +83 -4
  190. package/src/repository/security-rule.repository.ts +10 -4
  191. package/src/seeders/module-metadata-seeder.service.ts +1415 -264
  192. package/src/seeders/seed-data/solid-core-metadata.json +128 -34
  193. package/src/services/action-metadata.service.ts +87 -2
  194. package/src/services/api-key.service.ts +36 -36
  195. package/src/services/authentication.service.ts +46 -12
  196. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +11 -5
  197. package/src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts +15 -1
  198. package/src/services/crud-helper.service.ts +25 -12
  199. package/src/services/crud.service.ts +36 -11
  200. package/src/services/datasource-introspection/mssql-datasource-introspection-provider.service.ts +12 -0
  201. package/src/services/datasource-introspection/mysql-datasource-introspection-provider.service.ts +2 -0
  202. package/src/services/datasource-introspection/postgres-datasource-introspection-provider.service.ts +28 -15
  203. package/src/services/datasource-introspection.service.ts +811 -161
  204. package/src/services/import-transaction.service.ts +5 -0
  205. package/src/services/locale.service.ts +111 -3
  206. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +2 -2
  207. package/src/services/menu-item-metadata.service.ts +2 -1
  208. package/src/services/model-metadata.service.ts +109 -1
  209. package/src/services/module-metadata.service.ts +36 -0
  210. package/src/services/removed-field-migration.service.ts +334 -0
  211. package/src/services/role-metadata.service.ts +112 -49
  212. package/src/services/settings/default-settings-provider.service.ts +120 -0
  213. package/src/services/solid-ts-morph.service.ts +61 -1
  214. package/src/services/view-metadata.service.ts +83 -9
  215. package/src/solid-core.module.ts +4 -0
  216. package/src/subscribers/audit.subscriber.ts +101 -18
  217. package/src/subscribers/computed-entity-field.subscriber.ts +81 -28
  218. package/src/subscribers/created-by-updated-by.subscriber.ts +3 -0
  219. package/src/subscribers/field-metadata.subscriber.ts +3 -0
  220. package/src/subscribers/scheduled-job.subscriber.ts +3 -2
  221. package/src/subscribers/security-rule.subscriber.ts +8 -3
  222. package/dist/entities/legacy-common-with-id.entity.d.ts.map +0 -1
  223. package/dist/entities/legacy-common-with-id.entity.js.map +0 -1
  224. package/dist/entities/legacy-common.entity.d.ts.map +0 -1
  225. package/dist/entities/legacy-common.entity.js.map +0 -1
  226. /package/src/entities/{legacy-common.entity.ts → legacy-common.entity-with-existing-id.entity.ts} +0 -0
@@ -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,22 @@ 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.",
125
+ },
126
+ {
127
+ moduleName: "solid-core",
128
+ key: "rowClickAction",
129
+ value: "edit",
130
+ level: SettingLevel.SystemAdminEditable,
131
+ label: "Row Click Action",
132
+ group: "app-settings",
133
+ sortOrder: 45,
134
+ controlType: "selectionStatic",
135
+ options: [
136
+ { label: "Edit", value: "edit" },
137
+ { label: "View", value: "view" },
138
+ ],
139
+ helpText: "Decides whether clicking a list row opens the record in edit mode or view mode.",
116
140
  },
117
141
  {
118
142
  moduleName: "solid-core",
@@ -123,6 +147,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
123
147
  group: "app-settings",
124
148
  sortOrder: 50,
125
149
  controlType: "boolean",
150
+ helpText: "Shows or hides the title, subtitle, and description block on authentication screens.",
126
151
  },
127
152
  {
128
153
  moduleName: "solid-core",
@@ -133,6 +158,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
133
158
  group: "app-settings",
134
159
  sortOrder: 60,
135
160
  controlType: "shortText",
161
+ helpText: "Main application name shown on branded authentication screens.",
136
162
  },
137
163
  {
138
164
  moduleName: "solid-core",
@@ -143,6 +169,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
143
169
  group: "app-settings",
144
170
  sortOrder: 70,
145
171
  controlType: "shortText",
172
+ helpText: "Short subtitle shown above or beside the main application title.",
146
173
  },
147
174
  {
148
175
  moduleName: "solid-core",
@@ -153,6 +180,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
153
180
  group: "app-settings",
154
181
  sortOrder: 80,
155
182
  controlType: "longText",
183
+ helpText: "Supporting copy used to explain the product or workspace on authentication screens.",
156
184
  },
157
185
  {
158
186
  moduleName: "solid-core",
@@ -163,6 +191,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
163
191
  group: "app-settings",
164
192
  sortOrder: 90,
165
193
  controlType: "boolean",
194
+ helpText: "Shows or hides the terms and privacy links on authentication screens.",
166
195
  },
167
196
  {
168
197
  moduleName: "solid-core",
@@ -173,6 +202,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
173
202
  group: "app-settings",
174
203
  sortOrder: 100,
175
204
  controlType: "shortText",
205
+ helpText: "Terms and conditions URL shown when legal links are enabled.",
176
206
  },
177
207
  {
178
208
  moduleName: "solid-core",
@@ -183,6 +213,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
183
213
  group: "app-settings",
184
214
  sortOrder: 110,
185
215
  controlType: "shortText",
216
+ helpText: "Privacy policy URL shown when legal links are enabled.",
186
217
  },
187
218
  {
188
219
  moduleName: "solid-core",
@@ -193,6 +224,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
193
224
  group: "app-settings",
194
225
  sortOrder: 120,
195
226
  controlType: "boolean",
227
+ helpText: "Enables dark theme support for frontend surfaces that honor the global appearance setting.",
196
228
  },
197
229
  {
198
230
  moduleName: "solid-core",
@@ -203,6 +235,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
203
235
  group: "app-settings",
204
236
  sortOrder: 130,
205
237
  controlType: "longText",
238
+ helpText: "Footer copyright text shown on branded authentication screens.",
206
239
  },
207
240
  {
208
241
  moduleName: "solid-core",
@@ -213,6 +246,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
213
246
  group: "misc-settings",
214
247
  sortOrder: 10,
215
248
  controlType: "boolean",
249
+ helpText: "Allows username-based identity flows where the frontend supports them.",
216
250
  },
217
251
  {
218
252
  moduleName: "solid-core",
@@ -223,6 +257,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
223
257
  group: "misc-settings",
224
258
  sortOrder: 20,
225
259
  controlType: "boolean",
260
+ helpText: "Default notification toggle used by user-facing notification settings.",
226
261
  },
227
262
  {
228
263
  moduleName: "solid-core",
@@ -233,6 +268,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
233
268
  group: "misc-settings",
234
269
  sortOrder: 30,
235
270
  controlType: "shortText",
271
+ helpText: "Email address used by the support shortcut in the user menu and related help surfaces.",
236
272
  },
237
273
  {
238
274
  moduleName: "solid-core",
@@ -243,6 +279,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
243
279
  group: "misc-settings",
244
280
  sortOrder: 40,
245
281
  controlType: "shortText",
282
+ helpText: "Friendly label shown for the support shortcut, such as Support or Help Desk.",
246
283
  },
247
284
  {
248
285
  moduleName: "solid-core",
@@ -253,6 +290,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
253
290
  group: "misc-settings",
254
291
  sortOrder: 50,
255
292
  controlType: "shortText",
293
+ helpText: "Icon identifier used for the support shortcut so users can recognize it quickly.",
256
294
  },
257
295
  {
258
296
  moduleName: "solid-core",
@@ -263,6 +301,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
263
301
  group: "authentication-settings",
264
302
  sortOrder: 90,
265
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.",
266
305
  },
267
306
  {
268
307
  moduleName: "solid-core",
@@ -273,6 +312,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
273
312
  group: "authentication-settings",
274
313
  sortOrder: 100,
275
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.",
276
316
  },
277
317
  {
278
318
  moduleName: "solid-core",
@@ -283,6 +323,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
283
323
  group: "authentication-settings",
284
324
  sortOrder: 110,
285
325
  controlType: "mediaSingle",
326
+ helpText: "Background image used for the centered authentication layout.",
286
327
  },
287
328
  {
288
329
  moduleName: "solid-core",
@@ -311,6 +352,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
311
352
  sortOrder: 10,
312
353
  controlType: "custom",
313
354
  settingsWidget: "solidXGenAiCodeBuilderConfigWidget",
355
+ helpText: "Structured AI builder configuration that stores providers, credentials, and model assignments for SolidX code generation features.",
314
356
  },
315
357
  {
316
358
  moduleName: "solid-core",
@@ -327,6 +369,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
327
369
  group: "ai-settings",
328
370
  sortOrder: 20,
329
371
  controlType: "boolean",
372
+ helpText: "Read-only flag indicating whether MCP integration is enabled for this deployment.",
330
373
  },
331
374
  {
332
375
  moduleName: "solid-core",
@@ -337,6 +380,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
337
380
  group: "ai-settings",
338
381
  sortOrder: 30,
339
382
  controlType: "shortText",
383
+ helpText: "Base MCP server URL used when MCP integration is enabled.",
340
384
  },
341
385
  {
342
386
  moduleName: "solid-core",
@@ -353,6 +397,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
353
397
  group: "system-settings",
354
398
  sortOrder: 10,
355
399
  controlType: "shortText",
400
+ helpText: "Default date-time format used by Solid core features that need a shared server-side format.",
356
401
  },
357
402
  {
358
403
  moduleName: "solid-core",
@@ -363,6 +408,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
363
408
  group: "system-settings",
364
409
  sortOrder: 20,
365
410
  controlType: "shortText",
411
+ helpText: "Default date format used by Solid core features that need a shared server-side format.",
366
412
  },
367
413
  {
368
414
  moduleName: "solid-core",
@@ -373,6 +419,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
373
419
  group: "system-settings",
374
420
  sortOrder: 30,
375
421
  controlType: "shortText",
422
+ helpText: "Backend base URL used to generate absolute links and media URLs.",
376
423
  },
377
424
  {
378
425
  moduleName: "solid-core",
@@ -383,6 +430,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
383
430
  group: "system-settings",
384
431
  sortOrder: 35,
385
432
  controlType: "shortText",
433
+ helpText: "Frontend admin application base URL used when the backend needs to point users back to the admin UI.",
386
434
  },
387
435
  {
388
436
  moduleName: "solid-core",
@@ -393,6 +441,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
393
441
  group: "system-settings",
394
442
  sortOrder: 40,
395
443
  controlType: "shortText",
444
+ helpText: "Public website URL for the product or marketing site.",
396
445
  },
397
446
 
398
447
  // app-builder-settings-provider.service.ts, app-builder.config.ts
@@ -405,6 +454,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
405
454
  group: "storage-settings",
406
455
  sortOrder: 10,
407
456
  controlType: "longText",
457
+ helpText: "Comma-separated list of module metadata seed files that are loaded by the platform.",
408
458
  },
409
459
  {
410
460
  moduleName: "solid-core",
@@ -415,6 +465,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
415
465
  group: "storage-settings",
416
466
  sortOrder: 20,
417
467
  controlType: "shortText",
468
+ helpText: "Directory where uploaded media is staged before downstream processing or persistence.",
418
469
  },
419
470
  {
420
471
  moduleName: "solid-core",
@@ -426,6 +477,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
426
477
  group: "storage-settings",
427
478
  sortOrder: 30,
428
479
  controlType: "shortText",
480
+ helpText: "Directory used by the default disk-based file storage provider for persisted files.",
429
481
  },
430
482
  {
431
483
  moduleName: "solid-core",
@@ -440,6 +492,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
440
492
  { label: "Disk", value: "disk" },
441
493
  { label: "S3", value: "s3" },
442
494
  ],
495
+ helpText: "Default storage implementation used for file handling, such as local disk or S3.",
443
496
  },
444
497
 
445
498
  // aws-s3-settings-provider.service.ts
@@ -464,6 +517,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
464
517
  group: "storage-settings",
465
518
  sortOrder: 50,
466
519
  controlType: "shortText",
520
+ helpText: "AWS region used by the default S3 storage integration.",
467
521
  },
468
522
  {
469
523
  moduleName: "solid-core",
@@ -474,6 +528,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
474
528
  group: "storage-settings",
475
529
  sortOrder: 60,
476
530
  controlType: "shortText",
531
+ helpText: "Default S3 bucket used when the S3 storage provider is active.",
477
532
  },
478
533
 
479
534
  // email-settings-provider.service.ts
@@ -490,6 +545,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
490
545
  { label: "SMTP Email Service", value: "SMTPEMailService" },
491
546
  { label: "Elastic Email Service", value: "ElasticEmailService" },
492
547
  ],
548
+ helpText: "Email delivery provider currently configured for outbound mail.",
493
549
  },
494
550
  {
495
551
  moduleName: "solid-core",
@@ -500,6 +556,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
500
556
  group: "email-settings",
501
557
  sortOrder: 20,
502
558
  controlType: "longText",
559
+ helpText: "Comma-separated list of email template seed files loaded by the platform.",
503
560
  },
504
561
  {
505
562
  moduleName: "solid-core",
@@ -510,6 +567,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
510
567
  group: "email-settings",
511
568
  sortOrder: 30,
512
569
  controlType: "boolean",
570
+ helpText: "Whether outbound emails are queued for asynchronous delivery instead of being sent inline.",
513
571
  },
514
572
  {
515
573
  moduleName: "solid-core",
@@ -520,6 +578,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
520
578
  group: "email-settings",
521
579
  sortOrder: 40,
522
580
  controlType: "shortText",
581
+ helpText: "SMTP host name used when the SMTP email provider is active.",
523
582
  },
524
583
  {
525
584
  moduleName: "solid-core",
@@ -530,6 +589,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
530
589
  group: "email-settings",
531
590
  sortOrder: 50,
532
591
  controlType: "numeric",
592
+ helpText: "SMTP port used when the SMTP email provider is active.",
533
593
  },
534
594
  {
535
595
  moduleName: "solid-core",
@@ -540,6 +600,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
540
600
  group: "email-settings",
541
601
  sortOrder: 60,
542
602
  controlType: "shortText",
603
+ helpText: "SMTP username used when the SMTP email provider is active.",
543
604
  },
544
605
  {
545
606
  moduleName: "solid-core",
@@ -557,6 +618,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
557
618
  group: "email-settings",
558
619
  sortOrder: 70,
559
620
  controlType: "shortText",
621
+ helpText: "Default From address for outbound mail sent through the SMTP provider.",
560
622
  },
561
623
  {
562
624
  moduleName: "solid-core",
@@ -573,6 +635,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
573
635
  group: "email-settings",
574
636
  sortOrder: 80,
575
637
  controlType: "shortText",
638
+ helpText: "Default From address for outbound mail sent through API-based email providers.",
576
639
  },
577
640
 
578
641
  // genai-settings-provider.service.ts
@@ -585,6 +648,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
585
648
  group: "ai-settings",
586
649
  sortOrder: 40,
587
650
  controlType: "shortText",
651
+ helpText: "Base URL of the RAG service used by AI-assisted features that need retrieval support.",
588
652
  },
589
653
  {
590
654
  moduleName: "solid-core",
@@ -627,6 +691,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
627
691
  group: "oauth-settings",
628
692
  sortOrder: 10,
629
693
  controlType: "shortText",
694
+ helpText: "Google OAuth client ID registered for this application.",
630
695
  },
631
696
  {
632
697
  moduleName: "solid-core",
@@ -643,6 +708,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
643
708
  group: "oauth-settings",
644
709
  sortOrder: 20,
645
710
  controlType: "shortText",
711
+ helpText: "Backend callback URL that Google redirects to after authentication.",
646
712
  },
647
713
  {
648
714
  moduleName: "solid-core",
@@ -653,6 +719,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
653
719
  group: "oauth-settings",
654
720
  sortOrder: 30,
655
721
  controlType: "shortText",
722
+ helpText: "Post-authentication Google redirect URL used by the application flow.",
656
723
  },
657
724
 
658
725
  // facebook-oauth-settings-provider.service.ts
@@ -661,6 +728,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
661
728
  key: "FACEBOOK_CLIENT_ID",
662
729
  value: process.env.IAM_FACEBOOK_OAUTH_CLIENT_ID,
663
730
  level: SettingLevel.SystemAdminReadonly,
731
+ helpText: "Facebook OAuth client ID registered for this application.",
664
732
  },
665
733
  {
666
734
  moduleName: "solid-core",
@@ -673,12 +741,14 @@ const getSolidCoreSettings = (isProd: boolean) =>
673
741
  key: "FACEBOOK_CALLBACK_URL",
674
742
  value: process.env.IAM_FACEBOOK_OAUTH_CALLBACK_URL,
675
743
  level: SettingLevel.SystemAdminReadonly,
744
+ helpText: "Backend callback URL that Facebook redirects to after authentication.",
676
745
  },
677
746
  {
678
747
  moduleName: "solid-core",
679
748
  key: "FACEBOOK_REDIRECT_URL",
680
749
  value: process.env.IAM_FACEBOOK_OAUTH_REDIRECT_URL,
681
750
  level: SettingLevel.SystemAdminReadonly,
751
+ helpText: "Post-authentication Facebook redirect URL used by the application flow.",
682
752
  },
683
753
 
684
754
  // microsoft-oauth-settings-provider.service.ts
@@ -687,6 +757,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
687
757
  key: "MICROSOFT_CLIENT_ID",
688
758
  value: process.env.IAM_MICROSOFT_OAUTH_CLIENT_ID,
689
759
  level: SettingLevel.SystemAdminReadonly,
760
+ helpText: "Microsoft OAuth client ID registered for this application.",
690
761
  },
691
762
  {
692
763
  moduleName: "solid-core",
@@ -699,18 +770,21 @@ const getSolidCoreSettings = (isProd: boolean) =>
699
770
  key: "MICROSOFT_TENANT_ID",
700
771
  value: process.env.IAM_MICROSOFT_OAUTH_TENANT_ID || "common",
701
772
  level: SettingLevel.SystemAdminReadonly,
773
+ helpText: "Microsoft OAuth tenant identifier used to scope sign-in requests.",
702
774
  },
703
775
  {
704
776
  moduleName: "solid-core",
705
777
  key: "MICROSOFT_CALLBACK_URL",
706
778
  value: process.env.IAM_MICROSOFT_OAUTH_CALLBACK_URL,
707
779
  level: SettingLevel.SystemAdminReadonly,
780
+ helpText: "Backend callback URL that Microsoft redirects to after authentication.",
708
781
  },
709
782
  {
710
783
  moduleName: "solid-core",
711
784
  key: "MICROSOFT_REDIRECT_URL",
712
785
  value: process.env.IAM_MICROSOFT_OAUTH_REDIRECT_URL,
713
786
  level: SettingLevel.SystemAdminReadonly,
787
+ helpText: "Post-authentication Microsoft redirect URL used by the application flow.",
714
788
  },
715
789
 
716
790
  // microsoft-active-directory-oauth-settings-provider.service.ts
@@ -723,6 +797,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
723
797
  group: "oauth-settings",
724
798
  sortOrder: 70,
725
799
  controlType: "shortText",
800
+ helpText: "Microsoft Active Directory client ID registered for this application.",
726
801
  },
727
802
  {
728
803
  moduleName: "solid-core",
@@ -740,6 +815,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
740
815
  group: "oauth-settings",
741
816
  sortOrder: 80,
742
817
  controlType: "shortText",
818
+ helpText: "Microsoft Active Directory tenant identifier used to scope sign-in requests.",
743
819
  },
744
820
  {
745
821
  moduleName: "solid-core",
@@ -750,6 +826,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
750
826
  group: "oauth-settings",
751
827
  sortOrder: 90,
752
828
  controlType: "shortText",
829
+ helpText: "Backend callback URL that Microsoft Active Directory redirects to after authentication.",
753
830
  },
754
831
  {
755
832
  moduleName: "solid-core",
@@ -760,6 +837,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
760
837
  group: "oauth-settings",
761
838
  sortOrder: 100,
762
839
  controlType: "shortText",
840
+ helpText: "Post-authentication Microsoft Active Directory redirect URL used by the application flow.",
763
841
  },
764
842
 
765
843
  // iam-settings-provider.service.ts
@@ -772,6 +850,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
772
850
  group: "authentication-settings",
773
851
  sortOrder: 20,
774
852
  controlType: "boolean",
853
+ helpText: "Enables passwordless sign-in flows such as OTP-based authentication.",
775
854
  },
776
855
  {
777
856
  moduleName: "solid-core",
@@ -782,6 +861,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
782
861
  group: "authentication-settings",
783
862
  sortOrder: 10,
784
863
  controlType: "boolean",
864
+ helpText: "Enables traditional password-based sign-in.",
785
865
  },
786
866
  {
787
867
  moduleName: "solid-core",
@@ -798,6 +878,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
798
878
  { label: "Email", value: "email" },
799
879
  { label: "Mobile", value: "mobile" },
800
880
  ],
881
+ helpText: "Chooses whether passwordless registration validates new users by email or mobile number.",
801
882
  },
802
883
  {
803
884
  moduleName: "solid-core",
@@ -813,6 +894,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
813
894
  { label: "Mobile", value: "mobile" },
814
895
  { label: "Selectable", value: "selectable" },
815
896
  ],
897
+ helpText: "Chooses whether passwordless login validates users by email, mobile number, or a selectable option.",
816
898
  },
817
899
  {
818
900
  moduleName: "solid-core",
@@ -823,6 +905,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
823
905
  group: "authentication-settings",
824
906
  sortOrder: 60,
825
907
  controlType: "boolean",
908
+ helpText: "Lets unauthenticated visitors create their own account from public registration screens.",
826
909
  },
827
910
  {
828
911
  moduleName: "solid-core",
@@ -834,6 +917,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
834
917
  group: "authentication-settings",
835
918
  sortOrder: 70,
836
919
  controlType: "boolean",
920
+ helpText: "Automatically activates newly registered users instead of requiring a separate activation step.",
837
921
  },
838
922
  {
839
923
  moduleName: "solid-core",
@@ -857,6 +941,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
857
941
  group: "authentication-settings",
858
942
  sortOrder: 85,
859
943
  controlType: "boolean",
944
+ helpText: "Allows OTP delivery to fall back to WhatsApp when the primary OTP path cannot be used.",
860
945
  },
861
946
  {
862
947
  moduleName: "solid-core",
@@ -867,6 +952,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
867
952
  group: "authentication-settings",
868
953
  sortOrder: 86,
869
954
  controlType: "shortText",
955
+ helpText: "Template identifier used when OTP messages are sent through WhatsApp.",
870
956
  },
871
957
  {
872
958
  moduleName: "solid-core",
@@ -877,6 +963,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
877
963
  group: "authentication-settings",
878
964
  sortOrder: 87,
879
965
  controlType: "boolean",
966
+ helpText: "Allows WhatsApp OTP delivery to run as an independent channel where supported.",
880
967
  },
881
968
  {
882
969
  moduleName: "solid-core",
@@ -887,6 +974,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
887
974
  group: "authentication-settings",
888
975
  sortOrder: 88,
889
976
  controlType: "shortText",
977
+ helpText: "Default dialing code applied when OTP phone numbers are entered without a country prefix.",
890
978
  },
891
979
  {
892
980
  moduleName: "solid-core",
@@ -905,6 +993,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
905
993
  group: "authentication-settings",
906
994
  sortOrder: 75,
907
995
  controlType: "shortText",
996
+ helpText: "Role assigned by default to newly created users in flows that rely on automatic role assignment.",
908
997
  },
909
998
  {
910
999
  moduleName: "solid-core",
@@ -934,6 +1023,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
934
1023
  group: "authentication-settings",
935
1024
  sortOrder: 110,
936
1025
  controlType: "numeric",
1026
+ helpText: "Maximum failed login attempts allowed before a user is considered blocked.",
937
1027
  },
938
1028
  {
939
1029
  moduleName: "solid-core",
@@ -944,6 +1034,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
944
1034
  group: "authentication-settings",
945
1035
  sortOrder: 120,
946
1036
  controlType: "boolean",
1037
+ helpText: "Requires users to choose a new password the first time they sign in.",
947
1038
  },
948
1039
  {
949
1040
  moduleName: "solid-core",
@@ -956,6 +1047,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
956
1047
  group: "authentication-settings",
957
1048
  sortOrder: 130,
958
1049
  controlType: "shortText",
1050
+ helpText: "Validation pattern applied to new passwords in registration and password-change flows.",
959
1051
  },
960
1052
  {
961
1053
  moduleName: "solid-core",
@@ -968,6 +1060,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
968
1060
  group: "authentication-settings",
969
1061
  sortOrder: 140,
970
1062
  controlType: "longText",
1063
+ helpText: "Custom error message shown when a password does not satisfy the configured regex.",
971
1064
  },
972
1065
  {
973
1066
  moduleName: "solid-core",
@@ -980,6 +1073,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
980
1073
  group: "authentication-settings",
981
1074
  sortOrder: 150,
982
1075
  controlType: "longText",
1076
+ helpText: "Human-friendly guidance shown to users so they understand the password policy before submission.",
983
1077
  },
984
1078
  {
985
1079
  moduleName: "solid-core",
@@ -990,6 +1084,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
990
1084
  group: "authentication-settings",
991
1085
  sortOrder: 160,
992
1086
  controlType: "boolean",
1087
+ helpText: "Enables automatic password generation in flows that create user credentials on the user's behalf.",
993
1088
  },
994
1089
  {
995
1090
  moduleName: "solid-core",
@@ -1009,6 +1104,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1009
1104
  group: "authentication-settings",
1010
1105
  sortOrder: 170,
1011
1106
  controlType: "boolean",
1107
+ helpText: "Adds name fields to the public registration form so users can provide profile details up front.",
1012
1108
  },
1013
1109
  {
1014
1110
  moduleName: "solid-core",
@@ -1022,6 +1118,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1022
1118
  group: "authentication-settings",
1023
1119
  sortOrder: 180,
1024
1120
  controlType: "boolean",
1121
+ helpText: "Sends a welcome email after a successful signup when email delivery is configured.",
1025
1122
  },
1026
1123
  {
1027
1124
  moduleName: "solid-core",
@@ -1035,6 +1132,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1035
1132
  group: "authentication-settings",
1036
1133
  sortOrder: 190,
1037
1134
  controlType: "boolean",
1135
+ helpText: "Sends a welcome SMS after a successful signup when SMS delivery is configured.",
1038
1136
  },
1039
1137
  {
1040
1138
  moduleName: "solid-core",
@@ -1045,6 +1143,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1045
1143
  group: "authentication-settings",
1046
1144
  sortOrder: 180,
1047
1145
  controlType: "shortText",
1146
+ helpText: "Frontend login page URL used in backend-generated links and redirects.",
1048
1147
  },
1049
1148
  {
1050
1149
  moduleName: "solid-core",
@@ -1055,6 +1154,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1055
1154
  group: "authentication-settings",
1056
1155
  sortOrder: 190,
1057
1156
  controlType: "shortText",
1157
+ helpText: "Frontend forgot-password page URL used in backend-generated links and redirects.",
1058
1158
  },
1059
1159
 
1060
1160
  // jwt-settings-provider.service.ts
@@ -1073,6 +1173,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1073
1173
  group: "jwt-settings",
1074
1174
  sortOrder: 10,
1075
1175
  controlType: "shortText",
1176
+ helpText: "JWT audience claim expected by tokens issued by this deployment.",
1076
1177
  },
1077
1178
  {
1078
1179
  moduleName: "solid-core",
@@ -1083,6 +1184,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1083
1184
  group: "jwt-settings",
1084
1185
  sortOrder: 20,
1085
1186
  controlType: "shortText",
1187
+ helpText: "JWT issuer claim attached to tokens issued by this deployment.",
1086
1188
  },
1087
1189
  {
1088
1190
  moduleName: "solid-core",
@@ -1114,6 +1216,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1114
1216
  { label: "Database", value: "database" },
1115
1217
  { label: "RabbitMQ", value: "rabbitmq" },
1116
1218
  ],
1219
+ helpText: "Default queue broker used for background job processing.",
1117
1220
  },
1118
1221
  {
1119
1222
  moduleName: "solid-core",
@@ -1124,6 +1227,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1124
1227
  group: "queue-settings",
1125
1228
  sortOrder: 20,
1126
1229
  controlType: "shortText",
1230
+ helpText: "Service role or worker identity expected by the queue subsystem.",
1127
1231
  },
1128
1232
  {
1129
1233
  moduleName: "solid-core",
@@ -1148,6 +1252,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1148
1252
  group: "sms-settings",
1149
1253
  sortOrder: 10,
1150
1254
  controlType: "shortText",
1255
+ helpText: "SMS delivery provider currently configured for outbound messages.",
1151
1256
  },
1152
1257
  {
1153
1258
  moduleName: "solid-core",
@@ -1158,6 +1263,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1158
1263
  group: "sms-settings",
1159
1264
  sortOrder: 20,
1160
1265
  controlType: "longText",
1266
+ helpText: "Comma-separated list of SMS template seed files loaded by the platform.",
1161
1267
  },
1162
1268
  {
1163
1269
  moduleName: "solid-core",
@@ -1168,6 +1274,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1168
1274
  group: "sms-settings",
1169
1275
  sortOrder: 30,
1170
1276
  controlType: "boolean",
1277
+ helpText: "Whether outbound SMS messages are queued for asynchronous delivery instead of being sent inline.",
1171
1278
  },
1172
1279
  {
1173
1280
  moduleName: "solid-core",
@@ -1178,6 +1285,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1178
1285
  group: "sms-settings",
1179
1286
  sortOrder: 40,
1180
1287
  controlType: "shortText",
1288
+ helpText: "MSG91 endpoint URL used when the MSG91 SMS provider is active.",
1181
1289
  },
1182
1290
  {
1183
1291
  moduleName: "solid-core",
@@ -1194,6 +1302,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1194
1302
  group: "sms-settings",
1195
1303
  sortOrder: 50,
1196
1304
  controlType: "shortText",
1305
+ helpText: "Twilio account SID used when the Twilio SMS provider is active.",
1197
1306
  },
1198
1307
  {
1199
1308
  moduleName: "solid-core",
@@ -1210,6 +1319,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1210
1319
  group: "sms-settings",
1211
1320
  sortOrder: 60,
1212
1321
  controlType: "shortText",
1322
+ helpText: "Twilio phone number used as the sender for outbound SMS.",
1213
1323
  },
1214
1324
 
1215
1325
  // tiny-url-settings-provider.service.ts
@@ -1222,6 +1332,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1222
1332
  group: "short-url-settings",
1223
1333
  sortOrder: 10,
1224
1334
  controlType: "shortText",
1335
+ helpText: "API endpoint used to create shortened URLs.",
1225
1336
  },
1226
1337
  {
1227
1338
  moduleName: "solid-core",
@@ -1238,6 +1349,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1238
1349
  group: "short-url-settings",
1239
1350
  sortOrder: 20,
1240
1351
  controlType: "shortText",
1352
+ helpText: "Short URL domain used when generating branded or provider-backed tiny URLs.",
1241
1353
  },
1242
1354
  {
1243
1355
  moduleName: "solid-core",
@@ -1248,6 +1360,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1248
1360
  group: "short-url-settings",
1249
1361
  sortOrder: 30,
1250
1362
  controlType: "boolean",
1363
+ helpText: "Indicates whether short URL generation is enabled for this deployment.",
1251
1364
  },
1252
1365
 
1253
1366
  // whatsapp-settings-provider.service.ts
@@ -1260,6 +1373,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1260
1373
  group: "whatsapp-settings",
1261
1374
  sortOrder: 10,
1262
1375
  controlType: "shortText",
1376
+ helpText: "WhatsApp delivery provider currently configured for outbound messages.",
1263
1377
  },
1264
1378
  {
1265
1379
  moduleName: "solid-core",
@@ -1270,6 +1384,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1270
1384
  group: "whatsapp-settings",
1271
1385
  sortOrder: 20,
1272
1386
  controlType: "shortText",
1387
+ helpText: "MSG91 endpoint URL used when the MSG91 WhatsApp provider is active.",
1273
1388
  },
1274
1389
  {
1275
1390
  moduleName: "solid-core",
@@ -1286,6 +1401,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1286
1401
  group: "whatsapp-settings",
1287
1402
  sortOrder: 30,
1288
1403
  controlType: "shortText",
1404
+ helpText: "Integrated WhatsApp number used by the MSG91 WhatsApp provider.",
1289
1405
  },
1290
1406
  {
1291
1407
  moduleName: "solid-core",
@@ -1296,6 +1412,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1296
1412
  group: "whatsapp-settings",
1297
1413
  sortOrder: 40,
1298
1414
  controlType: "shortText",
1415
+ helpText: "Base Meta WhatsApp API URL used by the Meta WhatsApp integration.",
1299
1416
  },
1300
1417
  {
1301
1418
  moduleName: "solid-core",
@@ -1306,6 +1423,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1306
1423
  group: "whatsapp-settings",
1307
1424
  sortOrder: 50,
1308
1425
  controlType: "shortText",
1426
+ helpText: "Meta WhatsApp API version used when building outbound requests.",
1309
1427
  },
1310
1428
  {
1311
1429
  moduleName: "solid-core",
@@ -1316,6 +1434,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1316
1434
  group: "whatsapp-settings",
1317
1435
  sortOrder: 60,
1318
1436
  controlType: "shortText",
1437
+ helpText: "Meta WhatsApp phone number ID used to send messages from the connected business account.",
1319
1438
  },
1320
1439
  {
1321
1440
  moduleName: "solid-core",
@@ -1326,6 +1445,7 @@ const getSolidCoreSettings = (isProd: boolean) =>
1326
1445
  group: "whatsapp-settings",
1327
1446
  sortOrder: 70,
1328
1447
  controlType: "shortText",
1448
+ helpText: "Meta WhatsApp business account ID associated with the connected sender.",
1329
1449
  },
1330
1450
  {
1331
1451
  moduleName: "solid-core",