@solidxai/core 0.1.13-beta.3 → 0.1.13-beta.5

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 (141) hide show
  1. package/dist/commands/seed.command.d.ts +2 -0
  2. package/dist/commands/seed.command.d.ts.map +1 -1
  3. package/dist/commands/seed.command.js +21 -0
  4. package/dist/commands/seed.command.js.map +1 -1
  5. package/dist/controllers/chatter-message.controller.d.ts +5 -0
  6. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  7. package/dist/controllers/chatter-message.controller.js +14 -0
  8. package/dist/controllers/chatter-message.controller.js.map +1 -1
  9. package/dist/entities/workflow-trigger-execution.entity.js +1 -1
  10. package/dist/entities/workflow-trigger-execution.entity.js.map +1 -1
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/interfaces.d.ts +1 -0
  16. package/dist/interfaces.d.ts.map +1 -1
  17. package/dist/interfaces.js.map +1 -1
  18. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  19. package/dist/seeders/module-metadata-seeder.service.js +44 -27
  20. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  21. package/dist/seeders/seed-data/solid-core-metadata.json +84 -70
  22. package/dist/services/chatter-message.service.d.ts +5 -0
  23. package/dist/services/chatter-message.service.d.ts.map +1 -1
  24. package/dist/services/chatter-message.service.js +18 -0
  25. package/dist/services/chatter-message.service.js.map +1 -1
  26. package/dist/services/workflow/nodes/execution-fail.node.d.ts +6 -0
  27. package/dist/services/workflow/nodes/execution-fail.node.d.ts.map +1 -0
  28. package/dist/services/workflow/nodes/execution-fail.node.js +81 -0
  29. package/dist/services/workflow/nodes/execution-fail.node.js.map +1 -0
  30. package/dist/services/workflow/nodes/for-each.node.d.ts +2 -0
  31. package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -1
  32. package/dist/services/workflow/nodes/for-each.node.js +114 -5
  33. package/dist/services/workflow/nodes/for-each.node.js.map +1 -1
  34. package/dist/services/workflow/nodes/if.node.d.ts.map +1 -1
  35. package/dist/services/workflow/nodes/if.node.js +7 -0
  36. package/dist/services/workflow/nodes/if.node.js.map +1 -1
  37. package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -1
  38. package/dist/services/workflow/nodes/log-write.node.js +2 -0
  39. package/dist/services/workflow/nodes/log-write.node.js.map +1 -1
  40. package/dist/services/workflow/nodes/loop-until.node.d.ts +12 -0
  41. package/dist/services/workflow/nodes/loop-until.node.d.ts.map +1 -0
  42. package/dist/services/workflow/nodes/loop-until.node.js +281 -0
  43. package/dist/services/workflow/nodes/loop-until.node.js.map +1 -0
  44. package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -1
  45. package/dist/services/workflow/nodes/parallel.node.js +7 -0
  46. package/dist/services/workflow/nodes/parallel.node.js.map +1 -1
  47. package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -1
  48. package/dist/services/workflow/nodes/sequential.node.js +7 -0
  49. package/dist/services/workflow/nodes/sequential.node.js.map +1 -1
  50. package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -1
  51. package/dist/services/workflow/nodes/switch.node.js +7 -0
  52. package/dist/services/workflow/nodes/switch.node.js.map +1 -1
  53. package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -1
  54. package/dist/services/workflow/workflow-definition-validator.service.js +5 -2
  55. package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -1
  56. package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -1
  57. package/dist/services/workflow/workflow-expression.service.js +5 -0
  58. package/dist/services/workflow/workflow-expression.service.js.map +1 -1
  59. package/dist/services/workflow/workflow-node-registry.service.d.ts +2 -1
  60. package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -1
  61. package/dist/services/workflow/workflow-node-registry.service.js +7 -0
  62. package/dist/services/workflow/workflow-node-registry.service.js.map +1 -1
  63. package/dist/services/workflow/workflow-runtime.service.d.ts +8 -0
  64. package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -1
  65. package/dist/services/workflow/workflow-runtime.service.js +197 -32
  66. package/dist/services/workflow/workflow-runtime.service.js.map +1 -1
  67. package/dist/solid-core.module.d.ts.map +1 -1
  68. package/dist/solid-core.module.js +4 -0
  69. package/dist/solid-core.module.js.map +1 -1
  70. package/dist/types/workflow-dsl.types.d.ts +14 -0
  71. package/dist/types/workflow-dsl.types.d.ts.map +1 -1
  72. package/dist/types/workflow-dsl.types.js.map +1 -1
  73. package/dist-tests/api/authenticate.spec.js +119 -0
  74. package/dist-tests/api/authenticate.spec.js.map +1 -0
  75. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
  76. package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
  77. package/dist-tests/api/ping.spec.js +21 -0
  78. package/dist-tests/api/ping.spec.js.map +1 -0
  79. package/dist-tests/helpers/auth.js +41 -0
  80. package/dist-tests/helpers/auth.js.map +1 -0
  81. package/dist-tests/helpers/env.js +11 -0
  82. package/dist-tests/helpers/env.js.map +1 -0
  83. package/docs/agent-builder/notebook-lm-prompt-for-agent-builder.md +136 -0
  84. package/docs/agent-builder/team-ready-note-agent-builder.md +305 -0
  85. package/docs/agent-hub-grooming.md +301 -0
  86. package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +438 -0
  87. package/docs/dashboards/dashboard-curl-smoke-tests.txt +146 -0
  88. package/docs/dashboards/delete-legacy-dashboard-metadata.sql +172 -0
  89. package/docs/datasource-introspection-ddl-analysis.md +326 -0
  90. package/docs/datasource-introspection-implementation-plan.md +306 -0
  91. package/docs/grouping-enhancements.md +89 -0
  92. package/docs/java-spring/README.md +3 -0
  93. package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
  94. package/docs/module-package-import-handoff.md +691 -0
  95. package/docs/seed-changes.md +65 -0
  96. package/docs/test-data-workflow.md +200 -0
  97. package/docs/type-declaration-import-issue.md +24 -0
  98. package/docs/workflow/business-automation-example-notes.md +309 -0
  99. package/docs/workflow/control-flow-node-addition-sop.md +324 -0
  100. package/docs/workflow/data-engineering-pipeline-example-notes.md +330 -0
  101. package/docs/workflow/foreach-example-notes.md +187 -0
  102. package/docs/workflow/hello-world-example-notes.md +271 -0
  103. package/docs/workflow/kestra-concepts-plugins-blueprints.md +315 -0
  104. package/docs/workflow/loop-until-example-notes.md +198 -0
  105. package/docs/workflow/microservices-and-apis-example-notes.md +264 -0
  106. package/docs/workflow/samples.md +25 -0
  107. package/docs/workflow/what-is-kestra.md +79 -0
  108. package/docs/workflow/workflow-core-module-handoff-summary.md +191 -0
  109. package/docs/workflow/workflow-module-brd.md +185 -0
  110. package/docs/workflow/workflow-module-domain-model.md +252 -0
  111. package/docs/workflow/workflow-module-metadata-dsl.md +302 -0
  112. package/docs/workflow/workflow-module-technical-spec.md +293 -0
  113. package/docs/workflow/workflow-node-type-contracts.md +635 -0
  114. package/docs/workflow/workflow-node-ui-metadata-contract.md +1262 -0
  115. package/docs/workflow/workflow-solidx-model-field-spec.md +284 -0
  116. package/package.json +1 -1
  117. package/src/commands/seed.command.ts +19 -0
  118. package/src/controllers/chatter-message.controller.ts +8 -0
  119. package/src/entities/workflow-trigger-execution.entity.ts +1 -1
  120. package/src/index.ts +2 -0
  121. package/src/interfaces.ts +1 -0
  122. package/src/seeders/module-metadata-seeder.service.ts +50 -36
  123. package/src/seeders/seed-data/solid-core-metadata.json +84 -70
  124. package/src/services/chatter-message.service.ts +26 -0
  125. package/src/services/workflow/nodes/execution-fail.node.ts +82 -0
  126. package/src/services/workflow/nodes/for-each.node.ts +140 -6
  127. package/src/services/workflow/nodes/if.node.ts +7 -0
  128. package/src/services/workflow/nodes/log-write.node.ts +2 -0
  129. package/src/services/workflow/nodes/loop-until.node.ts +343 -0
  130. package/src/services/workflow/nodes/parallel.node.ts +7 -0
  131. package/src/services/workflow/nodes/sequential.node.ts +7 -0
  132. package/src/services/workflow/nodes/switch.node.ts +7 -0
  133. package/src/services/workflow/workflow-definition-validator.service.ts +5 -2
  134. package/src/services/workflow/workflow-expression.service.ts +5 -0
  135. package/src/services/workflow/workflow-node-registry.service.ts +11 -0
  136. package/src/services/workflow/workflow-runtime.service.ts +274 -39
  137. package/src/solid-core.module.ts +4 -0
  138. package/src/types/workflow-dsl.types.ts +43 -0
  139. package/.claude/settings.local.json +0 -16
  140. package/CLAUDE.md +0 -26
  141. package/src/services/1.js +0 -6
