@solidxai/core 0.1.13-beta.13 → 0.1.13-beta.14

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 (38) hide show
  1. package/CHANGELOG.md +573 -0
  2. package/README.md +19 -0
  3. package/dist/constants/media-file-types.d.ts +1 -0
  4. package/dist/constants/media-file-types.d.ts.map +1 -1
  5. package/dist/constants/media-file-types.js +2 -1
  6. package/dist/constants/media-file-types.js.map +1 -1
  7. package/dist/controllers/field-metadata.controller.d.ts +2 -2
  8. package/dist/dtos/create-field-metadata.dto.d.ts +2 -6
  9. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  10. package/dist/dtos/create-field-metadata.dto.js +4 -10
  11. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  12. package/dist/dtos/create-model-sequence.dto.d.ts +1 -1
  13. package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -1
  14. package/dist/dtos/create-model-sequence.dto.js +1 -1
  15. package/dist/dtos/create-model-sequence.dto.js.map +1 -1
  16. package/dist/helpers/bootstrap.helper.d.ts +2 -1
  17. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  18. package/dist/helpers/bootstrap.helper.js +2 -2
  19. package/dist/helpers/bootstrap.helper.js.map +1 -1
  20. package/dist/helpers/security.helper.d.ts +5 -1
  21. package/dist/helpers/security.helper.d.ts.map +1 -1
  22. package/dist/helpers/security.helper.js +15 -4
  23. package/dist/helpers/security.helper.js.map +1 -1
  24. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  25. package/dist/seeders/module-metadata-seeder.service.js +7 -3
  26. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  27. package/dist/services/field-metadata.service.d.ts +2 -2
  28. package/dist/services/field-metadata.service.d.ts.map +1 -1
  29. package/dist/services/field-metadata.service.js +2 -1
  30. package/dist/services/field-metadata.service.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/constants/media-file-types.ts +2 -0
  33. package/src/dtos/create-field-metadata.dto.ts +4 -9
  34. package/src/dtos/create-model-sequence.dto.ts +1 -1
  35. package/src/helpers/bootstrap.helper.ts +17 -3
  36. package/src/helpers/security.helper.ts +35 -8
  37. package/src/seeders/module-metadata-seeder.service.ts +11 -3
  38. package/src/services/field-metadata.service.ts +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,578 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.13-beta.14] - 2026-08-06
