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

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 (398) 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-form-tabs.d.ts +1 -0
  10. package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-form-tabs.js +2 -0
  12. package/dist/lib/custom/AIAgents/agent-form-tabs.js.map +1 -1
  13. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  14. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  15. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  16. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  17. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  18. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1322 -783
  20. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  22. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  23. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  24. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  25. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  26. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  27. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  28. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  29. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  30. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  32. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  37. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  38. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  40. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  42. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  43. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  44. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  46. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  48. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  50. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  52. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  54. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  56. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  57. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  58. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  60. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  61. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  62. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  63. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +694 -252
  64. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  65. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  66. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  67. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  68. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  69. package/dist/lib/custom/AIPrompts/pending-records.d.ts +11 -0
  70. package/dist/lib/custom/AIPrompts/pending-records.d.ts.map +1 -0
  71. package/dist/lib/custom/AIPrompts/pending-records.js +21 -0
  72. package/dist/lib/custom/AIPrompts/pending-records.js.map +1 -0
  73. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  74. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  75. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  76. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  77. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  78. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  79. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  80. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  81. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  82. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  83. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  84. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  85. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  86. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  87. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  88. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  89. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  90. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  91. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  92. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  93. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  94. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  95. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  96. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  97. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  98. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  99. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  100. package/dist/lib/custom/Entities/entity-form.component.d.ts +217 -29
  101. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  102. package/dist/lib/custom/Entities/entity-form.component.js +734 -285
  103. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  104. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  105. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  106. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  107. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  108. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  109. package/dist/lib/custom/Files/file-form.component.js +2 -2
  110. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  111. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  112. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  113. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  114. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  115. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
  116. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
  117. package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
  118. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
  119. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
  120. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
  121. package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
  122. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
  123. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  124. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  125. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  126. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  127. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  128. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  129. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  130. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  131. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +129 -4
  132. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  133. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +904 -90
  134. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  135. package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts +37 -0
  136. package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts.map +1 -0
  137. package/dist/lib/custom/Rubrics/evaluation-form.component.js +399 -0
  138. package/dist/lib/custom/Rubrics/evaluation-form.component.js.map +1 -0
  139. package/dist/lib/custom/Rubrics/record-forms.component.d.ts +69 -0
  140. package/dist/lib/custom/Rubrics/record-forms.component.d.ts.map +1 -0
  141. package/dist/lib/custom/Rubrics/record-forms.component.js +587 -0
  142. package/dist/lib/custom/Rubrics/record-forms.component.js.map +1 -0
  143. package/dist/lib/custom/Rubrics/rubric-form.component.d.ts +67 -0
  144. package/dist/lib/custom/Rubrics/rubric-form.component.d.ts.map +1 -0
  145. package/dist/lib/custom/Rubrics/rubric-form.component.js +534 -0
  146. package/dist/lib/custom/Rubrics/rubric-form.component.js.map +1 -0
  147. package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts +25 -0
  148. package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts.map +1 -0
  149. package/dist/lib/custom/Rubrics/rubric-form.panels.js +299 -0
  150. package/dist/lib/custom/Rubrics/rubric-form.panels.js.map +1 -0
  151. package/dist/lib/custom/Rubrics/scale-form.component.d.ts +31 -0
  152. package/dist/lib/custom/Rubrics/scale-form.component.d.ts.map +1 -0
  153. package/dist/lib/custom/Rubrics/scale-form.component.js +395 -0
  154. package/dist/lib/custom/Rubrics/scale-form.component.js.map +1 -0
  155. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  156. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  157. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  158. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  159. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  160. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  161. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  162. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  163. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  164. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  165. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  166. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  167. package/dist/lib/custom/Templates/templates-form.component.d.ts +153 -19
  168. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  169. package/dist/lib/custom/Templates/templates-form.component.js +434 -217
  170. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  171. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  172. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  173. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  174. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  175. package/dist/lib/custom/Tests/test-form.component.d.ts +223 -27
  176. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  177. package/dist/lib/custom/Tests/test-form.component.js +951 -530
  178. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  179. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  180. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  181. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  182. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  183. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  184. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  185. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  186. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  187. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  188. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  189. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  190. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  191. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +395 -47
  192. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  193. package/dist/lib/custom/Tests/test-suite-form.component.js +1719 -1007
  194. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  195. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  196. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  197. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  198. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  199. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  200. package/dist/lib/custom/Users/user-overview.panel.js +3 -3
  201. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  202. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  203. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  204. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  205. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  206. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  207. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  208. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  209. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  210. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  211. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  212. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  213. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  214. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  215. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  216. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  217. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  218. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  219. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  220. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  221. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  222. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  223. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  224. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  225. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  226. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
  227. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  228. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
  229. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  230. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  231. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  232. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  233. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  234. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  235. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  236. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  237. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  238. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  239. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  240. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  241. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  242. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  243. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  244. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  245. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  246. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  247. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  248. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  249. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  250. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  251. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  252. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  253. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  254. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  255. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  256. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  257. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  258. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  259. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  260. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  261. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  262. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  263. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  264. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  265. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  266. package/dist/lib/custom/custom-forms.module.d.ts +56 -48
  267. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  268. package/dist/lib/custom/custom-forms.module.js +60 -0
  269. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  270. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  271. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  272. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  273. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  274. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
  275. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +61 -43
  276. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  277. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts +10 -0
  278. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts.map +1 -0
  279. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js +74 -0
  280. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js.map +1 -0
  281. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
  282. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +37 -19
  283. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
  284. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  285. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +78 -52
  286. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  287. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  288. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  289. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  290. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +156 -84
  291. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  292. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts +10 -0
  293. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts.map +1 -0
  294. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js +62 -0
  295. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js.map +1 -0
  296. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
  297. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +24 -6
  298. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  299. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  300. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  301. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.d.ts.map +1 -1
  302. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +24 -16
  303. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
  304. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts +10 -0
  305. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts.map +1 -0
  306. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js +107 -0
  307. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js.map +1 -0
  308. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts +10 -0
  309. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts.map +1 -0
  310. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js +74 -0
  311. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js.map +1 -0
  312. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts +10 -0
  313. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts.map +1 -0
  314. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js +135 -0
  315. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js.map +1 -0
  316. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts +10 -0
  317. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts.map +1 -0
  318. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js +87 -0
  319. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js.map +1 -0
  320. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts +10 -0
  321. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts.map +1 -0
  322. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js +107 -0
  323. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js.map +1 -0
  324. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts +10 -0
  325. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts.map +1 -0
  326. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js +155 -0
  327. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js.map +1 -0
  328. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts +10 -0
  329. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts.map +1 -0
  330. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js +62 -0
  331. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js.map +1 -0
  332. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts +10 -0
  333. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts.map +1 -0
  334. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js +183 -0
  335. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js.map +1 -0
  336. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts +10 -0
  337. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts.map +1 -0
  338. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js +120 -0
  339. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js.map +1 -0
  340. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts +10 -0
  341. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts.map +1 -0
  342. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js +107 -0
  343. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js.map +1 -0
  344. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts +10 -0
  345. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts.map +1 -0
  346. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js +103 -0
  347. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js.map +1 -0
  348. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts +10 -0
  349. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts.map +1 -0
  350. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js +171 -0
  351. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js.map +1 -0
  352. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.d.ts.map +1 -1
  353. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +24 -16
  354. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
  355. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +27 -25
  356. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
  357. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.d.ts.map +1 -1
  358. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +19 -11
  359. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
  360. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  361. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +209 -119
  362. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  363. package/dist/lib/generated/generated-forms.module.d.ts +436 -422
  364. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  365. package/dist/lib/generated/generated-forms.module.js +44 -2
  366. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  367. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  368. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  369. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  370. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  371. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  372. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  373. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  374. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  375. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  376. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  377. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  378. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
  379. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  380. package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
  381. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  382. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
  383. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  384. package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
  385. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  386. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts +116 -0
  387. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts.map +1 -0
  388. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js +820 -0
  389. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js.map +1 -0
  390. package/dist/lib/shared/components/template-editor.component.d.ts +158 -15
  391. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  392. package/dist/lib/shared/components/template-editor.component.js +389 -127
  393. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  394. package/dist/public-api.d.ts +5 -0
  395. package/dist/public-api.d.ts.map +1 -1
  396. package/dist/public-api.js +5 -0
  397. package/dist/public-api.js.map +1 -1
  398. package/package.json +47 -42