@@ -6141,7 +6141,7 @@
6141
6141
  "type": "int",
6142
6142
  "ormType": "integer",
6143
6143
  "isSystem": false,
6144
- "defaultValue": 1,
6144
+ "defaultValue": "1",
6145
6145
  "min": null,
6146
6146
  "max": null,
6147
6147
  "required": true,
@@ -6162,7 +6162,7 @@
6162
6162
  "type": "int",
6163
6163
  "ormType": "integer",
6164
6164
  "isSystem": false,
6165
- "defaultValue": 0,
6165
+ "defaultValue": "0",
6166
6166
  "min": null,
6167
6167
  "max": null,
6168
6168
  "required": false,
@@ -7367,7 +7367,7 @@
7367
7367
  "type": "boolean",
7368
7368
  "ormType": "boolean",
7369
7369
  "isSystem": false,
7370
- "defaultValue": false,
7370
+ "defaultValue": "false",
7371
7371
  "required": false,
7372
7372
  "unique": false,
7373
7373
  "index": true,
@@ -7868,6 +7868,7 @@
7868
7868
  "ChatterMessageController.findMany",
7869
7869
  "ChatterMessageController.markCompleted",
7870
7870
  "ChatterMessageController.updateCustomNoteMessage",
7871
+ "ChatterMessageController.getMentionableUsers",
7871
7872
  "ListOfValuesController.findMany",
