@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
@@ -1 +1 @@
1
- {"version":3,"file":"add-action-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/add-action-dialog.component.ts","../../../../src/lib/custom/AIAgents/add-action-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, takeUntil, startWith } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJActionEntity, MJActionCategoryEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface CategoryTreeNode {\n id: string;\n name: string;\n count: number;\n icon: string;\n children?: CategoryTreeNode[];\n expanded?: boolean;\n}\n\nexport interface ActionDisplayItem extends MJActionEntity {\n selected: boolean;\n categoryName?: string;\n}\n\n/**\n * Modern, clean dialog for selecting actions to add to an AI Agent.\n * Features searchable action list, category filtering, and multi-select capability.\n */\n@Component({\n standalone: false,\n selector: 'mj-add-action-dialog',\n templateUrl: './add-action-dialog.component.html',\n styleUrls: ['./add-action-dialog.component.css']\n})\nexport class AddActionDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n agentId: string = '';\n agentName: string = '';\n existingActionIds: string[] = [];\n\n // Reactive state management\n private destroy$ = new Subject<void>();\n public result = new Subject<MJActionEntity[]>();\n \n // Data streams\n allActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n categories$ = new BehaviorSubject<MJActionCategoryEntity[]>([]);\n filteredActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n categoryTree$ = new BehaviorSubject<CategoryTreeNode[]>([]);\n selectedActions$ = new BehaviorSubject<Set<string>>(new Set());\n isLoading$ = new BehaviorSubject<boolean>(false);\n \n // UI state\n searchControl = new FormControl('');\n selectedCategoryId$ = new BehaviorSubject<string>('all');\n viewMode$ = new BehaviorSubject<'grid' | 'list'>('grid');\n expandedCategories = new Set<string>();\n\n // Computed values\n get selectedCount(): number {\n return this.selectedActions$.value.size;\n }\n\n get totalActionCount(): number {\n return this.allActions$.value.length;\n }\n\n get filteredCount(): number {\n return this.filteredActions$.value.length;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeData();\n this.setupFiltering();\n this.preselectExistingActions();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private async initializeData() {\n this.isLoading$.next(true);\n \n try {\n await this.loadActionsAndCategories();\n this.buildCategoryTree();\n } catch (error) {\n console.error('Error loading dialog data:', error);\n } finally {\n this.isLoading$.next(false);\n }\n }\n\n private async loadActionsAndCategories() {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n const [actionsResult, categoriesResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Actions',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Category, Name',\n ResultType: 'entity_object',\n MaxRows: 5000\n },\n {\n EntityName: 'MJ: Action Categories',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n }\n ]);\n\n if (actionsResult.Success) {\n const actions = (actionsResult.Results as MJActionEntity[] || []).map(action => ({\n ...action.GetAll(),\n selected: false,\n categoryName: action.Category || 'Uncategorized'\n } as ActionDisplayItem));\n \n this.allActions$.next(actions);\n }\n\n if (categoriesResult.Success) {\n this.categories$.next(categoriesResult.Results as MJActionCategoryEntity[] || []);\n }\n }\n\n private buildCategoryTree() {\n const actions = this.allActions$.value;\n const categories = this.categories$.value;\n \n // Count actions per category\n const categoryCounts = new Map<string, number>();\n actions.forEach(action => {\n const categoryName = action.categoryName || 'Uncategorized';\n categoryCounts.set(categoryName, (categoryCounts.get(categoryName) || 0) + 1);\n });\n\n // Build tree nodes\n const treeNodes: CategoryTreeNode[] = [\n {\n id: 'all',\n name: 'All Actions',\n count: actions.length,\n icon: 'fa-th'\n }\n ];\n\n // Add category nodes\n categories.forEach(category => {\n const count = categoryCounts.get(category.Name) || 0;\n if (count > 0) {\n treeNodes.push({\n id: category.ID,\n name: category.Name,\n count,\n icon: this.getCategoryIcon(category.Name)\n });\n }\n });\n\n // Add uncategorized if needed\n const uncategorizedCount = categoryCounts.get('Uncategorized') || 0;\n if (uncategorizedCount > 0) {\n treeNodes.push({\n id: 'uncategorized',\n name: 'Uncategorized',\n count: uncategorizedCount,\n icon: 'fa-question-circle'\n });\n }\n\n this.categoryTree$.next(treeNodes);\n }\n\n private getCategoryIcon(categoryName: string): string {\n const iconMap: { [key: string]: string } = {\n 'Data': 'fa-database',\n 'Communication': 'fa-envelope',\n 'Integration': 'fa-plug',\n 'Security': 'fa-shield-alt',\n 'Workflow': 'fa-project-diagram',\n 'AI': 'fa-brain',\n 'Files': 'fa-file-alt',\n 'Utilities': 'fa-tools',\n 'System': 'fa-cog',\n 'Analytics': 'fa-chart-line'\n };\n return iconMap[categoryName] || 'fa-folder';\n }\n\n private setupFiltering() {\n combineLatest([\n this.allActions$,\n this.searchControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n startWith('') // Emit initial empty value\n ),\n this.selectedCategoryId$\n ]).pipe(\n takeUntil(this.destroy$)\n ).subscribe(([actions, searchTerm, categoryId]) => {\n this.filterActions(actions, searchTerm || '', categoryId);\n });\n }\n\n private filterActions(actions: ActionDisplayItem[], searchTerm: string, categoryId: string) {\n let filtered = [...actions];\n\n // Category filter\n if (categoryId !== 'all') {\n if (categoryId === 'uncategorized') {\n filtered = filtered.filter(action => !action.Category);\n } else {\n const categoryName = this.getCategoryNameById(categoryId);\n filtered = filtered.filter(action => action.categoryName === categoryName);\n }\n }\n\n // Search filter\n if (searchTerm) {\n const term = searchTerm.toLowerCase();\n filtered = filtered.filter(action =>\n action.Name.toLowerCase().includes(term) ||\n (action.Description && action.Description.toLowerCase().includes(term)) ||\n (action.categoryName && action.categoryName.toLowerCase().includes(term))\n );\n }\n\n this.filteredActions$.next(filtered);\n }\n\n private getCategoryNameById(categoryId: string): string {\n const category = this.categories$.value.find(c => UUIDsEqual(c.ID, categoryId));\n return category?.Name || '';\n }\n\n private preselectExistingActions() {\n if (this.existingActionIds.length > 0) {\n const selected = new Set(this.existingActionIds);\n this.selectedActions$.next(selected);\n \n // Update action selection state\n const actions = this.allActions$.value;\n actions.forEach(action => {\n action.selected = selected.has(action.ID);\n });\n this.allActions$.next(actions);\n }\n }\n\n // === UI Event Handlers ===\n\n selectCategory(categoryId: string) {\n this.selectedCategoryId$.next(categoryId);\n }\n\n toggleViewMode() {\n const currentMode = this.viewMode$.value;\n this.viewMode$.next(currentMode === 'grid' ? 'list' : 'grid');\n }\n\n toggleActionSelection(action: ActionDisplayItem) {\n const selected = this.selectedActions$.value;\n const actions = this.allActions$.value;\n \n // Find the action and toggle its selection\n const actionToUpdate = actions.find(a => UUIDsEqual(a.ID, action.ID));\n if (actionToUpdate) {\n actionToUpdate.selected = !actionToUpdate.selected;\n \n if (actionToUpdate.selected) {\n selected.add(action.ID);\n } else {\n selected.delete(action.ID);\n }\n \n this.selectedActions$.next(new Set(selected));\n this.allActions$.next(actions);\n \n // Update filtered actions to reflect selection state\n const filtered = this.filteredActions$.value;\n const filteredAction = filtered.find(a => UUIDsEqual(a.ID, action.ID));\n if (filteredAction) {\n filteredAction.selected = actionToUpdate.selected;\n this.filteredActions$.next(filtered);\n }\n }\n }\n\n // Backs the no-results empty-state \"Clear Filters\" CTA: resets every dimension\n // the list narrows on — search AND the category filter — so the CTA actually\n // returns results instead of appearing to do nothing.\n clearSearch() {\n this.searchControl.reset();\n this.selectedCategoryId$.next('all');\n }\n\n getActionIcon(action: ActionDisplayItem): string {\n // Return custom icon if set\n if (action.IconClass) {\n return action.IconClass;\n }\n\n // Fallback icon mapping based on action name/type\n const name = action.Name.toLowerCase();\n if (name.includes('create') || name.includes('add')) return 'fa-plus-circle';\n if (name.includes('update') || name.includes('edit')) return 'fa-edit';\n if (name.includes('delete') || name.includes('remove')) return 'fa-trash';\n if (name.includes('email') || name.includes('send')) return 'fa-envelope';\n if (name.includes('export')) return 'fa-file-export';\n if (name.includes('import')) return 'fa-file-import';\n if (name.includes('report')) return 'fa-file-alt';\n if (name.includes('api')) return 'fa-plug';\n \n return 'fa-bolt'; // Default action icon\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.result.next([]);\n this.DialogClose.emit();\n }\n\n addSelectedActions() {\n const selectedIds = this.selectedActions$.value;\n const allActions = this.allActions$.value;\n\n // Get the selected action display items (excluding existing ones)\n const selectedDisplayItems = allActions\n .filter(action => selectedIds.has(action.ID) && !this.existingActionIds.some(id => UUIDsEqual(id, action.ID)));\n\n // Convert ActionDisplayItem to MJActionEntity by casting (they have the same structure)\n const selectedActions: MJActionEntity[] = selectedDisplayItems.map(item => item as MJActionEntity);\n\n this.result.next(selectedActions);\n this.DialogClose.emit();\n }\n}","<!-- Add Action Dialog -->\n<div class=\"add-action-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-prefix-icon\"></i>\n <input\n class=\"mj-input search-input\"\n [formControl]=\"searchControl\"\n placeholder=\"Search actions by name, description, or category...\">\n </div>\n </div>\n \n <div class=\"header-actions\">\n <!-- View Toggle -->\n <button mjButton\n variant=\"flat\"\n (click)=\"toggleViewMode()\"\n [title]=\"(viewMode$ | async) === 'grid' ? 'Switch to list view' : 'Switch to grid view'\">\n <i class=\"fa-solid\"\n [class.fa-th]=\"(viewMode$ | async) === 'grid'\"\n [class.fa-list]=\"(viewMode$ | async) === 'list'\"></i>\n </button>\n \n <!-- Stats -->\n <div class=\"stats\">\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-bolt\"></i>\n {{ filteredCount }} of {{ totalActionCount }} actions\n </span>\n </div>\n </div>\n </div>\n\n <!-- Main Content -->\n <div class=\"dialog-content\">\n \n <!-- Category Sidebar -->\n <div class=\"category-sidebar\">\n <div class=\"sidebar-header\">\n <h4><i class=\"fa-solid fa-folder-tree\"></i> Categories</h4>\n </div>\n \n <div class=\"category-list\">\n @for (category of categoryTree$ | async; track category.id) {\n <div class=\"category-item\" \n [class.selected]=\"(selectedCategoryId$ | async) === category.id\"\n (click)=\"selectCategory(category.id)\">\n <i class=\"fa-solid {{ category.icon }} category-icon\"></i>\n <span class=\"category-name\">{{ category.name }}</span>\n <span class=\"category-count\">{{ category.count }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Actions Display -->\n <div class=\"actions-container\">\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 actions...</p>\n </div>\n }\n\n <!-- Empty State -->\n @if (!(isLoading$ | async) && filteredCount === 0) {\n <mj-empty-state\n Variant=\"no-results\"\n Title=\"No actions found\"\n Message=\"Try adjusting your search criteria or selecting a different category\"\n ActionText=\"Clear Filters\"\n ActionVariant=\"flat\"\n (Action)=\"clearSearch()\"\n Size=\"compact\" />\n }\n\n <!-- Grid View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'grid' && filteredCount > 0) {\n <div class=\"actions-grid\">\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"action-card\" \n [class.selected]=\"action.selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.selected\" \n [class.fa-circle]=\"!action.selected\"></i>\n </div>\n \n <!-- Card Content -->\n <div class=\"card-header\">\n <div class=\"action-icon\">\n <i class=\"fa-solid {{ getActionIcon(action) }}\"></i>\n </div>\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n </div>\n \n <div class=\"card-body\">\n <p class=\"action-description\">{{ action.Description || 'No description available' }}</p>\n \n @if (action.categoryName) {\n <div class=\"category-badge\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ action.categoryName }}\n </div>\n }\n \n @if (action.Type) {\n <div class=\"type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ action.Type }}\n </div>\n }\n </div>\n \n <!-- Existing Action Overlay -->\n @if (existingActionIds.includes(action.ID)) {\n <div class=\"existing-overlay\">\n <i class=\"fa-solid fa-check\"></i>\n <span>Already Added</span>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'list' && filteredCount > 0) {\n <div class=\"actions-list\">\n \n <!-- List Header -->\n <div class=\"list-header\">\n <span class=\"col-select\"></span>\n <span class=\"col-name\">Name</span>\n <span class=\"col-category\">Category</span>\n <span class=\"col-type\">Type</span>\n <span class=\"col-description\">Description</span>\n <span class=\"col-status\">Status</span>\n </div>\n \n <!-- List Items -->\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"list-item\" \n [class.selected]=\"action.selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <span class=\"col-select\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.selected\" \n [class.fa-circle]=\"!action.selected\"></i>\n </span>\n \n <span class=\"col-name\">\n <i class=\"fa-solid {{ getActionIcon(action) }} action-icon\"></i>\n {{ action.Name }}\n </span>\n \n <span class=\"col-category\">{{ action.categoryName || '-' }}</span>\n <span class=\"col-type\">{{ action.Type || '-' }}</span>\n <span class=\"col-description\">{{ action.Description || '-' }}</span>\n \n <span class=\"col-status\">\n @if (existingActionIds.includes(action.ID)) {\n <span class=\"status-badge existing\">\n <i class=\"fa-solid fa-check\"></i>\n Added\n </span>\n } @else {\n <span class=\"status-badge available\">\n <i class=\"fa-solid fa-plus\"></i>\n Available\n </span>\n }\n </span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Selected Actions Summary -->\n @if (selectedCount > 0) {\n <div class=\"selection-summary\">\n <div class=\"summary-content\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ selectedCount }} action{{ selectedCount === 1 ? '' : 's' }} selected</span>\n </div>\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n [disabled]=\"selectedCount === 0\"\n (click)=\"addSelectedActions()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Selected ({{ selectedCount }})\n </button>\n </div>\n</div>"]}
1
+ {"version":3,"file":"add-action-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/add-action-dialog.component.ts","../../../../src/lib/custom/AIAgents/add-action-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, takeUntil, startWith } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJActionEntity, MJActionCategoryEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface CategoryTreeNode {\n id: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n name: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n count: number; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n icon: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n children?: CategoryTreeNode[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n expanded?: boolean; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n}\n\nexport interface ActionDisplayItem extends MJActionEntity {\n Selected: boolean;\n CategoryName?: string;\n}\n\n/**\n * Modern, clean dialog for selecting actions to add to an AI Agent.\n * Features searchable action list, category filtering, and multi-select capability.\n */\n@Component({\n standalone: false,\n selector: 'mj-add-action-dialog',\n templateUrl: './add-action-dialog.component.html',\n styleUrls: ['./add-action-dialog.component.css']\n})\nexport class AddActionDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n AgentId: string = '';\n\n /** @deprecated Use {@link AgentId}. */\n get agentId(): string {\n return this.AgentId;\n }\n /** @deprecated Use {@link AgentId}. */\n set agentId(value: string) {\n this.AgentId = value;\n }\n AgentName: string = '';\n\n /** @deprecated Use {@link AgentName}. */\n get agentName(): string {\n return this.AgentName;\n }\n /** @deprecated Use {@link AgentName}. */\n set agentName(value: string) {\n this.AgentName = value;\n }\n ExistingActionIds: string[] = [];\n\n /** @deprecated Use {@link ExistingActionIds}. */\n get existingActionIds(): string[] {\n return this.ExistingActionIds;\n }\n /** @deprecated Use {@link ExistingActionIds}. */\n set existingActionIds(value: string[]) {\n this.ExistingActionIds = value;\n }\n\n // Reactive state management\n private destroy$ = new Subject<void>();\n public Result = new Subject<MJActionEntity[]>();\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 // Data streams\n AllActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n\n /** @deprecated Use {@link AllActions$}. */\n get allActions$() {\n return this.AllActions$;\n }\n /** @deprecated Use {@link AllActions$}. */\n set allActions$(value) {\n this.AllActions$ = value;\n }\n Categories$ = new BehaviorSubject<MJActionCategoryEntity[]>([]);\n\n /** @deprecated Use {@link Categories$}. */\n get categories$() {\n return this.Categories$;\n }\n /** @deprecated Use {@link Categories$}. */\n set categories$(value) {\n this.Categories$ = value;\n }\n FilteredActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n\n /** @deprecated Use {@link FilteredActions$}. */\n get filteredActions$() {\n return this.FilteredActions$;\n }\n /** @deprecated Use {@link FilteredActions$}. */\n set filteredActions$(value) {\n this.FilteredActions$ = value;\n }\n CategoryTree$ = new BehaviorSubject<CategoryTreeNode[]>([]);\n\n /** @deprecated Use {@link CategoryTree$}. */\n get categoryTree$() {\n return this.CategoryTree$;\n }\n /** @deprecated Use {@link CategoryTree$}. */\n set categoryTree$(value) {\n this.CategoryTree$ = value;\n }\n SelectedActions$ = new BehaviorSubject<Set<string>>(new Set());\n\n /** @deprecated Use {@link SelectedActions$}. */\n get selectedActions$() {\n return this.SelectedActions$;\n }\n /** @deprecated Use {@link SelectedActions$}. */\n set selectedActions$(value) {\n this.SelectedActions$ = 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 \n // UI state\n SearchControl = new FormControl('');\n\n /** @deprecated Use {@link SearchControl}. */\n get searchControl() {\n return this.SearchControl;\n }\n /** @deprecated Use {@link SearchControl}. */\n set searchControl(value) {\n this.SearchControl = value;\n }\n SelectedCategoryId$ = new BehaviorSubject<string>('all');\n\n /** @deprecated Use {@link SelectedCategoryId$}. */\n get selectedCategoryId$() {\n return this.SelectedCategoryId$;\n }\n /** @deprecated Use {@link SelectedCategoryId$}. */\n set selectedCategoryId$(value) {\n this.SelectedCategoryId$ = value;\n }\n ViewMode$ = new BehaviorSubject<'grid' | 'list'>('grid');\n\n /** @deprecated Use {@link ViewMode$}. */\n get viewMode$() {\n return this.ViewMode$;\n }\n /** @deprecated Use {@link ViewMode$}. */\n set viewMode$(value) {\n this.ViewMode$ = value;\n }\n ExpandedCategories = new Set<string>();\n\n /** @deprecated Use {@link ExpandedCategories}. */\n get expandedCategories() {\n return this.ExpandedCategories;\n }\n /** @deprecated Use {@link ExpandedCategories}. */\n set expandedCategories(value) {\n this.ExpandedCategories = value;\n }\n\n // Computed values\n get SelectedCount(): number {\n return this.SelectedActions$.value.size;\n }\n\n /** @deprecated Use {@link SelectedCount}. */\n get selectedCount(): number {\n return this.SelectedCount;\n }\n\n get TotalActionCount(): number {\n return this.AllActions$.value.length;\n }\n\n /** @deprecated Use {@link TotalActionCount}. */\n get totalActionCount(): number {\n return this.TotalActionCount;\n }\n\n get FilteredCount(): number {\n return this.FilteredActions$.value.length;\n }\n\n /** @deprecated Use {@link FilteredCount}. */\n get filteredCount(): number {\n return this.FilteredCount;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeData();\n this.setupFiltering();\n this.preselectExistingActions();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private async initializeData() {\n this.IsLoading$.next(true);\n \n try {\n await this.loadActionsAndCategories();\n this.buildCategoryTree();\n } catch (error) {\n console.error('Error loading dialog data:', error);\n } finally {\n this.IsLoading$.next(false);\n }\n }\n\n private async loadActionsAndCategories() {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n const [actionsResult, categoriesResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Actions',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Category, Name',\n ResultType: 'entity_object',\n MaxRows: 5000\n },\n {\n EntityName: 'MJ: Action Categories',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n }\n ]);\n\n if (actionsResult.Success) {\n const actions = (actionsResult.Results as MJActionEntity[] || []).map(action => ({\n ...action.GetAll(),\n Selected: false,\n CategoryName: action.Category || 'Uncategorized'\n } as ActionDisplayItem));\n \n this.AllActions$.next(actions);\n }\n\n if (categoriesResult.Success) {\n this.Categories$.next(categoriesResult.Results as MJActionCategoryEntity[] || []);\n }\n }\n\n private buildCategoryTree() {\n const actions = this.AllActions$.value;\n const categories = this.Categories$.value;\n \n // Count actions per category\n const categoryCounts = new Map<string, number>();\n actions.forEach(action => {\n const categoryName = action.CategoryName || 'Uncategorized';\n categoryCounts.set(categoryName, (categoryCounts.get(categoryName) || 0) + 1);\n });\n\n // Build tree nodes\n const treeNodes: CategoryTreeNode[] = [\n {\n id: 'all',\n name: 'All Actions',\n count: actions.length,\n icon: 'fa-th'\n }\n ];\n\n // Add category nodes\n categories.forEach(category => {\n const count = categoryCounts.get(category.Name) || 0;\n if (count > 0) {\n treeNodes.push({\n id: category.ID,\n name: category.Name,\n count,\n icon: this.getCategoryIcon(category.Name)\n });\n }\n });\n\n // Add uncategorized if needed\n const uncategorizedCount = categoryCounts.get('Uncategorized') || 0;\n if (uncategorizedCount > 0) {\n treeNodes.push({\n id: 'uncategorized',\n name: 'Uncategorized',\n count: uncategorizedCount,\n icon: 'fa-question-circle'\n });\n }\n\n this.CategoryTree$.next(treeNodes);\n }\n\n private getCategoryIcon(categoryName: string): string {\n const iconMap: { [key: string]: string } = {\n 'Data': 'fa-database',\n 'Communication': 'fa-envelope',\n 'Integration': 'fa-plug',\n 'Security': 'fa-shield-alt',\n 'Workflow': 'fa-project-diagram',\n 'AI': 'fa-brain',\n 'Files': 'fa-file-alt',\n 'Utilities': 'fa-tools',\n 'System': 'fa-cog',\n 'Analytics': 'fa-chart-line'\n };\n return iconMap[categoryName] || 'fa-folder';\n }\n\n private setupFiltering() {\n combineLatest([\n this.AllActions$,\n this.SearchControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n startWith('') // Emit initial empty value\n ),\n this.SelectedCategoryId$\n ]).pipe(\n takeUntil(this.destroy$)\n ).subscribe(([actions, searchTerm, categoryId]) => {\n this.filterActions(actions, searchTerm || '', categoryId);\n });\n }\n\n private filterActions(actions: ActionDisplayItem[], searchTerm: string, categoryId: string) {\n let filtered = [...actions];\n\n // Category filter\n if (categoryId !== 'all') {\n if (categoryId === 'uncategorized') {\n filtered = filtered.filter(action => !action.Category);\n } else {\n const categoryName = this.getCategoryNameById(categoryId);\n filtered = filtered.filter(action => action.CategoryName === categoryName);\n }\n }\n\n // Search filter\n if (searchTerm) {\n const term = searchTerm.toLowerCase();\n filtered = filtered.filter(action =>\n action.Name.toLowerCase().includes(term) ||\n (action.Description && action.Description.toLowerCase().includes(term)) ||\n (action.CategoryName && action.CategoryName.toLowerCase().includes(term))\n );\n }\n\n this.FilteredActions$.next(filtered);\n }\n\n private getCategoryNameById(categoryId: string): string {\n const category = this.Categories$.value.find(c => UUIDsEqual(c.ID, categoryId));\n return category?.Name || '';\n }\n\n private preselectExistingActions() {\n if (this.ExistingActionIds.length > 0) {\n const selected = new Set(this.ExistingActionIds);\n this.SelectedActions$.next(selected);\n \n // Update action selection state\n const actions = this.AllActions$.value;\n actions.forEach(action => {\n action.Selected = selected.has(action.ID);\n });\n this.AllActions$.next(actions);\n }\n }\n\n // === UI Event Handlers ===\n\n SelectCategory(categoryId: string) {\n this.SelectedCategoryId$.next(categoryId);\n }\n\n /** @deprecated Use {@link SelectCategory}. */\n selectCategory(categoryId: string) {\n return this.SelectCategory(categoryId);\n }\n\n ToggleViewMode() {\n const currentMode = this.ViewMode$.value;\n this.ViewMode$.next(currentMode === 'grid' ? 'list' : 'grid');\n }\n\n /** @deprecated Use {@link ToggleViewMode}. */\n toggleViewMode() {\n return this.ToggleViewMode();\n }\n\n ToggleActionSelection(action: ActionDisplayItem) {\n const selected = this.SelectedActions$.value;\n const actions = this.AllActions$.value;\n \n // Find the action and toggle its selection\n const actionToUpdate = actions.find(a => UUIDsEqual(a.ID, action.ID));\n if (actionToUpdate) {\n actionToUpdate.Selected = !actionToUpdate.Selected;\n \n if (actionToUpdate.Selected) {\n selected.add(action.ID);\n } else {\n selected.delete(action.ID);\n }\n \n this.SelectedActions$.next(new Set(selected));\n this.AllActions$.next(actions);\n \n // Update filtered actions to reflect selection state\n const filtered = this.FilteredActions$.value;\n const filteredAction = filtered.find(a => UUIDsEqual(a.ID, action.ID));\n if (filteredAction) {\n filteredAction.Selected = actionToUpdate.Selected;\n this.FilteredActions$.next(filtered);\n }\n }\n }\n\n /** @deprecated Use {@link ToggleActionSelection}. */\n toggleActionSelection(action: ActionDisplayItem) {\n return this.ToggleActionSelection(action);\n }\n\n // Backs the no-results empty-state \"Clear Filters\" CTA: resets every dimension\n // the list narrows on — search AND the category filter — so the CTA actually\n // returns results instead of appearing to do nothing.\n ClearSearch() {\n this.SearchControl.reset();\n this.SelectedCategoryId$.next('all');\n }\n\n /** @deprecated Use {@link ClearSearch}. */\n clearSearch() {\n return this.ClearSearch();\n }\n\n GetActionIcon(action: ActionDisplayItem): string {\n // Return custom icon if set\n if (action.IconClass) {\n return action.IconClass;\n }\n\n // Fallback icon mapping based on action name/type\n const name = action.Name.toLowerCase();\n if (name.includes('create') || name.includes('add')) return 'fa-plus-circle';\n if (name.includes('update') || name.includes('edit')) return 'fa-edit';\n if (name.includes('delete') || name.includes('remove')) return 'fa-trash';\n if (name.includes('email') || name.includes('send')) return 'fa-envelope';\n if (name.includes('export')) return 'fa-file-export';\n if (name.includes('import')) return 'fa-file-import';\n if (name.includes('report')) return 'fa-file-alt';\n if (name.includes('api')) return 'fa-plug';\n \n return 'fa-bolt'; // Default action icon\n }\n\n /** @deprecated Use {@link GetActionIcon}. */\n getActionIcon(action: ActionDisplayItem): string {\n return this.GetActionIcon(action);\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.Result.next([]);\n this.DialogClose.emit();\n }\n\n AddSelectedActions() {\n const selectedIds = this.SelectedActions$.value;\n const allActions = this.AllActions$.value;\n\n // Get the selected action display items (excluding existing ones)\n const selectedDisplayItems = allActions\n .filter(action => selectedIds.has(action.ID) && !this.ExistingActionIds.some(id => UUIDsEqual(id, action.ID)));\n\n // Convert ActionDisplayItem to MJActionEntity by casting (they have the same structure)\n const selectedActions: MJActionEntity[] = selectedDisplayItems.map(item => item as MJActionEntity);\n\n this.Result.next(selectedActions);\n this.DialogClose.emit();\n }\n\n /** @deprecated Use {@link AddSelectedActions}. */\n addSelectedActions() {\n return this.AddSelectedActions();\n }\n}","<!-- Add Action Dialog -->\n<div class=\"add-action-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-prefix-icon\"></i>\n <input\n class=\"mj-input search-input\"\n [formControl]=\"searchControl\"\n placeholder=\"Search actions by name, description, or category...\">\n </div>\n </div>\n \n <div class=\"header-actions\">\n <!-- View Toggle -->\n <button mjButton\n variant=\"flat\"\n (click)=\"toggleViewMode()\"\n [title]=\"(viewMode$ | async) === 'grid' ? 'Switch to list view' : 'Switch to grid view'\">\n <i class=\"fa-solid\"\n [class.fa-th]=\"(viewMode$ | async) === 'grid'\"\n [class.fa-list]=\"(viewMode$ | async) === 'list'\"></i>\n </button>\n \n <!-- Stats -->\n <div class=\"stats\">\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-bolt\"></i>\n {{ filteredCount }} of {{ totalActionCount }} actions\n </span>\n </div>\n </div>\n </div>\n\n <!-- Main Content -->\n <div class=\"dialog-content\">\n \n <!-- Category Sidebar -->\n <div class=\"category-sidebar\">\n <div class=\"sidebar-header\">\n <h4><i class=\"fa-solid fa-folder-tree\"></i> Categories</h4>\n </div>\n \n <div class=\"category-list\">\n @for (category of categoryTree$ | async; track category.id) {\n <div class=\"category-item\" \n [class.selected]=\"(selectedCategoryId$ | async) === category.id\"\n (click)=\"selectCategory(category.id)\">\n <i class=\"fa-solid {{ category.icon }} category-icon\"></i>\n <span class=\"category-name\">{{ category.name }}</span>\n <span class=\"category-count\">{{ category.count }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Actions Display -->\n <div class=\"actions-container\">\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 actions...</p>\n </div>\n }\n\n <!-- Empty State -->\n @if (!(isLoading$ | async) && filteredCount === 0) {\n <mj-empty-state\n Variant=\"no-results\"\n Title=\"No actions found\"\n Message=\"Try adjusting your search criteria or selecting a different category\"\n ActionText=\"Clear Filters\"\n ActionVariant=\"flat\"\n (Action)=\"clearSearch()\"\n Size=\"compact\" />\n }\n\n <!-- Grid View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'grid' && filteredCount > 0) {\n <div class=\"actions-grid\">\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"action-card\" \n [class.selected]=\"action.Selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.Selected\" \n [class.fa-circle]=\"!action.Selected\"></i>\n </div>\n \n <!-- Card Content -->\n <div class=\"card-header\">\n <div class=\"action-icon\">\n <i class=\"fa-solid {{ getActionIcon(action) }}\"></i>\n </div>\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n </div>\n \n <div class=\"card-body\">\n <p class=\"action-description\">{{ action.Description || 'No description available' }}</p>\n \n @if (action.CategoryName) {\n <div class=\"category-badge\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ action.CategoryName }}\n </div>\n }\n \n @if (action.Type) {\n <div class=\"type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ action.Type }}\n </div>\n }\n </div>\n \n <!-- Existing Action Overlay -->\n @if (existingActionIds.includes(action.ID)) {\n <div class=\"existing-overlay\">\n <i class=\"fa-solid fa-check\"></i>\n <span>Already Added</span>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'list' && filteredCount > 0) {\n <div class=\"actions-list\">\n \n <!-- List Header -->\n <div class=\"list-header\">\n <span class=\"col-select\"></span>\n <span class=\"col-name\">Name</span>\n <span class=\"col-category\">Category</span>\n <span class=\"col-type\">Type</span>\n <span class=\"col-description\">Description</span>\n <span class=\"col-status\">Status</span>\n </div>\n \n <!-- List Items -->\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"list-item\" \n [class.selected]=\"action.Selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <span class=\"col-select\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.Selected\" \n [class.fa-circle]=\"!action.Selected\"></i>\n </span>\n \n <span class=\"col-name\">\n <i class=\"fa-solid {{ getActionIcon(action) }} action-icon\"></i>\n {{ action.Name }}\n </span>\n \n <span class=\"col-category\">{{ action.CategoryName || '-' }}</span>\n <span class=\"col-type\">{{ action.Type || '-' }}</span>\n <span class=\"col-description\">{{ action.Description || '-' }}</span>\n \n <span class=\"col-status\">\n @if (existingActionIds.includes(action.ID)) {\n <span class=\"status-badge existing\">\n <i class=\"fa-solid fa-check\"></i>\n Added\n </span>\n } @else {\n <span class=\"status-badge available\">\n <i class=\"fa-solid fa-plus\"></i>\n Available\n </span>\n }\n </span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Selected Actions Summary -->\n @if (selectedCount > 0) {\n <div class=\"selection-summary\">\n <div class=\"summary-content\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ selectedCount }} action{{ selectedCount === 1 ? '' : 's' }} selected</span>\n </div>\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n [disabled]=\"selectedCount === 0\"\n (click)=\"addSelectedActions()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Selected ({{ selectedCount }})\n </button>\n </div>\n</div>"]}
@@ -31,6 +31,7 @@ export type AgentFormTabPlan = {
31
31
  export declare const AGENT_TAB_DESIGNER = "designer";
32
32
  export declare const AGENT_TAB_DETAILS = "details";
33
33
  export declare const AGENT_TAB_INVOCATIONS = "invocations";
34
+ export declare const AGENT_TAB_RUBRICS = "rubrics";
34
35
  /**
35
36
  * Builds the tab strip and resolves which tab is active.
36
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent-form-tabs.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-form-tabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,gGAAgG;AAChG,MAAM,MAAM,mBAAmB,GAAG;IAC9B,6FAA6F;IAC7F,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,4FAA4F;IAC5F,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAoB3G;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG7F"}
1
+ {"version":3,"file":"agent-form-tabs.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-form-tabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,gGAAgG;AAChG,MAAM,MAAM,mBAAmB,GAAG;IAC9B,6FAA6F;IAC7F,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,4FAA4F;IAC5F,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAqB3G;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG7F"}
@@ -1,6 +1,7 @@
1
1
  export const AGENT_TAB_DESIGNER = 'designer';
2
2
  export const AGENT_TAB_DETAILS = 'details';
3
3
  export const AGENT_TAB_INVOCATIONS = 'invocations';
4
+ export const AGENT_TAB_RUBRICS = 'rubrics';
4
5
  /**
5
6
  * Builds the tab strip and resolves which tab is active.
6
7
  *
@@ -22,6 +23,7 @@ export function BuildAgentFormTabs(context, storedTab) {
22
23
  tabs.push({ key: AGENT_TAB_DETAILS, label: 'Details', icon: 'fa-solid fa-sliders' });
23
24
  if (context.HasRecordID) {
24
25
  tabs.push({ key: AGENT_TAB_INVOCATIONS, label: 'Invocations', icon: 'fa-solid fa-tower-broadcast' });
26
+ tabs.push({ key: AGENT_TAB_RUBRICS, label: 'Rubrics', icon: 'fa-solid fa-scale-balanced' });
25
27
  }
26
28
  return { Tabs: tabs, ActiveKey: ResolveActiveTab(tabs, storedTab) };
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-form-tabs.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-form-tabs.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA4B,EAAE,SAAwB;IACrF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAE7B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC;YACN,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAChC,yFAAyF;YACzF,8DAA8D;YAC9D,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,0BAA0B;SACtG,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAErF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,OAA4B;IACvD,OAAO,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IACzD,OAAO,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA0B,EAAE,SAAwB;IACjF,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * @fileoverview Which tabs the AI Agents form shows, and which one opens.\n *\n * **Why this is a pure function rather than three getters on a 3,000-line component.** The decisions\n * here are small but each one has a failure mode that renders as a broken form rather than as an\n * error: a stored tab that no longer exists hides every pane at once, and a hardcoded default sends\n * every Flow agent back to Details — re-burying the diagram this whole change exists to surface.\n * Neither is catchable by the compiler, and neither is reachable in a unit test while the logic lives\n * inside a component with a dozen injected services.\n *\n * @module @memberjunction/ng-core-entity-forms\n */\nimport type { TabConfig } from '@memberjunction/ng-ui-components';\n\n/** Just enough of the agent type to decide the tab strip — so tests need no entity instance. */\nexport type AgentFormTabContext = {\n /** The agent type's name, e.g. `'Flow'`. Null when the type has not loaded (or has none). */\n AgentTypeName: string | null;\n /**\n * The type's custom form section key. Its presence — not the type's name — is what says\n * \"this type ships a designer\", so a future agent type gets the designer tab for free.\n */\n UIFormSectionKey: string | null;\n /** False for an unsaved record: there is no designer to load and nothing yet invokes it. */\n HasRecordID: boolean;\n};\n\nexport type AgentFormTabPlan = {\n Tabs: TabConfig[];\n /** The tab to show. Never a key absent from {@link AgentFormTabPlan.Tabs}. */\n ActiveKey: string;\n};\n\nexport const AGENT_TAB_DESIGNER = 'designer';\nexport const AGENT_TAB_DETAILS = 'details';\nexport const AGENT_TAB_INVOCATIONS = 'invocations';\n\n/**\n * Builds the tab strip and resolves which tab is active.\n *\n * `storedTab` is the user's persisted choice, or null for \"never chosen\". Null falls through to the\n * first tab, which is how a Flow agent opens on its diagram while a Loop agent opens on Details —\n * without either being hardcoded.\n */\nexport function BuildAgentFormTabs(context: AgentFormTabContext, storedTab: string | null): AgentFormTabPlan {\n const tabs: TabConfig[] = [];\n\n if (HasDesignerTab(context)) {\n tabs.push({\n key: AGENT_TAB_DESIGNER,\n label: DesignerTabLabel(context),\n // Flow gets the diagram glyph; any other type that ships a designer gets the generic one\n // rather than a Flow-specific icon that would misdescribe it.\n icon: context.AgentTypeName === 'Flow' ? 'fa-solid fa-diagram-project' : 'fa-solid fa-puzzle-piece',\n });\n }\n\n tabs.push({ key: AGENT_TAB_DETAILS, label: 'Details', icon: 'fa-solid fa-sliders' });\n\n if (context.HasRecordID) {\n tabs.push({ key: AGENT_TAB_INVOCATIONS, label: 'Invocations', icon: 'fa-solid fa-tower-broadcast' });\n }\n\n return { Tabs: tabs, ActiveKey: ResolveActiveTab(tabs, storedTab) };\n}\n\n/** True when this agent's type contributes a designer pane. */\nexport function HasDesignerTab(context: AgentFormTabContext): boolean {\n return context.HasRecordID && !!context.UIFormSectionKey;\n}\n\n/**\n * What the designer pane is called.\n *\n * Flow is labelled \"Flow\" rather than \"Flow Agent Configuration\": on a record whose header already\n * says what it is, the tab only has to name the view.\n */\nexport function DesignerTabLabel(context: AgentFormTabContext): string {\n return context.AgentTypeName?.trim() || 'Designer';\n}\n\n/**\n * Picks the active tab, guaranteeing it exists.\n *\n * Covers both \"never chosen\" and \"chose a tab this agent no longer has\" — the type changed, or the\n * record is unsaved so Invocations is gone. Either way, falling through to the first tab is what\n * stops every pane being hidden at once, which is a blank form with no error to explain it.\n */\nexport function ResolveActiveTab(tabs: readonly TabConfig[], storedTab: string | null): string {\n if (storedTab && tabs.some((t) => t.key === storedTab)) return storedTab;\n return tabs[0]?.key ?? AGENT_TAB_DETAILS;\n}\n"]}
1
+ {"version":3,"file":"agent-form-tabs.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-form-tabs.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA4B,EAAE,SAAwB;IACrF,MAAM,IAAI,GAAgB,EAAE,CAAC;IAE7B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC;YACN,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAChC,yFAAyF;YACzF,8DAA8D;YAC9D,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,0BAA0B;SACtG,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAErF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,OAA4B;IACvD,OAAO,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IACzD,OAAO,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA0B,EAAE,SAAwB;IACjF,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * @fileoverview Which tabs the AI Agents form shows, and which one opens.\n *\n * **Why this is a pure function rather than three getters on a 3,000-line component.** The decisions\n * here are small but each one has a failure mode that renders as a broken form rather than as an\n * error: a stored tab that no longer exists hides every pane at once, and a hardcoded default sends\n * every Flow agent back to Details — re-burying the diagram this whole change exists to surface.\n * Neither is catchable by the compiler, and neither is reachable in a unit test while the logic lives\n * inside a component with a dozen injected services.\n *\n * @module @memberjunction/ng-core-entity-forms\n */\nimport type { TabConfig } from '@memberjunction/ng-ui-components';\n\n/** Just enough of the agent type to decide the tab strip — so tests need no entity instance. */\nexport type AgentFormTabContext = {\n /** The agent type's name, e.g. `'Flow'`. Null when the type has not loaded (or has none). */\n AgentTypeName: string | null;\n /**\n * The type's custom form section key. Its presence — not the type's name — is what says\n * \"this type ships a designer\", so a future agent type gets the designer tab for free.\n */\n UIFormSectionKey: string | null;\n /** False for an unsaved record: there is no designer to load and nothing yet invokes it. */\n HasRecordID: boolean;\n};\n\nexport type AgentFormTabPlan = {\n Tabs: TabConfig[];\n /** The tab to show. Never a key absent from {@link AgentFormTabPlan.Tabs}. */\n ActiveKey: string;\n};\n\nexport const AGENT_TAB_DESIGNER = 'designer';\nexport const AGENT_TAB_DETAILS = 'details';\nexport const AGENT_TAB_INVOCATIONS = 'invocations';\nexport const AGENT_TAB_RUBRICS = 'rubrics';\n\n/**\n * Builds the tab strip and resolves which tab is active.\n *\n * `storedTab` is the user's persisted choice, or null for \"never chosen\". Null falls through to the\n * first tab, which is how a Flow agent opens on its diagram while a Loop agent opens on Details —\n * without either being hardcoded.\n */\nexport function BuildAgentFormTabs(context: AgentFormTabContext, storedTab: string | null): AgentFormTabPlan {\n const tabs: TabConfig[] = [];\n\n if (HasDesignerTab(context)) {\n tabs.push({\n key: AGENT_TAB_DESIGNER,\n label: DesignerTabLabel(context),\n // Flow gets the diagram glyph; any other type that ships a designer gets the generic one\n // rather than a Flow-specific icon that would misdescribe it.\n icon: context.AgentTypeName === 'Flow' ? 'fa-solid fa-diagram-project' : 'fa-solid fa-puzzle-piece',\n });\n }\n\n tabs.push({ key: AGENT_TAB_DETAILS, label: 'Details', icon: 'fa-solid fa-sliders' });\n\n if (context.HasRecordID) {\n tabs.push({ key: AGENT_TAB_INVOCATIONS, label: 'Invocations', icon: 'fa-solid fa-tower-broadcast' });\n tabs.push({ key: AGENT_TAB_RUBRICS, label: 'Rubrics', icon: 'fa-solid fa-scale-balanced' });\n }\n\n return { Tabs: tabs, ActiveKey: ResolveActiveTab(tabs, storedTab) };\n}\n\n/** True when this agent's type contributes a designer pane. */\nexport function HasDesignerTab(context: AgentFormTabContext): boolean {\n return context.HasRecordID && !!context.UIFormSectionKey;\n}\n\n/**\n * What the designer pane is called.\n *\n * Flow is labelled \"Flow\" rather than \"Flow Agent Configuration\": on a record whose header already\n * says what it is, the tab only has to name the view.\n */\nexport function DesignerTabLabel(context: AgentFormTabContext): string {\n return context.AgentTypeName?.trim() || 'Designer';\n}\n\n/**\n * Picks the active tab, guaranteeing it exists.\n *\n * Covers both \"never chosen\" and \"chose a tab this agent no longer has\" — the type changed, or the\n * record is unsaved so Invocations is gone. Either way, falling through to the first tab is what\n * stops every pane being hidden at once, which is a blank form with no error to explain it.\n */\nexport function ResolveActiveTab(tabs: readonly TabConfig[], storedTab: string | null): string {\n if (storedTab && tabs.some((t) => t.key === storedTab)) return storedTab;\n return tabs[0]?.key ?? AGENT_TAB_DETAILS;\n}\n"]}
@@ -5,12 +5,12 @@ import { MJAIAgentPromptEntity, MJAIConfigurationEntity } from '@memberjunction/
5
5
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
6
6
  import * as i0 from "@angular/core";
7
7
  export interface AgentPromptAdvancedSettingsFormData {
8
- executionOrder: number;
9
- purpose: string | null;
10
- configurationID: string | null;
11
- contextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';
12
- contextMessageCount: number | null;
13
- status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';
8
+ ExecutionOrder: number;
9
+ Purpose: string | null;
10
+ ConfigurationID: string | null;
11
+ ContextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';
12
+ ContextMessageCount: number | null;
13
+ Status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';
14
14
  }
15
15
  /**
16
16
  * Advanced Settings dialog for AI Agent Prompts.
@@ -19,24 +19,78 @@ export interface AgentPromptAdvancedSettingsFormData {
19
19
  export declare class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {
20
20
  private fb;
21
21
  private cdr;
22
- agentPrompt: MJAIAgentPromptEntity;
23
- allAgentPrompts: MJAIAgentPromptEntity[];
22
+ AgentPrompt: MJAIAgentPromptEntity;
23
+ /** @deprecated Use {@link AgentPrompt}. */
24
+ get agentPrompt(): MJAIAgentPromptEntity;
25
+ /** @deprecated Use {@link AgentPrompt}. */
26
+ set agentPrompt(value: MJAIAgentPromptEntity);
27
+ AllAgentPrompts: MJAIAgentPromptEntity[];
28
+ /** @deprecated Use {@link AllAgentPrompts}. */
29
+ get allAgentPrompts(): MJAIAgentPromptEntity[];
30
+ /** @deprecated Use {@link AllAgentPrompts}. */
31
+ set allAgentPrompts(value: MJAIAgentPromptEntity[]);
24
32
  private destroy$;
25
- result: Subject<AgentPromptAdvancedSettingsFormData | null>;
26
- advancedForm: FormGroup;
27
- isLoading$: BehaviorSubject<boolean>;
28
- isSaving$: BehaviorSubject<boolean>;
29
- configurations$: BehaviorSubject<MJAIConfigurationEntity[]>;
30
- contextBehaviorOptions: {
33
+ Result: Subject<AgentPromptAdvancedSettingsFormData | null>;
34
+ /** @deprecated Use {@link Result}. */
35
+ get result(): Subject<AgentPromptAdvancedSettingsFormData | null>;
36
+ /** @deprecated Use {@link Result}. */
37
+ set result(value: Subject<AgentPromptAdvancedSettingsFormData | 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
+ Configurations$: BehaviorSubject<MJAIConfigurationEntity[]>;
54
+ /** @deprecated Use {@link Configurations$}. */
55
+ get configurations$(): BehaviorSubject<MJAIConfigurationEntity[]>;
56
+ /** @deprecated Use {@link Configurations$}. */
57
+ set configurations$(value: BehaviorSubject<MJAIConfigurationEntity[]>);
58
+ ContextBehaviorOptions: {
31
59
  text: string;
32
60
  value: string;
33
61
  description: string;
34
62
  }[];
35
- statusOptions: {
63
+ /** @deprecated Use {@link ContextBehaviorOptions}. */
64
+ get contextBehaviorOptions(): {
65
+ text: string;
66
+ value: string;
67
+ description: string;
68
+ }[];
69
+ /** @deprecated Use {@link ContextBehaviorOptions}. */
70
+ set contextBehaviorOptions(value: {
71
+ text: string;
72
+ value: string;
73
+ description: string;
74
+ }[]);
75
+ StatusOptions: {
76
+ text: string;
77
+ value: string;
78
+ }[];
79
+ /** @deprecated Use {@link StatusOptions}. */
80
+ get statusOptions(): {
36
81
  text: string;
37
82
  value: string;
38
83
  }[];
39
- executionOrderError: string | null;
84
+ /** @deprecated Use {@link StatusOptions}. */
85
+ set statusOptions(value: {
86
+ text: string;
87
+ value: string;
88
+ }[]);
89
+ ExecutionOrderError: string | null;
90
+ /** @deprecated Use {@link ExecutionOrderError}. */
91
+ get executionOrderError(): string | null;
92
+ /** @deprecated Use {@link ExecutionOrderError}. */
93
+ set executionOrderError(value: string | null);
40
94
  DialogClose: EventEmitter<void>;
41
95
  constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
42
96
  ngOnInit(): void;
@@ -45,10 +99,20 @@ export declare class AgentPromptAdvancedSettingsDialogComponent extends BaseAngu
45
99
  private setupValidationLogic;
46
100
  private validateExecutionOrder;
47
101
  private loadDropdownData;
102
+ IsFieldInvalid(fieldName: string): boolean;
103
+ /** @deprecated Use {@link IsFieldInvalid}. */
48
104
  isFieldInvalid(fieldName: string): boolean;
105
+ GetFieldError(fieldName: string): string;
106
+ /** @deprecated Use {@link GetFieldError}. */
49
107
  getFieldError(fieldName: string): string;
108
+ HasExecutionOrderError(): boolean;
109
+ /** @deprecated Use {@link HasExecutionOrderError}. */
50
110
  hasExecutionOrderError(): boolean;
111
+ RequiresMessageCount(): boolean;
112
+ /** @deprecated Use {@link RequiresMessageCount}. */
51
113
  requiresMessageCount(): boolean;
114
+ GetContextBehaviorDescription(value: string): string;
115
+ /** @deprecated Use {@link GetContextBehaviorDescription}. */
52
116
  getContextBehaviorDescription(value: string): string;
53
117
  cancel(): void;
54
118
  save(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-prompt-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-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,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAI/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,mCAAmC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IACjG,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1D;AAED;;;GAGG;AACH,qBAMa,0CAA2C,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAyC7G,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IAvCb,WAAW,EAAG,qBAAqB,CAAC;IACpC,eAAe,EAAE,qBAAqB,EAAE,CAAM;IAG9C,OAAO,CAAC,QAAQ,CAAuB;IAChC,MAAM,sDAA6D;IAG1E,YAAY,EAAG,SAAS,CAAC;IACzB,UAAU,2BAAuC;IACjD,SAAS,2BAAuC;IAGhD,eAAe,6CAAsD;IAGrE,sBAAsB;;;;QAOpB;IAEF,aAAa;;;QAKX;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;IAatB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,sBAAsB;YAqBhB,gBAAgB;IAiC9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASxC,sBAAsB,IAAI,OAAO;IAMjC,oBAAoB,IAAI,OAAO;IAK/B,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOpD,MAAM;IAKA,IAAI;yCA5LC,0CAA0C;2CAA1C,0CAA0C;CAiOtD"}
1
+ {"version":3,"file":"agent-prompt-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.ts"],"names":[],"mappings":"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"}