@@ -6,19 +6,19 @@ 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 SubAgentSelectorResult {
9
- selectedAgents: MJAIAgentEntityExtended[];
10
- createNew: boolean;
9
+ SelectedAgents: MJAIAgentEntityExtended[];
10
+ CreateNew: boolean;
11
11
  }
12
12
  export interface SubAgentSelectorConfig {
13
- title: string;
14
- multiSelect: boolean;
15
- selectedAgentIds: string[];
16
- showCreateNew: boolean;
17
- parentAgentId: string;
13
+ Title: string;
14
+ MultiSelect: boolean;
15
+ SelectedAgentIds: string[];
16
+ ShowCreateNew: boolean;
17
+ ParentAgentId: string;
18
18
  }
19
19
  export interface AgentDisplayItem extends MJAIAgentEntityExtended {
20
- selected: boolean;
21
- typeName?: string;
20
+ Selected: boolean;
21
+ TypeName?: string;
22
22
  }
23
23
  /**
24
24
  * Sub-Agent Selector Dialog for selecting agents to convert to sub-agents.
@@ -28,16 +28,54 @@ export declare class SubAgentSelectorDialogComponent extends BaseAngularComponen
28
28
  private cdr;
29
29
  config: SubAgentSelectorConfig;
30
30
  private destroy$;
31
- result: Subject<SubAgentSelectorResult | null>;
32
- allAgents$: BehaviorSubject<AgentDisplayItem[]>;
33
- agentTypes$: BehaviorSubject<MJAIAgentTypeEntity[]>;
34
- filteredAgents$: BehaviorSubject<AgentDisplayItem[]>;
35
- selectedAgents$: BehaviorSubject<Set<string>>;
36
- isLoading$: BehaviorSubject<boolean>;
37
- searchControl: FormControl<string | null>;
38
- selectedTypeId$: BehaviorSubject<string>;
31
+ Result: Subject<SubAgentSelectorResult | null>;
32
+ /** @deprecated Use {@link Result}. */
33
+ get result(): Subject<SubAgentSelectorResult | null>;
34
+ /** @deprecated Use {@link Result}. */
35
+ set result(value: Subject<SubAgentSelectorResult | null>);
36
+ AllAgents$: BehaviorSubject<AgentDisplayItem[]>;
37
+ /** @deprecated Use {@link AllAgents$}. */
38
+ get allAgents$(): BehaviorSubject<AgentDisplayItem[]>;
39
+ /** @deprecated Use {@link AllAgents$}. */
40
+ set allAgents$(value: BehaviorSubject<AgentDisplayItem[]>);
41
+ AgentTypes$: BehaviorSubject<MJAIAgentTypeEntity[]>;
42
+ /** @deprecated Use {@link AgentTypes$}. */
43
+ get agentTypes$(): BehaviorSubject<MJAIAgentTypeEntity[]>;
44
+ /** @deprecated Use {@link AgentTypes$}. */
45
+ set agentTypes$(value: BehaviorSubject<MJAIAgentTypeEntity[]>);
46
+ FilteredAgents$: BehaviorSubject<AgentDisplayItem[]>;
47
+ /** @deprecated Use {@link FilteredAgents$}. */
48
+ get filteredAgents$(): BehaviorSubject<AgentDisplayItem[]>;
49
+ /** @deprecated Use {@link FilteredAgents$}. */
50
+ set filteredAgents$(value: BehaviorSubject<AgentDisplayItem[]>);
51
+ SelectedAgents$: BehaviorSubject<Set<string>>;
52
+ /** @deprecated Use {@link SelectedAgents$}. */
53
+ get selectedAgents$(): BehaviorSubject<Set<string>>;
54
+ /** @deprecated Use {@link SelectedAgents$}. */
55
+ set selectedAgents$(value: BehaviorSubject<Set<string>>);
56
+ IsLoading$: BehaviorSubject<boolean>;
57
+ /** @deprecated Use {@link IsLoading$}. */
58
+ get isLoading$(): BehaviorSubject<boolean>;
59
+ /** @deprecated Use {@link IsLoading$}. */
60
+ set isLoading$(value: BehaviorSubject<boolean>);
61
+ SearchControl: FormControl<string | null>;
62
+ /** @deprecated Use {@link SearchControl}. */
63
+ get searchControl(): FormControl<string | null>;
64
+ /** @deprecated Use {@link SearchControl}. */
65
+ set searchControl(value: FormControl<string | null>);
66
+ SelectedTypeId$: BehaviorSubject<string>;
67
+ /** @deprecated Use {@link SelectedTypeId$}. */
68
+ get selectedTypeId$(): BehaviorSubject<string>;
69
+ /** @deprecated Use {@link SelectedTypeId$}. */
70
+ set selectedTypeId$(value: BehaviorSubject<string>);
71
+ get SelectedCount(): number;
72
+ /** @deprecated Use {@link SelectedCount}. */
39
73
  get selectedCount(): number;
74
+ get TotalAgentCount(): number;
75
+ /** @deprecated Use {@link TotalAgentCount}. */
40
76
  get totalAgentCount(): number;
77
+ get FilteredCount(): number;
78
+ /** @deprecated Use {@link FilteredCount}. */
41
79
  get filteredCount(): number;
42
80
  /** True when the empty list is the result of search/type filtering (vs. no eligible agents at all). */
43
81
  get IsAgentListNarrowed(): boolean;
@@ -52,8 +90,14 @@ export declare class SubAgentSelectorDialogComponent extends BaseAngularComponen
52
90
  private setupFiltering;
53
91
  private filterAgents;
54
92
  private preselectExistingAgents;
93
+ SelectType(typeId: string): void;
94
+ /** @deprecated Use {@link SelectType}. */
55
95
  selectType(typeId: string): void;
96
+ ToggleAgentSelection(agent: AgentDisplayItem): void;
97
+ /** @deprecated Use {@link ToggleAgentSelection}. */
56
98
  toggleAgentSelection(agent: AgentDisplayItem): void;
99
+ ClearSearch(): void;
100
+ /** @deprecated Use {@link ClearSearch}. */
57
101
  clearSearch(): void;
58
102
  /**
59
103
  * Backs the no-results empty-state "Clear Filters" CTA. Unlike clearSearch (the
@@ -61,11 +105,21 @@ export declare class SubAgentSelectorDialogComponent extends BaseAngularComponen
61
105
  * dimension the list narrows on — search AND the agent-type filter — so the CTA
62
106
  * actually returns results instead of appearing to do nothing.
63
107
  */
108
+ ClearFilters(): void;
109
+ /** @deprecated Use {@link ClearFilters}. */
64
110
  clearFilters(): void;
111
+ GetAgentIcon(agent: AgentDisplayItem): string;
112
+ /** @deprecated Use {@link GetAgentIcon}. */
65
113
  getAgentIcon(agent: AgentDisplayItem): string;
114
+ GetAgentStatusColor(agent: AgentDisplayItem): string;
115
+ /** @deprecated Use {@link GetAgentStatusColor}. */
66
116
  getAgentStatusColor(agent: AgentDisplayItem): string;
67
117
  cancel(): void;
118
+ CreateNew(): void;
119
+ /** @deprecated Use {@link CreateNew}. */
68
120
  createNew(): void;