7872
7873
  "ListOfValuesController.findOne",
7873
7874
  "SettingController.getAllSettings",
@@ -8681,16 +8682,42 @@
8681
8682
  {
8682
8683
  "displayName": "Workflow Definitions",
8683
8684
  "name": "workflowDefinition-list-action",
8684
- "type": "custom",
8685
+ "type": "solid",
8685
8686
  "domain": "",
8686
8687
  "context": "",
8687
- "customComponent": "/admin/core/solid-core/workflow-definition/list",
8688
+ "customComponent": "",
8688
8689
  "customIsModal": true,
8689
8690
  "serverEndpoint": "",
8690
8691
  "viewUserKey": "workflowDefinition-list-view",
8691
8692
  "moduleUserKey": "solid-core",
8692
8693
  "modelUserKey": "workflowDefinition"
8693
8694
  },
8695
+ {
8696
+ "displayName": "New Workflow Definition",
8697
+ "name": "workflowDefinition-create-action",
8698
+ "type": "custom",
8699
+ "domain": "",
8700
+ "context": "{}",
8701
+ "customComponent": "/admin/core/solid-core/workflow-definition/editor/new",
8702
+ "customIsModal": false,
8703
+ "serverEndpoint": "",
8704
+ "viewUserKey": "workflowDefinition-list-view",
8705
+ "moduleUserKey": "solid-core",
8706
+ "modelUserKey": "workflowDefinition"
8707
+ },
8708
+ {
8709
+ "displayName": "Workflow Definition Editor",
8710
+ "name": "workflowDefinition-editor-action",
8711
+ "type": "custom",
8712
+ "domain": "",
8713
+ "context": "{}",
8714
+ "customComponent": "/admin/core/solid-core/workflow-definition/editor",
8715
+ "customIsModal": false,
8716
+ "serverEndpoint": "",
8717
+ "viewUserKey": "workflowDefinition-list-view",
8718
+ "moduleUserKey": "solid-core",
8719
+ "modelUserKey": "workflowDefinition"
8720
+ },
8694
8721
  {
8695
8722
  "displayName": "Workflow Execution List Action",
8696
8723
  "name": "workflowExecution-list-action",
@@ -17260,97 +17287,71 @@
17260
17287
  ],
17261
17288
  "enableGlobalSearch": true,
17262
17289
  "create": true,
17290
+ "createAction": "workflowDefinition-create-action",
17263
17291
  "edit": true,
17292
+ "editAction": "workflowDefinition-editor-action",
17264
17293
  "delete": true,
