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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/README.md +22 -0
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
  4. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  5. package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
  9. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  13. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
  17. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  18. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  19. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  20. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  21. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  22. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  23. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  24. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  25. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  26. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  27. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  28. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  29. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  37. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  38. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  39. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  40. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  41. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  42. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  43. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  45. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  46. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  49. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  53. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  56. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  57. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  60. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
  61. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  62. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  63. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  64. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  65. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  66. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  67. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  68. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  69. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  70. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  71. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  72. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  73. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  74. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  75. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  76. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  77. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  78. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  79. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  80. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  81. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  82. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  83. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  84. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  85. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  86. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  87. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  88. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  89. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  90. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  91. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  92. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  93. package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
  94. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  95. package/dist/lib/custom/Entities/entity-form.component.js +494 -138
  96. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  97. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  100. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  101. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  102. package/dist/lib/custom/Files/file-form.component.js +2 -2
  103. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  104. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  105. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  106. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  107. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  108. package/dist/lib/custom/MLModels/ml-model-form.component.d.ts +27 -0
  109. package/dist/lib/custom/MLModels/ml-model-form.component.d.ts.map +1 -0
  110. package/dist/lib/custom/MLModels/ml-model-form.component.js +193 -0
  111. package/dist/lib/custom/MLModels/ml-model-form.component.js.map +1 -0
  112. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +75 -0
  113. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -0
  114. package/dist/lib/custom/MLModels/ml-model-view-models.js +244 -0
  115. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -0
  116. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +173 -0
  117. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -0
  118. package/dist/lib/custom/MLModels/ps-model-detail.component.js +883 -0
  119. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -0
  120. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  121. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  122. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  123. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  124. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  125. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  126. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  127. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  128. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +133 -7
  129. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  130. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +1268 -19
  131. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  132. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  133. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  134. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  135. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  136. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  137. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  138. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  139. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  140. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  141. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  142. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  143. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  144. package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
  145. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  146. package/dist/lib/custom/Templates/templates-form.component.js +333 -113
  147. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  148. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  149. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  150. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  151. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  152. package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
  153. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  154. package/dist/lib/custom/Tests/test-form.component.js +549 -169
  155. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  156. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  157. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  158. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  159. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  160. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  161. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  162. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  163. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  164. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  165. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  166. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  167. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  168. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
  169. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  170. package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
  171. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  172. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  173. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  174. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  175. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  176. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  177. package/dist/lib/custom/Users/user-overview.panel.js +2 -2
  178. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  179. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  180. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  181. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  182. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  183. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  184. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  185. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  186. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  187. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  188. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  189. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  190. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  191. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  192. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  193. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  194. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  195. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  196. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  197. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  198. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  199. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  200. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  201. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  202. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  203. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +121 -14
  204. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  205. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +287 -79
  206. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  207. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  208. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  209. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  210. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  211. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  212. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  213. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  214. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  215. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  216. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  217. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  218. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  219. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  220. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  221. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  222. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  223. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  224. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  225. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  226. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  227. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  228. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  229. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  230. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  231. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  232. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  233. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  234. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  235. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  236. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  237. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  238. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  239. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  240. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  241. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  242. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  243. package/dist/lib/custom/custom-forms.module.d.ts +32 -30
  244. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  245. package/dist/lib/custom/custom-forms.module.js +21 -4
  246. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  247. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  248. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  249. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  250. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  251. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.d.ts.map +1 -1
  252. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +62 -26
  253. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
  254. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  255. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
  256. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  257. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  258. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  259. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
  260. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +33 -15
  261. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  262. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  263. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +100 -82
  264. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  265. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +24 -20
  266. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  267. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts +10 -0
  268. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts.map +1 -0
  269. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js +122 -0
  270. package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js.map +1 -0
  271. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts +10 -0
  272. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts.map +1 -0
  273. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js +125 -0
  274. package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js.map +1 -0
  275. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
  276. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +23 -5
  277. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  278. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.d.ts.map +1 -1
  279. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js +25 -6
  280. package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js.map +1 -1
  281. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  282. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  283. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
  284. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +11 -15
  285. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
  286. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.d.ts.map +1 -1
  287. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +43 -7
  288. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
  289. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  290. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
  291. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  292. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts +10 -0
  293. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts.map +1 -0
  294. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js +78 -0
  295. package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js.map +1 -0
  296. package/dist/lib/generated/generated-forms.module.d.ts +240 -237
  297. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  298. package/dist/lib/generated/generated-forms.module.js +11 -2
  299. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  300. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  301. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  302. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  303. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  304. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  305. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  306. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  307. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  308. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  309. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  310. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  311. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +122 -1
  312. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  313. package/dist/lib/panels/model-predictions/model-prediction.logic.js +236 -11
  314. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  315. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +72 -13
  316. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  317. package/dist/lib/panels/model-predictions/model-prediction.panel.js +577 -78
  318. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  319. package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
  320. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  321. package/dist/lib/shared/components/template-editor.component.js +322 -124
  322. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  323. package/dist/public-api.d.ts +4 -0
  324. package/dist/public-api.d.ts.map +1 -1
  325. package/dist/public-api.js +4 -0
  326. package/dist/public-api.js.map +1 -1
  327. package/package.json +43 -41
@@ -21,7 +21,7 @@ function CreateSubAgentDialogComponent_Conditional_5_Template(rf, ctx) { if (rf
21
21
  } if (rf & 2) {
22
22
  const ctx_r0 = i0.ɵɵnextContext();
23
23
  i0.ɵɵadvance(4);
24
- i0.ɵɵtextInterpolate(ctx_r0.config.parentAgentName);
24
+ i0.ɵɵtextInterpolate(ctx_r0.config.ParentAgentName);
25
25
  } }
26
26
  function CreateSubAgentDialogComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
27
27
  i0.ɵɵelementStart(0, "div", 5);