121
+ AddSelectedAgents(): Promise<void>;
122
+ /** @deprecated Use {@link AddSelectedAgents}. */
69
123
  addSelectedAgents(): Promise<void>;
70
124
  static ɵfac: i0.ɵɵFactoryDeclaration<SubAgentSelectorDialogComponent, never>;
71
125
  static ɵcmp: i0.ɵɵComponentDeclaration<SubAgentSelectorDialogComponent, "mj-sub-agent-selector-dialog", never, {}, { "DialogClose": "DialogClose"; }, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-selector-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-selector-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2E,MAAM,MAAM,CAAC;AAEzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAMa,+BAAgC,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAgDlG,OAAO,CAAC,GAAG;IA7Cb,MAAM,EAAG,sBAAsB,CAAC;IAGhC,OAAO,CAAC,QAAQ,CAAuB;IAChC,MAAM,yCAAgD;IAG7D,UAAU,sCAA+C;IACzD,WAAW,yCAAkD;IAC7D,eAAe,sCAA+C;IAC9D,eAAe,+BAA+C;IAC9D,UAAU,2BAAuC;IAGjD,aAAa,6BAAuB;IACpC,eAAe,0BAAsC;IAGrD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,uGAAuG;IACvG,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,qDAAqD;IACrD,IAAI,eAAe,IAAI,MAAM,CAI5B;IAES,WAAW,qBAA4B;gBAGvC,GAAG,EAAE,iBAAiB;IAIhC,QAAQ;IAMR,WAAW;YAKG,cAAc;YAYd,kBAAkB;IAwChC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,uBAAuB;IAgB/B,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB;IAqC5C,WAAW;IAIX;;;;;OAKG;IACH,YAAY;IAKZ,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAO7C,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAWpD,MAAM;IAKN,SAAS;IAQH,iBAAiB;yCA/PZ,+BAA+B;2CAA/B,+BAA+B;CAgR3C"}
1
+ {"version":3,"file":"sub-agent-selector-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/sub-agent-selector-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2E,MAAM,MAAM,CAAC;AAEzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAMa,+BAAgC,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAuIlG,OAAO,CAAC,GAAG;IApIb,MAAM,EAAG,sBAAsB,CAAC;IAGhC,OAAO,CAAC,QAAQ,CAAuB;IAChC,MAAM,yCAAgD;IAE7D,sCAAsC;IACtC,IAAW,MAAM,2CAEhB;IACD,sCAAsC;IACtC,IAAW,MAAM,CAAC,KAAK,wCAAA,EAEtB;IAGD,UAAU,sCAA+C;IAEzD,0CAA0C;IAC1C,IAAI,UAAU,wCAEb;IACD,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,qCAAA,EAEnB;IACD,WAAW,yCAAkD;IAE7D,2CAA2C;IAC3C,IAAI,WAAW,2CAEd;IACD,2CAA2C;IAC3C,IAAI,WAAW,CAAC,KAAK,wCAAA,EAEpB;IACD,eAAe,sCAA+C;IAE9D,+CAA+C;IAC/C,IAAI,eAAe,wCAElB;IACD,+CAA+C;IAC/C,IAAI,eAAe,CAAC,KAAK,qCAAA,EAExB;IACD,eAAe,+BAA+C;IAE9D,+CAA+C;IAC/C,IAAI,eAAe,iCAElB;IACD,+CAA+C;IAC/C,IAAI,eAAe,CAAC,KAAK,8BAAA,EAExB;IACD,UAAU,2BAAuC;IAEjD,0CAA0C;IAC1C,IAAI,UAAU,6BAEb;IACD,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,0BAAA,EAEnB;IAGD,aAAa,6BAAuB;IAEpC,6CAA6C;IAC7C,IAAI,aAAa,+BAEhB;IACD,6CAA6C;IAC7C,IAAI,aAAa,CAAC,KAAK,4BAAA,EAEtB;IACD,eAAe,0BAAsC;IAErD,+CAA+C;IAC/C,IAAI,eAAe,4BAElB;IACD,+CAA+C;IAC/C,IAAI,eAAe,CAAC,KAAK,yBAAA,EAExB;IAGD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,+CAA+C;IAC/C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,uGAAuG;IACvG,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,qDAAqD;IACrD,IAAI,eAAe,IAAI,MAAM,CAI5B;IAES,WAAW,qBAA4B;gBAGvC,GAAG,EAAE,iBAAiB;IAIhC,QAAQ;IAMR,WAAW;YAKG,cAAc;YAYd,kBAAkB;IAwChC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,uBAAuB;IAgB/B,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,0CAA0C;IAC1C,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB;IAqC5C,oDAAoD;IACpD,oBAAoB,CAAC,KAAK,EAAE,gBAAgB;IAI5C,WAAW;IAIX,2CAA2C;IAC3C,WAAW;IAIX;;;;;OAKG;IACH,YAAY;IAKZ,4CAA4C;IAC5C,YAAY;IAIZ,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAO7C,4CAA4C;IAC5C,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI7C,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IASpD,mDAAmD;IACnD,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAMpD,MAAM;IAKN,SAAS;IAQT,yCAAyC;IACzC,SAAS;IAIH,iBAAiB;IAkBvB,iDAAiD;IAC3C,iBAAiB;yCA5YZ,+BAA+B;2CAA/B,+BAA+B;CA+Y3C"}
@@ -88,7 +88,7 @@ function SubAgentSelectorDialogComponent_Conditional_26_Conditional_2_For_2_Cond
88
88
  } if (rf & 2) {
89
89
  const agent_r5 = i0.ɵɵnextContext().$implicit;
90
90
  i0.ɵɵadvance();
91
- i0.ɵɵtextInterpolate(agent_r5.typeName);
91
+ i0.ɵɵtextInterpolate(agent_r5.TypeName);
92
92
  } }
93
93
  function SubAgentSelectorDialogComponent_Conditional_26_Conditional_2_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
94
94
  i0.ɵɵelementStart(0, "span", 44);
@@ -120,9 +120,9 @@ function SubAgentSelectorDialogComponent_Conditional_26_Conditional_2_For_2_Temp
120
120
  i0.ɵɵelementEnd()()();
121
121
  } if (rf & 2) {
122
122
  const agent_r5 = ctx.$implicit;
123
- i0.ɵɵclassProp("selected", agent_r5.selected);
123
+ i0.ɵɵclassProp("selected", agent_r5.Selected);
124
124
  i0.ɵɵadvance(2);
125
- i0.ɵɵconditional(agent_r5.selected ? 2 : 3);
125
+ i0.ɵɵconditional(agent_r5.Selected ? 2 : 3);
126
126
  i0.ɵɵadvance(3);
127
127
  i0.ɵɵconditional(agent_r5.LogoURL ? 5 : 6);
128
128
  i0.ɵɵadvance(4);
@@ -132,7 +132,7 @@ function SubAgentSelectorDialogComponent_Conditional_26_Conditional_2_For_2_Temp
132
132
  i0.ɵɵadvance(2);
133
133
  i0.ɵɵconditional(agent_r5.Status ? 12 : -1);
134
134
  i0.ɵɵadvance();
135
- i0.ɵɵconditional(agent_r5.typeName ? 13 : -1);
135
+ i0.ɵɵconditional(agent_r5.TypeName ? 13 : -1);
136
136
  i0.ɵɵadvance();
137
137
  i0.ɵɵconditional(agent_r5.ExecutionMode ? 14 : -1);
138
138
  } }