4
+
5
+ ### Added
6
+
7
+ - add security header options for iframe embedding and customize frame-ancestors
8
+ - add createdAt field to PostChatterMessageDto and set default in service
9
+ - implement transaction handling for unpublishing records and restore previous version
10
+ - add progress reporting functionality to test runner and reporters
11
+ - add viewWidget attribute for fileSize in metadata
12
+ - add configurable UI timeouts for testing steps and update documentation
13
+ - enhance internationalisation by adding applyCreateDefaults method for localeName on create DTOs
14
+ - implement promoteRecoveredDraftPublishVersion method and integrate with CRUDService for soft-deleted records
15
+ - add default locale name for internationalised entries in test data seeding
16
+ - implement draft/publish versioning support and refactor related services
17
+ - add DraftPublishHelperService for managing draft and publish workflows
18
+ - add workflow field data provider support and related interfaces
19
+ - add asynchronous execution for workflows and enhance execution status retrieval
20
+ - implement WorkflowSecret management with CRUD operations and integrate into workflow execution
21
+ - enhance workflow definition management and add Python runtime node
22
+ - add SolidX integration nodes for login, email, and SMS
23
+ - add support for versioning and publishing in CRUD operations, including new fields in entities and filters
24
+ - enhance http.request node with query parameters and body modes
25
+ - refactor node structure and add sequential and switch nodes
26
+ - update workflow execution and definition handling
27
+ - implement workflow execution services and nodes
28
+ - implement API key generation for system admin users in ModuleMetadataSeederService
29
+ - enhance ModuleMetadataSeederService to generate and store API keys for system admin users
30
+ - add fieldConfig property to DatasourceIntrospectionMappingColumnDto and enhance field sanitization in DatasourceIntrospectionService
31
+ - enhance migration process with build and seed commands
32
+ - enhance datasource introspection with primary key detection and migration support
33
+ - enhance role creation with module linkage and resolve module metadata
34
+ - enhance action, role, and view metadata services with change detection and JSON normalization
35
+ - add introspection services for MSSQL, MySQL, and PostgreSQL
36
+ - add new dashboard controller actions to permissions
37
+ - simplify queue health permissions by consolidating patterns
38
+ - implement explicit widget permissions and unauthorized response handling
39
+ - enhance widget permission checks and add unauthorized response handling
40
+ - add Queue SLA heatmap provider and update metadata
41
+ - update queue health menu item and reorder messages
42
+ - add various dashboard providers and runtime services
43
+ - implement WhatsApp Cloud API integration
44
+ - add gupshup whatsapp provider
45
+ - add deleteByMediaRecord method to MediaStorageProvider implementations
46
+ - add updateCustomNoteMessage action to ChatterMessageController
47
+ - add secure custom-note edit API with attachment add/remove support
48
+ - implemented social media oath for facebook and microsoft
49
+ - add partialUpdate endpoint to menu-item-metadata controller and update metadata seeder relation field name
50
+ - implemented social media oath for facebook and microsoft
51
+ - add Message Tree Action and corresponding view for mqMessage
52
+ - implement processing timeout for RabbitMQ subscriber
53
+ - Add a composite index to `ChatterMessage` on `coModelName` and `coModelEntityId`, and an index to `chatterMessage` in `ChatterMessageDetails`.
54
+ - Migrate date/time transformers to UtcDateTimeTransformer.
55
+ - simplify S3 URL resolution DTO, and remove unused S3 resolution logic.
56
+
57
+ ### Fixed
58
+
59
+ - make currentValue optional in CreateModelSequenceDto and update seeding logic to exclude it
60
+ - change matched column type from bit to default nullable boolean
61
+ - improve error message for media deletion restriction
62
+ - use transactions entitymanager for all subscribers only for embedded db projects
63
+ - update consuming project name resolution to use parent directory
64
+ - update solidx directory path to include consuming project name
65
+ - correct package name in model generation command and update error handling in module metadata retrieval
66
+ - username
67
+ - remove type specification for encrypted column in Setting entity, to work in mssql also
68
+ - handle null or empty security rule configuration strings in repository
69
+
70
+ ### Changed
71
+
72
+ - update media type handling in CreateFieldMetadataDto and FieldMetadataService
73
+ - remove onDelete cascade option from ManyToOne relationships in entity definitions
74
+ - unify datetime column types across entities using helper function
75
+ - remove explicit timestamp type for nullable date columns across entities
76
+ - update CommonEntity properties to be optional and adjust types in WorkflowTriggerExecution
77
+ - rename create-draft-publish-helper.service to draft-publish-helper.service and update imports
78
+ - inject InternationalisationHelperService in ModuleTestDataService and CrudHelperService
79
+ - separate generic delete from draft-publish and i18n cleanup in CRUDService
80
+ - remove unused boolean type and related system column definitions from DatasourceIntrospectionService
81
+ - update CrudHelperService to initialize DraftPublishHelperService directly in the class refactor: remove publishedAt sorting logic from getLayout method in ViewMetadataService
82
+ - simplify published version filtering in CRUDService
83
+ - remove handleSeedLocales method to streamline locale seeding process
84
+ - remove legacy dashboard files and add new dashboarding architecture guide
85
+ - remove unused dashboard question and variable providers, SQL expression resolver, and related subscribers
86
+ - remove redundant null check in resolveSecurityRuleConfig
87
+ - update body column type to longText using getColumnType helper in SmsTemplate entity
88
+ - update legacy entity fields to be nullable and support null types
89
+ - replace DTO introspection with explicit isUpdate flag in MediaFieldCrudManager
90
+ - make password scheme and failed login attempt columns non-nullable in UserEntity.
91
+ - make passwordScheme, passwordSchemeVersion, and failedLoginAttempts fields nullable in the User entity.
92
+
93
+ ### Documentation
94
+
95
+ - update expired discord link
96
+
97
+ ### Other
98
+
99
+ - Comment out countGroupedRecords method implementation for refactoring
100
+ - show theme toggle
101
+ - changes to support passing an explicit createdAt while posting a chatter message
102
+ - Enhance countGroupedRecords and passed internationalisation and draft publish workflow parameters in executeGroupPipeline
103
+ - rename theme registry
104
+ - remove add permisson from permisson-list-view
105
+ - removed indexes on username and mobile since it is a conditional index and it breaks for mssql since multiple nulls are not allowed on unique columns
106
+ - readme changes
107
+ - removed hardcoded type against a boolean type
108
+ - changes to the default testing setting timeout to pick from env as well
109
+ - remove duplicate code
110
+ - refactoring around chatter media security fix
111
+ - add media extension support for post chatter
112
+ - Add media upload action and validation in MediaService
113
+ - add media extension support for post chatter
114
+ - changes to ensure only id and field are returned while populating the user in chatter
115
+ - Update defaultValue types in solid-core-metadata.json to strings
116
+ - 1. changes to ensure user populated for chatter and createdBy/updatedBy has only id and fullName populate 2. Added Exclude at property level on user to exclude sensitive fields by default without having to add an exclude at the class level
117
+ - Add getMentionableUsers permission
118
+ - Add endpoint to retrieve mentionable users with search and limit options
119
+ - Add error handling nodes and enhance workflow node definitions
120
+ - Add skipHooks option to seed command and related services
121
+ - Remove type specification for matched column in WorkflowTriggerExecution entity
122
+ - Enhance workflow node definitions and runtime context handling
123
+ - remvoing redundent code
124
+ - Remove onDelete cascade option from ManyToOne relationships in SavedFilters entity
125
+ - changes
126
+ - changes
127
+ - sql injection vulnerability closed in filter queries
128
+ - Remove LocalPath
129
+ - revert changes
130
+ - revert changes
131
+ - revert changes
132
+ - re revert
133
+ - revert changes
134
+ - private-file-cleanup
135
+ - add downlaodurl
136
+ - changes to allow overriding the is allowed api keys flag thru extension user
137
+ - Revert "user enumeration"
138
+ - remove validation from username and mobile
139
+ - user create validation bugs
140
+ - add normalize for otp based also
141
+ - Disable metadata pruning by default in seed command configuration
142
+ - Update seed command to enable metadata pruning by default
143
+ - handle-case-sensitive-for-email
144
+ - Add delete permissions for ImportTransactionController in solid-core metadata
145
+ - Add permissions for import/export functionality in solid-core metadata
146
+ - Refactor role assignment for admin users to handle capability roles individually
147
+ - discard changes
148
+ - add support for static file
149
+ - Add capability roles for admin users in module metadata seeder
150
+ - Enhance module metadata seeder with event emission for start and finish; add options interface for seeding configuration
151
+ - attachment
152
+ - Add new roles and permissions for import/export functionality; refactor role permission handling
153
+ - make isPublic default true
154
+ - changes to show the image inline
155
+ - cleanup againts media's
156
+ - inline role crate false
157
+ - Implement chatter mention notification system with email templates and queue handling
158
+ - Add messageBodyMentions field to chatter message DTOs and entity
159
+ - fix-audit-bug
160
+ - changes to include signed url token for private media
161
+ - Revert "Revert "rename function name""
162
+ - Revert "Revert "add private media support""
163
+ - Add media file type constants and enhance security for media uploads
164
+ - remove some unusable code
165
+ - some changes
166
+ - handle technical error messages due to missing resource in static resources folder
167
+ - Revert "add private media support"
168
+ - Revert "rename function name"
169
+ - rename function name
170
+ - add private media support
171
+ - some fixes
172
+ - solidx session invalid changes
173
+ - add validation on get chatter message
174
+ - updatedAt value is updating now
175
+ - fix to allow linking a userKey belonging to the parent model while seeding a child model
176
+ - add security against chatter
177
+ - chatter message endpoint made public
178
+ - removed embedded db support
179
+ - Add default sorting by ID if not explicitly specified in order options
180
+ - solidx theme settings
181
+ - add icons across all the models in solid core
182
+ - media upload added behind auth
183
+ - Refactor module path resolution to use kebab-case and extract migration file writing logic into a separate method
184
+ - Implement cleanup for TypeORM datasource entities and enhance file handling in SolidTsMorphService
185
+ - class serializer interceptor added for impact of Exclude and Expose
186
+ - Enhance datasource introspection with primary key validation and user key resolution
187
+ - Concurrent Login Feature
188
+ - user enumeration
189
+ - add helper text key on settings object .........
190
+ - changes to handle case insenstive filter operations if the values are other than string by casting
191
+ - menus item fix
192
+ - changes to ensure entity manager does not get serialized as part of the message for the computed field queue
193
+ - added nodemon heartbeat to allow in-process db query execution for code generation for embedded db
194
+ - display name changed
195
+ - name changed
196
+ - added settings for configure the row click on solid list view
197
+ - Revert "Fix for this issue > stop applying lower for numeric fields."
198
+ - fixed legacy entity files names
199
+ - view metadata type field - selection static and roles required false from menu-item
200
+ - Fix for this issue > stop applying lower for numeric fields.
201
+ - refactor and add migration command
202
+ - Handling for audit subscriber to defer audit publish when in embedded db mode
203
+ - Fixed the one genuine mid-transaction second-connection case and hardened the latent spots (for embedded db)
204
+ - changes to take in option for seeding with modules in current seed method
205
+ - Fix validation logic to parse string field values as integers before applying validations
206
+ - remove computed field from instruction add one remove field command fix many-to-many on chatter log
207
+ - ad changes
208
+ - Add locale seeding functionality and enhance locale management
209
+ - subscribers now use the event’s own transaction connection instead of a second pooled one (helpful for embedded db)
210
+ - changes to avoid extra module checks before dynamically loading it
211
+ - defaulted to modulemetadataseederservice if no seeder provided
212
+ - Add Date field in Instructions Response
213
+ - ai interaction cleanup changes
214
+ - enabling create,edit,import,export on permission and lov modules
215
+ - added module to rolemetadata list view
216
+ - roles group by module changes
217
+ - Refactor dashboard providers to utilize new bucket expression and normalization functions
218
+ - Implement Datasource Management functionality with controller, service, and DTO
219
+ - added index to fields newly added as sortable and searchable
220
+ - Add archiver package to dependencies
221
+ - removed unnecessary seed file
222
+ - Add TypeORM migration helper functions and export in index
223
+ - fixes
224
+ - reverted accidental removal of the layout builder root menu
225
+ - pending cleanup of solid core menu items
226
+ - Refactor metadata: remove standalone menu items and add scheduled jobs and saved filters tree views
227
+ - Remove ChatterMessageDetails and ImportTransactionErrorLog menu items; add Chatter Messages tree view and action. Other menu sub menus cleanup done
228
+ - Add model sequence and list of values tree views to metadata, other cleanup changes
229
+ - changes for IAM
230
+ - Add clearPackageRuntime functionality and corresponding metadata action
231
+ - Add archiver dependency and implement module package export functionality
232
+ - Refactor menu cleanup logic in ModelMetadataService and ModuleMetadataService; improve error handling for file deletion and update build commands in ModulePackageService to use solidctl.
233
+ - Update solid-core-metadata.json to disable create, edit, and delete actions, and set searchable attributes to false for specific fields for media storage provider
234
+ - Add media tree view and action & media view cleanup, enhance file storage provider with file size tracking, implemented storeStreams for s3
235
+ - Remove cleanup procedures for module metadata across all SQL dialects and implement menu and action cleanup in the service layer.
236
+ - Remove unused database bootstrap service and related SQL cleanup procedures
237
+ - cleanup
238
+ - Add view and action metadata tree views with updated permissions and searchable fields
239
+ - Add view and action metadata tree views with updated permissions and searchable fields
240
+ - menu item model cleanup
241
+ - Add resumable import handling and transaction management in module package service
242
+ - Add method to retrieve Solid UI module path and enhance cleanup logging
243
+ - Enhance module metadata seeder: add validation for module name, streamline array handling for scheduled jobs, saved filters, list of values, security rules, sms templates, email templates, menus, actions, views, users, roles, media storage providers, model sequences, and models metadata.
244
+ - Implement module package management: add controller, service, and DTOs for import, export, and build operations.
245
+ - many to one left join issue fixed
246
+ - Refactor field metadata actions and views: update action types, enhance searchability, and adjust permissions for create, edit, and delete operations.
247
+ - Refactor CRUD and model metadata services to enhance group filtering and pagination; streamline response handling and improve query structure. configuration changes to support tree view in model metadata
248
+ - Update solid-core metadata: remove import/export options, rename fields, and add sortable attribute
249
+ - Enhance solid-core metadata structure for module mdtadata by removing import/export options and adding sortable attributes for fields
250
+ - Implement module metadata explorer with CRUD operations and search functionality
251
+ - Refactor module metadata paths to use a consistent directory structure and improve file resolution logic
252
+ - Bug fixs
253
+ - added frontend base url as well to the default settings
254
+ - minor cleanup
255
+ - changes to cleanup legacy table related fields
256
+ - changes for new dashboards functionality
257
+ - always print server startup line regardless of log level
258
+ - Add field quality checks and fixes checklist for backend validation
259
+ - typeo issue
260
+ - Agent table clean up
261
+ - Add manual interaction step for Playwright and update README
262
+ - provision made to unlink data rather than having to teardown everything
263
+ - provision made to unlink data rather than having to teardown everything
264
+ - changes to colour the server startup line
265
+ - Agent table clean up
266
+ - changes to avoid too many initialization logs. controlled thru the verboseBootstrap option to the boostrap helper
267
+ - removed id command options and retained the singular name option only for consistency purposes
268
+ - changes to route genertion commands thru solidctl. The refresh-module & refresh-model commands are what are eventually called and end up calling the services only, keeping calling consistent and ensuring everything is route thru solidctl generate
269
+ - got rid of fieldNamesForRefresh and fieldIdsForRefresh dead chain since it is not used now, due to fields being read in the code builder from the metadata json directly
270
+ - MCP table solid changes
271
+ - playwrite added as dependency instead
272
+ - changes to the test runner
273
+ - chatter message user resolution chagnes
274
+ - bug fix in chatter message user resolution after we moved to queues.
275
+ - moved back to beta3
276
+ - failed login attempts field added to the json and update dto and exposed in entity
277
+ - removed un-necessary index on newvalue display
278
+ - ts changes error: any
279
+ - auto addition of menus happens at the bottom now. list view layout changes for security access rules + enabled delete made welcome email & sms SystemAdminEditable
280
+ - changed model metadata service default form layout to be single column
281
+ - added typing to catch blocks + authentication service bug fixes for private registration flow
282
+ - added typing to catch blocks + authentication service bug fixes for private registration flow
283
+ - normalised @ApiTags
284
+ - enum for passwordless modes
285
+ - bug fix in how alternative actions are rendered
286
+ - queue related bug fixes
287
+ - changes to add a websocket adaptor to the bootstrap server routine
288
+ - license changes
289
+ - type fixes
290
+ - removed min and max from long text mapping
291
+ - bug fix for shortext field mapping
292
+ - changes to post the testing results to a webhook api with a test payload
293
+ - added import multer this fixes un-necessary ts errors in vscode
294
+ - ts errors fixed
295
+ - bug fix in rabbitmq subscriber optimisation in all subscribers to default to role both if not specified
296
+ - formatting changes
297
+ - facebook oauth
298
+ - Status required false
299
+ - updated gitignore
300
+ - dleete un-necessary docs
301
+ - deleted un-necessary files
302
+ - changes related to more grooming
303
+ - api added in cors
304
+ - refactor Oauth strategy
305
+ - Revert "Ft social media login"
306
+ - bug fix
307
+ - bug fix
308
+ - add new api me endpoint and role based settings
309
+ - setting changes for new ui architecture
310
+ - changes for new settings structure
311
+ - chatter task subtype and related changes
312
+ - bug fix
313
+ - fixes
314
+ - changes to get rid of angular schematics for helping with string case transformation for consistency purpose i.e (lodash is being used on frontend too) and avoid edge cases
315
+ - changes to handle import logs as well, thru configured winston log level
316
+ - change isMultiSelect to true in solid-core-metadata.json
317
+ - change isMultiSelect to false and set visibility for cronExpression, dayOfWeek, and dayOfMonth fields to false
318
+ - tightened up queue subscriber interface + fixed core subscribers that were not returning anything. all subscribers must either return a promise or if not async then the actual value
319
+ - removed authTheme setting, auth pages dark - light is now controlled by the same local storage as the rest of the app shell
320
+ - bug fix: passwordless registration should create a user with active false
321
+ - apikeys attribute was not exposed
322
+ - refactor Oauth strategy
323
+ - changes to avoid sending out encrypted setting in api responses. also removed menu item and action entries for ai settings. (temporary fix, since setting ui to be revamped soon)
324
+ - bug fix
325
+ - null check on role
326
+ - made provision to seed custom permissions
327
+ - handled seed scenario too
328
+ - upload File and expectHidden changes
329
+ - extension user cleanup and checks added
330
+ - fixed types for cleanup
331
+ - added tsc-alias as well to ensure clean imports in dist as an extra cleanup measure
332
+ - fixes bare shell imports with relative imports
333
+ - dynamic import fix
334
+ - removed unnecessary file
335
+ - fixes for 1. throw exception if extension user and no provider configured 2. fixed roles method in the extensionUserProvider interface to make it mandatory
336
+ - removed base abstract class
337
+ - added interface too
338
+ - changes
339
+ - changes to test data seeding & fixed the type for authenticationService.signup method
340
+ - changes to user dto to include the api keys toggle
341
+ - add default role to the user only if there are no roles resolved against a user
342
+ - changes to replace current extension user custom user creation logic with the use of dynamic extension user provider. cleans up creation of an extension user
343
+ - Only forward --debug when explicitly enabled.
344
+ - toolOutput field changes to json
345
+ - adding user api key entity to export
346
+ - minor optimisation to how dynamic modules are loaded
347
+ - Add Discord badge to top of README
348
+ - Fix broken BSL license link and add Discord link to README
349
+ - Add BSL 1.1 license and update package.json license field
350
+ - Seed user and roles in testing data
351
+ - removed readme.txt
352
+ - moved type and interfaces in interfaces.ts and refactored accordingly
353
+ - changed to md
354
+ - added readme
355
+ - Ai setting model change
356
+ - changes to allow encrypting setting keys
357
+ - form view clean up
358
+ - Agent table list view changes
359
+ - synchronize false
360
+ - changes to resolve the selection dynamic provider by name and token both
361
+ - changes to bypass swagger urls from csp policy
362
+ - changes to create a seperate endpoint for admin users to generate api key + custom repository created for userApiKey
363
+ - changes to fix issue around isAllowedToGenerateApiKeys not getting saved during user creation
364
+ - changes to implement the sso code and sso exchange use cases
365
+ - removed orm types / exported api key entity
366
+ - added provision to control if api key creation is allowed for the user
367
+ - api key changes for backend
368
+ - changes to bootstrap helper to read from standard env variables and avoid redundantly passing swagger options
369
+ - fix to call addRoles only if role names are present
370
+ - Revert "revert: refactor: update legacy entity fields to be nullable and support null types"
371
+ - refactor: update legacy entity fields to be nullable and support null types
372
+ - Json structure change
373
+ - Agent table metadata clean up changes
374
+ - longtext
375
+ - longtext changes
376
+ - Agent tables clean up
377
+ - fixes to seed many-to-many relation for tests
378
+ - changes to seed media in testing data
379
+ - Chatter modelUserkey and excel many to one issue
380
+ - keeping the default selectionValueType as string since this is a good default
381
+ - bug fixes around how media is done
382
+ - bug fixes
383
+ - try catch inside logEvent
384
+ - media has card based metadata
385
+ - Refresh token activity
386
+ - changes to implement the sso code and sso exchange use cases
387
+ - cleanup
388
+ - enabled kanban view on mq message
389
+ - Agent table changes
390
+ - changes to disallow deleting a model or module in production
391
+ - changelog version bumped
392
+ - changelog added
393
+ - changes to control the logging using env variables & set appropriate defaults basis environment
394
+ - chnages for logging
395
+ - Chatter queue fixs
396
+ - one more "beta" for ozzy
397
+ - additional loggging in cors helper
398
+ - changes
399
+ - Redis Queue component and rabbitMQ folder changes
400
+ - changes to track old and new fields as part of the delete entity operation
401
+ - optimizations done for audit subcriber
402
+ - changes to optimize audit subscriber code to use background jobs entirely instead of partially
403
+ - changes to push all work/processing to the chatter queue subscriber to better manage workloads & db pooling utilization
404
+ - formatting changes
405
+ - performance optimisations 1. created by updated by subscriber is not querying users again and again 2. rabbit pub / sub can now optinally switch off db persistence
406
+ - qs depth config increased
407
+ - changes to move the shouldTrackAudit check into registry to avoid unnecessary checks during runtime
408
+ - cached model metadata queries
409
+ - changse
410
+ - disabled extra loggign
411
+ - chagnes
412
+ - reduced concurrency in computed fields
413
+ - additional loggign
414
+ - added indexes to mobile & email since those are frequently queries upon
415
+ - changes to optimize the permission service methods used in the hotspot load paths within auth and access token guards
416
+ - Redis background job changes
417
+ - Chatter Rationalizing
418
+ - changes
419
+ - changes
420
+ - changes to merge the entityId sequence computed provider into the existing sequence number provider
421
+ - changes to export bootstrap helpers for server & cli nest applications
422
+ - changes to toggle the validation for selection dynamic provider. Also changes to export a bootstrap helper function
423
+ - registered the EntityIdSequenceNumComputedFieldProvider computation provider as a nest provider
424
+ - Added EntityIdSequenceNumComputedFieldProvider as an alternative simpler provider which uses the modelSequence configuration and relies on the id persisted during creation for an entity
425
+ - added index on message id in mq message table
426
+ - changes around sequence num computed field being a post computation provider error logging in rabbit mq
427
+ - changes to save model sequence id as part of post compute instead of pre compute
428
+ - changse
429
+ - Revert "High concurrency fix for alpha num and sequence num computed fields"
430
+ - High concurrency fix for alpha num and sequence num computed fields
431
+ - bug fix in cron evalutaion
432
+ - tighter logging around roles
433
+ - scheduler now supports env based specific jobs starting and others not
434
+ - reverting back to text (i.e since it is good enough for mysql too) i.e 64kb for these fields
435
+ - revert cross db changes for view-metadata-entity
436
+ - fixes
437
+ - changes to handle cross-db compatibility
438
+ - added type as simple-json
439
+ - Remove isValidateForUpdate hack that relied on checking dto.id !== undefined
440
+ - Revert "Merge branch 'media-update' into 'main'"
441
+ - Mysql related changes
442
+ - ts-morph and media storage fix
443
+ - dashboard layout menu item added
444
+ - dashboard changes
445
+ - scheduler bug fix
446
+ - made provision to execute scheduled jobs manually
447
+ - changes
448
+ - cleanup
449
+ - logging related changes and made user activity history tree view
450
+ - changes to return the wall clock time as utc for chatter as well to keep it...
451
+ - changes around dashboard question refactoring
452
+ - default tree view and action added on code generation
453
+ - Date time format changes in audit
454
+ - user activity history on otp login
455
+ - changes
456
+ - changelog added
457
+ - reverted legacy and common entity to use local date time transformer only
458
+ - added changelog
459
+ - made playwright dependency lazy
460
+ - ai interaction table user is nullable now
461
+ - rabbitmq subscriber does a prefetch now allowing for more concurrency
462
+ - formatting changes
463
+ - Version info changes
464
+ - dummy otp can now be enabled on a per user basis
465
+ - jwt token optimisation
466
+ - optimised the authentication flow in microservice adapter to cache access token
467
+ - deleted file containing secrets
468
+ - changes
469
+ - optimisation around how dummy otp is managed
470
+ - isSeeded added
471
+ - bug fix for fetch layouts
472
+ - view modes added in layout
473
+ - One to many crud manager fixes
474
+ - one-to-many-crud-manager-fixes
475
+ - Many to many crud field manager fixes
476
+ - patch endpoint added in role controller
477
+ - many-to-many field fixes
478
+ - modelSequenceFormViewChangeHandler added on field change
479
+ - changes to convert the passwordlessRegistrationValidateWhat from array to string
480
+ - changes to format group values consistently
481
+ - fixes for normalizing group values
482
+ - Revert "changes to return groupValue in the group meta response as well. groupValue is..."
483
+ - changes to return groupValue in the group meta response as well. groupValue is...
484
+ - changes to return groupValue in the group meta response as well. groupValue is...
485
+ - filter_field_granularity_supported_added_for_date_fields
486
+ - password registration/login cleanup + max failed login attempts checks added
487
+ - removed unsafe inline from CSP
488
+ - removed incorrect comment
489
+ - changes
490
+ - Revert "replaced playwright with lazy dependency"
491
+ - replaced playwright with lazy dependency
492
+ - count and average
493
+ - fixes to solid core metadata configuration
494
+ - make `s3Key` and `isPrivate` properties mandatory in `ResolveS3UrlDto`.
495
+ - solid seed now prints proper exception stack trace
496
+ - added playwright dependencies as peer dependencies
497
+ - changed playwright import to make it lazy
498
+ - issue fixes
499
+ - formatting changes
500
+ - formatting changes
501
+ - changes for test setup
502
+ - package changes
503
+ - Changes to generate an SA user with the default password for simpler experience during setup
504
+ - more changes to support form data based uploads
505
+ - changes
506
+ - changes around testing workflow
507
+ - unified testing utitlities
508
+ - added comments to the slug code
509
+ - refactored queue namespacign
510
+ - queue namespacing related chanes
511
+ - removed todo
512
+ - queue name related changes
513
+ - cag
514
+ - changrs
515
+ - queues names are now namespaced by service naem
516
+ - enabled logs
517
+ - debug logs
518
+ - testing docs updated
519
+ - changes
520
+ - cleanup
521
+ - removed old testing related fiels
522
+ - testing infra now supports data based interpolation
523
+ - testing changes: now we support fully custom test specs
524
+ - changes for test automation
525
+ - changes to tsconfig for playwright tests
526
+ - exporting typeorm db helper
527
+ - removed the files section
528
+ - changes for playwright testing
529
+ - changes to disable service controller seed method
530
+ - formatting changes
531
+ - oom issue
532
+ - logger added for chatter
533
+ - changed arg to kebab case instead of came case in schematic service
534
+ - default menu icons added
535
+ - rabbitmq subscriber: add retries, DLX queues, reconnects, and docs
536
+ - removed un-necessary log
537
+ - fix for handling non existence of fieldNamesForRemoval arg
538
+ - foirmatting canges
539
+ - Archived/solidstarters main
540
+ - version changes
541
+ - changed org : @solidstarters -> @solidxai
542
+ - removed publish script, since it is replaced with solidctl release
543
+ - chanes
544
+ - Revert "@solidstarters namespace changed to @solidx"
545
+ - @solidstarters namespace changed to @solidx
546
+ - file service interface changes
547
+ - CR in s3 file service, url options now supports isPrivateBucket allowing one to generate signed and un-signed URLs using the getUrl method
548
+ - changes to the publish script to support: 1.reverse merging main to dev to ensure latest package version is synced with dev post publish. 2. added guardrail to allow publishing from main branch only 3. added dry run option and force option i.e (in case we want to publish from another branch, but is hidden) 4. script now pushes the git version tags as well
549
+ - changes to pass minimal parameters to the schematics project and pick the rest from the metadata configuration json file (avoid long shell commands)
550
+ - test data workflow
551
+ - test-data command
552
+ - seed command updated
553
+ - changes
554
+ - changes
555
+ - seed command changes to support pruning, test-data-setup and test-data-teardown.
556
+ - seeding now supports seedData allowing us to seed fixtures for testing.
557
+ - precomputations now skip computation if value is already provided
558
+ - added utility for findOneByUserKey
559
+ - pruning related chagnes
560
+ - changes
561
+ - more changes related to pruning metadata
562
+ - pruen logs added
563
+ - module metadata seeder now does prune also
564
+ - reformatting to improve readability
565
+ - changes
566
+ - file type not allowed. Allowed: image, document, pdf. Received mimetype: application/pdf (mapped to file)
567
+ - bug fixes
568
+ - changes to cleanup the implementation by having the write method of file service return the url post write
569
+ - changes to support using the region specified in a media storage provider, instead only the default while creating an s3 client
570
+ - fixes for using the default-aws-s3 bucket for storing the settings media if default file service is s3
571
+ - changes to settings media storage logic i.e copy multer path to file service implementation write
572
+ - file service abstraction cleanup
573
+ - chagnes
574
+ - Dashboard Question Responsive
575
+
3
576
  ## [0.1.13-beta.13] - 2026-08-05