@@ -279,6 +279,126 @@ function CreateSubAgentDialogComponent_Conditional_18_Template(rf, ctx) { if (rf
279
279
  * This ensures atomicity with the parent form's save operation.
280
280
  */
281
281
  export class CreateSubAgentDialogComponent extends BaseAngularComponent {
282
+ /** @deprecated Use {@link Result}. */
283
+ get result() {
284
+ return this.Result;
285
+ }
286
+ /** @deprecated Use {@link Result}. */
287
+ set result(value) {
288
+ this.Result = value;
289
+ }
290
+ /** @deprecated Use {@link SubAgentForm}. */
291
+ get subAgentForm() {
292
+ return this.SubAgentForm;
293
+ }
294
+ /** @deprecated Use {@link SubAgentForm}. */
295
+ set subAgentForm(value) {
296
+ this.SubAgentForm = value;
297
+ }
298
+ /** @deprecated Use {@link IsLoading$}. */
299
+ get isLoading$() {
300
+ return this.IsLoading$;
301
+ }
302
+ /** @deprecated Use {@link IsLoading$}. */
303
+ set isLoading$(value) {
304
+ this.IsLoading$ = value;
305
+ }
306
+ /** @deprecated Use {@link IsSaving$}. */
307
+ get isSaving$() {
308
+ return this.IsSaving$;
309
+ }
310
+ /** @deprecated Use {@link IsSaving$}. */
311
+ set isSaving$(value) {
312
+ this.IsSaving$ = value;
313
+ }
314
+ /** @deprecated Use {@link AvailableAgentTypes$}. */
315
+ get availableAgentTypes$() {
316
+ return this.AvailableAgentTypes$;
317
+ }
318
+ /** @deprecated Use {@link AvailableAgentTypes$}. */
319
+ set availableAgentTypes$(value) {
320
+ this.AvailableAgentTypes$ = value;
321
+ }
322
+ /** @deprecated Use {@link AvailablePrompts$}. */
323
+ get availablePrompts$() {
324
+ return this.AvailablePrompts$;
325
+ }
326
+ /** @deprecated Use {@link AvailablePrompts$}. */
327
+ set availablePrompts$(value) {
328
+ this.AvailablePrompts$ = value;
329
+ }
330
+ /** @deprecated Use {@link AvailableActions$}. */
331
+ get availableActions$() {
332
+ return this.AvailableActions$;
333
+ }
334
+ /** @deprecated Use {@link AvailableActions$}. */
335
+ set availableActions$(value) {
336
+ this.AvailableActions$ = value;
337
+ }
338
+ /** @deprecated Use {@link SubAgentEntity}. */
339
+ get subAgentEntity() {
340
+ return this.SubAgentEntity;
341
+ }
342
+ /** @deprecated Use {@link SubAgentEntity}. */
343
+ set subAgentEntity(value) {
344
+ this.SubAgentEntity = value;
345
+ }
346
+ /** @deprecated Use {@link LinkedPrompts}. */
347
+ get linkedPrompts() {
348
+ return this.LinkedPrompts;
349
+ }
350
+ /** @deprecated Use {@link LinkedPrompts}. */
351
+ set linkedPrompts(value) {
352
+ this.LinkedPrompts = value;
353
+ }
354
+ /** @deprecated Use {@link LinkedActions}. */
355
+ get linkedActions() {
356
+ return this.LinkedActions;
357
+ }
358
+ /** @deprecated Use {@link LinkedActions}. */
359
+ set linkedActions(value) {
360
+ this.LinkedActions = value;
361
+ }
362
+ /** @deprecated Use {@link AgentPromptLinks}. */
363
+ get agentPromptLinks() {
364
+ return this.AgentPromptLinks;
365
+ }
366
+ /** @deprecated Use {@link AgentPromptLinks}. */
367
+ set agentPromptLinks(value) {
368
+ this.AgentPromptLinks = value;
369
+ }
370
+ /** @deprecated Use {@link AgentActionLinks}. */
371
+ get agentActionLinks() {
372
+ return this.AgentActionLinks;
373
+ }
374
+ /** @deprecated Use {@link AgentActionLinks}. */
375
+ set agentActionLinks(value) {
376
+ this.AgentActionLinks = value;
377
+ }
378
+ /** @deprecated Use {@link NewlyCreatedPrompts}. */
379
+ get newlyCreatedPrompts() {
380
+ return this.NewlyCreatedPrompts;
381
+ }
382
+ /** @deprecated Use {@link NewlyCreatedPrompts}. */
383
+ set newlyCreatedPrompts(value) {
384
+ this.NewlyCreatedPrompts = value;
385
+ }
386
+ /** @deprecated Use {@link NewlyCreatedPromptTemplates}. */
387
+ get newlyCreatedPromptTemplates() {
388
+ return this.NewlyCreatedPromptTemplates;
389
+ }
390
+ /** @deprecated Use {@link NewlyCreatedPromptTemplates}. */
391
+ set newlyCreatedPromptTemplates(value) {
392
+ this.NewlyCreatedPromptTemplates = value;
393
+ }
394
+ /** @deprecated Use {@link NewlyCreatedTemplateContents}. */
395
+ get newlyCreatedTemplateContents() {
396
+ return this.NewlyCreatedTemplateContents;
397
+ }
398
+ /** @deprecated Use {@link NewlyCreatedTemplateContents}. */
399
+ set newlyCreatedTemplateContents(value) {
400
+ this.NewlyCreatedTemplateContents = value;
401
+ }
282
402
  constructor(cdr, agentManagementService, viewContainerRef) {
283
403
  super();
284
404
  this.cdr = cdr;
@@ -288,26 +408,26 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
288
408
  this.config = {};
289
409
  // State management
290
410
  this.destroy$ = new Subject();
291
- this.result = new Subject();
292
- this.isLoading$ = new BehaviorSubject(false);
293
- this.isSaving$ = new BehaviorSubject(false);
411
+ this.Result = new Subject();
412
+ this.IsLoading$ = new BehaviorSubject(false);
413
+ this.IsSaving$ = new BehaviorSubject(false);
294
414
  // Data
295
- this.availableAgentTypes$ = new BehaviorSubject([]);
296
- this.availablePrompts$ = new BehaviorSubject([]);
297
- this.availableActions$ = new BehaviorSubject([]);
415
+ this.AvailableAgentTypes$ = new BehaviorSubject([]);
416
+ this.AvailablePrompts$ = new BehaviorSubject([]);
417
+ this.AvailableActions$ = new BehaviorSubject([]);
298
418
  // Entities (not saved to database)
299
- this.subAgentEntity = null;
300
- this.linkedPrompts = [];
301
- this.linkedActions = [];
419
+ this.SubAgentEntity = null;
420
+ this.LinkedPrompts = [];
421
+ this.LinkedActions = [];
302
422
  // Link entities for database relationships
303
- this.agentPromptLinks = [];
304
- this.agentActionLinks = [];
423
+ this.AgentPromptLinks = [];
424
+ this.AgentActionLinks = [];
305
425
  // Storage for new entities created within dialog
306
- this.newlyCreatedPrompts = [];
307
- this.newlyCreatedPromptTemplates = [];
308
- this.newlyCreatedTemplateContents = [];
426
+ this.NewlyCreatedPrompts = [];
427
+ this.NewlyCreatedPromptTemplates = [];
428
+ this.NewlyCreatedTemplateContents = [];
309
429
  this.DialogClose = new EventEmitter();
310
- this.subAgentForm = this.createForm();
430
+ this.SubAgentForm = this.createForm();
311
431
  }
312
432
  ngOnInit() {
313
433
  this.loadInitialData();
@@ -319,9 +439,9 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
319
439
  }
320
440
  createForm() {
321
441
  return new FormGroup({
322
- name: new FormControl(this.config.initialName || '', [Validators.required]),
442
+ name: new FormControl(this.config.InitialName || '', [Validators.required]),
323
443
  description: new FormControl(''),
324
- typeID: new FormControl(this.config.initialTypeID || '', [Validators.required]),
444
+ typeID: new FormControl(this.config.InitialTypeID || '', [Validators.required]),
325
445
  status: new FormControl('Pending'),
326
446
  executionMode: new FormControl('Sequential'),
327
447
  purpose: new FormControl(''),
@@ -338,14 +458,14 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
338
458
  }
339
459
  setupFormWatching() {
340
460
  // Watch for form changes to update entity
341
- this.subAgentForm.valueChanges
461
+ this.SubAgentForm.valueChanges
342
462
  .pipe(takeUntil(this.destroy$))
343
463
  .subscribe(formValue => {
344
464
  this.updateSubAgentEntity(formValue);
345
465
  });
346
466
  }
347
467
  async loadInitialData() {
348
- this.isLoading$.next(true);
468
+ this.IsLoading$.next(true);
349
469
  try {
350
470
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
351
471
  // Load all data in a single batch for better performance
@@ -375,71 +495,71 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
375
495
  ]);
376
496
  // Process agent types (index 0)
377
497
  if (results[0].Success && results[0].Results) {
378
- this.availableAgentTypes$.next(results[0].Results);
498
+ this.AvailableAgentTypes$.next(results[0].Results);
379
499
  // Set default type if not specified
380
- if (!this.config.initialTypeID && results[0].Results.length > 0) {
381
- this.subAgentForm.patchValue({ typeID: results[0].Results[0].ID });
500
+ if (!this.config.InitialTypeID && results[0].Results.length > 0) {
501
+ this.SubAgentForm.patchValue({ typeID: results[0].Results[0].ID });
382
502
  }
383
503
  }
384
504
  // Process available prompts (index 1)
385
505
  if (results[1].Success && results[1].Results) {
386
- this.availablePrompts$.next(results[1].Results);
506
+ this.AvailablePrompts$.next(results[1].Results);
387
507
  }
388
508
  // Process available actions (index 2)
389
509
  const actionsResult = results[2];
390
510
  if (actionsResult.Success && actionsResult.Results) {
391
- this.availableActions$.next(actionsResult.Results);
511
+ this.AvailableActions$.next(actionsResult.Results);
392
512
  }
393
513
  // Create the sub-agent entity
394
514
  const md = this.ProviderToUse;
395
- this.subAgentEntity = await md.GetEntityObject('MJ: AI Agents');
396
- this.subAgentEntity.NewRecord();
515
+ this.SubAgentEntity = await md.GetEntityObject('MJ: AI Agents');
516
+ this.SubAgentEntity.NewRecord();
397
517
  // Set default values
398
- this.subAgentEntity.Status = 'Pending';
399
- this.subAgentEntity.ExecutionMode = 'Sequential';
400
- this.subAgentEntity.ExposeAsAction = false; // Database constraint for sub-agents
401
- this.subAgentEntity.ParentID = this.config.parentAgentId;
402
- this.subAgentEntity.ModelSelectionMode = 'Agent Type';
403
- this.subAgentEntity.Set('Temperature', 0.1);
404
- this.subAgentEntity.Set('TopP', 0.1);
405
- this.subAgentEntity.Set('TopK', 40);
406
- this.subAgentEntity.Set('MaxTokensPerRun', 4000);
407
- this.subAgentEntity.Set('EnableCaching', false);
408
- this.subAgentEntity.Set('CacheTTLSeconds', 3600);
518
+ this.SubAgentEntity.Status = 'Pending';
519
+ this.SubAgentEntity.ExecutionMode = 'Sequential';
520
+ this.SubAgentEntity.ExposeAsAction = false; // Database constraint for sub-agents
521
+ this.SubAgentEntity.ParentID = this.config.ParentAgentId;
522
+ this.SubAgentEntity.ModelSelectionMode = 'Agent Type';
523
+ this.SubAgentEntity.Set('Temperature', 0.1);
524
+ this.SubAgentEntity.Set('TopP', 0.1);
525
+ this.SubAgentEntity.Set('TopK', 40);
526
+ this.SubAgentEntity.Set('MaxTokensPerRun', 4000);
527
+ this.SubAgentEntity.Set('EnableCaching', false);
528
+ this.SubAgentEntity.Set('CacheTTLSeconds', 3600);
409
529
  // Update form with initial values
410
- this.updateSubAgentEntity(this.subAgentForm.value);
530
+ this.updateSubAgentEntity(this.SubAgentForm.value);
411
531
  }
412
532
  catch (error) {
413
533
  console.error('Error loading sub-agent creation data:', error);
414
534
  MJNotificationService.Instance.CreateSimpleNotification('Error loading data for sub-agent creation', 'error', 3000);
415
535
  }
416
536
  finally {
417
- this.isLoading$.next(false);
537
+ this.IsLoading$.next(false);
418
538
  }
419
539
  }
420
540
  updateSubAgentEntity(formValue) {
421
- if (!this.subAgentEntity)
541
+ if (!this.SubAgentEntity)
422
542
  return;
423
543
  // Update entity with form values
424
- this.subAgentEntity.Name = formValue.name;
425
- this.subAgentEntity.Description = formValue.description || '';
426
- this.subAgentEntity.TypeID = formValue.typeID;
427
- this.subAgentEntity.Status = formValue.status;
428
- this.subAgentEntity.ExecutionMode = formValue.executionMode;
429
- this.subAgentEntity.Set('Purpose', formValue.purpose || '');
430
- this.subAgentEntity.Set('UserMessage', formValue.userMessage || '');
544
+ this.SubAgentEntity.Name = formValue.name;
545
+ this.SubAgentEntity.Description = formValue.description || '';
546
+ this.SubAgentEntity.TypeID = formValue.typeID;
547
+ this.SubAgentEntity.Status = formValue.status;
548
+ this.SubAgentEntity.ExecutionMode = formValue.executionMode;
549
+ this.SubAgentEntity.Set('Purpose', formValue.purpose || '');
550
+ this.SubAgentEntity.Set('UserMessage', formValue.userMessage || '');
431
551
  // Note: SystemMessage does not exist on MJAIAgentEntityExtended, removing this line
432
- this.subAgentEntity.ModelSelectionMode = formValue.modelSelectionMode;
433
- this.subAgentEntity.Set('Temperature', formValue.temperature);
434
- this.subAgentEntity.Set('TopP', formValue.topP);
435
- this.subAgentEntity.Set('TopK', formValue.topK);
436
- this.subAgentEntity.Set('MaxTokensPerRun', formValue.maxTokens);
437
- this.subAgentEntity.Set('EnableCaching', formValue.enableCaching);
438
- this.subAgentEntity.Set('CacheTTLSeconds', formValue.cacheTTL);
552
+ this.SubAgentEntity.ModelSelectionMode = formValue.modelSelectionMode;
553
+ this.SubAgentEntity.Set('Temperature', formValue.temperature);
554
+ this.SubAgentEntity.Set('TopP', formValue.topP);
555
+ this.SubAgentEntity.Set('TopK', formValue.topK);
556
+ this.SubAgentEntity.Set('MaxTokensPerRun', formValue.maxTokens);
557
+ this.SubAgentEntity.Set('EnableCaching', formValue.enableCaching);
558
+ this.SubAgentEntity.Set('CacheTTLSeconds', formValue.cacheTTL);
439
559
  }
440
- async addPrompt() {
560
+ async AddPrompt() {
441
561
  // Get currently linked prompt IDs
442
- const linkedPromptIds = this.linkedPrompts.map(p => p.ID);
562
+ const linkedPromptIds = this.LinkedPrompts.map(p => p.ID);
443
563
  try {
444
564
  this.agentManagementService.openPromptSelectorDialog({
445
565
  title: 'Add Prompts to Sub-Agent',
@@ -450,22 +570,22 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
450
570
  viewContainerRef: this.viewContainerRef
451
571
  }).subscribe({
452
572
  next: async (result) => {
453
- if (result && result.selectedPrompts.length > 0) {
573
+ if (result && result.SelectedPrompts.length > 0) {
454
574
  // Filter out already linked prompts
455
- const newPrompts = result.selectedPrompts.filter(prompt => !linkedPromptIds.some(id => UUIDsEqual(id, prompt.ID)));
575
+ const newPrompts = result.SelectedPrompts.filter(prompt => !linkedPromptIds.some(id => UUIDsEqual(id, prompt.ID)));
456
576
  if (newPrompts.length > 0) {
457
577
  // Add to UI
458
- this.linkedPrompts.push(...newPrompts);
578
+ this.LinkedPrompts.push(...newPrompts);
459
579
  // Create agent prompt link entities
460
580
  const md = this.ProviderToUse;
461
581
  for (const prompt of newPrompts) {
462
582
  const agentPrompt = await md.GetEntityObject('MJ: AI Agent Prompts');
463
583
  agentPrompt.NewRecord();
464
- agentPrompt.AgentID = this.subAgentEntity.ID;
584
+ agentPrompt.AgentID = this.SubAgentEntity.ID;
465
585
  agentPrompt.PromptID = prompt.ID;
466
586
  agentPrompt.Status = 'Active';
467
- agentPrompt.ExecutionOrder = this.agentPromptLinks.length + 1;
468
- this.agentPromptLinks.push(agentPrompt);
587
+ agentPrompt.ExecutionOrder = this.AgentPromptLinks.length + 1;
588
+ this.AgentPromptLinks.push(agentPrompt);
469
589
  }
470
590
  // Trigger change detection
471
591
  this.cdr.detectChanges();
@@ -474,7 +594,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
474
594
  }
475
595
  else if (result && result.createNew) {
476
596
  // User wants to create a new prompt
477
- await this.createNewPrompt();
597
+ await this.CreateNewPrompt();
478
598
  }
479
599
  },
480
600
  error: (error) => {
@@ -488,10 +608,14 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
488
608
  MJNotificationService.Instance.CreateSimpleNotification('Error adding prompts. Please try again.', 'error', 3000);
489
609
  }
490
610
  }
491
- async createNewPrompt() {
611
+ /** @deprecated Use {@link AddPrompt}. */
612
+ async addPrompt() {
613
+ return this.AddPrompt();
614
+ }
615
+ async CreateNewPrompt() {
492
616
  try {
493
617
  this.agentManagementService.openCreatePromptDialog({
494
- title: `Create New Prompt for ${this.subAgentEntity?.Name || 'Sub-Agent'}`,
618
+ title: `Create New Prompt for ${this.SubAgentEntity?.Name || 'Sub-Agent'}`,
495
619
  initialName: '',
496
620
  viewContainerRef: this.viewContainerRef
497
621
  }).subscribe({
@@ -499,24 +623,24 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
499
623
  if (result && result.prompt) {
500
624
  try {
501
625
  // Store the newly created entities
502
- this.newlyCreatedPrompts.push(result.prompt);
503
- if (result.template) {
504
- this.newlyCreatedPromptTemplates.push(result.template);
626
+ this.NewlyCreatedPrompts.push(result.prompt);
627
+ if (result.Template) {
628
+ this.NewlyCreatedPromptTemplates.push(result.Template);
505
629
  }
506
630
  if (result.templateContents && result.templateContents.length > 0) {
507
- this.newlyCreatedTemplateContents.push(...result.templateContents);
631
+ this.NewlyCreatedTemplateContents.push(...result.templateContents);
508
632
  }
509
633
  // Add to UI
510
- this.linkedPrompts.push(result.prompt);
634
+ this.LinkedPrompts.push(result.prompt);
511
635
  // Create agent prompt link entity
512
636
  const md = this.ProviderToUse;
513
637
  const agentPrompt = await md.GetEntityObject('MJ: AI Agent Prompts');
514
638
  agentPrompt.NewRecord();
515
- agentPrompt.AgentID = this.subAgentEntity.ID;
639
+ agentPrompt.AgentID = this.SubAgentEntity.ID;
516
640
  agentPrompt.PromptID = result.prompt.ID;
517
641
  agentPrompt.Status = 'Active';
518
- agentPrompt.ExecutionOrder = this.agentPromptLinks.length + 1;
519
- this.agentPromptLinks.push(agentPrompt);
642
+ agentPrompt.ExecutionOrder = this.AgentPromptLinks.length + 1;
643
+ this.AgentPromptLinks.push(agentPrompt);
520
644
  // Trigger change detection
521
645
  this.cdr.detectChanges();
522
646
  MJNotificationService.Instance.CreateSimpleNotification(`New prompt "${result.prompt.Name}" created and linked to sub-agent`, 'success', 3000);
@@ -538,13 +662,17 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
538
662
  MJNotificationService.Instance.CreateSimpleNotification('Error creating new prompt. Please try again.', 'error', 3000);
539
663
  }
540
664
  }
541
- async addAction() {
665
+ /** @deprecated Use {@link CreateNewPrompt}. */
666
+ async createNewPrompt() {
667
+ return this.CreateNewPrompt();
668
+ }
669
+ async AddAction() {
542
670
  // Get currently linked action IDs
543
- const linkedActionIds = this.linkedActions.map(a => a.ID);
671
+ const linkedActionIds = this.LinkedActions.map(a => a.ID);
544
672
  try {
545
673
  this.agentManagementService.openAddActionDialog({
546
- agentId: this.subAgentEntity?.ID || '',
547
- agentName: this.subAgentEntity?.Name || 'Sub-Agent',
674
+ agentId: this.SubAgentEntity?.ID || '',
675
+ agentName: this.SubAgentEntity?.Name || 'Sub-Agent',
548
676
  existingActionIds: linkedActionIds,
549
677
  viewContainerRef: this.viewContainerRef
550
678
  }).subscribe({
@@ -554,16 +682,16 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
554
682
  const newActions = selectedActions.filter(action => !linkedActionIds.some(id => UUIDsEqual(id, action.ID)));
555
683
  if (newActions.length > 0) {
556
684
  // Add to UI
557
- this.linkedActions.push(...newActions);
685
+ this.LinkedActions.push(...newActions);
558
686
  // Create agent action link entities
559
687
  const md = this.ProviderToUse;
560
688
  for (const action of newActions) {
561
689
  const agentAction = await md.GetEntityObject('MJ: AI Agent Actions');
562
690
  agentAction.NewRecord();
563
- agentAction.AgentID = this.subAgentEntity.ID;
691
+ agentAction.AgentID = this.SubAgentEntity.ID;
564
692
  agentAction.ActionID = action.ID;
565
693
  agentAction.Status = 'Active';
566
- this.agentActionLinks.push(agentAction);
694
+ this.AgentActionLinks.push(agentAction);
567
695
  }
568
696
  // Trigger change detection
569
697
  this.cdr.detectChanges();
@@ -582,58 +710,70 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
582
710
  MJNotificationService.Instance.CreateSimpleNotification('Error adding actions. Please try again.', 'error', 3000);
583
711
  }
584
712
  }
585
- removePrompt(prompt) {
713
+ /** @deprecated Use {@link AddAction}. */
714
+ async addAction() {
715
+ return this.AddAction();
716
+ }
717
+ RemovePrompt(prompt) {
586
718
  // Remove from UI
587
- const promptIndex = this.linkedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
719
+ const promptIndex = this.LinkedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
588
720
  if (promptIndex >= 0) {
589
- this.linkedPrompts.splice(promptIndex, 1);
721
+ this.LinkedPrompts.splice(promptIndex, 1);
590
722
  }
591
723
  // Remove from link entities
592
- const linkIndex = this.agentPromptLinks.findIndex(ap => UUIDsEqual(ap.PromptID, prompt.ID));
724
+ const linkIndex = this.AgentPromptLinks.findIndex(ap => UUIDsEqual(ap.PromptID, prompt.ID));
593
725
  if (linkIndex >= 0) {
594
- this.agentPromptLinks.splice(linkIndex, 1);
726
+ this.AgentPromptLinks.splice(linkIndex, 1);
595
727
  }
596
728
  // Remove from newly created prompts if it was created in this dialog
597
- const newPromptIndex = this.newlyCreatedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
729
+ const newPromptIndex = this.NewlyCreatedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
598
730
  if (newPromptIndex >= 0) {
599
- this.newlyCreatedPrompts.splice(newPromptIndex, 1);
731
+ this.NewlyCreatedPrompts.splice(newPromptIndex, 1);
600
732
  }
601
733
  this.cdr.detectChanges();
602
734
  MJNotificationService.Instance.CreateSimpleNotification(`Prompt "${prompt.Name}" removed from sub-agent`, 'info', 3000);
603
735
  }
604
- removeAction(action) {
736
+ /** @deprecated Use {@link RemovePrompt}. */
737
+ removePrompt(prompt) {
738
+ return this.RemovePrompt(prompt);
739
+ }
740
+ RemoveAction(action) {
605
741
  // Remove from UI
606
- const actionIndex = this.linkedActions.findIndex(a => UUIDsEqual(a.ID, action.ID));
742
+ const actionIndex = this.LinkedActions.findIndex(a => UUIDsEqual(a.ID, action.ID));
607
743
  if (actionIndex >= 0) {
608
- this.linkedActions.splice(actionIndex, 1);
744
+ this.LinkedActions.splice(actionIndex, 1);
609
745
  }
610
746
  // Remove from link entities
611
- const linkIndex = this.agentActionLinks.findIndex(aa => UUIDsEqual(aa.ActionID, action.ID));
747
+ const linkIndex = this.AgentActionLinks.findIndex(aa => UUIDsEqual(aa.ActionID, action.ID));
612
748
  if (linkIndex >= 0) {
613
- this.agentActionLinks.splice(linkIndex, 1);
749
+ this.AgentActionLinks.splice(linkIndex, 1);
614
750
  }
615
751
  this.cdr.detectChanges();
616
752
  MJNotificationService.Instance.CreateSimpleNotification(`Action "${action.Name}" removed from sub-agent`, 'info', 3000);
617
753
  }
754
+ /** @deprecated Use {@link RemoveAction}. */
755
+ removeAction(action) {
756
+ return this.RemoveAction(action);
757
+ }
618
758
  async save() {
619
- if (!this.subAgentForm.valid || !this.subAgentEntity) {
759
+ if (!this.SubAgentForm.valid || !this.SubAgentEntity) {
620
760
  MJNotificationService.Instance.CreateSimpleNotification('Please fill in all required fields', 'warning', 3000);
621
761
  return;
622
762
  }
623
- this.isSaving$.next(true);
763
+ this.IsSaving$.next(true);
624
764
  try {
625
765
  // Update entity with final form values
626
- this.updateSubAgentEntity(this.subAgentForm.value);
766
+ this.updateSubAgentEntity(this.SubAgentForm.value);
627
767
  // Return the created entities (not saved to database)
628
768
  const result = {
629
- subAgent: this.subAgentEntity,
630
- agentPrompts: this.agentPromptLinks,
631
- agentActions: this.agentActionLinks,
632
- newPrompts: this.newlyCreatedPrompts.length > 0 ? this.newlyCreatedPrompts : undefined,
633
- newPromptTemplates: this.newlyCreatedPromptTemplates.length > 0 ? this.newlyCreatedPromptTemplates : undefined,
634
- newTemplateContents: this.newlyCreatedTemplateContents.length > 0 ? this.newlyCreatedTemplateContents : undefined
769
+ SubAgent: this.SubAgentEntity,
770
+ AgentPrompts: this.AgentPromptLinks,
771
+ AgentActions: this.AgentActionLinks,
772
+ NewPrompts: this.NewlyCreatedPrompts.length > 0 ? this.NewlyCreatedPrompts : undefined,
773
+ NewPromptTemplates: this.NewlyCreatedPromptTemplates.length > 0 ? this.NewlyCreatedPromptTemplates : undefined,
774
+ NewTemplateContents: this.NewlyCreatedTemplateContents.length > 0 ? this.NewlyCreatedTemplateContents : undefined
635
775
  };
636
- this.result.next(result);
776
+ this.Result.next(result);
637
777
  this.DialogClose.emit();
638
778
  }
639
779
  catch (error) {
@@ -641,28 +781,48 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
641
781
  MJNotificationService.Instance.CreateSimpleNotification('Error preparing sub-agent for creation', 'error', 3000);
642
782
  }
643
783
  finally {
644
- this.isSaving$.next(false);
784
+ this.IsSaving$.next(false);
645
785
  }
646
786
  }
647
787
  cancel() {
648
- this.result.next(null);
788
+ this.Result.next(null);
649
789
  this.DialogClose.emit();
650
790
  }
651
791
  // Helper methods for UI
792
+ GetAgentIcon() {
793
+ return this.SubAgentEntity?.IconClass || 'fa-solid fa-robot';
794
+ }
795
+ /** @deprecated Use {@link GetAgentIcon}. */
652
796
  getAgentIcon() {
653
- return this.subAgentEntity?.IconClass || 'fa-solid fa-robot';
797
+ return this.GetAgentIcon();
654
798
  }
655
- getPromptIcon() {
799
+ GetPromptIcon() {
656
800
  return 'fa-solid fa-comments';
657
801
  }
658
- getActionIcon() {
802
+ /** @deprecated Use {@link GetPromptIcon}. */
803
+ getPromptIcon() {
804
+ return this.GetPromptIcon();
805
+ }
806
+ GetActionIcon() {
659
807
  return 'fa-solid fa-bolt';
660
808
  }
809
+ /** @deprecated Use {@link GetActionIcon}. */
810
+ getActionIcon() {
811
+ return this.GetActionIcon();
812
+ }
813
+ get LinkedPromptCount() {
814
+ return this.LinkedPrompts.length;
815
+ }
816
+ /** @deprecated Use {@link LinkedPromptCount}. */
661
817
  get linkedPromptCount() {
662
- return this.linkedPrompts.length;
818
+ return this.LinkedPromptCount;
819
+ }
820
+ get LinkedActionCount() {
821
+ return this.LinkedActions.length;
663
822
  }
823
+ /** @deprecated Use {@link LinkedActionCount}. */
664
824
  get linkedActionCount() {
665
- return this.linkedActions.length;
825
+ return this.LinkedActionCount;
666
826
  }
667
827
  static { this.ɵfac = function CreateSubAgentDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CreateSubAgentDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.AIAgentManagementService), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
668
828
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CreateSubAgentDialogComponent, selectors: [["mj-create-sub-agent-dialog"]], outputs: { DialogClose: "DialogClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 14, consts: [[1, "sub-agent-dialog"], [1, "sub-agent-header"], [1, "dialog-title"], [1, "fa-solid", "fa-robot"], [1, "parent-info"], [1, "loading-container"], [1, "sub-agent-form", 3, "formGroup"], [1, "dialog-actions"], ["type", "button", 1, "btn", "btn-secondary", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], ["type", "button", 1, "btn", "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "form-section"], [1, "section-title"], [1, "fa-solid", "fa-info-circle"], [1, "form-row"], [1, "form-group"], ["for", "name"], ["type", "text", "id", "name", "formControlName", "name", "placeholder", "Enter sub-agent name", 1, "form-control"], ["for", "typeID"], ["id", "typeID", "formControlName", "typeID", 1, "form-control"], ["value", ""], [3, "value"], ["for", "description"], ["id", "description", "formControlName", "description", "rows", "2", "placeholder", "Enter description", 1, "form-control"], ["for", "status"], ["id", "status", "formControlName", "status", 1, "form-control"], ["value", "Pending"], ["value", "Active"], ["value", "Disabled"], ["for", "executionMode"], ["id", "executionMode", "formControlName", "executionMode", 1, "form-control"], ["value", "Sequential"], ["value", "Parallel"], [1, "fa-solid", "fa-bullseye"], ["for", "purpose"], ["type", "text", "id", "purpose", "formControlName", "purpose", "placeholder", "Enter the purpose of this sub-agent", 1, "form-control"], ["for", "userMessage"], ["id", "userMessage", "formControlName", "userMessage", "rows", "3", "placeholder", "Enter user message", 1, "form-control"], [1, "fa-solid", "fa-cogs"], ["for", "modelSelectionMode"], ["id", "modelSelectionMode", "formControlName", "modelSelectionMode", 1, "form-control"], ["value", "Agent Type"], ["value", "Agent"], ["for", "temperature"], ["type", "number", "id", "temperature", "formControlName", "temperature", "min", "0", "max", "2", "step", "0.1", 1, "form-control"], ["for", "topP"], ["type", "number", "id", "topP", "formControlName", "topP", "min", "0", "max", "1", "step", "0.1", 1, "form-control"], ["for", "topK"], ["type", "number", "id", "topK", "formControlName", "topK", "min", "1", "max", "100", "step", "1", 1, "form-control"], ["for", "maxTokens"], ["type", "number", "id", "maxTokens", "formControlName", "maxTokens", "min", "1", "max", "32000", "step", "1", 1, "form-control"], ["for", "enableCaching"], ["type", "checkbox", "id", "enableCaching", "formControlName", "enableCaching"], ["for", "cacheTTL"], ["type", "number", "id", "cacheTTL", "formControlName", "cacheTTL", "min", "60", "max", "86400", "step", "60", 1, "form-control"], [1, "fa-solid", "fa-comments"], [1, "section-actions"], ["type", "button", 1, "btn", "btn-primary", "btn-sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["type", "button", 1, "btn", "btn-success", "btn-sm", 3, "click"], [1, "linked-items"], ["Icon", "fa-solid fa-comments", "Title", "No prompts added yet. Click the buttons above to add prompts.", "Size", "compact"], [1, "fa-solid", "fa-bolt"], ["Icon", "fa-solid fa-bolt", "Title", "No actions added yet. Click the button above to add actions.", "Size", "compact"], [1, "linked-item", "prompt-item"], [1, "item-info"], [1, "item-name"], [1, "item-description"], ["type", "button", 1, "btn", "btn-danger", "btn-xs", 3, "click"], [1, "linked-item", "action-item"], [1, "fa-solid", "fa-save"]], template: function CreateSubAgentDialogComponent_Template(rf, ctx) { if (rf & 1) {
@@ -692,7 +852,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
692
852
  i0.ɵɵadvance(4);
693
853
  i0.ɵɵtextInterpolate1(" ", ctx.config.title || "Create New Sub-Agent", " ");
694
854
  i0.ɵɵadvance();
695
- i0.ɵɵconditional(ctx.config.parentAgentName ? 5 : -1);
855
+ i0.ɵɵconditional(ctx.config.ParentAgentName ? 5 : -1);
696
856
  i0.ɵɵadvance();
697
857
  i0.ɵɵconditional(i0.ɵɵpipeBind1(7, 6, ctx.isLoading$) ? 6 : 8);
698
858
  i0.ɵɵadvance(4);
@@ -705,7 +865,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
705
865
  }
706
866
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CreateSubAgentDialogComponent, [{
707
867
  type: Component,
708
- args: [{ standalone: false, selector: 'mj-create-sub-agent-dialog', template: "<div class=\"sub-agent-dialog\">\n <div class=\"sub-agent-header\">\n <h2 class=\"dialog-title\">\n <i class=\"fa-solid fa-robot\"></i>\n {{ config.title || 'Create New Sub-Agent' }}\n </h2>\n @if (config.parentAgentName) {\n <p class=\"parent-info\">\n <i class=\"fa-solid fa-link\"></i>\n Sub-agent of: <strong>{{ config.parentAgentName }}</strong>\n </p>\n }\n </div>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading sub-agent creation form...</span>\n </div>\n } @else {\n <form [formGroup]=\"subAgentForm\" class=\"sub-agent-form\">\n <!-- Basic Information Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Basic Information\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"name\">Name *</label>\n <input type=\"text\" id=\"name\" formControlName=\"name\" class=\"form-control\" placeholder=\"Enter sub-agent name\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"typeID\">Type *</label>\n <select id=\"typeID\" formControlName=\"typeID\" class=\"form-control\">\n <option value=\"\">Select agent type...</option>\n @for (type of availableAgentTypes$ | async; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"description\">Description</label>\n <textarea id=\"description\" formControlName=\"description\" class=\"form-control\" rows=\"2\" placeholder=\"Enter description\"></textarea>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"status\">Status</label>\n <select id=\"status\" formControlName=\"status\" class=\"form-control\">\n <option value=\"Pending\">Pending</option>\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label for=\"executionMode\">Execution Mode</label>\n <select id=\"executionMode\" formControlName=\"executionMode\" class=\"form-control\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n </div>\n </div>\n\n <!-- Purpose & Messages Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bullseye\"></i>\n Purpose & Messages\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"purpose\">Purpose</label>\n <input type=\"text\" id=\"purpose\" formControlName=\"purpose\" class=\"form-control\" placeholder=\"Enter the purpose of this sub-agent\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"userMessage\">User Message</label>\n <textarea id=\"userMessage\" formControlName=\"userMessage\" class=\"form-control\" rows=\"3\" placeholder=\"Enter user message\"></textarea>\n </div>\n </div>\n\n <!-- System Message field removed - property does not exist on MJAIAgentEntity -->\n </div>\n\n <!-- Model Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Model Configuration\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"modelSelectionMode\">Model Selection Mode</label>\n <select id=\"modelSelectionMode\" formControlName=\"modelSelectionMode\" class=\"form-control\">\n <option value=\"Agent Type\">Agent Type</option>\n <option value=\"Agent\">Agent</option>\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"temperature\">Temperature</label>\n <input type=\"number\" id=\"temperature\" formControlName=\"temperature\" class=\"form-control\" min=\"0\" max=\"2\" step=\"0.1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"topP\">Top P</label>\n <input type=\"number\" id=\"topP\" formControlName=\"topP\" class=\"form-control\" min=\"0\" max=\"1\" step=\"0.1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"topK\">Top K</label>\n <input type=\"number\" id=\"topK\" formControlName=\"topK\" class=\"form-control\" min=\"1\" max=\"100\" step=\"1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"maxTokens\">Max Tokens</label>\n <input type=\"number\" id=\"maxTokens\" formControlName=\"maxTokens\" class=\"form-control\" min=\"1\" max=\"32000\" step=\"1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"enableCaching\">\n <input type=\"checkbox\" id=\"enableCaching\" formControlName=\"enableCaching\">\n Enable Caching\n </label>\n </div>\n \n <div class=\"form-group\">\n <label for=\"cacheTTL\">Cache TTL (seconds)</label>\n <input type=\"number\" id=\"cacheTTL\" formControlName=\"cacheTTL\" class=\"form-control\" min=\"60\" max=\"86400\" step=\"60\">\n </div>\n </div>\n </div>\n\n <!-- Prompts Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Prompts ({{ linkedPromptCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Existing Prompt\n </button>\n <button type=\"button\" class=\"btn btn-success btn-sm\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n </div>\n\n @if (linkedPrompts.length > 0) {\n <div class=\"linked-items\">\n @for (prompt of linkedPrompts; track prompt.ID) {\n <div class=\"linked-item prompt-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-comments\"></i>\n <span class=\"item-name\">{{ prompt.Name }}</span>\n @if (prompt.Description) {\n <span class=\"item-description\">{{ prompt.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removePrompt(prompt)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-comments\"\n Title=\"No prompts added yet. Click the buttons above to add prompts.\"\n Size=\"compact\" />\n }\n </div>\n\n <!-- Actions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Actions ({{ linkedActionCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addAction()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Action\n </button>\n </div>\n\n @if (linkedActions.length > 0) {\n <div class=\"linked-items\">\n @for (action of linkedActions; track action.ID) {\n <div class=\"linked-item action-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-bolt\"></i>\n <span class=\"item-name\">{{ action.Name }}</span>\n @if (action.Description) {\n <span class=\"item-description\">{{ action.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removeAction(action)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-bolt\"\n Title=\"No actions added yet. Click the button above to add actions.\"\n Size=\"compact\" />\n }\n </div>\n </form>\n }\n\n <!-- Dialog Actions -->\n <div class=\"dialog-actions\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\" [disabled]=\"isSaving$ | async\">\n <i class=\"fa-solid fa-times\"></i>\n Cancel\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"save()\" [disabled]=\"(isSaving$ | async) || !subAgentForm.valid\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Create Sub-Agent\n }\n </button>\n </div>\n</div>", styles: [".sub-agent-dialog {\n padding: 16px;\n max-width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n}\n\n.sub-agent-header {\n margin-bottom: 20px;\n border-bottom: 1px solid var(--mj-border-default);\n padding-bottom: 15px;\n}\n\n.dialog-title {\n margin: 0;\n font-size: 1.4em;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.dialog-title i {\n color: var(--mj-brand-primary);\n}\n\n.parent-info {\n margin: 8px 0 0 0;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.parent-info i {\n color: var(--mj-status-success);\n}\n\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-container i {\n font-size: 1.2em;\n color: var(--mj-brand-primary);\n}\n\n.sub-agent-form {\n display: flex;\n flex-direction: column;\n gap: 25px;\n}\n\n.form-section {\n border: 1px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 20px;\n background-color: var(--mj-bg-surface-card);\n}\n\n.section-title {\n margin: 0 0 15px 0;\n font-size: 1.1em;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n}\n\n.form-row {\n display: flex;\n gap: 15px;\n margin-bottom: 15px;\n}\n\n.form-row:last-child {\n margin-bottom: 0;\n}\n\n.form-group {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.form-group label {\n font-weight: 500;\n color: var(--mj-text-secondary);\n margin-bottom: 5px;\n font-size: 0.9em;\n}\n\n.form-group label[for=\"enableCaching\"] {\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n.form-group label[for=\"enableCaching\"] input {\n margin: 0;\n width: auto;\n}\n\n.form-control {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 0.9em;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n.form-control[readonly] {\n background-color: var(--mj-bg-surface-sunken);\n opacity: 1;\n}\n\n.section-actions {\n display: flex;\n gap: 10px;\n margin-bottom: 15px;\n}\n\n.linked-items {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.linked-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n.linked-item:hover {\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.item-info {\n display: flex;\n align-items: center;\n gap: 10px;\n flex: 1;\n}\n\n.item-info i {\n color: var(--mj-brand-primary);\n width: 16px;\n text-align: center;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.item-description {\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n margin-left: 10px;\n}\n\n.prompt-item .item-info i {\n color: var(--mj-status-success);\n}\n\n.action-item .item-info i {\n color: var(--mj-status-warning);\n}\n\n.dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 30px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.btn {\n padding: 8px 16px;\n border: none;\n border-radius: 4px;\n font-size: 0.9em;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease-in-out;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.btn-primary:hover:not(:disabled) {\n background-color: var(--mj-brand-primary-hover);\n}\n\n.btn-secondary {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.btn-secondary:hover:not(:disabled) {\n background-color: var(--mj-text-secondary);\n}\n\n.btn-success {\n background-color: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.btn-success:hover:not(:disabled) {\n background-color: var(--mj-status-success);\n}\n\n.btn-danger {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.btn-danger:hover:not(:disabled) {\n background-color: var(--mj-status-error);\n}\n\n.btn-sm {\n padding: 6px 12px;\n font-size: 0.8em;\n}\n\n.btn-xs {\n padding: 4px 8px;\n font-size: 0.75em;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .sub-agent-dialog {\n padding: 15px;\n max-width: 95vw;\n }\n\n .form-row {\n flex-direction: column;\n gap: 10px;\n }\n\n .section-actions {\n flex-direction: column;\n }\n\n .dialog-actions {\n flex-direction: column;\n }\n\n .linked-item {\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n }\n}\n\n/* Validation styles */\n.form-control.ng-invalid.ng-touched {\n border-color: var(--mj-status-error);\n}\n\n.form-control.ng-valid.ng-touched {\n border-color: var(--mj-status-success);\n}\n\n/* Custom scrollbar for dialog */\n.sub-agent-dialog::-webkit-scrollbar {\n width: 8px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n"] }]
868
+ args: [{ standalone: false, selector: 'mj-create-sub-agent-dialog', template: "<div class=\"sub-agent-dialog\">\n <div class=\"sub-agent-header\">\n <h2 class=\"dialog-title\">\n <i class=\"fa-solid fa-robot\"></i>\n {{ config.title || 'Create New Sub-Agent' }}\n </h2>\n @if (config.ParentAgentName) {\n <p class=\"parent-info\">\n <i class=\"fa-solid fa-link\"></i>\n Sub-agent of: <strong>{{ config.ParentAgentName }}</strong>\n </p>\n }\n </div>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading sub-agent creation form...</span>\n </div>\n } @else {\n <form [formGroup]=\"subAgentForm\" class=\"sub-agent-form\">\n <!-- Basic Information Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Basic Information\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"name\">Name *</label>\n <input type=\"text\" id=\"name\" formControlName=\"name\" class=\"form-control\" placeholder=\"Enter sub-agent name\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"typeID\">Type *</label>\n <select id=\"typeID\" formControlName=\"typeID\" class=\"form-control\">\n <option value=\"\">Select agent type...</option>\n @for (type of availableAgentTypes$ | async; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"description\">Description</label>\n <textarea id=\"description\" formControlName=\"description\" class=\"form-control\" rows=\"2\" placeholder=\"Enter description\"></textarea>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"status\">Status</label>\n <select id=\"status\" formControlName=\"status\" class=\"form-control\">\n <option value=\"Pending\">Pending</option>\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label for=\"executionMode\">Execution Mode</label>\n <select id=\"executionMode\" formControlName=\"executionMode\" class=\"form-control\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n </div>\n </div>\n\n <!-- Purpose & Messages Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bullseye\"></i>\n Purpose & Messages\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"purpose\">Purpose</label>\n <input type=\"text\" id=\"purpose\" formControlName=\"purpose\" class=\"form-control\" placeholder=\"Enter the purpose of this sub-agent\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"userMessage\">User Message</label>\n <textarea id=\"userMessage\" formControlName=\"userMessage\" class=\"form-control\" rows=\"3\" placeholder=\"Enter user message\"></textarea>\n </div>\n </div>\n\n <!-- System Message field removed - property does not exist on MJAIAgentEntity -->\n </div>\n\n <!-- Model Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Model Configuration\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"modelSelectionMode\">Model Selection Mode</label>\n <select id=\"modelSelectionMode\" formControlName=\"modelSelectionMode\" class=\"form-control\">\n <option value=\"Agent Type\">Agent Type</option>\n <option value=\"Agent\">Agent</option>\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"temperature\">Temperature</label>\n <input type=\"number\" id=\"temperature\" formControlName=\"temperature\" class=\"form-control\" min=\"0\" max=\"2\" step=\"0.1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"topP\">Top P</label>\n <input type=\"number\" id=\"topP\" formControlName=\"topP\" class=\"form-control\" min=\"0\" max=\"1\" step=\"0.1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"topK\">Top K</label>\n <input type=\"number\" id=\"topK\" formControlName=\"topK\" class=\"form-control\" min=\"1\" max=\"100\" step=\"1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"maxTokens\">Max Tokens</label>\n <input type=\"number\" id=\"maxTokens\" formControlName=\"maxTokens\" class=\"form-control\" min=\"1\" max=\"32000\" step=\"1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"enableCaching\">\n <input type=\"checkbox\" id=\"enableCaching\" formControlName=\"enableCaching\">\n Enable Caching\n </label>\n </div>\n \n <div class=\"form-group\">\n <label for=\"cacheTTL\">Cache TTL (seconds)</label>\n <input type=\"number\" id=\"cacheTTL\" formControlName=\"cacheTTL\" class=\"form-control\" min=\"60\" max=\"86400\" step=\"60\">\n </div>\n </div>\n </div>\n\n <!-- Prompts Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Prompts ({{ linkedPromptCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Existing Prompt\n </button>\n <button type=\"button\" class=\"btn btn-success btn-sm\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n </div>\n\n @if (linkedPrompts.length > 0) {\n <div class=\"linked-items\">\n @for (prompt of linkedPrompts; track prompt.ID) {\n <div class=\"linked-item prompt-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-comments\"></i>\n <span class=\"item-name\">{{ prompt.Name }}</span>\n @if (prompt.Description) {\n <span class=\"item-description\">{{ prompt.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removePrompt(prompt)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-comments\"\n Title=\"No prompts added yet. Click the buttons above to add prompts.\"\n Size=\"compact\" />\n }\n </div>\n\n <!-- Actions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Actions ({{ linkedActionCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addAction()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Action\n </button>\n </div>\n\n @if (linkedActions.length > 0) {\n <div class=\"linked-items\">\n @for (action of linkedActions; track action.ID) {\n <div class=\"linked-item action-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-bolt\"></i>\n <span class=\"item-name\">{{ action.Name }}</span>\n @if (action.Description) {\n <span class=\"item-description\">{{ action.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removeAction(action)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-bolt\"\n Title=\"No actions added yet. Click the button above to add actions.\"\n Size=\"compact\" />\n }\n </div>\n </form>\n }\n\n <!-- Dialog Actions -->\n <div class=\"dialog-actions\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\" [disabled]=\"isSaving$ | async\">\n <i class=\"fa-solid fa-times\"></i>\n Cancel\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"save()\" [disabled]=\"(isSaving$ | async) || !subAgentForm.valid\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Create Sub-Agent\n }\n </button>\n </div>\n</div>", styles: [".sub-agent-dialog {\n padding: 16px;\n max-width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n}\n\n.sub-agent-header {\n margin-bottom: 20px;\n border-bottom: 1px solid var(--mj-border-default);\n padding-bottom: 15px;\n}\n\n.dialog-title {\n margin: 0;\n font-size: 1.4em;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.dialog-title i {\n color: var(--mj-brand-primary);\n}\n\n.parent-info {\n margin: 8px 0 0 0;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.parent-info i {\n color: var(--mj-status-success);\n}\n\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-container i {\n font-size: 1.2em;\n color: var(--mj-brand-primary);\n}\n\n.sub-agent-form {\n display: flex;\n flex-direction: column;\n gap: 25px;\n}\n\n.form-section {\n border: 1px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 20px;\n background-color: var(--mj-bg-surface-card);\n}\n\n.section-title {\n margin: 0 0 15px 0;\n font-size: 1.1em;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n}\n\n.form-row {\n display: flex;\n gap: 15px;\n margin-bottom: 15px;\n}\n\n.form-row:last-child {\n margin-bottom: 0;\n}\n\n.form-group {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.form-group label {\n font-weight: 500;\n color: var(--mj-text-secondary);\n margin-bottom: 5px;\n font-size: 0.9em;\n}\n\n.form-group label[for=\"enableCaching\"] {\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n.form-group label[for=\"enableCaching\"] input {\n margin: 0;\n width: auto;\n}\n\n.form-control {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 0.9em;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n.form-control[readonly] {\n background-color: var(--mj-bg-surface-sunken);\n opacity: 1;\n}\n\n.section-actions {\n display: flex;\n gap: 10px;\n margin-bottom: 15px;\n}\n\n.linked-items {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.linked-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n.linked-item:hover {\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.item-info {\n display: flex;\n align-items: center;\n gap: 10px;\n flex: 1;\n}\n\n.item-info i {\n color: var(--mj-brand-primary);\n width: 16px;\n text-align: center;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.item-description {\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n margin-left: 10px;\n}\n\n.prompt-item .item-info i {\n color: var(--mj-status-success);\n}\n\n.action-item .item-info i {\n color: var(--mj-status-warning);\n}\n\n.dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 30px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.btn {\n padding: 8px 16px;\n border: none;\n border-radius: 4px;\n font-size: 0.9em;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease-in-out;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.btn-primary:hover:not(:disabled) {\n background-color: var(--mj-brand-primary-hover);\n}\n\n.btn-secondary {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.btn-secondary:hover:not(:disabled) {\n background-color: var(--mj-text-secondary);\n}\n\n.btn-success {\n background-color: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.btn-success:hover:not(:disabled) {\n background-color: var(--mj-status-success);\n}\n\n.btn-danger {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.btn-danger:hover:not(:disabled) {\n background-color: var(--mj-status-error);\n}\n\n.btn-sm {\n padding: 6px 12px;\n font-size: 0.8em;\n}\n\n.btn-xs {\n padding: 4px 8px;\n font-size: 0.75em;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .sub-agent-dialog {\n padding: 15px;\n max-width: 95vw;\n }\n\n .form-row {\n flex-direction: column;\n gap: 10px;\n }\n\n .section-actions {\n flex-direction: column;\n }\n\n .dialog-actions {\n flex-direction: column;\n }\n\n .linked-item {\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n }\n}\n\n/* Validation styles */\n.form-control.ng-invalid.ng-touched {\n border-color: var(--mj-status-error);\n}\n\n.form-control.ng-valid.ng-touched {\n border-color: var(--mj-status-success);\n}\n\n/* Custom scrollbar for dialog */\n.sub-agent-dialog::-webkit-scrollbar {\n width: 8px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n"] }]
709
869
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.AIAgentManagementService }, { type: i0.ViewContainerRef }], { DialogClose: [{
710
870
  type: Output
711
871
  }] }); })();