@@ -177,19 +177,95 @@ function SubAgentSelectorDialogComponent_Conditional_35_Template(rf, ctx) { if (
177
177
  * Only shows agents with NULL ParentID (root agents) that can become sub-agents.
178
178
  */
179
179
  export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
180
+ /** @deprecated Use {@link Result}. */
181
+ get result() {
182
+ return this.Result;
183
+ }
184
+ /** @deprecated Use {@link Result}. */
185
+ set result(value) {
186
+ this.Result = value;
187
+ }
188
+ /** @deprecated Use {@link AllAgents$}. */
189
+ get allAgents$() {
190
+ return this.AllAgents$;
191
+ }
192
+ /** @deprecated Use {@link AllAgents$}. */
193
+ set allAgents$(value) {
194
+ this.AllAgents$ = value;
195
+ }
196
+ /** @deprecated Use {@link AgentTypes$}. */
197
+ get agentTypes$() {
198
+ return this.AgentTypes$;
199
+ }
200
+ /** @deprecated Use {@link AgentTypes$}. */
201
+ set agentTypes$(value) {
202
+ this.AgentTypes$ = value;
203
+ }
204
+ /** @deprecated Use {@link FilteredAgents$}. */
205
+ get filteredAgents$() {
206
+ return this.FilteredAgents$;
207
+ }
208
+ /** @deprecated Use {@link FilteredAgents$}. */
209
+ set filteredAgents$(value) {
210
+ this.FilteredAgents$ = value;
211
+ }
212
+ /** @deprecated Use {@link SelectedAgents$}. */
213
+ get selectedAgents$() {
214
+ return this.SelectedAgents$;
215
+ }
216
+ /** @deprecated Use {@link SelectedAgents$}. */
217
+ set selectedAgents$(value) {
218
+ this.SelectedAgents$ = value;
219
+ }
220
+ /** @deprecated Use {@link IsLoading$}. */
221
+ get isLoading$() {
222
+ return this.IsLoading$;
223
+ }
224
+ /** @deprecated Use {@link IsLoading$}. */
225
+ set isLoading$(value) {
226
+ this.IsLoading$ = value;
227
+ }
228
+ /** @deprecated Use {@link SearchControl}. */
229
+ get searchControl() {
230
+ return this.SearchControl;
231
+ }
232
+ /** @deprecated Use {@link SearchControl}. */
233
+ set searchControl(value) {
234
+ this.SearchControl = value;
235
+ }
236
+ /** @deprecated Use {@link SelectedTypeId$}. */
237
+ get selectedTypeId$() {
238
+ return this.SelectedTypeId$;
239
+ }
240
+ /** @deprecated Use {@link SelectedTypeId$}. */
241
+ set selectedTypeId$(value) {
242
+ this.SelectedTypeId$ = value;
243
+ }
180
244
  // Computed values
245
+ get SelectedCount() {
246
+ return this.SelectedAgents$.value.size;
247
+ }
248
+ /** @deprecated Use {@link SelectedCount}. */
181
249
  get selectedCount() {
182
- return this.selectedAgents$.value.size;
250
+ return this.SelectedCount;
183
251
  }
252
+ get TotalAgentCount() {
253
+ return this.AllAgents$.value.length;
254
+ }
255
+ /** @deprecated Use {@link TotalAgentCount}. */
184
256
  get totalAgentCount() {
185
- return this.allAgents$.value.length;
257
+ return this.TotalAgentCount;
258
+ }
259
+ get FilteredCount() {
260
+ return this.FilteredAgents$.value.length;
186
261
  }
262
+ /** @deprecated Use {@link FilteredCount}. */
187
263
  get filteredCount() {
188
- return this.filteredAgents$.value.length;
264
+ return this.FilteredCount;
189
265
  }
190
266
  /** True when the empty list is the result of search/type filtering (vs. no eligible agents at all). */
191
267
  get IsAgentListNarrowed() {
192
- return this.totalAgentCount > 0;
268
+ return this.TotalAgentCount > 0;
193
269
  }
194
270
  /** Supporting copy for the no-agents empty state. */
195
271
  get NoAgentsMessage() {
@@ -202,16 +278,16 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
202
278
  this.cdr = cdr;
203
279
  // Reactive state management
204
280
  this.destroy$ = new Subject();
205
- this.result = new Subject();
281
+ this.Result = new Subject();
206
282
  // Data streams
207
- this.allAgents$ = new BehaviorSubject([]);
208
- this.agentTypes$ = new BehaviorSubject([]);
209
- this.filteredAgents$ = new BehaviorSubject([]);
210
- this.selectedAgents$ = new BehaviorSubject(new Set());
211
- this.isLoading$ = new BehaviorSubject(false);
283
+ this.AllAgents$ = new BehaviorSubject([]);
284
+ this.AgentTypes$ = new BehaviorSubject([]);
285
+ this.FilteredAgents$ = new BehaviorSubject([]);
286
+ this.SelectedAgents$ = new BehaviorSubject(new Set());
287
+ this.IsLoading$ = new BehaviorSubject(false);
212
288
  // UI state
213
- this.searchControl = new FormControl('');
214
- this.selectedTypeId$ = new BehaviorSubject('all');
289
+ this.SearchControl = new FormControl('');
290
+ this.SelectedTypeId$ = new BehaviorSubject('all');
215
291
  this.DialogClose = new EventEmitter();
216
292
  }
217
293
  ngOnInit() {
@@ -224,7 +300,7 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
224
300
  this.destroy$.complete();
225
301
  }
226
302
  async initializeData() {
227
- this.isLoading$.next(true);
303
+ this.IsLoading$.next(true);
228
304
  try {
229
305
  await this.loadAgentsAndTypes();
230
306
  }
@@ -232,7 +308,7 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
232
308
  console.error('Error loading dialog data:', error);
233
309
  }
234
310
  finally {
235
- this.isLoading$.next(false);
311
+ this.IsLoading$.next(false);
236
312
  }
237
313
  }
238
314
  async loadAgentsAndTypes() {
@@ -242,7 +318,7 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
242
318
  // Root agents (index 0)
243
319
  {
244
320
  EntityName: 'MJ: AI Agents',
245
- ExtraFilter: `ParentID IS NULL AND ID != '${this.config.parentAgentId}' AND Status = 'Active' AND (ExposeAsAction = 0 OR ExposeAsAction IS NULL)`,
321
+ ExtraFilter: `ParentID IS NULL AND ID != '${this.config.ParentAgentId}' AND Status = 'Active' AND (ExposeAsAction = 0 OR ExposeAsAction IS NULL)`,
246
322
  OrderBy: 'Name',
247
323
  ResultType: 'entity_object',
248
324
  MaxRows: 1000
@@ -260,21 +336,21 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
260
336
  if (results[0].Success) {
261
337
  const agents = (results[0].Results || []).map(agent => ({
262
338
  ...agent.GetAll(),
263
- selected: false,
264
- typeName: agent.Type || 'Default'
339
+ Selected: false,
340
+ TypeName: agent.Type || 'Default'
265
341
  }));
266
- this.allAgents$.next(agents);
342
+ this.AllAgents$.next(agents);
267
343
  }
268
344
  // Process agent types (index 1)
269
345
  if (results[1].Success) {
270
- this.agentTypes$.next(results[1].Results || []);
346
+ this.AgentTypes$.next(results[1].Results || []);
271
347
  }
272
348
  }
273
349
  setupFiltering() {
274
350
  combineLatest([
275
- this.allAgents$,
276
- this.searchControl.valueChanges.pipe(debounceTime(300), distinctUntilChanged(), startWith('')),
277
- this.selectedTypeId$
351
+ this.AllAgents$,
352
+ this.SearchControl.valueChanges.pipe(debounceTime(300), distinctUntilChanged(), startWith('')),
353
+ this.SelectedTypeId$
278
354
  ]).pipe(takeUntil(this.destroy$)).subscribe(([agents, searchTerm, typeId]) => {
279
355
  this.filterAgents(agents, searchTerm || '', typeId);
280
356
  });
@@ -290,40 +366,44 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
290
366
  const term = searchTerm.toLowerCase();
291
367
  filtered = filtered.filter(agent => (agent.Name && agent.Name.toLowerCase().includes(term)) ||
292
368
  (agent.Description && agent.Description.toLowerCase().includes(term)) ||
293
- (agent.typeName && agent.typeName.toLowerCase().includes(term)));
369
+ (agent.TypeName && agent.TypeName.toLowerCase().includes(term)));
294
370
  }
295
- this.filteredAgents$.next(filtered);
371
+ this.FilteredAgents$.next(filtered);
296
372
  }
