@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.1

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 (275) hide show
  1. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  4. package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  18. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  20. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  22. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  23. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  24. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  26. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  27. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  28. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  38. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  40. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  42. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  43. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  46. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  56. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
  60. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  61. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  62. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  63. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  64. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  65. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  66. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  67. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  68. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  69. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  70. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  71. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  72. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  73. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  74. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  75. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  76. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  77. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  78. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  79. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  80. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  81. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  82. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  83. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  84. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  85. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  86. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  87. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  88. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  89. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  90. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  91. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  92. package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
  93. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  94. package/dist/lib/custom/Entities/entity-form.component.js +494 -138
  95. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  96. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  97. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  100. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  101. package/dist/lib/custom/Files/file-form.component.js +2 -2
  102. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  103. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  104. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  105. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  106. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  107. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
  108. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
  109. package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
  110. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
  111. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
  112. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
  113. package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
  114. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
  115. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  116. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  117. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  118. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  119. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  120. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  121. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  122. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  123. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
  124. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  125. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
  126. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  127. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  128. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  129. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  130. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  131. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  132. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  133. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  134. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  135. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  136. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  137. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  138. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  139. package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
  140. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  141. package/dist/lib/custom/Templates/templates-form.component.js +333 -113
  142. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  143. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  144. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  145. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  146. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  147. package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
  148. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  149. package/dist/lib/custom/Tests/test-form.component.js +549 -169
  150. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  151. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  152. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  153. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  154. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  155. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  156. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  157. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  158. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  159. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  160. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  161. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  162. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  163. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
  164. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  165. package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
  166. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  167. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  168. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  169. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  170. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  171. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  172. package/dist/lib/custom/Users/user-overview.panel.js +2 -2
  173. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  174. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  175. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  176. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  177. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  178. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  179. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  180. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  181. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  182. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  183. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  184. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  185. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  186. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  187. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  188. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  189. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  190. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  191. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  192. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  193. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  194. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  195. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  196. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  197. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  198. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
  199. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  200. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
  201. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  202. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  203. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  204. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  205. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  206. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  207. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  208. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  209. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  210. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  211. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  212. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  213. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  214. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  215. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  216. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  217. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  218. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  219. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  220. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  221. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  222. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  223. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  224. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  225. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  226. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  227. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  228. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  229. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  230. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  231. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  232. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  233. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  234. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  235. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  236. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  237. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  238. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  239. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  240. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  241. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  242. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  243. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
  244. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  245. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  246. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  248. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  250. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
  251. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  252. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  253. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  254. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  255. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  256. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  257. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  258. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  259. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  260. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  261. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  262. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  263. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
  264. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  265. package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
  266. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  267. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
  268. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  269. package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
  270. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  271. package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
  272. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  273. package/dist/lib/shared/components/template-editor.component.js +322 -124
  274. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  275. package/package.json +43 -42
@@ -6,11 +6,11 @@ import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
6
6
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
7
7
  import * as i0 from "@angular/core";
8
8
  export interface SubAgentAdvancedSettingsFormData {
9
- executionOrder: number;
10
- executionMode: 'Sequential' | 'Parallel';
11
- status: 'Active' | 'Disabled' | 'Pending';
12
- typeID: string | null;
13
- exposeAsAction: boolean;
9
+ ExecutionOrder: number;
10
+ ExecutionMode: 'Sequential' | 'Parallel';
11
+ Status: 'Active' | 'Disabled' | 'Pending';
12
+ TypeID: string | null;
13
+ ExposeAsAction: boolean;
14
14
  }
15
15
  /**
16
16
  * Advanced Settings dialog for Sub-Agents.
@@ -19,25 +19,81 @@ export interface SubAgentAdvancedSettingsFormData {
19
19
  export declare class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {
20
20
  private fb;
21
21
  private cdr;
22
- subAgent: MJAIAgentEntityExtended;
23
- allSubAgents: MJAIAgentEntityExtended[];
22
+ SubAgent: MJAIAgentEntityExtended;
23
+ /** @deprecated Use {@link SubAgent}. */
24
+ get subAgent(): MJAIAgentEntityExtended;
25
+ /** @deprecated Use {@link SubAgent}. */
26
+ set subAgent(value: MJAIAgentEntityExtended);
27
+ AllSubAgents: MJAIAgentEntityExtended[];
28
+ /** @deprecated Use {@link AllSubAgents}. */
29
+ get allSubAgents(): MJAIAgentEntityExtended[];
30
+ /** @deprecated Use {@link AllSubAgents}. */
31
+ set allSubAgents(value: MJAIAgentEntityExtended[]);
24
32
  private destroy$;
