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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  4. package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  18. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  20. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  22. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  23. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  24. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  26. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  27. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  28. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  38. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  40. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  42. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  43. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  46. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  56. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
  60. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  61. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  62. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  63. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  64. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  65. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  66. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  67. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  68. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  69. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  70. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  71. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  72. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  73. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  74. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  75. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  76. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  77. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  78. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  79. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  80. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  81. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  82. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  83. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  84. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  85. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  86. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  87. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  88. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  89. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  90. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  91. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  92. package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
  93. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  94. package/dist/lib/custom/Entities/entity-form.component.js +494 -138
  95. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  96. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  97. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  100. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  101. package/dist/lib/custom/Files/file-form.component.js +2 -2
  102. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  103. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  104. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  105. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  106. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  107. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
  108. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
  109. package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
  110. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
  111. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
  112. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
  113. package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
  114. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
  115. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  116. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  117. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  118. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  119. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  120. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  121. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  122. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  123. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
  124. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  125. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
  126. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  127. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  128. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  129. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  130. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  131. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  132. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  133. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  134. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  135. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  136. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  137. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  138. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  139. package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
  140. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  141. package/dist/lib/custom/Templates/templates-form.component.js +333 -113
  142. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  143. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  144. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  145. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  146. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  147. package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
  148. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  149. package/dist/lib/custom/Tests/test-form.component.js +549 -169
  150. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  151. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  152. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  153. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  154. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  155. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  156. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  157. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  158. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  159. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  160. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  161. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  162. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  163. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
  164. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  165. package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
  166. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  167. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  168. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  169. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  170. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  171. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  172. package/dist/lib/custom/Users/user-overview.panel.js +2 -2
  173. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  174. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  175. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  176. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  177. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  178. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  179. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  180. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  181. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  182. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  183. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  184. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  185. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  186. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  187. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  188. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  189. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  190. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  191. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  192. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  193. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  194. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  195. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  196. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  197. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  198. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
  199. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  200. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
  201. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  202. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  203. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  204. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  205. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  206. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  207. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  208. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  209. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  210. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  211. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  212. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  213. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  214. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  215. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  216. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  217. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  218. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  219. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  220. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  221. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  222. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  223. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  224. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  225. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  226. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  227. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  228. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  229. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  230. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  231. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  232. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  233. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  234. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  235. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  236. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  237. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  238. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  239. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  240. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  241. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  242. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  243. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
  244. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  245. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  246. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  248. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  250. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
  251. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  252. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  253. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  254. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  255. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  256. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  257. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  258. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  259. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  260. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  261. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  262. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  263. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
  264. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  265. package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
  266. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  267. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
  268. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  269. package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
  270. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  271. package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
  272. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  273. package/dist/lib/shared/components/template-editor.component.js +322 -124
  274. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  275. package/package.json +43 -42
@@ -105,44 +105,104 @@ function AIAgentRunStepNodeComponent_Conditional_21_Template(rf, ctx) { if (rf &
105
105
  } }