297
373
  preselectExistingAgents() {
298
- if (this.config.selectedAgentIds.length > 0) {
299
- const selected = new Set(this.config.selectedAgentIds);
300
- this.selectedAgents$.next(selected);
374
+ if (this.config.SelectedAgentIds.length > 0) {
375
+ const selected = new Set(this.config.SelectedAgentIds);
376
+ this.SelectedAgents$.next(selected);
301
377
  // Update agent selection state
302
- const agents = this.allAgents$.value;
378
+ const agents = this.AllAgents$.value;
303
379
  agents.forEach(agent => {
304
- agent.selected = selected.has(agent.ID);
380
+ agent.Selected = selected.has(agent.ID);
305
381
  });
306
- this.allAgents$.next(agents);
382
+ this.AllAgents$.next(agents);
307
383
  }
308
384
  }
309
385
  // === UI Event Handlers ===
386
+ SelectType(typeId) {
387
+ this.SelectedTypeId$.next(typeId);
388
+ }
389
+ /** @deprecated Use {@link SelectType}. */
310
390
  selectType(typeId) {
311
- this.selectedTypeId$.next(typeId);
391
+ return this.SelectType(typeId);
312
392
  }
313
- toggleAgentSelection(agent) {
314
- const selected = this.selectedAgents$.value;
315
- const agents = this.allAgents$.value;
393
+ ToggleAgentSelection(agent) {
394
+ const selected = this.SelectedAgents$.value;
395
+ const agents = this.AllAgents$.value;
316
396
  // Find the agent and toggle its selection
317
397
  const agentToUpdate = agents.find(a => UUIDsEqual(a.ID, agent.ID));
318
398
  if (agentToUpdate) {
319
- agentToUpdate.selected = !agentToUpdate.selected;
320
- if (agentToUpdate.selected) {
321
- if (!this.config.multiSelect) {
399
+ agentToUpdate.Selected = !agentToUpdate.Selected;
400
+ if (agentToUpdate.Selected) {
401
+ if (!this.config.MultiSelect) {
322
402
  // Single select mode - clear other selections
323
403
  selected.clear();
324
404
  agents.forEach(a => {
325
405
  if (!UUIDsEqual(a.ID, agent.ID)) {
326
- a.selected = false;
406
+ a.Selected = false;
327
407
  }
328
408
  });
329
409
  }
@@ -332,19 +412,27 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
332
412
  else {
333
413
  selected.delete(agent.ID);
334
414
  }
335
- this.selectedAgents$.next(new Set(selected));
336
- this.allAgents$.next(agents);
415
+ this.SelectedAgents$.next(new Set(selected));
416
+ this.AllAgents$.next(agents);
337
417
  // Update filtered agents to reflect selection state
338
- const filtered = this.filteredAgents$.value;
418
+ const filtered = this.FilteredAgents$.value;
339
419
  const filteredAgent = filtered.find(a => UUIDsEqual(a.ID, agent.ID));
340
420
  if (filteredAgent) {
341
- filteredAgent.selected = agentToUpdate.selected;
342
- this.filteredAgents$.next(filtered);
421
+ filteredAgent.Selected = agentToUpdate.Selected;
422
+ this.FilteredAgents$.next(filtered);
343
423
  }
344
424
  }
345
425
  }
426
+ /** @deprecated Use {@link ToggleAgentSelection}. */
427
+ toggleAgentSelection(agent) {
428
+ return this.ToggleAgentSelection(agent);
429
+ }
430
+ ClearSearch() {
431
+ this.SearchControl.reset();
432
+ }
433
+ /** @deprecated Use {@link ClearSearch}. */
346
434
  clearSearch() {
347
- this.searchControl.reset();
435
+ return this.ClearSearch();
348
436
  }
349
437
  /**
350
438
  * Backs the no-results empty-state "Clear Filters" CTA. Unlike clearSearch (the
@@ -352,17 +440,25 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
352
440
  * dimension the list narrows on — search AND the agent-type filter — so the CTA
353
441
  * actually returns results instead of appearing to do nothing.
354
442
  */
443
+ ClearFilters() {
444
+ this.SearchControl.reset();
445
+ this.SelectedTypeId$.next('all');
446
+ }
447
+ /** @deprecated Use {@link ClearFilters}. */
355
448
  clearFilters() {
356
- this.searchControl.reset();
357
- this.selectedTypeId$.next('all');
449
+ return this.ClearFilters();
358
450
  }
359
- getAgentIcon(agent) {
451
+ GetAgentIcon(agent) {
360
452
  if (agent.IconClass) {
361
453
  return agent.IconClass;
362
454
  }
363
455
  return 'fa-solid fa-robot';
364
456
  }
365
- getAgentStatusColor(agent) {
457
+ /** @deprecated Use {@link GetAgentIcon}. */
458
+ getAgentIcon(agent) {
459
+ return this.GetAgentIcon(agent);
460
+ }
461
+ GetAgentStatusColor(agent) {
366
462
  switch (agent.Status) {
367
463
  case 'Active': return 'var(--mj-status-success)';
368
464
  case 'Disabled': return 'var(--mj-text-muted)';
@@ -370,32 +466,44 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
370
466
  default: return 'var(--mj-text-muted)';
371
467
  }
372
468
  }
469
+ /** @deprecated Use {@link GetAgentStatusColor}. */
470
+ getAgentStatusColor(agent) {
471
+ return this.GetAgentStatusColor(agent);
472
+ }
373
473
  // === Dialog Actions ===
374
474
  cancel() {
375
- this.result.next(null);
475
+ this.Result.next(null);
376
476
  this.DialogClose.emit();
377
477
  }
378
- createNew() {
379
- this.result.next({
380
- selectedAgents: [],
381
- createNew: true
478
+ CreateNew() {
479
+ this.Result.next({
480
+ SelectedAgents: [],
481
+ CreateNew: true
382
482
  });
383
483
  this.DialogClose.emit();
384
484
  }
385
- async addSelectedAgents() {
386
- const selectedIds = this.selectedAgents$.value;
387
- const allAgents = this.allAgents$.value;
485
+ /** @deprecated Use {@link CreateNew}. */
486
+ createNew() {
487
+ return this.CreateNew();
488
+ }
489
+ async AddSelectedAgents() {
490
+ const selectedIds = this.SelectedAgents$.value;
491
+ const allAgents = this.AllAgents$.value;
388
492
  // Get the selected agent display items
389
493
  const selectedDisplayItems = allAgents
390
494
  .filter(agent => selectedIds.has(agent.ID));
391
495
  // Convert AgentDisplayItem to MJAIAgentEntityExtended by casting (they have the same structure)
392
496
  const selectedAgents = selectedDisplayItems.map(item => item);
393
- this.result.next({
394
- selectedAgents,
395
- createNew: false
497
+ this.Result.next({
498
+ SelectedAgents: selectedAgents,
499
+ CreateNew: false
396
500
  });
397
501
  this.DialogClose.emit();
398
502
  }
503
+ /** @deprecated Use {@link AddSelectedAgents}. */
504
+ async addSelectedAgents() {
505
+ return this.AddSelectedAgents();
506
+ }
399
507
  static { this.ɵfac = function SubAgentSelectorDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SubAgentSelectorDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
400
508
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubAgentSelectorDialogComponent, selectors: [["mj-sub-agent-selector-dialog"]], outputs: { DialogClose: "DialogClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 36, vars: 21, consts: [[1, "sub-agent-selector-dialog"], [1, "dialog-header"], [1, "header-info"], [1, "header-description"], [1, "header-stats"], [1, "selection-count"], [1, "total-count"], [1, "controls-section"], [1, "search-controls"], [1, "search-input"], [1, "fa-solid", "fa-search", "search-icon"], ["placeholder", "Search agents by name, description, or type...", 1, "mj-input", "search-field", 3, "formControl"], ["mjButton", "", "variant", "flat", 1, "clear-search"], [1, "filter-controls"], [1, "type-filter"], ["TextField", "Name", "ValueField", "ID", 1, "type-dropdown", 3, "ngModelChange", "ngModel", "ValuePrimitive", "DefaultItem", "Data"], [1, "loading-state"], [1, "content-area"], [1, "dialog-footer"], [1, "footer-left"], ["mjButton", "", "variant", "primary"], [1, "footer-right"], ["mjButton", "", "variant", "flat", 3, "click"], ["mjButton", "", "variant", "primary", 3, "click", "disabled"], ["mjButton", "", "variant", "flat", 1, "clear-search", 3, "click"], [1, "fa-solid", "fa-times"], [1, "fa-solid", "fa-spinner", "fa-spin", "fa-2x"], ["Icon", "fa-solid fa-robot", "Title", "No agents found", "Size", "compact", 3, "Variant", "Message", "ActionText"], [1, "agents-grid"], ["Icon", "fa-solid fa-robot", "Title", "No agents found", "Size", "compact", 3, "Action", "Variant", "Message", "ActionText"], [1, "agent-card", 3, "selected"], [1, "agent-card", 3, "click"], [1, "selection-indicator"], [1, "fa-solid", "fa-check-circle"], [1, "fa-regular", "fa-circle"], [1, "agent-icon"], [1, "agent-logo", 3, "src", "alt"], [3, "class"], [1, "agent-info"], [1, "agent-name"], [1, "agent-description"], [1, "agent-meta"], [1, "status-badge", 3, "background-color"], [1, "type-badge"], [1, "execution-badge"], [1, "status-badge"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "fa-solid", "fa-plus"]], template: function SubAgentSelectorDialogComponent_Template(rf, ctx) { if (rf & 1) {
401
509
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3");
@@ -437,7 +545,7 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
437
545
  i0.ɵɵelementEnd()()()();
438
546
  } if (rf & 2) {
439
547
  i0.ɵɵadvance(4);
440
- i0.ɵɵtextInterpolate(ctx.config.title || "Select Sub-Agents");
548
+ i0.ɵɵtextInterpolate(ctx.config.Title || "Select Sub-Agents");
441
549
  i0.ɵɵadvance(4);
442
550
  i0.ɵɵconditional(ctx.selectedCount > 0 ? 8 : -1);
443
551
  i0.ɵɵadvance(2);
@@ -451,16 +559,16 @@ export class SubAgentSelectorDialogComponent extends BaseAngularComponent {
451
559
  i0.ɵɵadvance(3);
452
560
  i0.ɵɵconditional(i0.ɵɵpipeBind1(25, 18, ctx.isLoading$) ? 24 : 26);
453
561
  i0.ɵɵadvance(5);
454
- i0.ɵɵconditional(ctx.config.showCreateNew ? 29 : -1);
562
+ i0.ɵɵconditional(ctx.config.ShowCreateNew ? 29 : -1);
455
563
  i0.ɵɵadvance(4);
456
564
  i0.ɵɵproperty("disabled", ctx.selectedCount === 0);
457
565
  i0.ɵɵadvance();
458
- i0.ɵɵconditional(ctx.config.multiSelect ? 34 : 35);
566
+ i0.ɵɵconditional(ctx.config.MultiSelect ? 34 : 35);
459
567
  } }, dependencies: [i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgModel, i1.FormControlDirective, i2.MJEmptyStateComponent, i2.MJButtonDirective, i2.MJDropdownComponent, i3.AsyncPipe], styles: [".sub-agent-selector-dialog[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n}\n\n\n[_nghost-%COMP%] .k-dialog, \n[_nghost-%COMP%] .k-window {\n z-index: 10000 !important;\n}\n\n[_nghost-%COMP%] .k-overlay {\n z-index: 9999 !important;\n}\n\n\n.dialog-header[_ngcontent-%COMP%] {\n padding: 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.header-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 0.5rem 0;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.header-description[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n}\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 0.25rem;\n font-size: 0.85rem;\n}\n\n.selection-count[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n.total-count[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n.controls-section[_ngcontent-%COMP%] {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.search-controls[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.search-input[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n z-index: 1;\n}\n\n.search-field[_ngcontent-%COMP%] {\n width: 100%;\n padding-left: 40px;\n}\n\n.clear-search[_ngcontent-%COMP%] {\n position: absolute;\n right: 8px;\n z-index: 1;\n}\n\n.filter-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.type-filter[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.type-filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.type-dropdown[_ngcontent-%COMP%] {\n min-width: 150px;\n}\n\n\n.content-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 1rem;\n}\n\n\n.loading-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 300px;\n color: var(--mj-text-muted);\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n margin-bottom: 1rem;\n}\n\n.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1rem;\n}\n\n\n.agents-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 1rem;\n}\n\n.agent-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 2px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n gap: 1rem;\n position: relative;\n}\n\n.agent-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.agent-card.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface));\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n}\n\n.selection-indicator[_ngcontent-%COMP%] {\n position: absolute;\n top: 0.75rem;\n right: 0.75rem;\n font-size: 1.1rem;\n}\n\n.selection-indicator[_ngcontent-%COMP%] .fa-check-circle[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n}\n\n.selection-indicator[_ngcontent-%COMP%] .fa-circle[_ngcontent-%COMP%] {\n color: var(--mj-border-default);\n}\n\n.agent-icon[_ngcontent-%COMP%] {\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.agent-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.5rem;\n color: var(--mj-brand-primary);\n}\n\n.agent-logo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.agent-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name[_ngcontent-%COMP%] {\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 0.5rem;\n word-wrap: break-word;\n}\n\n.agent-description[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-bottom: 0.75rem;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.agent-meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.status-badge[_ngcontent-%COMP%], \n.type-badge[_ngcontent-%COMP%], \n.execution-badge[_ngcontent-%COMP%] {\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n font-size: 0.75rem;\n font-weight: 500;\n color: var(--mj-text-inverse);\n}\n\n\n\n.type-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n}\n\n.execution-badge[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n}\n\n\n.dialog-footer[_ngcontent-%COMP%] {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.footer-left[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n\n.footer-right[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.75rem;\n}\n\n.dialog-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n\n.dialog-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0.5rem;\n}\n\n\n@media (max-width: 768px) {\n .agents-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .dialog-header[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 1rem;\n }\n\n .header-stats[_ngcontent-%COMP%] {\n align-items: flex-start;\n }\n\n .controls-section[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls[_ngcontent-%COMP%] {\n justify-content: flex-start;\n }\n\n .dialog-footer[_ngcontent-%COMP%] {\n flex-direction: column-reverse;\n gap: 1rem;\n }\n\n .footer-left[_ngcontent-%COMP%], \n .footer-right[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: center;\n }\n}"] }); }
460
568
  }
461
569
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubAgentSelectorDialogComponent, [{
462
570
  type: Component,
463
- args: [{ standalone: false, selector: 'mj-sub-agent-selector-dialog', template: "<!-- Sub-Agent Selector Dialog -->\n<div class=\"sub-agent-selector-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"header-info\">\n <h3>{{ config.title || 'Select Sub-Agents' }}</h3>\n <p class=\"header-description\">\n Choose existing root agents to convert into sub-agents. Only active agents without parents and not exposed as actions can be selected.\n </p>\n </div>\n <div class=\"header-stats\">\n @if (selectedCount > 0) {\n <span class=\"selection-count\">{{ selectedCount }} selected</span>\n }\n <span class=\"total-count\">{{ filteredCount }} of {{ totalAgentCount }} agents</span>\n </div>\n </div>\n\n <!-- Search and Filter Controls -->\n <div class=\"controls-section\">\n <div class=\"search-controls\">\n <div class=\"search-input\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input\n class=\"mj-input search-field\"\n [formControl]=\"searchControl\"\n placeholder=\"Search agents by name, description, or type...\">\n @if (searchControl.value) {\n <button mjButton\n variant=\"flat\"\n (click)=\"clearSearch()\"\n class=\"clear-search\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n\n <div class=\"filter-controls\">\n <div class=\"type-filter\">\n <label>Agent Type:</label>\n <mj-dropdown\n [ngModel]=\"selectedTypeId$ | async\"\n (ngModelChange)=\"selectType($any($event))\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'All Types', ID: 'all' }\"\n [Data]=\"agentTypes$ | async\"\n class=\"type-dropdown\">\n </mj-dropdown>\n </div>\n </div>\n </div>\n\n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n <p>Loading available agents...</p>\n </div>\n } @else {\n \n <!-- Content Area -->\n <div class=\"content-area\">\n @if (filteredCount === 0) {\n <mj-empty-state\n [Variant]=\"IsAgentListNarrowed ? 'no-results' : 'empty'\"\n Icon=\"fa-solid fa-robot\"\n Title=\"No agents found\"\n [Message]=\"NoAgentsMessage\"\n [ActionText]=\"IsAgentListNarrowed ? 'Clear Filters' : ''\"\n (Action)=\"clearFilters()\"\n Size=\"compact\" />\n } @else {\n \n <!-- Agents Grid -->\n <div class=\"agents-grid\">\n @for (agent of (filteredAgents$ | async); track agent.ID) {\n <div class=\"agent-card\" \n [class.selected]=\"agent.selected\"\n (click)=\"toggleAgentSelection(agent)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n @if (agent.selected) {\n <i class=\"fa-solid fa-check-circle\"></i>\n } @else {\n <i class=\"fa-regular fa-circle\"></i>\n }\n </div>\n \n <!-- Agent Icon/Logo -->\n <div class=\"agent-icon\">\n @if (agent.LogoURL) {\n <img [src]=\"agent.LogoURL\" [alt]=\"agent.Name + ' logo'\" class=\"agent-logo\">\n } @else {\n <i [class]=\"getAgentIcon(agent)\"></i>\n }\n </div>\n \n <!-- Agent Info -->\n <div class=\"agent-info\">\n <div class=\"agent-name\">{{ agent.Name }}</div>\n @if (agent.Description) {\n <div class=\"agent-description\">{{ agent.Description }}</div>\n }\n <div class=\"agent-meta\">\n @if (agent.Status) {\n <span class=\"status-badge\" [style.background-color]=\"getAgentStatusColor(agent)\">\n {{ agent.Status }}\n </span>\n }\n @if (agent.typeName) {\n <span class=\"type-badge\">{{ agent.typeName }}</span>\n }\n @if (agent.ExecutionMode) {\n <span class=\"execution-badge\">{{ agent.ExecutionMode }}</span>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <div class=\"footer-left\">\n @if (config.showCreateNew) {\n <button mjButton\n variant=\"primary\"\n (click)=\"createNew()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Sub-Agent\n </button>\n }\n </div>\n \n <div class=\"footer-right\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"addSelectedAgents()\"\n [disabled]=\"selectedCount === 0\">\n @if (config.multiSelect) {\n Add {{ selectedCount > 0 ? selectedCount + ' ' : '' }}Sub-Agent{{ selectedCount !== 1 ? 's' : '' }}\n } @else {\n Add Sub-Agent\n }\n </button>\n </div>\n </div>\n</div>", styles: [".sub-agent-selector-dialog {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n\n/* === Dialog Header === */\n.dialog-header {\n padding: 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.header-info h3 {\n margin: 0 0 0.5rem 0;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.header-description {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n}\n\n.header-stats {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 0.25rem;\n font-size: 0.85rem;\n}\n\n.selection-count {\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n.total-count {\n color: var(--mj-text-muted);\n}\n\n/* === Controls Section === */\n.controls-section {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.search-controls {\n flex: 1;\n}\n\n.search-input {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.search-icon {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n z-index: 1;\n}\n\n.search-field {\n width: 100%;\n padding-left: 40px;\n}\n\n.clear-search {\n position: absolute;\n right: 8px;\n z-index: 1;\n}\n\n.filter-controls {\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.type-filter {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.type-filter label {\n font-size: 0.85rem;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.type-dropdown {\n min-width: 150px;\n}\n\n/* === Content Area === */\n.content-area {\n flex: 1;\n overflow-y: auto;\n padding: 1rem;\n}\n\n/* === Loading State === */\n.loading-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 300px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i {\n color: var(--mj-brand-primary);\n margin-bottom: 1rem;\n}\n\n.loading-state p {\n margin: 0;\n font-size: 1rem;\n}\n\n/* === Agents Grid === */\n.agents-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 1rem;\n}\n\n.agent-card {\n background: var(--mj-bg-surface);\n border: 2px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n gap: 1rem;\n position: relative;\n}\n\n.agent-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.agent-card.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface));\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n}\n\n.selection-indicator {\n position: absolute;\n top: 0.75rem;\n right: 0.75rem;\n font-size: 1.1rem;\n}\n\n.selection-indicator .fa-check-circle {\n color: var(--mj-status-success);\n}\n\n.selection-indicator .fa-circle {\n color: var(--mj-border-default);\n}\n\n.agent-icon {\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.agent-icon i {\n font-size: 1.5rem;\n color: var(--mj-brand-primary);\n}\n\n.agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.agent-info {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name {\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 0.5rem;\n word-wrap: break-word;\n}\n\n.agent-description {\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-bottom: 0.75rem;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.agent-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.status-badge,\n.type-badge,\n.execution-badge {\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n font-size: 0.75rem;\n font-weight: 500;\n color: var(--mj-text-inverse);\n}\n\n/* Status badge color set dynamically via style binding */\n\n.type-badge {\n background: var(--mj-brand-primary);\n}\n\n.execution-badge {\n background: var(--mj-status-warning);\n}\n\n/* === Dialog Footer === */\n.dialog-footer {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.footer-left {\n display: flex;\n gap: 0.5rem;\n}\n\n.footer-right {\n display: flex;\n gap: 0.75rem;\n}\n\n.dialog-footer button {\n min-width: 100px;\n}\n\n.dialog-footer button i {\n margin-right: 0.5rem;\n}\n\n/* === Responsive Design === */\n@media (max-width: 768px) {\n .agents-grid {\n grid-template-columns: 1fr;\n }\n\n .dialog-header {\n flex-direction: column;\n gap: 1rem;\n }\n\n .header-stats {\n align-items: flex-start;\n }\n\n .controls-section {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls {\n justify-content: flex-start;\n }\n\n .dialog-footer {\n flex-direction: column-reverse;\n gap: 1rem;\n }\n\n .footer-left,\n .footer-right {\n width: 100%;\n justify-content: center;\n }\n}\n"] }]
571
+ args: [{ standalone: false, selector: 'mj-sub-agent-selector-dialog', template: "<!-- Sub-Agent Selector Dialog -->\n<div class=\"sub-agent-selector-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"header-info\">\n <h3>{{ config.Title || 'Select Sub-Agents' }}</h3>\n <p class=\"header-description\">\n Choose existing root agents to convert into sub-agents. Only active agents without parents and not exposed as actions can be selected.\n </p>\n </div>\n <div class=\"header-stats\">\n @if (selectedCount > 0) {\n <span class=\"selection-count\">{{ selectedCount }} selected</span>\n }\n <span class=\"total-count\">{{ filteredCount }} of {{ totalAgentCount }} agents</span>\n </div>\n </div>\n\n <!-- Search and Filter Controls -->\n <div class=\"controls-section\">\n <div class=\"search-controls\">\n <div class=\"search-input\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input\n class=\"mj-input search-field\"\n [formControl]=\"searchControl\"\n placeholder=\"Search agents by name, description, or type...\">\n @if (searchControl.value) {\n <button mjButton\n variant=\"flat\"\n (click)=\"clearSearch()\"\n class=\"clear-search\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n\n <div class=\"filter-controls\">\n <div class=\"type-filter\">\n <label>Agent Type:</label>\n <mj-dropdown\n [ngModel]=\"selectedTypeId$ | async\"\n (ngModelChange)=\"selectType($any($event))\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'All Types', ID: 'all' }\"\n [Data]=\"agentTypes$ | async\"\n class=\"type-dropdown\">\n </mj-dropdown>\n </div>\n </div>\n </div>\n\n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n <p>Loading available agents...</p>\n </div>\n } @else {\n \n <!-- Content Area -->\n <div class=\"content-area\">\n @if (filteredCount === 0) {\n <mj-empty-state\n [Variant]=\"IsAgentListNarrowed ? 'no-results' : 'empty'\"\n Icon=\"fa-solid fa-robot\"\n Title=\"No agents found\"\n [Message]=\"NoAgentsMessage\"\n [ActionText]=\"IsAgentListNarrowed ? 'Clear Filters' : ''\"\n (Action)=\"clearFilters()\"\n Size=\"compact\" />\n } @else {\n \n <!-- Agents Grid -->\n <div class=\"agents-grid\">\n @for (agent of (filteredAgents$ | async); track agent.ID) {\n <div class=\"agent-card\" \n [class.selected]=\"agent.Selected\"\n (click)=\"toggleAgentSelection(agent)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n @if (agent.Selected) {\n <i class=\"fa-solid fa-check-circle\"></i>\n } @else {\n <i class=\"fa-regular fa-circle\"></i>\n }\n </div>\n \n <!-- Agent Icon/Logo -->\n <div class=\"agent-icon\">\n @if (agent.LogoURL) {\n <img [src]=\"agent.LogoURL\" [alt]=\"agent.Name + ' logo'\" class=\"agent-logo\">\n } @else {\n <i [class]=\"getAgentIcon(agent)\"></i>\n }\n </div>\n \n <!-- Agent Info -->\n <div class=\"agent-info\">\n <div class=\"agent-name\">{{ agent.Name }}</div>\n @if (agent.Description) {\n <div class=\"agent-description\">{{ agent.Description }}</div>\n }\n <div class=\"agent-meta\">\n @if (agent.Status) {\n <span class=\"status-badge\" [style.background-color]=\"getAgentStatusColor(agent)\">\n {{ agent.Status }}\n </span>\n }\n @if (agent.TypeName) {\n <span class=\"type-badge\">{{ agent.TypeName }}</span>\n }\n @if (agent.ExecutionMode) {\n <span class=\"execution-badge\">{{ agent.ExecutionMode }}</span>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <div class=\"footer-left\">\n @if (config.ShowCreateNew) {\n <button mjButton\n variant=\"primary\"\n (click)=\"createNew()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create Sub-Agent\n </button>\n }\n </div>\n \n <div class=\"footer-right\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"addSelectedAgents()\"\n [disabled]=\"selectedCount === 0\">\n @if (config.MultiSelect) {\n Add {{ selectedCount > 0 ? selectedCount + ' ' : '' }}Sub-Agent{{ selectedCount !== 1 ? 's' : '' }}\n } @else {\n Add Sub-Agent\n }\n </button>\n </div>\n </div>\n</div>", styles: [".sub-agent-selector-dialog {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--mj-bg-surface-card);\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n\n/* === Dialog Header === */\n.dialog-header {\n padding: 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.header-info h3 {\n margin: 0 0 0.5rem 0;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.header-description {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n line-height: 1.4;\n}\n\n.header-stats {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 0.25rem;\n font-size: 0.85rem;\n}\n\n.selection-count {\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n.total-count {\n color: var(--mj-text-muted);\n}\n\n/* === Controls Section === */\n.controls-section {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.search-controls {\n flex: 1;\n}\n\n.search-input {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.search-icon {\n position: absolute;\n left: 12px;\n color: var(--mj-text-muted);\n z-index: 1;\n}\n\n.search-field {\n width: 100%;\n padding-left: 40px;\n}\n\n.clear-search {\n position: absolute;\n right: 8px;\n z-index: 1;\n}\n\n.filter-controls {\n display: flex;\n gap: 1rem;\n align-items: flex-end;\n}\n\n.type-filter {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.type-filter label {\n font-size: 0.85rem;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.type-dropdown {\n min-width: 150px;\n}\n\n/* === Content Area === */\n.content-area {\n flex: 1;\n overflow-y: auto;\n padding: 1rem;\n}\n\n/* === Loading State === */\n.loading-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 300px;\n color: var(--mj-text-muted);\n}\n\n.loading-state i {\n color: var(--mj-brand-primary);\n margin-bottom: 1rem;\n}\n\n.loading-state p {\n margin: 0;\n font-size: 1rem;\n}\n\n/* === Agents Grid === */\n.agents-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 1rem;\n}\n\n.agent-card {\n background: var(--mj-bg-surface);\n border: 2px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 1rem;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n gap: 1rem;\n position: relative;\n}\n\n.agent-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.agent-card.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface));\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 20%, transparent);\n}\n\n.selection-indicator {\n position: absolute;\n top: 0.75rem;\n right: 0.75rem;\n font-size: 1.1rem;\n}\n\n.selection-indicator .fa-check-circle {\n color: var(--mj-status-success);\n}\n\n.selection-indicator .fa-circle {\n color: var(--mj-border-default);\n}\n\n.agent-icon {\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.agent-icon i {\n font-size: 1.5rem;\n color: var(--mj-brand-primary);\n}\n\n.agent-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.agent-info {\n flex: 1;\n min-width: 0;\n}\n\n.agent-name {\n font-size: 1rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 0.5rem;\n word-wrap: break-word;\n}\n\n.agent-description {\n font-size: 0.85rem;\n color: var(--mj-text-muted);\n line-height: 1.4;\n margin-bottom: 0.75rem;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.agent-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.status-badge,\n.type-badge,\n.execution-badge {\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n font-size: 0.75rem;\n font-weight: 500;\n color: var(--mj-text-inverse);\n}\n\n/* Status badge color set dynamically via style binding */\n\n.type-badge {\n background: var(--mj-brand-primary);\n}\n\n.execution-badge {\n background: var(--mj-status-warning);\n}\n\n/* === Dialog Footer === */\n.dialog-footer {\n padding: 1rem 1.5rem;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.footer-left {\n display: flex;\n gap: 0.5rem;\n}\n\n.footer-right {\n display: flex;\n gap: 0.75rem;\n}\n\n.dialog-footer button {\n min-width: 100px;\n}\n\n.dialog-footer button i {\n margin-right: 0.5rem;\n}\n\n/* === Responsive Design === */\n@media (max-width: 768px) {\n .agents-grid {\n grid-template-columns: 1fr;\n }\n\n .dialog-header {\n flex-direction: column;\n gap: 1rem;\n }\n\n .header-stats {\n align-items: flex-start;\n }\n\n .controls-section {\n flex-direction: column;\n align-items: stretch;\n }\n\n .filter-controls {\n justify-content: flex-start;\n }\n\n .dialog-footer {\n flex-direction: column-reverse;\n gap: 1rem;\n }\n\n .footer-left,\n .footer-right {\n width: 100%;\n justify-content: center;\n }\n}\n"] }]
464
572
  }], () => [{ type: i0.ChangeDetectorRef }], { DialogClose: [{
465
573
  type: Output
466
574
  }] }); })();