25
- result: Subject<SubAgentAdvancedSettingsFormData | null>;
26
- advancedForm: FormGroup;
27
- isLoading$: BehaviorSubject<boolean>;
28
- isSaving$: BehaviorSubject<boolean>;
29
- agentTypes$: BehaviorSubject<MJAIAgentTypeEntity[]>;
30
- executionModeOptions: {
33
+ Result: Subject<SubAgentAdvancedSettingsFormData | null>;
34
+ /** @deprecated Use {@link Result}. */
35
+ get result(): Subject<SubAgentAdvancedSettingsFormData | null>;
36
+ /** @deprecated Use {@link Result}. */
37
+ set result(value: Subject<SubAgentAdvancedSettingsFormData | null>);
38
+ AdvancedForm: FormGroup;
39
+ /** @deprecated Use {@link AdvancedForm}. */
40
+ get advancedForm(): FormGroup;
41
+ /** @deprecated Use {@link AdvancedForm}. */
42
+ set advancedForm(value: FormGroup);
43
+ IsLoading$: BehaviorSubject<boolean>;
44
+ /** @deprecated Use {@link IsLoading$}. */
45
+ get isLoading$(): BehaviorSubject<boolean>;
46
+ /** @deprecated Use {@link IsLoading$}. */
47
+ set isLoading$(value: BehaviorSubject<boolean>);
48
+ IsSaving$: BehaviorSubject<boolean>;
49
+ /** @deprecated Use {@link IsSaving$}. */
50
+ get isSaving$(): BehaviorSubject<boolean>;
51
+ /** @deprecated Use {@link IsSaving$}. */
52
+ set isSaving$(value: BehaviorSubject<boolean>);
53
+ AgentTypes$: BehaviorSubject<MJAIAgentTypeEntity[]>;
54
+ /** @deprecated Use {@link AgentTypes$}. */
55
+ get agentTypes$(): BehaviorSubject<MJAIAgentTypeEntity[]>;
56
+ /** @deprecated Use {@link AgentTypes$}. */
57
+ set agentTypes$(value: BehaviorSubject<MJAIAgentTypeEntity[]>);
58
+ ExecutionModeOptions: {
31
59
  text: string;
32
60
  value: string;
33
61
  description: string;
34
62
  icon: string;
35
63
  }[];
36
- statusOptions: {
64
+ /** @deprecated Use {@link ExecutionModeOptions}. */
65
+ get executionModeOptions(): {
66
+ text: string;
67
+ value: string;
68
+ description: string;
69
+ icon: string;
70
+ }[];
71
+ /** @deprecated Use {@link ExecutionModeOptions}. */
72
+ set executionModeOptions(value: {
73
+ text: string;
74
+ value: string;
75
+ description: string;
76
+ icon: string;
77
+ }[]);
78
+ StatusOptions: {
37
79
  text: string;
38
80
  value: string;
39
81
  }[];
40
- executionOrderError: string | null;
82
+ /** @deprecated Use {@link StatusOptions}. */
83
+ get statusOptions(): {
84
+ text: string;
85
+ value: string;
86
+ }[];
87
+ /** @deprecated Use {@link StatusOptions}. */
88
+ set statusOptions(value: {
89
+ text: string;
90
+ value: string;
91
+ }[]);
92
+ ExecutionOrderError: string | null;
93
+ /** @deprecated Use {@link ExecutionOrderError}. */
94
+ get executionOrderError(): string | null;
95
+ /** @deprecated Use {@link ExecutionOrderError}. */
96
+ set executionOrderError(value: string | null);
41
97
  DialogClose: EventEmitter<void>;
42
98
  constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
43
99
  ngOnInit(): void;
@@ -46,10 +102,20 @@ export declare class SubAgentAdvancedSettingsDialogComponent extends BaseAngular
46
102
  private setupValidationLogic;
47
103
  private validateExecutionOrder;
48
104
  private loadDropdownData;
105
+ IsFieldInvalid(fieldName: string): boolean;
106
+ /** @deprecated Use {@link IsFieldInvalid}. */
49
107
  isFieldInvalid(fieldName: string): boolean;
108
+ GetFieldError(fieldName: string): string;
109
+ /** @deprecated Use {@link GetFieldError}. */
50
110
  getFieldError(fieldName: string): string;
111
+ HasExecutionOrderError(): boolean;
112
+ /** @deprecated Use {@link HasExecutionOrderError}. */
51
113
  hasExecutionOrderError(): boolean;
114
+ GetExecutionModeIcon(mode: string): string;
115
+ /** @deprecated Use {@link GetExecutionModeIcon}. */
52
116
  getExecutionModeIcon(mode: string): string;
117
+ GetExecutionModeDescription(mode: string): string;
118
+ /** @deprecated Use {@link GetExecutionModeDescription}. */
53
119
  getExecutionModeDescription(mode: string): string;
54
120
  cancel(): void;
55
121
  save(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAa,MAAM,MAAM,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,gCAAgC;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,YAAY,GAAG,UAAU,CAAC;IACzC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAMa,uCAAwC,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IA8C1G,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IA5Cb,QAAQ,EAAG,uBAAuB,CAAC;IACnC,YAAY,EAAE,uBAAuB,EAAE,CAAM;IAG7C,OAAO,CAAC,QAAQ,CAAuB;IAChC,MAAM,mDAA0D;IAGvE,YAAY,EAAG,SAAS,CAAC;IACzB,UAAU,2BAAuC;IACjD,SAAS,2BAAuC;IAGhD,WAAW,yCAAkD;IAG7D,oBAAoB;;;;;QAalB;IAEF,aAAa;;;QAIX;IAGF,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhC,WAAW,qBAA4B;gBAGvC,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,iBAAiB;IAIhC,QAAQ;IAKR,WAAW;IAKX,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,sBAAsB;YAsBhB,gBAAgB;IAiC9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASxC,sBAAsB,IAAI,OAAO;IAMjC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK1C,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOjD,MAAM;IAKA,IAAI;yCA/LC,uCAAuC;2CAAvC,uCAAuC;CAmOnD"}
1
+ {"version":3,"file":"sub-agent-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAa,MAAM,MAAM,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,gCAAgC;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,YAAY,GAAG,UAAU,CAAC;IACzC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAMa,uCAAwC,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAwI1G,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IAtIb,QAAQ,EAAG,uBAAuB,CAAC;IAEnC,wCAAwC;IACxC,IAAI,QAAQ,IAAI,uBAAuB,CAEtC;IACD,wCAAwC;IACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,uBAAuB,EAE1C;IACD,YAAY,EAAE,uBAAuB,EAAE,CAAM;IAE7C,4CAA4C;IAC5C,IAAI,YAAY,IAAI,uBAAuB,EAAE,CAE5C;IACD,4CAA4C;IAC5C,IAAI,YAAY,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAEhD;IAGD,OAAO,CAAC,QAAQ,CAAuB;IAChC,MAAM,mDAA0D;IAEvE,sCAAsC;IACtC,IAAW,MAAM,qDAEhB;IACD,sCAAsC;IACtC,IAAW,MAAM,CAAC,KAAK,kDAAA,EAEtB;IAGD,YAAY,EAAG,SAAS,CAAC;IAEzB,4CAA4C;IAC5C,IAAI,YAAY,IAAI,SAAS,CAE5B;IACD,4CAA4C;IAC5C,IAAI,YAAY,CAAC,KAAK,EAAE,SAAS,EAEhC;IACD,UAAU,2BAAuC;IAEjD,0CAA0C;IAC1C,IAAI,UAAU,6BAEb;IACD,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,0BAAA,EAEnB;IACD,SAAS,2BAAuC;IAEhD,yCAAyC;IACzC,IAAI,SAAS,6BAEZ;IACD,yCAAyC;IACzC,IAAI,SAAS,CAAC,KAAK,0BAAA,EAElB;IAGD,WAAW,yCAAkD;IAE7D,2CAA2C;IAC3C,IAAI,WAAW,2CAEd;IACD,2CAA2C;IAC3C,IAAI,WAAW,CAAC,KAAK,wCAAA,EAEpB;IAGD,oBAAoB;;;;;QAalB;IAEF,oDAAoD;IACpD,IAAI,oBAAoB;;;;;QAEvB;IACD,oDAAoD;IACpD,IAAI,oBAAoB,CAAC,KAAK;;;;;OAAA,EAE7B;IAED,aAAa;;;QAIX;IAEF,6CAA6C;IAC7C,IAAI,aAAa;;;QAEhB;IACD,6CAA6C;IAC7C,IAAI,aAAa,CAAC,KAAK;;;OAAA,EAEtB;IAGD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C,mDAAmD;IACnD,IAAI,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEvC;IACD,mDAAmD;IACnD,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE3C;IAES,WAAW,qBAA4B;gBAGvC,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,iBAAiB;IAIhC,QAAQ;IAKR,WAAW;IAKX,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,sBAAsB;YAsBhB,gBAAgB;IAiC9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK1C,8CAA8C;IAC9C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASxC,6CAA6C;IAC7C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIxC,sBAAsB,IAAI,OAAO;IAIjC,sDAAsD;IACtD,sBAAsB,IAAI,OAAO;IAMjC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK1C,oDAAoD;IACpD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI1C,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKjD,2DAA2D;IAC3D,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMjD,MAAM;IAKA,IAAI;yCAlTC,uCAAuC;2CAAvC,uCAAuC;CAsVnD"}
@@ -147,20 +147,100 @@ function SubAgentAdvancedSettingsDialogComponent_Conditional_13_Template(rf, ctx
147
147
  * Manages execution order, execution mode, and other advanced sub-agent configurations.
148
148
  */
149
149
  export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponent {
150
+ /** @deprecated Use {@link SubAgent}. */
151
+ get subAgent() {
152
+ return this.SubAgent;
153
+ }
154
+ /** @deprecated Use {@link SubAgent}. */
155
+ set subAgent(value) {
156
+ this.SubAgent = value;
157
+ }
158
+ /** @deprecated Use {@link AllSubAgents}. */
159
+ get allSubAgents() {
160
+ return this.AllSubAgents;
161
+ }
162
+ /** @deprecated Use {@link AllSubAgents}. */
163
+ set allSubAgents(value) {
164
+ this.AllSubAgents = value;
165
+ } // For execution order validation
166
+ /** @deprecated Use {@link Result}. */
167
+ get result() {
168
+ return this.Result;
169
+ }
170
+ /** @deprecated Use {@link Result}. */
171
+ set result(value) {
172
+ this.Result = value;
173
+ }
174
+ /** @deprecated Use {@link AdvancedForm}. */
175
+ get advancedForm() {
176
+ return this.AdvancedForm;
177
+ }
178
+ /** @deprecated Use {@link AdvancedForm}. */
179
+ set advancedForm(value) {
180
+ this.AdvancedForm = value;
181
+ }
182
+ /** @deprecated Use {@link IsLoading$}. */
183
+ get isLoading$() {
184
+ return this.IsLoading$;
185
+ }
186
+ /** @deprecated Use {@link IsLoading$}. */
187
+ set isLoading$(value) {
188
+ this.IsLoading$ = value;
189
+ }
190
+ /** @deprecated Use {@link IsSaving$}. */
191
+ get isSaving$() {
192
+ return this.IsSaving$;
193
+ }
194
+ /** @deprecated Use {@link IsSaving$}. */
195
+ set isSaving$(value) {
196
+ this.IsSaving$ = value;
197
+ }
198
+ /** @deprecated Use {@link AgentTypes$}. */
199
+ get agentTypes$() {
200
+ return this.AgentTypes$;
201
+ }
202
+ /** @deprecated Use {@link AgentTypes$}. */
203
+ set agentTypes$(value) {
204
+ this.AgentTypes$ = value;
205
+ }
206
+ /** @deprecated Use {@link ExecutionModeOptions}. */
207
+ get executionModeOptions() {
208
+ return this.ExecutionModeOptions;
209
+ }
210
+ /** @deprecated Use {@link ExecutionModeOptions}. */
211
+ set executionModeOptions(value) {
212
+ this.ExecutionModeOptions = value;
213
+ }
214
+ /** @deprecated Use {@link StatusOptions}. */
215
+ get statusOptions() {
216
+ return this.StatusOptions;
217
+ }
218
+ /** @deprecated Use {@link StatusOptions}. */
219
+ set statusOptions(value) {
220
+ this.StatusOptions = value;
221
+ }
222
+ /** @deprecated Use {@link ExecutionOrderError}. */
223
+ get executionOrderError() {
224
+ return this.ExecutionOrderError;
225
+ }
226
+ /** @deprecated Use {@link ExecutionOrderError}. */
227
+ set executionOrderError(value) {
228
+ this.ExecutionOrderError = value;
229
+ }
150
230
  constructor(fb, cdr) {
151
231
  super();
152
232
  this.fb = fb;
153
233
  this.cdr = cdr;
154
- this.allSubAgents = []; // For execution order validation
234
+ this.AllSubAgents = [];
155
235
  // Reactive state management
156
236
  this.destroy$ = new Subject();
157
- this.result = new Subject();
158
- this.isLoading$ = new BehaviorSubject(false);
159
- this.isSaving$ = new BehaviorSubject(false);
237
+ this.Result = new Subject();
238
+ this.IsLoading$ = new BehaviorSubject(false);
239
+ this.IsSaving$ = new BehaviorSubject(false);
160
240
  // Dropdown data
161
- this.agentTypes$ = new BehaviorSubject([]);
241
+ this.AgentTypes$ = new BehaviorSubject([]);
162
242
  // Available options
163
- this.executionModeOptions = [
243
+ this.ExecutionModeOptions = [
164
244
  {
165
245
  text: 'Sequential',
166
246
  value: 'Sequential',
@@ -174,13 +254,13 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
174
254
  icon: 'fa-layer-group'
175
255
  }
176
256
  ];
177
- this.statusOptions = [
257
+ this.StatusOptions = [
178
258
  { text: 'Active', value: 'Active' },
179
259
  { text: 'Disabled', value: 'Disabled' },
180
260
  { text: 'Pending', value: 'Pending' }
181
261
  ];
182
262
  // Execution order validation
183
- this.executionOrderError = null;
263
+ this.ExecutionOrderError = null;
184
264
  this.DialogClose = new EventEmitter();
185
265
  }
186
266
  ngOnInit() {
@@ -192,25 +272,25 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
192
272
  this.destroy$.complete();
193
273
  }
194
274
  initializeForm() {
195
- this.advancedForm = this.fb.group({
196
- executionOrder: [this.subAgent.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],
197
- executionMode: [this.subAgent.ExecutionMode || 'Sequential', [Validators.required]],
198
- status: [this.subAgent.Status || 'Active', [Validators.required]],
199
- typeID: [this.subAgent.TypeID],
200
- exposeAsAction: [this.subAgent.ExposeAsAction || false]
275
+ this.AdvancedForm = this.fb.group({
276
+ executionOrder: [this.SubAgent.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],
277
+ executionMode: [this.SubAgent.ExecutionMode || 'Sequential', [Validators.required]],
278
+ status: [this.SubAgent.Status || 'Active', [Validators.required]],
279
+ typeID: [this.SubAgent.TypeID],
280
+ exposeAsAction: [this.SubAgent.ExposeAsAction || false]
201
281
  });
202
282
  this.setupValidationLogic();
203
283
  }
204
284
  setupValidationLogic() {
205
285
  // Execution order validation
206
- const executionOrderControl = this.advancedForm.get('executionOrder');
286
+ const executionOrderControl = this.AdvancedForm.get('executionOrder');
207
287
  executionOrderControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(order => {
208
288
  this.validateExecutionOrder(order);
209
289
  });
210
290
  // ExposeAsAction validation (sub-agents cannot be exposed as actions)
211
- const exposeAsActionControl = this.advancedForm.get('exposeAsAction');
291
+ const exposeAsActionControl = this.AdvancedForm.get('exposeAsAction');
212
292
  exposeAsActionControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(expose => {
213
- if (expose && this.subAgent.ParentID) {
293
+ if (expose && this.SubAgent.ParentID) {
214
294
  // Sub-agents cannot be exposed as actions
215
295
  exposeAsActionControl.setValue(false);
216
296
  MJNotificationService.Instance.CreateSimpleNotification('Sub-agents cannot be exposed as actions. Only root agents can be exposed.', 'warning', 4000);
@@ -219,23 +299,23 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
219
299
  }
220
300
  validateExecutionOrder(order) {
221
301
  if (order == null) {
222
- this.executionOrderError = null;
302
+ this.ExecutionOrderError = null;
223
303
  return;
224
304
  }
225
305
  // Check for conflicts with other sub-agents under the same parent (excluding current one)
226
- const conflictingAgent = this.allSubAgents.find(agent => !UUIDsEqual(agent.ID, this.subAgent.ID) &&
227
- UUIDsEqual(agent.ParentID, this.subAgent.ParentID) &&
306
+ const conflictingAgent = this.AllSubAgents.find(agent => !UUIDsEqual(agent.ID, this.SubAgent.ID) &&
307
+ UUIDsEqual(agent.ParentID, this.SubAgent.ParentID) &&
228
308
  agent.ExecutionOrder === order);
229
309
  if (conflictingAgent) {
230
- this.executionOrderError = `Execution order ${order} is already used by "${conflictingAgent.Name}". Please choose a different order.`;
310
+ this.ExecutionOrderError = `Execution order ${order} is already used by "${conflictingAgent.Name}". Please choose a different order.`;
231
311
  }
232
312
  else {
233
- this.executionOrderError = null;
313
+ this.ExecutionOrderError = null;
234
314
  }
235
315
  this.cdr.detectChanges();
236
316
  }
237
317
  async loadDropdownData() {
238
- this.isLoading$.next(true);
318
+ this.IsLoading$.next(true);
239
319
  try {
240
320
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
241
321
  // Load AI Agent Types
@@ -247,7 +327,7 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
247
327
  MaxRows: 1000
248
328
  });
249
329
  if (agentTypesResult.Success) {
250
- this.agentTypes$.next(agentTypesResult.Results || []);
330
+ this.AgentTypes$.next(agentTypesResult.Results || []);
251
331
  }
252
332
  }
253
333
  catch (error) {
@@ -255,16 +335,20 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
255
335
  MJNotificationService.Instance.CreateSimpleNotification('Error loading form data. Please try again.', 'error', 3000);
256
336
  }
257
337
  finally {
258
- this.isLoading$.next(false);
338
+ this.IsLoading$.next(false);
259
339
  }
260
340
  }
261
341
  // === Validation Helpers ===
262
- isFieldInvalid(fieldName) {
263
- const field = this.advancedForm.get(fieldName);
342
+ IsFieldInvalid(fieldName) {
343
+ const field = this.AdvancedForm.get(fieldName);
264
344
  return !!(field && field.invalid && (field.dirty || field.touched));
265
345
  }
266
- getFieldError(fieldName) {
267
- const field = this.advancedForm.get(fieldName);
346
+ /** @deprecated Use {@link IsFieldInvalid}. */
347
+ isFieldInvalid(fieldName) {
348
+ return this.IsFieldInvalid(fieldName);
349
+ }
350
+ GetFieldError(fieldName) {
351
+ const field = this.AdvancedForm.get(fieldName);
268
352
  if (field?.errors) {
269
353
  if (field.errors['required'])
270
354
  return `${fieldName} is required`;
@@ -273,39 +357,55 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
273
357
  }
274
358
  return '';
275
359
  }
360
+ /** @deprecated Use {@link GetFieldError}. */
361
+ getFieldError(fieldName) {
362
+ return this.GetFieldError(fieldName);
363
+ }
364
+ HasExecutionOrderError() {
365
+ return !!this.ExecutionOrderError;
366
+ }
367
+ /** @deprecated Use {@link HasExecutionOrderError}. */
276
368
  hasExecutionOrderError() {
277
- return !!this.executionOrderError;
369
+ return this.HasExecutionOrderError();
278
370
  }
279
371
  // === Execution Mode Helpers ===
280
- getExecutionModeIcon(mode) {
281
- const option = this.executionModeOptions.find(opt => opt.value === mode);
372
+ GetExecutionModeIcon(mode) {
373
+ const option = this.ExecutionModeOptions.find(opt => opt.value === mode);
282
374
  return option?.icon || 'fa-robot';
283
375
  }
284
- getExecutionModeDescription(mode) {
285
- const option = this.executionModeOptions.find(opt => opt.value === mode);
376
+ /** @deprecated Use {@link GetExecutionModeIcon}. */
377
+ getExecutionModeIcon(mode) {
378
+ return this.GetExecutionModeIcon(mode);
379
+ }
380
+ GetExecutionModeDescription(mode) {
381
+ const option = this.ExecutionModeOptions.find(opt => opt.value === mode);
286
382
  return option?.description || '';
287
383
  }
384
+ /** @deprecated Use {@link GetExecutionModeDescription}. */
385
+ getExecutionModeDescription(mode) {
386
+ return this.GetExecutionModeDescription(mode);
387
+ }
288
388
  // === Dialog Actions ===
289
389
  cancel() {
290
- this.result.next(null);
390
+ this.Result.next(null);
291
391
  this.DialogClose.emit();
292
392
  }
293
393
  async save() {
294
- if (this.advancedForm.invalid || this.hasExecutionOrderError()) {
295
- this.advancedForm.markAllAsTouched();
394
+ if (this.AdvancedForm.invalid || this.HasExecutionOrderError()) {
395
+ this.AdvancedForm.markAllAsTouched();
296
396
  MJNotificationService.Instance.CreateSimpleNotification('Please fix validation errors before saving', 'error', 3000);
297
397
  return;
298
398
  }
299
- this.isSaving$.next(true);
399
+ this.IsSaving$.next(true);
300
400
  try {
301
401
  const formData = {
302
- executionOrder: this.advancedForm.get('executionOrder')?.value,
303
- executionMode: this.advancedForm.get('executionMode')?.value,
304
- status: this.advancedForm.get('status')?.value,
305
- typeID: this.advancedForm.get('typeID')?.value || null,
306
- exposeAsAction: false // Sub-agents cannot be exposed as actions
402
+ ExecutionOrder: this.AdvancedForm.get('executionOrder')?.value,
403
+ ExecutionMode: this.AdvancedForm.get('executionMode')?.value,
404
+ Status: this.AdvancedForm.get('status')?.value,
405
+ TypeID: this.AdvancedForm.get('typeID')?.value || null,
406
+ ExposeAsAction: false // Sub-agents cannot be exposed as actions
307
407
  };
308
- this.result.next(formData);
408
+ this.Result.next(formData);
309
409
  this.DialogClose.emit();
310
410
  }
311
411
  catch (error) {
@@ -313,7 +413,7 @@ export class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponen
313
413
  MJNotificationService.Instance.CreateSimpleNotification('Error saving settings. Please try again.', 'error', 3000);
314
414
  }
315
415
  finally {
316
- this.isSaving$.next(false);
416
+ this.IsSaving$.next(false);
317
417
  }
318
418
  }
319
419
  static { this.ɵfac = function SubAgentAdvancedSettingsDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SubAgentAdvancedSettingsDialogComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-advanced-settings-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.ts","../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil } from 'rxjs';\nimport { RunView } from '@memberjunction/core';\nimport { MJAIAgentTypeEntity } from '@memberjunction/core-entities';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface SubAgentAdvancedSettingsFormData {\n executionOrder: number;\n executionMode: 'Sequential' | 'Parallel';\n status: 'Active' | 'Disabled' | 'Pending';\n typeID: string | null;\n exposeAsAction: boolean;\n}\n\n/**\n * Advanced Settings dialog for Sub-Agents.\n * Manages execution order, execution mode, and other advanced sub-agent configurations.\n */\n@Component({\n standalone: false,\n selector: 'mj-sub-agent-advanced-settings-dialog',\n templateUrl: './sub-agent-advanced-settings-dialog.component.html',\n styleUrls: ['./sub-agent-advanced-settings-dialog.component.css']\n})\nexport class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n subAgent!: MJAIAgentEntityExtended;\n allSubAgents: MJAIAgentEntityExtended[] = []; // For execution order validation\n \n // Reactive state management\n private destroy$ = new Subject<void>();\n public result = new Subject<SubAgentAdvancedSettingsFormData | null>();\n \n // Form and data\n advancedForm!: FormGroup;\n isLoading$ = new BehaviorSubject<boolean>(false);\n isSaving$ = new BehaviorSubject<boolean>(false);\n \n // Dropdown data\n agentTypes$ = new BehaviorSubject<MJAIAgentTypeEntity[]>([]);\n \n // Available options\n executionModeOptions = [\n { \n text: 'Sequential', \n value: 'Sequential', \n description: 'Child agents execute one after another in order',\n icon: 'fa-list-ol'\n },\n { \n text: 'Parallel', \n value: 'Parallel', \n description: 'Child agents execute simultaneously for faster processing',\n icon: 'fa-layer-group'\n }\n ];\n\n statusOptions = [\n { text: 'Active', value: 'Active' },\n { text: 'Disabled', value: 'Disabled' },\n { text: 'Pending', value: 'Pending' }\n ];\n\n // Execution order validation\n executionOrderError: string | null = null;\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeForm();\n this.loadDropdownData();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initializeForm() {\n this.advancedForm = this.fb.group({\n executionOrder: [this.subAgent.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],\n executionMode: [this.subAgent.ExecutionMode || 'Sequential', [Validators.required]],\n status: [this.subAgent.Status || 'Active', [Validators.required]],\n typeID: [this.subAgent.TypeID],\n exposeAsAction: [this.subAgent.ExposeAsAction || false]\n });\n\n this.setupValidationLogic();\n }\n\n private setupValidationLogic() {\n // Execution order validation\n const executionOrderControl = this.advancedForm.get('executionOrder');\n executionOrderControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(order => {\n this.validateExecutionOrder(order);\n });\n\n // ExposeAsAction validation (sub-agents cannot be exposed as actions)\n const exposeAsActionControl = this.advancedForm.get('exposeAsAction');\n exposeAsActionControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(expose => {\n if (expose && this.subAgent.ParentID) {\n // Sub-agents cannot be exposed as actions\n exposeAsActionControl.setValue(false);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Sub-agents cannot be exposed as actions. Only root agents can be exposed.',\n 'warning',\n 4000\n );\n }\n });\n }\n\n private validateExecutionOrder(order: number) {\n if (order == null) {\n this.executionOrderError = null;\n return;\n }\n\n // Check for conflicts with other sub-agents under the same parent (excluding current one)\n const conflictingAgent = this.allSubAgents.find(agent => \n !UUIDsEqual(agent.ID, this.subAgent.ID) && \n UUIDsEqual(agent.ParentID, this.subAgent.ParentID) &&\n agent.ExecutionOrder === order\n );\n\n if (conflictingAgent) {\n this.executionOrderError = `Execution order ${order} is already used by \"${conflictingAgent.Name}\". Please choose a different order.`;\n } else {\n this.executionOrderError = null;\n }\n\n this.cdr.detectChanges();\n }\n\n private async loadDropdownData() {\n this.isLoading$.next(true);\n \n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n // Load AI Agent Types\n const agentTypesResult = await rv.RunView<MJAIAgentTypeEntity>({\n EntityName: 'MJ: AI Agent Types',\n ExtraFilter: 'IsActive = 1',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n });\n\n if (agentTypesResult.Success) {\n this.agentTypes$.next(agentTypesResult.Results || []);\n }\n\n } catch (error) {\n console.error('Error loading dropdown data:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error loading form data. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.isLoading$.next(false);\n }\n }\n\n // === Validation Helpers ===\n\n isFieldInvalid(fieldName: string): boolean {\n const field = this.advancedForm.get(fieldName);\n return !!(field && field.invalid && (field.dirty || field.touched));\n }\n\n getFieldError(fieldName: string): string {\n const field = this.advancedForm.get(fieldName);\n if (field?.errors) {\n if (field.errors['required']) return `${fieldName} is required`;\n if (field.errors['min']) return `${fieldName} must be greater than or equal to ${field.errors['min'].min}`;\n }\n return '';\n }\n\n hasExecutionOrderError(): boolean {\n return !!this.executionOrderError;\n }\n\n // === Execution Mode Helpers ===\n\n getExecutionModeIcon(mode: string): string {\n const option = this.executionModeOptions.find(opt => opt.value === mode);\n return option?.icon || 'fa-robot';\n }\n\n getExecutionModeDescription(mode: string): string {\n const option = this.executionModeOptions.find(opt => opt.value === mode);\n return option?.description || '';\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.result.next(null);\n this.DialogClose.emit();\n }\n\n async save() {\n if (this.advancedForm.invalid || this.hasExecutionOrderError()) {\n this.advancedForm.markAllAsTouched();\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please fix validation errors before saving',\n 'error',\n 3000\n );\n return;\n }\n\n this.isSaving$.next(true);\n \n try {\n const formData: SubAgentAdvancedSettingsFormData = {\n executionOrder: this.advancedForm.get('executionOrder')?.value,\n executionMode: this.advancedForm.get('executionMode')?.value,\n status: this.advancedForm.get('status')?.value,\n typeID: this.advancedForm.get('typeID')?.value || null,\n exposeAsAction: false // Sub-agents cannot be exposed as actions\n };\n\n this.result.next(formData);\n this.DialogClose.emit();\n \n } catch (error) {\n console.error('Error saving advanced settings:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error saving settings. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.isSaving$.next(false);\n }\n }\n}","<!-- Sub-Agent Advanced Settings Dialog -->\n<div class=\"sub-agent-advanced-settings-dialog\">\n \n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <div class=\"loading-spinner\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n </div>\n <p>Loading sub-agent settings...</p>\n </div>\n } @else {\n \n <!-- Form Content -->\n <form [formGroup]=\"advancedForm\" class=\"advanced-form\">\n \n <!-- Execution Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-play\"></i>\n Execution Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Execution Order -->\n <div class=\"form-field\">\n <label for=\"executionOrder\">Execution Order *</label>\n <mj-numeric-input\n formControlName=\"executionOrder\"\n [Min]=\"0\"\n Format=\"0\"\n [class.error-border]=\"hasExecutionOrderError()\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('executionOrder')) {\n <div class=\"field-error\">{{ getFieldError('executionOrder') }}</div>\n }\n @if (hasExecutionOrderError()) {\n <div class=\"field-error\">{{ executionOrderError }}</div>\n }\n <small class=\"field-hint\">Order in which this sub-agent executes among siblings (0 = first). Must be unique among sibling agents.</small>\n </div>\n \n <!-- Execution Mode -->\n <div class=\"form-field\">\n <label for=\"executionMode\">Execution Mode *</label>\n <mj-dropdown\n formControlName=\"executionMode\"\n [Data]=\"executionModeOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('executionMode')) {\n <div class=\"field-error\">{{ getFieldError('executionMode') }}</div>\n }\n <small class=\"field-hint\">{{ getExecutionModeDescription(advancedForm.get('executionMode')?.value) }}</small>\n </div>\n </div>\n </div>\n\n <!-- Agent Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-robot\"></i>\n Agent Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Agent Type -->\n <div class=\"form-field\">\n <label for=\"typeID\">Agent Type</label>\n <mj-dropdown\n formControlName=\"typeID\"\n [Data]=\"agentTypes$ | async\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'Default Type', ID: null }\"\n class=\"form-control\">\n </mj-dropdown>\n <small class=\"field-hint\">Specialized agent type that defines behavior and capabilities</small>\n </div>\n \n <!-- Status -->\n <div class=\"form-field\">\n <label for=\"status\">Status *</label>\n <mj-dropdown\n formControlName=\"status\"\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('status')) {\n <div class=\"field-error\">{{ getFieldError('status') }}</div>\n }\n <small class=\"field-hint\">Current operational status of this sub-agent</small>\n </div>\n </div>\n </div>\n\n <!-- Capability Restrictions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-shield-alt\"></i>\n Capability Restrictions\n </h3>\n \n <div class=\"form-grid\">\n <!-- Expose As Action (Disabled for Sub-Agents) -->\n <div class=\"form-field full-width\">\n <label class=\"checkbox-label disabled\">\n <input type=\"checkbox\"\n class=\"mj-checkbox\"\n formControlName=\"exposeAsAction\"\n [disabled]=\"true\">\n Expose As Action\n </label>\n <small class=\"field-hint disabled-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Sub-agents cannot be exposed as actions. Only root agents (without parents) can be exposed as actions for use by other agents.\n </small>\n </div>\n </div>\n </div>\n </form>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\"\n [disabled]=\"(isSaving$ | async) || false\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"save()\"\n [disabled]=\"((isSaving$ | async) || false) || ((isLoading$ | async) || false) || hasExecutionOrderError()\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Saving...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Save Settings\n }\n </button>\n </div>\n</div>"]}
1
+ {"version":3,"file":"sub-agent-advanced-settings-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.ts","../../../../src/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil } from 'rxjs';\nimport { RunView } from '@memberjunction/core';\nimport { MJAIAgentTypeEntity } from '@memberjunction/core-entities';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface SubAgentAdvancedSettingsFormData {\n ExecutionOrder: number;\n ExecutionMode: 'Sequential' | 'Parallel';\n Status: 'Active' | 'Disabled' | 'Pending';\n TypeID: string | null;\n ExposeAsAction: boolean;\n}\n\n/**\n * Advanced Settings dialog for Sub-Agents.\n * Manages execution order, execution mode, and other advanced sub-agent configurations.\n */\n@Component({\n standalone: false,\n selector: 'mj-sub-agent-advanced-settings-dialog',\n templateUrl: './sub-agent-advanced-settings-dialog.component.html',\n styleUrls: ['./sub-agent-advanced-settings-dialog.component.css']\n})\nexport class SubAgentAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n SubAgent!: MJAIAgentEntityExtended;\n\n /** @deprecated Use {@link SubAgent}. */\n get subAgent(): MJAIAgentEntityExtended {\n return this.SubAgent;\n }\n /** @deprecated Use {@link SubAgent}. */\n set subAgent(value: MJAIAgentEntityExtended) {\n this.SubAgent = value;\n }\n AllSubAgents: MJAIAgentEntityExtended[] = [];\n\n /** @deprecated Use {@link AllSubAgents}. */\n get allSubAgents(): MJAIAgentEntityExtended[] {\n return this.AllSubAgents;\n }\n /** @deprecated Use {@link AllSubAgents}. */\n set allSubAgents(value: MJAIAgentEntityExtended[]) {\n this.AllSubAgents = value;\n } // For execution order validation\n \n // Reactive state management\n private destroy$ = new Subject<void>();\n public Result = new Subject<SubAgentAdvancedSettingsFormData | null>();\n\n /** @deprecated Use {@link Result}. */\n public get result() {\n return this.Result;\n }\n /** @deprecated Use {@link Result}. */\n public set result(value) {\n this.Result = value;\n }\n \n // Form and data\n AdvancedForm!: FormGroup;\n\n /** @deprecated Use {@link AdvancedForm}. */\n get advancedForm(): FormGroup {\n return this.AdvancedForm;\n }\n /** @deprecated Use {@link AdvancedForm}. */\n set advancedForm(value: FormGroup) {\n this.AdvancedForm = value;\n }\n IsLoading$ = new BehaviorSubject<boolean>(false);\n\n /** @deprecated Use {@link IsLoading$}. */\n get isLoading$() {\n return this.IsLoading$;\n }\n /** @deprecated Use {@link IsLoading$}. */\n set isLoading$(value) {\n this.IsLoading$ = value;\n }\n IsSaving$ = new BehaviorSubject<boolean>(false);\n\n /** @deprecated Use {@link IsSaving$}. */\n get isSaving$() {\n return this.IsSaving$;\n }\n /** @deprecated Use {@link IsSaving$}. */\n set isSaving$(value) {\n this.IsSaving$ = value;\n }\n \n // Dropdown data\n AgentTypes$ = new BehaviorSubject<MJAIAgentTypeEntity[]>([]);\n\n /** @deprecated Use {@link AgentTypes$}. */\n get agentTypes$() {\n return this.AgentTypes$;\n }\n /** @deprecated Use {@link AgentTypes$}. */\n set agentTypes$(value) {\n this.AgentTypes$ = value;\n }\n \n // Available options\n ExecutionModeOptions = [\n { \n text: 'Sequential', \n value: 'Sequential', \n description: 'Child agents execute one after another in order',\n icon: 'fa-list-ol'\n },\n { \n text: 'Parallel', \n value: 'Parallel', \n description: 'Child agents execute simultaneously for faster processing',\n icon: 'fa-layer-group'\n }\n ];\n\n /** @deprecated Use {@link ExecutionModeOptions}. */\n get executionModeOptions() {\n return this.ExecutionModeOptions;\n }\n /** @deprecated Use {@link ExecutionModeOptions}. */\n set executionModeOptions(value) {\n this.ExecutionModeOptions = value;\n }\n\n StatusOptions = [\n { text: 'Active', value: 'Active' },\n { text: 'Disabled', value: 'Disabled' },\n { text: 'Pending', value: 'Pending' }\n ];\n\n /** @deprecated Use {@link StatusOptions}. */\n get statusOptions() {\n return this.StatusOptions;\n }\n /** @deprecated Use {@link StatusOptions}. */\n set statusOptions(value) {\n this.StatusOptions = value;\n }\n\n // Execution order validation\n ExecutionOrderError: string | null = null;\n\n /** @deprecated Use {@link ExecutionOrderError}. */\n get executionOrderError(): string | null {\n return this.ExecutionOrderError;\n }\n /** @deprecated Use {@link ExecutionOrderError}. */\n set executionOrderError(value: string | null) {\n this.ExecutionOrderError = value;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeForm();\n this.loadDropdownData();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initializeForm() {\n this.AdvancedForm = this.fb.group({\n executionOrder: [this.SubAgent.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],\n executionMode: [this.SubAgent.ExecutionMode || 'Sequential', [Validators.required]],\n status: [this.SubAgent.Status || 'Active', [Validators.required]],\n typeID: [this.SubAgent.TypeID],\n exposeAsAction: [this.SubAgent.ExposeAsAction || false]\n });\n\n this.setupValidationLogic();\n }\n\n private setupValidationLogic() {\n // Execution order validation\n const executionOrderControl = this.AdvancedForm.get('executionOrder');\n executionOrderControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(order => {\n this.validateExecutionOrder(order);\n });\n\n // ExposeAsAction validation (sub-agents cannot be exposed as actions)\n const exposeAsActionControl = this.AdvancedForm.get('exposeAsAction');\n exposeAsActionControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(expose => {\n if (expose && this.SubAgent.ParentID) {\n // Sub-agents cannot be exposed as actions\n exposeAsActionControl.setValue(false);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Sub-agents cannot be exposed as actions. Only root agents can be exposed.',\n 'warning',\n 4000\n );\n }\n });\n }\n\n private validateExecutionOrder(order: number) {\n if (order == null) {\n this.ExecutionOrderError = null;\n return;\n }\n\n // Check for conflicts with other sub-agents under the same parent (excluding current one)\n const conflictingAgent = this.AllSubAgents.find(agent => \n !UUIDsEqual(agent.ID, this.SubAgent.ID) && \n UUIDsEqual(agent.ParentID, this.SubAgent.ParentID) &&\n agent.ExecutionOrder === order\n );\n\n if (conflictingAgent) {\n this.ExecutionOrderError = `Execution order ${order} is already used by \"${conflictingAgent.Name}\". Please choose a different order.`;\n } else {\n this.ExecutionOrderError = null;\n }\n\n this.cdr.detectChanges();\n }\n\n private async loadDropdownData() {\n this.IsLoading$.next(true);\n \n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n // Load AI Agent Types\n const agentTypesResult = await rv.RunView<MJAIAgentTypeEntity>({\n EntityName: 'MJ: AI Agent Types',\n ExtraFilter: 'IsActive = 1',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n });\n\n if (agentTypesResult.Success) {\n this.AgentTypes$.next(agentTypesResult.Results || []);\n }\n\n } catch (error) {\n console.error('Error loading dropdown data:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error loading form data. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.IsLoading$.next(false);\n }\n }\n\n // === Validation Helpers ===\n\n IsFieldInvalid(fieldName: string): boolean {\n const field = this.AdvancedForm.get(fieldName);\n return !!(field && field.invalid && (field.dirty || field.touched));\n }\n\n /** @deprecated Use {@link IsFieldInvalid}. */\n isFieldInvalid(fieldName: string): boolean {\n return this.IsFieldInvalid(fieldName);\n }\n\n GetFieldError(fieldName: string): string {\n const field = this.AdvancedForm.get(fieldName);\n if (field?.errors) {\n if (field.errors['required']) return `${fieldName} is required`;\n if (field.errors['min']) return `${fieldName} must be greater than or equal to ${field.errors['min'].min}`;\n }\n return '';\n }\n\n /** @deprecated Use {@link GetFieldError}. */\n getFieldError(fieldName: string): string {\n return this.GetFieldError(fieldName);\n }\n\n HasExecutionOrderError(): boolean {\n return !!this.ExecutionOrderError;\n }\n\n /** @deprecated Use {@link HasExecutionOrderError}. */\n hasExecutionOrderError(): boolean {\n return this.HasExecutionOrderError();\n }\n\n // === Execution Mode Helpers ===\n\n GetExecutionModeIcon(mode: string): string {\n const option = this.ExecutionModeOptions.find(opt => opt.value === mode);\n return option?.icon || 'fa-robot';\n }\n\n /** @deprecated Use {@link GetExecutionModeIcon}. */\n getExecutionModeIcon(mode: string): string {\n return this.GetExecutionModeIcon(mode);\n }\n\n GetExecutionModeDescription(mode: string): string {\n const option = this.ExecutionModeOptions.find(opt => opt.value === mode);\n return option?.description || '';\n }\n\n /** @deprecated Use {@link GetExecutionModeDescription}. */\n getExecutionModeDescription(mode: string): string {\n return this.GetExecutionModeDescription(mode);\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.Result.next(null);\n this.DialogClose.emit();\n }\n\n async save() {\n if (this.AdvancedForm.invalid || this.HasExecutionOrderError()) {\n this.AdvancedForm.markAllAsTouched();\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please fix validation errors before saving',\n 'error',\n 3000\n );\n return;\n }\n\n this.IsSaving$.next(true);\n \n try {\n const formData: SubAgentAdvancedSettingsFormData = {\n ExecutionOrder: this.AdvancedForm.get('executionOrder')?.value,\n ExecutionMode: this.AdvancedForm.get('executionMode')?.value,\n Status: this.AdvancedForm.get('status')?.value,\n TypeID: this.AdvancedForm.get('typeID')?.value || null,\n ExposeAsAction: false // Sub-agents cannot be exposed as actions\n };\n\n this.Result.next(formData);\n this.DialogClose.emit();\n \n } catch (error) {\n console.error('Error saving advanced settings:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error saving settings. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.IsSaving$.next(false);\n }\n }\n}","<!-- Sub-Agent Advanced Settings Dialog -->\n<div class=\"sub-agent-advanced-settings-dialog\">\n \n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <div class=\"loading-spinner\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n </div>\n <p>Loading sub-agent settings...</p>\n </div>\n } @else {\n \n <!-- Form Content -->\n <form [formGroup]=\"advancedForm\" class=\"advanced-form\">\n \n <!-- Execution Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-play\"></i>\n Execution Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Execution Order -->\n <div class=\"form-field\">\n <label for=\"executionOrder\">Execution Order *</label>\n <mj-numeric-input\n formControlName=\"executionOrder\"\n [Min]=\"0\"\n Format=\"0\"\n [class.error-border]=\"hasExecutionOrderError()\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('executionOrder')) {\n <div class=\"field-error\">{{ getFieldError('executionOrder') }}</div>\n }\n @if (hasExecutionOrderError()) {\n <div class=\"field-error\">{{ executionOrderError }}</div>\n }\n <small class=\"field-hint\">Order in which this sub-agent executes among siblings (0 = first). Must be unique among sibling agents.</small>\n </div>\n \n <!-- Execution Mode -->\n <div class=\"form-field\">\n <label for=\"executionMode\">Execution Mode *</label>\n <mj-dropdown\n formControlName=\"executionMode\"\n [Data]=\"executionModeOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('executionMode')) {\n <div class=\"field-error\">{{ getFieldError('executionMode') }}</div>\n }\n <small class=\"field-hint\">{{ getExecutionModeDescription(advancedForm.get('executionMode')?.value) }}</small>\n </div>\n </div>\n </div>\n\n <!-- Agent Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-robot\"></i>\n Agent Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Agent Type -->\n <div class=\"form-field\">\n <label for=\"typeID\">Agent Type</label>\n <mj-dropdown\n formControlName=\"typeID\"\n [Data]=\"agentTypes$ | async\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'Default Type', ID: null }\"\n class=\"form-control\">\n </mj-dropdown>\n <small class=\"field-hint\">Specialized agent type that defines behavior and capabilities</small>\n </div>\n \n <!-- Status -->\n <div class=\"form-field\">\n <label for=\"status\">Status *</label>\n <mj-dropdown\n formControlName=\"status\"\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('status')) {\n <div class=\"field-error\">{{ getFieldError('status') }}</div>\n }\n <small class=\"field-hint\">Current operational status of this sub-agent</small>\n </div>\n </div>\n </div>\n\n <!-- Capability Restrictions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-shield-alt\"></i>\n Capability Restrictions\n </h3>\n \n <div class=\"form-grid\">\n <!-- Expose As Action (Disabled for Sub-Agents) -->\n <div class=\"form-field full-width\">\n <label class=\"checkbox-label disabled\">\n <input type=\"checkbox\"\n class=\"mj-checkbox\"\n formControlName=\"exposeAsAction\"\n [disabled]=\"true\">\n Expose As Action\n </label>\n <small class=\"field-hint disabled-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Sub-agents cannot be exposed as actions. Only root agents (without parents) can be exposed as actions for use by other agents.\n </small>\n </div>\n </div>\n </div>\n </form>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\"\n [disabled]=\"(isSaving$ | async) || false\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"save()\"\n [disabled]=\"((isSaving$ | async) || false) || ((isLoading$ | async) || false) || hasExecutionOrderError()\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Saving...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Save Settings\n }\n </button>\n </div>\n</div>"]}