17265
- "headerButtons": [
17266
- {
17267
- "attrs": {
17268
- "label": "Open Workflow Editor",
17269
- "action": "openWorkflowDefinitionEditorHeaderAction",
17270
- "actionInContextMenu": false,
17271
- "openInPopup": false,
17272
- "icon": "si-sparkles"
17273
- }
17274
- }
17275
- ],
17276
- "rowButtons": [
17277
- {
17278
- "attrs": {
17279
- "className": "p-button-text",
17280
- "icon": "si-pencil",
17281
- "label": "Open Editor",
17282
- "action": "openWorkflowDefinitionEditorRowAction",
17283
- "openInPopup": false,
17284
- "actionInContextMenu": true
17285
- }
17286
- }
17287
- ]
17294
+ "showRowActionsAsIconOnly": true,
17295
+ "showRowActionsInContextMenu": false
17288
17296
  },
17289
17297
  "children": [
17290
17298
  {
17291
17299
  "type": "field",
17292
17300
  "attrs": {
17293
- "name": "id"
17294
- }
17295
- },
17296
- {
17297
- "type": "field",
17298
- "attrs": {
17299
- "name": "key"
17300
- }
17301
- },
17302
- {
17303
- "type": "field",
17304
- "attrs": {
17305
- "name": "moduleMetadata"
17306
- }
17307
- },
17308
- {
17309
- "type": "field",
17310
- "attrs": {
17311
- "name": "displayName"
17312
- }
17313
- },
17314
- {
17315
- "type": "field",
17316
- "attrs": {
17317
- "name": "namespace"
17318
- }
17319
- },
17320
- {
17321
- "type": "field",
17322
- "attrs": {
17323
- "name": "description"
17301
+ "name": "key",
17302
+ "className": "font-bold",
17303
+ "sortable": true,
17304
+ "isSearchable": true,
17305
+ "truncateAfter": 28
17324
17306
  }
17325
17307
  },
17326
17308
  {
17327
17309
  "type": "field",
17328
17310
  "attrs": {
17329
- "name": "status"
17311
+ "name": "displayName",
17312
+ "className": "font-bold",
17313
+ "sortable": true,
17314
+ "isSearchable": true,
17315
+ "truncateAfter": 32
17330
17316
  }
17331
17317
  },
17332
17318
  {
17333
17319
  "type": "field",
17334
17320
  "attrs": {
17335
- "name": "definitionVersion"
17321
+ "name": "namespace",
17322
+ "sortable": true,
17323
+ "isSearchable": true,
17324
+ "truncateAfter": 28
17336
17325
  }
17337
17326
  },
17338
17327
  {
17339
17328
  "type": "field",
17340
17329
  "attrs": {
17341
- "name": "definitionChecksum"
17330
+ "name": "description",
17331
+ "isSearchable": true,
17332
+ "truncateAfter": 56
17342
17333
  }
17343
17334
  },
17344
17335
  {
17345
17336
  "type": "field",
17346
17337
  "attrs": {
17347
- "name": "definitionYaml"
17338
+ "name": "status",
17339
+ "sortable": true,
17340
+ "viewWidget": "PillWidget",
17341
+ "pillColorMap": {
17342
+ "draft": "#e5e7eb",
17343
+ "active": "#dcfce7",
17344
+ "inactive": "#fef3c7",
17345
+ "archived": "#ede9fe",
17346
+ "default": "#e5e7eb"
17347
+ }
17348
17348
  }
17349
17349
  },
17350
17350
  {
17351
17351
  "type": "field",
17352
17352
  "attrs": {
17353
- "name": "tags"
17353
+ "name": "definitionVersion",
17354
+ "sortable": true
17354
17355
  }
17355
17356
  }
17356
17357
  ]
@@ -17518,7 +17519,7 @@
17518
17519
  50
17519
17520
  ],
17520
17521
  "enableGlobalSearch": true,
17521
- "create": true,
17522
+ "create": false,
17522
17523
  "edit": true,
17523
17524
  "editAction": "workflowExecution-detail-action",
17524
17525
  "delete": true,
@@ -17539,8 +17540,10 @@
17539
17540
  "type": "field",
17540
17541
  "attrs": {
17541
17542
  "name": "executionIdentifier",
17543
+ "className": "font-bold",
17542
17544
  "sortable": true,
17543
- "isSearchable": true
17545
+ "isSearchable": true,
17546
+ "truncateAfter": 28
17544
17547
  }
17545
17548
  },