106
106
  export class AIAgentRunStepNodeComponent {
107
107
  constructor() {
108
- this.isSelected = false;
109
- this.itemClick = new EventEmitter();
110
- this.expandToggle = new EventEmitter();
111
- this.navigateToEntity = new EventEmitter();
108
+ this.IsSelected = false;
109
+ this.ItemClick = new EventEmitter();
110
+ /**
111
+ * @deprecated Use {@link ItemClick}.
112
+ *
113
+ * The same emitter under the old binding name, so a template still binding
114
+ * (itemClick) keeps working. Must stay AFTER ItemClick: class fields
115
+ * initialise in order, and the other way round this captures undefined.
116
+ */
117
+ this.itemClick = this.ItemClick;
118
+ this.ExpandToggle = new EventEmitter();
119
+ /**
120
+ * @deprecated Use {@link ExpandToggle}.
121
+ *
122
+ * The same emitter under the old binding name, so a template still binding
123
+ * (expandToggle) keeps working. Must stay AFTER ExpandToggle: class fields
124
+ * initialise in order, and the other way round this captures undefined.
125
+ */
126
+ this.expandToggle = this.ExpandToggle;
127
+ this.NavigateToEntity = new EventEmitter();
128
+ /**
129
+ * @deprecated Use {@link NavigateToEntity}.
130
+ *
131
+ * The same emitter under the old binding name, so a template still binding
132
+ * (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields
133
+ * initialise in order, and the other way round this captures undefined.
134
+ */
135
+ this.navigateToEntity = this.NavigateToEntity;
112
136
  }
137
+ /** @deprecated Use {@link Item}. */
138
+ set item(value) {
139
+ this.Item = value;
140
+ }
141
+ /** @deprecated Use {@link Item}. */
142
+ get item() {
143
+ return this.Item;
144
+ }
145
+ /** @deprecated Use {@link IsSelected}. */
146
+ set isSelected(value) {
147
+ this.IsSelected = value;
148
+ }
149
+ /** @deprecated Use {@link IsSelected}. */
150
+ get isSelected() {
151
+ return this.IsSelected;
152
+ }
153
+ get HasChildren() {
154
+ return !!this.Item.children && this.Item.children.length > 0;
155
+ }
156
+ /** @deprecated Use {@link HasChildren}. */
113
157
  get hasChildren() {
114
- return !!this.item.children && this.item.children.length > 0;
158
+ return this.HasChildren;
115
159
  }
116
- get isSubAgent() {
160
+ get IsSubAgent() {
117
161
  // A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the
118
162
  // affordance the run stops at "Task Graph: X" with no way to see what actually ran.
119
- return this.item.type === 'subrun' ||
120
- (this.item.type === 'step' && (this.item.data?.StepType === 'Sub-Agent' || this.item.data?.StepType === 'TaskGraph'));
163
+ return this.Item.type === 'subrun' ||
164
+ (this.Item.type === 'step' && (this.Item.data?.StepType === 'Sub-Agent' || this.Item.data?.StepType === 'TaskGraph'));
121
165
  }
122
- get isParentStep() {
166
+ /** @deprecated Use {@link IsSubAgent}. */
167
+ get isSubAgent() {
168
+ return this.IsSubAgent;
169
+ }
170
+ get IsParentStep() {
123
171
  // STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a
124
172
  // workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that
125
173
  // came from a task graph rendered its children into the model and then offered no way to reach
126
174
  // them: the work existed, was loaded, and was unreachable.
127
- return !this.isSubAgent && this.hasChildren;
175
+ return !this.IsSubAgent && this.HasChildren;
128
176
  }
129
- get canExpand() {
177
+ /** @deprecated Use {@link IsParentStep}. */
178
+ get isParentStep() {
179
+ return this.IsParentStep;
180
+ }
181
+ get CanExpand() {
130
182
  // Can expand if it's a sub-agent OR if it's a parent step with children
131
- return this.isSubAgent || this.isParentStep;
183
+ return this.IsSubAgent || this.IsParentStep;
132
184
  }
133
- get canNavigateToEntity() {
185
+ /** @deprecated Use {@link CanExpand}. */
186
+ get canExpand() {
187
+ return this.CanExpand;
188
+ }
189
+ get CanNavigateToEntity() {
134
190
  // For steps, check if it's a type that has a target and if TargetLogID exists
135
- if (this.item.type === 'step' && this.item.data) {
136
- const stepType = this.item.data.StepType;
191
+ if (this.Item.type === 'step' && this.Item.data) {
192
+ const stepType = this.Item.data.StepType;
137
193
  return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent')
138
- && !!this.item.data.TargetLogID;
194
+ && !!this.Item.data.TargetLogID;
139
195
  }
140
196
  return false;
141
197
  }
142
- get entityNavigationText() {
198
+ /** @deprecated Use {@link CanNavigateToEntity}. */
199
+ get canNavigateToEntity() {
200
+ return this.CanNavigateToEntity;
201
+ }
202
+ get EntityNavigationText() {
143
203
  // For step types, check the StepType
144
- if (this.item.type === 'step' && this.item.data) {
145
- const stepType = this.item.data.StepType;
204
+ if (this.Item.type === 'step' && this.Item.data) {
205
+ const stepType = this.Item.data.StepType;
146
206
  switch (stepType.trim().toLowerCase()) {
147
207
  case 'actions':
148
208
  return 'View Action Log';
@@ -158,6 +218,10 @@ export class AIAgentRunStepNodeComponent {
158
218
  }
159
219
  return "";
160
220
  }
221
+ /** @deprecated Use {@link EntityNavigationText}. */
222
+ get entityNavigationText() {
223
+ return this.EntityNavigationText;
224
+ }
161
225
  /**
162
226
  * The glyph beside a row's status word.
163
227
  *
@@ -167,7 +231,7 @@ export class AIAgentRunStepNodeComponent {
167
231
  * to a task graph fell through to the unknown glyph and rendered a question mark. The projection
168
232
  * now normalizes the two vocabularies into one; these are the values it can produce.
169
233
  */
170
- getStatusIcon(status) {
234
+ GetStatusIcon(status) {
171
235
  const iconMap = {
172
236
  'Running': 'fa-circle-notch fa-spin',
173
237
  'Completed': 'fa-check-circle',
@@ -184,24 +248,36 @@ export class AIAgentRunStepNodeComponent {
184
248
  };
185
249
  return iconMap[status] || 'fa-question-circle';
186
250
  }
251
+ /** @deprecated Use {@link GetStatusIcon}. */
252
+ getStatusIcon(status) {
253
+ return this.GetStatusIcon(status);
254
+ }
255
+ HandleClick() {
256
+ this.ItemClick.emit(this.Item);
257
+ }
258
+ /** @deprecated Use {@link HandleClick}. */
187
259
  handleClick() {
188
- this.itemClick.emit(this.item);
260
+ return this.HandleClick();
189
261
  }
190
- handleExpandToggle(event) {
191
- if (this.canExpand) {
192
- this.expandToggle.emit(event);
262
+ HandleExpandToggle(event) {
263
+ if (this.CanExpand) {
264
+ this.ExpandToggle.emit(event);
193
265
  }
194
266
  }
195
- navigateToRecord(event) {
267
+ /** @deprecated Use {@link HandleExpandToggle}. */
268
+ handleExpandToggle(event) {
269
+ return this.HandleExpandToggle(event);
270
+ }
271
+ NavigateToRecord(event) {
196
272
  event.stopPropagation();
197
- if (!this.canNavigateToEntity)
273
+ if (!this.CanNavigateToEntity)
198
274
  return;
199
275
  let entityName = '';
200
276
  let recordId = '';
201
277
  // For step types, use TargetLogID and determine entity based on StepType
202
- if (this.item.type === 'step' && this.item.data) {
203
- recordId = this.item.data.TargetLogID;
204
- const stepType = this.item.data.StepType;
278
+ if (this.Item.type === 'step' && this.Item.data) {
279
+ recordId = this.Item.data.TargetLogID;
280
+ const stepType = this.Item.data.StepType;
205
281
  switch (stepType.trim().toLowerCase()) {
206
282
  case 'actions':
207
283
  entityName = 'MJ: Action Execution Logs';
@@ -216,8 +292,8 @@ export class AIAgentRunStepNodeComponent {
216
292
  }
217
293
  else {
218
294
  // For direct types, use the item ID
219
- recordId = this.item.id;
220
- switch (this.item.type.trim().toLowerCase()) {
295
+ recordId = this.Item.id;
296
+ switch (this.Item.type.trim().toLowerCase()) {
221
297
  case 'actions':
222
298
  entityName = 'MJ: Action Execution Logs';
223
299
  break;
@@ -230,9 +306,13 @@ export class AIAgentRunStepNodeComponent {
230
306
  }
231
307
  }
232
308
  if (entityName && recordId) {
233
- this.navigateToEntity.emit({ entityName, recordId });
309
+ this.NavigateToEntity.emit({ entityName, recordId });
234
310
  }
235
311
  }
312
+ /** @deprecated Use {@link NavigateToRecord}. */
313
+ navigateToRecord(event) {
314
+ return this.NavigateToRecord(event);
315
+ }
236
316
  /**
237
317
  * Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).
238
318
  * Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for
@@ -240,7 +320,7 @@ export class AIAgentRunStepNodeComponent {
240
320
  * native agent grant.
241
321
  */
242
322
  get SkillInvocations() {
243
- const raw = this.item.type === 'step' ? this.item.data?.Skills : null;
323
+ const raw = this.Item.type === 'step' ? this.Item.data?.Skills : null;
244
324
  if (!raw)
245
325
  return [];
246
326
  try {
@@ -257,9 +337,9 @@ export class AIAgentRunStepNodeComponent {
257
337
  const reason = inv.Reason ? ` — ${inv.Reason}` : '';
258
338
  return `${inv.SkillName}: ${who}${reason}`;
259
339
  }
260
- getAdditionalInfo() {
261
- if (this.item.type === 'step' && this.item.data) {
262
- const step = this.item.data;
340
+ GetAdditionalInfo() {
341
+ if (this.Item.type === 'step' && this.Item.data) {
342
+ const step = this.Item.data;
263
343
  const parts = [];
264
344
  if (step.TargetActionName) {
265
345
  parts.push(`Action: ${step.TargetActionName}`);
@@ -269,22 +349,30 @@ export class AIAgentRunStepNodeComponent {
269
349
  }
270
350
  return parts.join(' • ');
271
351
  }
272
- if (this.item.type === 'action' && this.item.data) {
273
- const log = this.item.data;
352
+ if (this.Item.type === 'action' && this.Item.data) {
353
+ const log = this.Item.data;
274
354
  if (log.Message) {
275
355
  return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');
276
356
  }
277
357
  }
278
358
  return '';
279
359
  }
280
- onLogoError(event) {
360
+ /** @deprecated Use {@link GetAdditionalInfo}. */
361
+ getAdditionalInfo() {
362
+ return this.GetAdditionalInfo();
363
+ }
364
+ OnLogoError(event) {
281
365
  // Hide the broken image and show the icon instead by clearing logoUrl
282
366
  const imgElement = event.target;
283
367
  imgElement.style.display = 'none';
284
- this.item.logoUrl = undefined;
368
+ this.Item.logoUrl = undefined;
369
+ }
370
+ /** @deprecated Use {@link OnLogoError}. */
371
+ onLogoError(event) {
372
+ return this.OnLogoError(event);
285
373
  }
286
374
  static { this.ɵfac = function AIAgentRunStepNodeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AIAgentRunStepNodeComponent)(); }; }
287
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunStepNodeComponent, selectors: [["mj-ai-agent-run-step-node"]], inputs: { item: "item", isSelected: "isSelected" }, outputs: { itemClick: "itemClick", expandToggle: "expandToggle", navigateToEntity: "navigateToEntity" }, standalone: false, decls: 22, vars: 21, consts: [[1, "timeline-item", 3, "click"], [1, "expand-toggle"], [1, "timeline-marker"], [1, "timeline-marker-logo", 3, "src", "alt"], [1, "fas", 3, "ngClass"], [1, "timeline-content"], [1, "timeline-header"], [1, "timeline-time"], ["title", "This step has not started", 1, "timeline-time", "timeline-time--none"], [1, "timeline-subtitle"], [1, "timeline-additional-info"], [1, "timeline-skills"], [1, "timeline-meta"], [1, "duration"], [1, "status"], [1, "timeline-actions"], [1, "btn-link", 3, "title"], [1, "expand-toggle", 3, "click"], [1, "fas"], [1, "timeline-marker-logo", 3, "error", "src", "alt"], [1, "skill-chip", 3, "title"], [1, "fas", "fa-wand-magic-sparkles"], [1, "skill-chip-mode"], [1, "fas", "fa-clock"], [1, "btn-link", 3, "click", "title"], [1, "fas", "fa-external-link-alt"], [1, "action-text"]], template: function AIAgentRunStepNodeComponent_Template(rf, ctx) { if (rf & 1) {
375
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunStepNodeComponent, selectors: [["mj-ai-agent-run-step-node"]], inputs: { Item: "Item", item: "item", IsSelected: "IsSelected", isSelected: "isSelected" }, outputs: { ItemClick: "ItemClick", itemClick: "itemClick", ExpandToggle: "ExpandToggle", expandToggle: "expandToggle", NavigateToEntity: "NavigateToEntity", navigateToEntity: "navigateToEntity" }, standalone: false, decls: 22, vars: 21, consts: [[1, "timeline-item", 3, "click"], [1, "expand-toggle"], [1, "timeline-marker"], [1, "timeline-marker-logo", 3, "src", "alt"], [1, "fas", 3, "ngClass"], [1, "timeline-content"], [1, "timeline-header"], [1, "timeline-time"], ["title", "This step has not started", 1, "timeline-time", "timeline-time--none"], [1, "timeline-subtitle"], [1, "timeline-additional-info"], [1, "timeline-skills"], [1, "timeline-meta"], [1, "duration"], [1, "status"], [1, "timeline-actions"], [1, "btn-link", 3, "title"], [1, "expand-toggle", 3, "click"], [1, "fas"], [1, "timeline-marker-logo", 3, "error", "src", "alt"], [1, "skill-chip", 3, "title"], [1, "fas", "fa-wand-magic-sparkles"], [1, "skill-chip-mode"], [1, "fas", "fa-clock"], [1, "btn-link", 3, "click", "title"], [1, "fas", "fa-external-link-alt"], [1, "action-text"]], template: function AIAgentRunStepNodeComponent_Template(rf, ctx) { if (rf & 1) {
288
376
  i0.ɵɵelementStart(0, "div", 0);
289
377
  i0.ɵɵlistener("click", function AIAgentRunStepNodeComponent_Template_div_click_0_listener() { return ctx.handleClick(); });
290
378
  i0.ɵɵconditionalCreate(1, AIAgentRunStepNodeComponent_Conditional_1_Template, 2, 5, "button", 1);
@@ -348,14 +436,24 @@ export class AIAgentRunStepNodeComponent {
348
436
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentRunStepNodeComponent, [{
349
437
  type: Component,
350
438
  args: [{ standalone: false, selector: 'mj-ai-agent-run-step-node', template: "<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">&mdash;</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>", styles: [".timeline-item {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 12px;\n padding-left: 22px; /* Add extra padding to accommodate expand button */\n margin-bottom: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s;\n position: relative;\n}\n\n.timeline-item:hover {\n border-color: var(--mj-border-strong);\n background: var(--mj-bg-surface-sunken);\n transform: translateX(2px);\n}\n\n.timeline-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: 0 0 0 1px var(--mj-brand-primary);\n}\n\n/* Expand/Collapse Button */\n.expand-toggle {\n position: absolute;\n left: -34px;\n top: 12px;\n width: 24px;\n height: 24px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n}\n\n.expand-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n\n.expand-toggle i {\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n\n/* Timeline Marker */\n.timeline-marker {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n position: relative;\n overflow: hidden;\n}\n\n.timeline-marker-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n\n.timeline-marker[data-color=\"info\"] {\n background: var(--mj-brand-primary);\n}\n\n.timeline-marker[data-color=\"success\"] {\n background: var(--mj-status-success);\n}\n\n.timeline-marker[data-color=\"error\"] {\n background: var(--mj-status-error);\n}\n\n.timeline-marker[data-color=\"warning\"] {\n background: var(--mj-status-warning);\n}\n\n.timeline-marker[data-color=\"secondary\"] {\n background: var(--mj-text-disabled);\n}\n\n/* Timeline Content */\n.timeline-content {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 4px;\n}\n\n.timeline-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.timeline-time {\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: monospace;\n white-space: nowrap;\n margin-left: 12px;\n}\n\n.timeline-subtitle {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 4px;\n}\n\n.timeline-additional-info {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-bottom: 4px;\n font-style: italic;\n}\n\n.timeline-meta {\n display: flex;\n gap: 12px;\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n\n.duration {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.status {\n display: flex;\n align-items: center;\n gap: 4px;\n font-weight: 500;\n}\n\n.status[data-status=\"Running\"] {\n color: var(--mj-brand-primary);\n}\n\n.status[data-status=\"Completed\"] {\n color: var(--mj-status-success);\n}\n\n.status[data-status=\"Failed\"] {\n color: var(--mj-status-error);\n}\n\n.status[data-status=\"Cancelled\"] {\n color: var(--mj-status-warning);\n}\n\n.status[data-status=\"Blocked\"] {\n color: var(--mj-status-error);\n}\n\n.status[data-status=\"Waiting\"] {\n color: var(--mj-status-warning);\n}\n\n.status[data-status=\"Skipped\"],\n.status[data-status=\"Pending\"] {\n color: var(--mj-text-secondary);\n}\n\n/* ============================================================\n Work that never ran\n ============================================================\n A timeline is a record of what happened, so a step that did not happen must not read like one that\n did. `Skipped` was rendered in the same weight and colour as everything else and distinguished\n only by the word itself \u2014 so a workflow that took one of two branches looked, at a glance, like a\n workflow where everything ran.\n\n Hatching says \"no-op\" before any text is read; the dimmed content says it is still a real record\n you can open. The row stays fully clickable \u2014 the detail panel is where the explanation lives. */\n.timeline-item[data-status=\"Skipped\"] {\n background-image: repeating-linear-gradient(\n 135deg,\n transparent,\n transparent 6px,\n color-mix(in srgb, var(--mj-text-disabled) 14%, transparent) 6px,\n color-mix(in srgb, var(--mj-text-disabled) 14%, transparent) 12px\n );\n}\n\n.timeline-item[data-status=\"Skipped\"] .timeline-content {\n opacity: 0.6;\n}\n\n.timeline-item[data-status=\"Skipped\"] .timeline-header h4 {\n text-decoration: line-through;\n text-decoration-color: var(--mj-text-disabled);\n text-decoration-thickness: 1px;\n}\n\n/* Never-started work keeps its colour but recedes: it may yet run, so it is not struck through. */\n.timeline-item[data-status=\"Pending\"] .timeline-content {\n opacity: 0.75;\n}\n\n/* Timeline Actions */\n.timeline-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-link {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n font-size: 11px;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 4px;\n white-space: nowrap;\n}\n\n.btn-link:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.btn-link i {\n font-size: 10px;\n}\n\n.action-text {\n display: none;\n}\n\n.timeline-item:hover .action-text {\n display: inline;\n}\n\n/* Type-specific styling */\n.timeline-item[data-type=\"subrun\"] {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.timeline-item[data-type=\"action\"] {\n border-left: 3px solid var(--mj-status-success);\n}\n\n.timeline-item[data-type=\"prompt\"] {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n/* Dispatcher provenance.\n A workflow step ran on the task-graph dispatcher and OUTLIVES the agent run that submitted it \u2014\n genuinely a different thing from a step the run executed itself. Someone reading a failure needs\n to know which they are looking at before they know where to go next.\n\n Keyed on PROVENANCE rather than on type, so a workflow's action still renders as an action \u2014\n same icon, same status treatment, same navigation as every other action row \u2014 and merely carries\n the rail that says where it ran. Keying this on type is what turned every workflow step into an\n undifferentiated box and threw away the displayer it should have had. */\n.timeline-item[data-type=\"taskgraph\"] {\n border-left: 3px solid var(--mj-status-info);\n background: color-mix(in srgb, var(--mj-status-info) 6%, var(--mj-bg-surface));\n}\n\n.timeline-item[data-provenance=\"workflow\"]:not([data-type=\"taskgraph\"]) {\n border-left: 3px solid color-mix(in srgb, var(--mj-status-info) 55%, transparent);\n}\n/* ============================================================\n Skill observability \u2014 badges on steps touched by skills\n ============================================================ */\n.timeline-skills {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n}\n\n.skill-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n/* Agent self-activation gets a warning accent \u2014 it expanded its own tool surface */\n.skill-chip[data-activation=\"auto\"] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.skill-chip-mode {\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n opacity: 0.75;\n padding-left: 4px;\n border-left: 1px solid color-mix(in srgb, currentColor 30%, transparent);\n}\n\n/* A step that has not started shows an em dash, not a time. Muted so the eye skips it \u2014 the\n absence of a timestamp is the information, and it should not read as a value. */\n.timeline-time--none {\n color: var(--mj-text-disabled);\n}\n"] }]
351
- }], null, { item: [{
439
+ }], null, { Item: [{
440
+ type: Input
441
+ }], item: [{
442
+ type: Input
443
+ }], IsSelected: [{
352
444
  type: Input
353
445
  }], isSelected: [{
354
446
  type: Input
447
+ }], ItemClick: [{
448
+ type: Output
355
449
  }], itemClick: [{
356
450
  type: Output
451
+ }], ExpandToggle: [{
452
+ type: Output
357
453
  }], expandToggle: [{
358
454
  type: Output
455
+ }], NavigateToEntity: [{
456
+ type: Output
359
457
  }], navigateToEntity: [{
360
458
  type: Output
361
459
  }] }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MJAIAgentRunStepEntity_AgentSkillInvocation } from '@memberjunction/core-entities';\nimport { TimelineItem } from './ai-agent-run-timeline.component';\n\n@Component({\n standalone: false,\n selector: 'mj-ai-agent-run-step-node',\n templateUrl: './ai-agent-run-step-node.component.html',\n styleUrls: ['./ai-agent-run-step-node.component.css']\n})\nexport class AIAgentRunStepNodeComponent {\n @Input() item!: TimelineItem;\n @Input() isSelected = false;\n @Output() itemClick = new EventEmitter<TimelineItem>();\n @Output() expandToggle = new EventEmitter<Event>();\n @Output() navigateToEntity = new EventEmitter<{ entityName: string; recordId: string }>();\n\n get hasChildren(): boolean {\n return !!this.item.children && this.item.children.length > 0;\n }\n\n get isSubAgent(): boolean {\n // A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the\n // affordance the run stops at \"Task Graph: X\" with no way to see what actually ran.\n return this.item.type === 'subrun' ||\n (this.item.type === 'step' && (this.item.data?.StepType === 'Sub-Agent' || this.item.data?.StepType === 'TaskGraph'));\n }\n\n get isParentStep(): boolean {\n // STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a\n // workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that\n // came from a task graph rendered its children into the model and then offered no way to reach\n // them: the work existed, was loaded, and was unreachable.\n return !this.isSubAgent && this.hasChildren;\n }\n\n get canExpand(): boolean {\n // Can expand if it's a sub-agent OR if it's a parent step with children\n return this.isSubAgent || this.isParentStep;\n }\n\n get canNavigateToEntity(): boolean {\n // For steps, check if it's a type that has a target and if TargetLogID exists\n if (this.item.type === 'step' && this.item.data) {\n const stepType = this.item.data.StepType;\n return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent') \n && !!this.item.data.TargetLogID;\n }\n return false;\n }\n\n get entityNavigationText(): string {\n // For step types, check the StepType\n if (this.item.type === 'step' && this.item.data) {\n const stepType = this.item.data.StepType;\n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n return 'View Action Log';\n case 'prompt':\n return 'View Prompt Run';\n case 'sub-agent':\n return 'View Agent Run';\n case 'taskgraph':\n return 'View Workflow Run';\n default:\n return 'View Details';\n }\n }\n\n return \"\";\n }\n\n /**\n * The glyph beside a row's status word.\n *\n * Covers BOTH status vocabularies' worth of meaning, because this list used to know only what an\n * `AIAgentRunStep` can be — `Running / Completed / Failed / Cancelled / Paused`. A workflow step is\n * `Pending`, `Skipped` or `Blocked` (and says `Complete`, not `Completed`), so every row belonging\n * to a task graph fell through to the unknown glyph and rendered a question mark. The projection\n * now normalizes the two vocabularies into one; these are the values it can produce.\n */\n getStatusIcon(status: string): string {\n const iconMap: Record<string, string> = {\n 'Running': 'fa-circle-notch fa-spin',\n 'Completed': 'fa-check-circle',\n 'Failed': 'fa-times-circle',\n 'Cancelled': 'fa-ban',\n 'Paused': 'fa-pause-circle',\n // A branch the workflow did not take. Not a failure and not a pause — deliberately its own\n // glyph, because reading it as either sends someone hunting for a problem that never happened.\n 'Skipped': 'fa-diamond-turn-right',\n 'Pending': 'fa-hourglass-half',\n // Failure-driven unsatisfiability: something upstream broke and this can no longer run.\n 'Blocked': 'fa-circle-exclamation',\n 'Waiting': 'fa-user-clock'\n };\n return iconMap[status] || 'fa-question-circle';\n }\n\n handleClick() {\n this.itemClick.emit(this.item);\n }\n\n handleExpandToggle(event: Event) {\n if (this.canExpand) {\n this.expandToggle.emit(event);\n }\n }\n\n navigateToRecord(event: Event) {\n event.stopPropagation();\n \n if (!this.canNavigateToEntity) return;\n\n let entityName = '';\n let recordId = '';\n\n // For step types, use TargetLogID and determine entity based on StepType\n if (this.item.type === 'step' && this.item.data) {\n recordId = this.item.data.TargetLogID;\n const stepType = this.item.data.StepType;\n \n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n } else {\n // For direct types, use the item ID\n recordId = this.item.id;\n \n switch (this.item.type.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n }\n\n if (entityName && recordId) {\n this.navigateToEntity.emit({ entityName, recordId });\n }\n }\n\n /**\n * Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).\n * Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for\n * the turn), and Actions/Sub-Agent steps whose tool was granted by a skill rather than a\n * native agent grant.\n */\n get SkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[] {\n const raw = this.item.type === 'step' ? this.item.data?.Skills : null;\n if (!raw) return [];\n try {\n const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n\n /** Tooltip summarizing an invocation's provenance for the badge hover. */\n public GetSkillChipTooltip(inv: MJAIAgentRunStepEntity_AgentSkillInvocation): string {\n const who = inv.ActivationType === 'requested' ? 'requested by the user (/skill mention)' : 'self-activated by the agent';\n const reason = inv.Reason ? ` — ${inv.Reason}` : '';\n return `${inv.SkillName}: ${who}${reason}`;\n }\n\n getAdditionalInfo(): string {\n if (this.item.type === 'step' && this.item.data) {\n const step = this.item.data;\n const parts = [];\n\n if (step.TargetActionName) {\n parts.push(`Action: ${step.TargetActionName}`);\n }\n if (step.Error) {\n parts.push('Error occurred');\n }\n\n return parts.join(' • ');\n }\n\n if (this.item.type === 'action' && this.item.data) {\n const log = this.item.data;\n if (log.Message) {\n return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');\n }\n }\n\n return '';\n }\n\n onLogoError(event: Event): void {\n // Hide the broken image and show the icon instead by clearing logoUrl\n const imgElement = event.target as HTMLImageElement;\n imgElement.style.display = 'none';\n this.item.logoUrl = undefined;\n }\n}","<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">&mdash;</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>"]}
1
+ {"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MJAIAgentRunStepEntity_AgentSkillInvocation } from '@memberjunction/core-entities';\nimport { TimelineItem } from './ai-agent-run-timeline.component';\n\n@Component({\n standalone: false,\n selector: 'mj-ai-agent-run-step-node',\n templateUrl: './ai-agent-run-step-node.component.html',\n styleUrls: ['./ai-agent-run-step-node.component.css']\n})\nexport class AIAgentRunStepNodeComponent {\n @Input() Item!: TimelineItem;\n\n /** @deprecated Use {@link Item}. */\n @Input() set item(value: TimelineItem) {\n this.Item = value;\n }\n /** @deprecated Use {@link Item}. */\n get item(): TimelineItem {\n return this.Item;\n }\n @Input() IsSelected = false;\n\n /** @deprecated Use {@link IsSelected}. */\n @Input() set isSelected(value: AIAgentRunStepNodeComponent['IsSelected']) {\n this.IsSelected = value;\n }\n /** @deprecated Use {@link IsSelected}. */\n get isSelected(): AIAgentRunStepNodeComponent['IsSelected'] {\n return this.IsSelected;\n }\n @Output() ItemClick = new EventEmitter<TimelineItem>();\n\n /**\n * @deprecated Use {@link ItemClick}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (itemClick) keeps working. Must stay AFTER ItemClick: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() itemClick = this.ItemClick;\n @Output() ExpandToggle = new EventEmitter<Event>();\n\n /**\n * @deprecated Use {@link ExpandToggle}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (expandToggle) keeps working. Must stay AFTER ExpandToggle: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() expandToggle = this.ExpandToggle;\n @Output() NavigateToEntity = new EventEmitter<{ entityName: string; recordId: string }>();\n\n /**\n * @deprecated Use {@link NavigateToEntity}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() navigateToEntity = this.NavigateToEntity;\n\n get HasChildren(): boolean {\n return !!this.Item.children && this.Item.children.length > 0;\n }\n\n /** @deprecated Use {@link HasChildren}. */\n get hasChildren(): boolean {\n return this.HasChildren;\n }\n\n get IsSubAgent(): boolean {\n // A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the\n // affordance the run stops at \"Task Graph: X\" with no way to see what actually ran.\n return this.Item.type === 'subrun' ||\n (this.Item.type === 'step' && (this.Item.data?.StepType === 'Sub-Agent' || this.Item.data?.StepType === 'TaskGraph'));\n }\n\n /** @deprecated Use {@link IsSubAgent}. */\n get isSubAgent(): boolean {\n return this.IsSubAgent;\n }\n\n get IsParentStep(): boolean {\n // STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a\n // workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that\n // came from a task graph rendered its children into the model and then offered no way to reach\n // them: the work existed, was loaded, and was unreachable.\n return !this.IsSubAgent && this.HasChildren;\n }\n\n /** @deprecated Use {@link IsParentStep}. */\n get isParentStep(): boolean {\n return this.IsParentStep;\n }\n\n get CanExpand(): boolean {\n // Can expand if it's a sub-agent OR if it's a parent step with children\n return this.IsSubAgent || this.IsParentStep;\n }\n\n /** @deprecated Use {@link CanExpand}. */\n get canExpand(): boolean {\n return this.CanExpand;\n }\n\n get CanNavigateToEntity(): boolean {\n // For steps, check if it's a type that has a target and if TargetLogID exists\n if (this.Item.type === 'step' && this.Item.data) {\n const stepType = this.Item.data.StepType;\n return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent') \n && !!this.Item.data.TargetLogID;\n }\n return false;\n }\n\n /** @deprecated Use {@link CanNavigateToEntity}. */\n get canNavigateToEntity(): boolean {\n return this.CanNavigateToEntity;\n }\n\n get EntityNavigationText(): string {\n // For step types, check the StepType\n if (this.Item.type === 'step' && this.Item.data) {\n const stepType = this.Item.data.StepType;\n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n return 'View Action Log';\n case 'prompt':\n return 'View Prompt Run';\n case 'sub-agent':\n return 'View Agent Run';\n case 'taskgraph':\n return 'View Workflow Run';\n default:\n return 'View Details';\n }\n }\n\n return \"\";\n }\n\n /** @deprecated Use {@link EntityNavigationText}. */\n get entityNavigationText(): string {\n return this.EntityNavigationText;\n }\n\n /**\n * The glyph beside a row's status word.\n *\n * Covers BOTH status vocabularies' worth of meaning, because this list used to know only what an\n * `AIAgentRunStep` can be — `Running / Completed / Failed / Cancelled / Paused`. A workflow step is\n * `Pending`, `Skipped` or `Blocked` (and says `Complete`, not `Completed`), so every row belonging\n * to a task graph fell through to the unknown glyph and rendered a question mark. The projection\n * now normalizes the two vocabularies into one; these are the values it can produce.\n */\n GetStatusIcon(status: string): string {\n const iconMap: Record<string, string> = {\n 'Running': 'fa-circle-notch fa-spin',\n 'Completed': 'fa-check-circle',\n 'Failed': 'fa-times-circle',\n 'Cancelled': 'fa-ban',\n 'Paused': 'fa-pause-circle',\n // A branch the workflow did not take. Not a failure and not a pause — deliberately its own\n // glyph, because reading it as either sends someone hunting for a problem that never happened.\n 'Skipped': 'fa-diamond-turn-right',\n 'Pending': 'fa-hourglass-half',\n // Failure-driven unsatisfiability: something upstream broke and this can no longer run.\n 'Blocked': 'fa-circle-exclamation',\n 'Waiting': 'fa-user-clock'\n };\n return iconMap[status] || 'fa-question-circle';\n }\n\n /** @deprecated Use {@link GetStatusIcon}. */\n getStatusIcon(status: string): string {\n return this.GetStatusIcon(status);\n }\n\n HandleClick() {\n this.ItemClick.emit(this.Item);\n }\n\n /** @deprecated Use {@link HandleClick}. */\n handleClick() {\n return this.HandleClick();\n }\n\n HandleExpandToggle(event: Event) {\n if (this.CanExpand) {\n this.ExpandToggle.emit(event);\n }\n }\n\n /** @deprecated Use {@link HandleExpandToggle}. */\n handleExpandToggle(event: Event) {\n return this.HandleExpandToggle(event);\n }\n\n NavigateToRecord(event: Event) {\n event.stopPropagation();\n \n if (!this.CanNavigateToEntity) return;\n\n let entityName = '';\n let recordId = '';\n\n // For step types, use TargetLogID and determine entity based on StepType\n if (this.Item.type === 'step' && this.Item.data) {\n recordId = this.Item.data.TargetLogID;\n const stepType = this.Item.data.StepType;\n \n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n } else {\n // For direct types, use the item ID\n recordId = this.Item.id;\n \n switch (this.Item.type.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n }\n\n if (entityName && recordId) {\n this.NavigateToEntity.emit({ entityName, recordId });\n }\n }\n\n /** @deprecated Use {@link NavigateToRecord}. */\n navigateToRecord(event: Event) {\n return this.NavigateToRecord(event);\n }\n\n /**\n * Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).\n * Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for\n * the turn), and Actions/Sub-Agent steps whose tool was granted by a skill rather than a\n * native agent grant.\n */\n get SkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[] {\n const raw = this.Item.type === 'step' ? this.Item.data?.Skills : null;\n if (!raw) return [];\n try {\n const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n\n /** Tooltip summarizing an invocation's provenance for the badge hover. */\n public GetSkillChipTooltip(inv: MJAIAgentRunStepEntity_AgentSkillInvocation): string {\n const who = inv.ActivationType === 'requested' ? 'requested by the user (/skill mention)' : 'self-activated by the agent';\n const reason = inv.Reason ? ` — ${inv.Reason}` : '';\n return `${inv.SkillName}: ${who}${reason}`;\n }\n\n GetAdditionalInfo(): string {\n if (this.Item.type === 'step' && this.Item.data) {\n const step = this.Item.data;\n const parts = [];\n\n if (step.TargetActionName) {\n parts.push(`Action: ${step.TargetActionName}`);\n }\n if (step.Error) {\n parts.push('Error occurred');\n }\n\n return parts.join(' • ');\n }\n\n if (this.Item.type === 'action' && this.Item.data) {\n const log = this.Item.data;\n if (log.Message) {\n return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');\n }\n }\n\n return '';\n }\n\n /** @deprecated Use {@link GetAdditionalInfo}. */\n getAdditionalInfo(): string {\n return this.GetAdditionalInfo();\n }\n\n OnLogoError(event: Event): void {\n // Hide the broken image and show the icon instead by clearing logoUrl\n const imgElement = event.target as HTMLImageElement;\n imgElement.style.display = 'none';\n this.Item.logoUrl = undefined;\n }\n\n /** @deprecated Use {@link OnLogoError}. */\n onLogoError(event: Event): void {\n return this.OnLogoError(event);\n }\n}","<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">&mdash;</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>"]}
@@ -50,7 +50,11 @@ export interface TimelineItem {
50
50
  }
51
51
  export declare class AIAgentRunTimelineComponent extends BaseAngularComponent implements OnInit, OnDestroy {
52
52
  private cdr;
53
- aiAgentRunId: string;
53
+ AiAgentRunId: string;
54
+ /** @deprecated Use {@link AiAgentRunId}. */
55
+ set aiAgentRunId(value: string);
56
+ /** @deprecated Use {@link AiAgentRunId}. */
57
+ get aiAgentRunId(): string;
54
58
  /**
55
59
  * The run's execution tree, loaded ONCE by the form and shared with every tab.
56
60
  *
@@ -68,8 +72,31 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
68
72
  get RunTree(): AgentRunTreeNode | null;
69
73
  private runTree;
70
74
  private runTree$;
71
- dataHelper: AIAgentRunDataHelper;
75
+ DataHelper: AIAgentRunDataHelper;
76
+ /** @deprecated Use {@link DataHelper}. */
77
+ set dataHelper(value: AIAgentRunDataHelper);
78
+ /** @deprecated Use {@link DataHelper}. */
79
+ get dataHelper(): AIAgentRunDataHelper;
80
+ ItemSelected: EventEmitter<TimelineItem>;
81
+ /**
82
+ * @deprecated Use {@link ItemSelected}.
83
+ *
84
+ * The same emitter under the old binding name, so a template still binding
85
+ * (itemSelected) keeps working. Must stay AFTER ItemSelected: class fields
86
+ * initialise in order, and the other way round this captures undefined.
87
+ */
72
88
  itemSelected: EventEmitter<TimelineItem>;
89
+ NavigateToEntity: EventEmitter<{
90
+ entityName: string;
91
+ recordId: string;
92
+ }>;
93
+ /**
94
+ * @deprecated Use {@link NavigateToEntity}.
95
+ *
96
+ * The same emitter under the old binding name, so a template still binding
97
+ * (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields
98
+ * initialise in order, and the other way round this captures undefined.
99
+ */
73
100
  navigateToEntity: EventEmitter<{
74
101
  entityName: string;
75
102
  recordId: string;
@@ -85,14 +112,42 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
85
112
  * already fetched by id.
86
113
  */
87
114
  private actionIDByLogID;
88
- steps$: Observable<MJAIAgentRunStepEntity[]>;
89
- subRuns$: Observable<MJAIAgentRunEntity[]>;
90
- actionLogs$: Observable<MJActionExecutionLogEntity[]>;
91
- promptRuns$: Observable<MJAIPromptRunEntity[]>;
92
- timelineItems$: Observable<TimelineItem[]>;
93
- loading: boolean;
115
+ Steps$: Observable<MJAIAgentRunStepEntity[]>;
116
+ /** @deprecated Use {@link Steps$}. */
117
+ get steps$(): Observable<MJAIAgentRunStepEntity[]>;
118
+ /** @deprecated Use {@link Steps$}. */
119
+ set steps$(value: Observable<MJAIAgentRunStepEntity[]>);
120
+ SubRuns$: Observable<MJAIAgentRunEntity[]>;
121
+ /** @deprecated Use {@link SubRuns$}. */
122
+ get subRuns$(): Observable<MJAIAgentRunEntity[]>;
123
+ /** @deprecated Use {@link SubRuns$}. */
124
+ set subRuns$(value: Observable<MJAIAgentRunEntity[]>);
125
+ ActionLogs$: Observable<MJActionExecutionLogEntity[]>;
126
+ /** @deprecated Use {@link ActionLogs$}. */
127
+ get actionLogs$(): Observable<MJActionExecutionLogEntity[]>;
128
+ /** @deprecated Use {@link ActionLogs$}. */
129
+ set actionLogs$(value: Observable<MJActionExecutionLogEntity[]>);
130
+ PromptRuns$: Observable<MJAIPromptRunEntity[]>;
131
+ /** @deprecated Use {@link PromptRuns$}. */
132
+ get promptRuns$(): Observable<MJAIPromptRunEntity[]>;
133
+ /** @deprecated Use {@link PromptRuns$}. */
134
+ set promptRuns$(value: Observable<MJAIPromptRunEntity[]>);
135
+ TimelineItems$: Observable<TimelineItem[]>;
136
+ /** @deprecated Use {@link TimelineItems$}. */
137
+ get timelineItems$(): Observable<TimelineItem[]>;
138
+ /** @deprecated Use {@link TimelineItems$}. */
139
+ set timelineItems$(value: Observable<TimelineItem[]>);
140
+ Loading: boolean;
141
+ /** @deprecated Use {@link Loading}. */
142
+ get loading(): boolean;
143
+ /** @deprecated Use {@link Loading}. */
144
+ set loading(value: boolean);
94
145
  error: string | null;
95
- selectedItem: TimelineItem | null;
146
+ SelectedItem: TimelineItem | null;
147
+ /** @deprecated Use {@link SelectedItem}. */
148
+ get selectedItem(): TimelineItem | null;
149
+ /** @deprecated Use {@link SelectedItem}. */
150
+ set selectedItem(value: TimelineItem | null);
96
151
  /** Graph steps currently being expanded, so a second click cannot start a second load. */
97
152
  private expandingGraphIDs;
98
153
  constructor(cdr: ChangeDetectorRef);
@@ -131,12 +186,24 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
131
186
  private getStepIconInfo;
132
187
  private getStepIcon;
133
188
  private getStatusColor;
189
+ CalculateDuration(start: Date, end?: Date | null): string;
190
+ /** @deprecated Use {@link CalculateDuration}. */
134
191
  calculateDuration(start: Date, end?: Date | null): string;
192
+ SelectItem(item: TimelineItem): void;
193
+ /** @deprecated Use {@link SelectItem}. */
135
194
  selectItem(item: TimelineItem): void;
195
+ ToggleItemExpansion(item: TimelineItem, event: Event): Promise<void>;
196
+ /** @deprecated Use {@link ToggleItemExpansion}. */
136
197
  toggleItemExpansion(item: TimelineItem, event: Event): Promise<void>;
137
198
  private loadSubAgentChildren;
199
+ NavigateToSubRun(runId: string, event: Event): void;
200
+ /** @deprecated Use {@link NavigateToSubRun}. */
138
201
  navigateToSubRun(runId: string, event: Event): void;
202
+ NavigateToActionLog(logId: string, event: Event): void;
203
+ /** @deprecated Use {@link NavigateToActionLog}. */
139
204
  navigateToActionLog(logId: string, event: Event): void;
205
+ NavigateToPromptRun(runId: string, event: Event): void;
206
+ /** @deprecated Use {@link NavigateToPromptRun}. */
140
207
  navigateToPromptRun(runId: string, event: Event): void;
141
208
  /**
142
209
  * TrackBy function for timeline items
@@ -176,9 +243,13 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
176
243
  ExpandTaskGraph(item: TimelineItem): Promise<void>;
177
244
  /** True while a graph's steps are being fetched, so the row can say so. */
178
245
  IsExpandingGraph(item: TimelineItem): boolean;
246
+ TrackByItemId(index: number, item: TimelineItem): string;
247
+ /** @deprecated Use {@link TrackByItemId}. */
179
248
  trackByItemId(index: number, item: TimelineItem): string;
249
+ CreateSubRunDataHelper(): AIAgentRunDataHelper;
250
+ /** @deprecated Use {@link CreateSubRunDataHelper}. */
180
251
  createSubRunDataHelper(): AIAgentRunDataHelper;
181
252
  static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentRunTimelineComponent, never>;
182
- static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunTimelineComponent, "mj-ai-agent-run-timeline", never, { "aiAgentRunId": { "alias": "aiAgentRunId"; "required": false; }; "RunTree": { "alias": "RunTree"; "required": false; }; "dataHelper": { "alias": "dataHelper"; "required": false; }; }, { "itemSelected": "itemSelected"; "navigateToEntity": "navigateToEntity"; }, never, never, false, never>;
253
+ static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunTimelineComponent, "mj-ai-agent-run-timeline", never, { "AiAgentRunId": { "alias": "AiAgentRunId"; "required": false; }; "aiAgentRunId": { "alias": "aiAgentRunId"; "required": false; }; "RunTree": { "alias": "RunTree"; "required": false; }; "DataHelper": { "alias": "DataHelper"; "required": false; }; "dataHelper": { "alias": "dataHelper"; "required": false; }; }, { "ItemSelected": "ItemSelected"; "itemSelected": "itemSelected"; "NavigateToEntity": "NavigateToEntity"; "navigateToEntity": "navigateToEntity"; }, never, never, false, never>;
183
254
  }
184
255
  //# sourceMappingURL=ai-agent-run-timeline.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-run-timeline.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-agent-run-timeline.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts"],"names":[],"mappings":"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"}