4
577
 
5
578
  ### Added
package/README.md CHANGED
@@ -160,6 +160,25 @@ export class AppModule {}
160
160
 
161
161
  For full configuration options — environment variables, storage providers, queue setup, and OAuth credentials — see the [Developer Documentation](https://docs.solidxai.com/docs).
162
162
 
163
+ ### Security headers and iframe embedding
164
+
165
+ `bootstrapSolidApp` applies security headers through Helmet. The `frame-ancestors` CSP directive controls which origins are allowed to embed responses from the API in an iframe. This is relevant when rendering PDFs or other protected resources in the browser's built-in viewer.
166
+
167
+ By default, the bootstrap helper allows the current origin and local development origins (`localhost`, `127.0.0.1`, and `::1`) over HTTP or HTTPS on any port. This supports common setups where the UI and API run on different local ports, such as `localhost:3001` embedding a PDF served by `localhost:3000`.
168
+
169
+ To customize the allowlist, pass `security.frameAncestors` when bootstrapping the API. The configured list replaces the default list, so include every origin that should be allowed:
170
+
171
+ ```typescript
172
+ bootstrapSolidApp(() => AppModule.forRoot(), {
173
+ swagger: { title: 'My API', description: 'My API description' },
174
+ security: {
175
+ frameAncestors: ["'self'", 'https://portal.example.com'],
176
+ },
177
+ });
178
+ ```
179
+
180
+ For a fully restricted application, use `frameAncestors: ["'none'"]`. When cross-origin ancestors are allowed, `@solidxai/core` omits the legacy `X-Frame-Options` header because that header cannot express an origin allowlist; the CSP directive remains the source of truth.
181
+
163
182
 
164
183
  ## Technology Stack
165
184
 
@@ -1,4 +1,5 @@
1
1
  export type MediaCategory = 'image' | 'audio' | 'video' | 'file' | 'pdf';
2
+ export declare const MEDIA_CATEGORIES: readonly ["image", "audio", "video", "file", "pdf"];
2
3
  export declare const DANGEROUS_EXTENSIONS: Set<string>;
3
4
  export declare const DANGEROUS_MIME_TYPES: Set<string>;
4
5
  export declare function getLowercaseFileExtension(fileName?: string | null): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"media-file-types.d.ts","sourceRoot":"","sources":["../../src/constants/media-file-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAazE,eAAO,MAAM,oBAAoB,aAI/B,CAAC;AAQH,eAAO,MAAM,oBAAoB,aAE/B,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAWtF;AAGD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAE1E;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAO5E;AASD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAM3D,CAAC;AAMF,eAAO,MAAM,sBAAsB,aAKjC,CAAC"}
1
+ {"version":3,"file":"media-file-types.d.ts","sourceRoot":"","sources":["../../src/constants/media-file-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE,eAAO,MAAM,gBAAgB,qDAAsD,CAAC;AAapF,eAAO,MAAM,oBAAoB,aAI/B,CAAC;AAQH,eAAO,MAAM,oBAAoB,aAE/B,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAWtF;AAGD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAE1E;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAO5E;AASD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAM3D,CAAC;AAMF,eAAO,MAAM,sBAAsB,aAKjC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INLINE_SAFE_EXTENSIONS = exports.EXT_TO_MEDIA_TYPE = exports.DANGEROUS_MIME_TYPES = exports.DANGEROUS_EXTENSIONS = void 0;
3
+ exports.INLINE_SAFE_EXTENSIONS = exports.EXT_TO_MEDIA_TYPE = exports.DANGEROUS_MIME_TYPES = exports.DANGEROUS_EXTENSIONS = exports.MEDIA_CATEGORIES = void 0;
4
4
  exports.getLowercaseFileExtension = getLowercaseFileExtension;
5
5
  exports.getUploadedFileName = getUploadedFileName;
6
6
  exports.isDangerousMediaFile = isDangerousMediaFile;
7
+ exports.MEDIA_CATEGORIES = ['image', 'audio', 'video', 'file', 'pdf'];
7
8
  const IMAGE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'webp', 'gif', 'bmp', 'tiff', 'heic', 'heif'];
8
9
  const AUDIO_EXTENSIONS = ['mp3', 'wav', 'ogg', 'aac', 'm4a', 'flac', 'webm'];
9
10
  const VIDEO_EXTENSIONS = ['mp4', 'mov', 'avi', 'mkv', 'mpeg', 'mpg', '3gp', '3g2', 'webm', 'ogg'];