17546
17549
  {
@@ -17549,7 +17552,8 @@
17549
17552
  "name": "workflowDefinition",
17550
17553
  "sortable": true,
17551
17554
  "isSearchable": true,
17552
- "searchField": "workflowDefinition.displayName"
17555
+ "searchField": "workflowDefinition.displayName",
17556
+ "truncateAfter": 30
17553
17557
  }
17554
17558
  },
17555
17559
  {
@@ -17558,7 +17562,8 @@
17558
17562
  "name": "workflowDisplayName",
17559
17563
  "className": "font-bold",
17560
17564
  "sortable": true,
17561
- "isSearchable": true
17565
+ "isSearchable": true,
17566
+ "truncateAfter": 32
17562
17567
  }
17563
17568
  },
17564
17569
  {
@@ -17583,7 +17588,15 @@
17583
17588
  "attrs": {
17584
17589
  "name": "triggerType",
17585
17590
  "sortable": true,
17586
- "isSearchable": true
17591
+ "isSearchable": true,
17592
+ "viewWidget": "PillWidget",
17593
+ "pillColorMap": {
17594
+ "manual": "#ede9fe",
17595
+ "schedule": "#e0f2fe",
17596
+ "webhook": "#ccfbf1",
17597
+ "api": "#dbeafe",
17598
+ "default": "#e5e7eb"
17599
+ }
17587
17600
  }
17588
17601
  },
17589
17602
  {
@@ -17611,7 +17624,8 @@
17611
17624
  "type": "field",
17612
17625
  "attrs": {
17613
17626
  "name": "errorSummary",
17614
- "isSearchable": true
17627
+ "isSearchable": true,
17628
+ "truncateAfter": 56
17615
17629
  }
17616
17630
  }
17617
17631
  ]
@@ -36,6 +36,11 @@ export declare class ChatterMessageService extends CRUDService<ChatterMessage> {
36
36
  private parseMessageBodyMentions;
37
37
  private renderMentionTokens;
38
38
  private publishChatterMentionNotifications;
39
+ getMentionableUsers(search?: string, limit?: number): Promise<Array<{
40
+ id: number;
41
+ username: string;
42
+ fullName: string;
43
+ }>>;
39
44
  markCompleted(id: number): Promise<ChatterMessage>;
40
45
  updateCustomNoteMessage(id: number, updateDto: UpdateChatterNoteMessageDto, files?: Express.Multer.File[]): Promise<ChatterMessage>;
41
46
  postMessage(postDto: PostChatterMessageDto, files?: Express.Multer.File[]): Promise<ChatterMessage>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-message.service.d.ts","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatter-message.service.d.ts","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const model_metadata_repository_1 = require("../repository/model-metadata.reposi
32
32
  const crud_service_1 = require("./crud.service");
33
33
  const chatter_message_details_entity_1 = require("../entities/chatter-message-details.entity");
34
34
  const chatter_message_entity_1 = require("../entities/chatter-message.entity");
35
+ const user_entity_1 = require("../entities/user.entity");
35
36
  const mediaStorageProviders_1 = require("./mediaStorageProviders");
36
37
  const request_context_service_1 = require("./request-context.service");
37
38
  const common_2 = require("@nestjs/common");
@@ -166,6 +167,23 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
166
167
  this._logger.error(`Failed to publish chatter mention notification email job: ${error.message}`, error.stack);
167
168
  }
168
169
  }
170
+ async getMentionableUsers(search, limit = 8) {
171
+ const normalizedLimit = Number.isInteger(limit) && limit > 0 && limit <= 50 ? limit : 8;
172
+ const userRepository = this.entityManager.getRepository(user_entity_1.User);
173
+ const qb = userRepository
174
+ .createQueryBuilder('user')
175
+ .select(['user.id', 'user.username', 'user.fullName'])
176
+ .where('user.active = :active', { active: true });
177
+ const trimmedSearch = (search ?? '').trim();
178
+ if (trimmedSearch) {
179
+ qb.andWhere('(LOWER(user.username) LIKE :search OR LOWER(user.fullName) LIKE :search)', {
180
+ search: `%${trimmedSearch.toLowerCase()}%`,
181
+ });
182
+ }
183
+ qb.orderBy('user.username', 'ASC').take(normalizedLimit);
184
+ const users = await qb.getMany();
185
+ return users.map(user => ({ id: user.id, username: user.username, fullName: user.fullName }));
186
+ }
169
187
  async markCompleted(id) {
170
188
  const activeUser = this.requestContextService.getActiveUser();
171
189
  if (!activeUser) {