@memberjunction/ng-dashboards 6.2.0-edge.5 → 6.2.0-edge.7

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 (293) hide show
  1. package/README.md +35 -0
  2. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +2 -2
  3. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  4. package/dist/AI/components/analytics/realtime/realtime-management.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/realtime/realtime-management.component.js +3 -1
  6. package/dist/AI/components/analytics/realtime/realtime-management.component.js.map +1 -1
  7. package/dist/AI/components/analytics/realtime/realtime-overview.component.d.ts +1 -1
  8. package/dist/AI/components/analytics/realtime/realtime-overview.component.js +3 -3
  9. package/dist/AI/components/analytics/realtime/realtime-overview.component.js.map +1 -1
  10. package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts +6 -4
  11. package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts.map +1 -1
  12. package/dist/AI/components/analytics/realtime/realtime-session-data.js +8 -2
  13. package/dist/AI/components/analytics/realtime/realtime-session-data.js.map +1 -1
  14. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +1 -1
  15. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  16. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +21 -13
  17. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  18. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
  19. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
  20. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
  21. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
  22. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
  23. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
  24. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
  25. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
  26. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  27. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
  28. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  29. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +7 -1
  30. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  31. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +210 -57
  32. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  33. package/dist/AI/components/duplicates/duplicate-detection-run-scope.d.ts +12 -11
  34. package/dist/AI/components/duplicates/duplicate-detection-run-scope.d.ts.map +1 -1
  35. package/dist/AI/components/duplicates/duplicate-detection-run-scope.js +15 -15
  36. package/dist/AI/components/duplicates/duplicate-detection-run-scope.js.map +1 -1
  37. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  38. package/dist/AI/components/execution-monitoring.component.js +28 -16
  39. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  40. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +1 -0
  41. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  42. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +32 -8
  43. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  44. package/dist/AI/components/tags/tags-resource.component.d.ts +1 -1
  45. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  46. package/dist/AI/components/tags/tags-resource.component.js +18 -9
  47. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  48. package/dist/AI/components/vectors/sensitive-fields.d.ts +9 -4
  49. package/dist/AI/components/vectors/sensitive-fields.d.ts.map +1 -1
  50. package/dist/AI/components/vectors/sensitive-fields.js +39 -14
  51. package/dist/AI/components/vectors/sensitive-fields.js.map +1 -1
  52. package/dist/AI/components/vectors/vector-document-rules.d.ts +13 -0
  53. package/dist/AI/components/vectors/vector-document-rules.d.ts.map +1 -1
  54. package/dist/AI/components/vectors/vector-document-rules.js +14 -0
  55. package/dist/AI/components/vectors/vector-document-rules.js.map +1 -1
  56. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +34 -14
  57. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  58. package/dist/AI/components/vectors/vector-management-resource.component.js +134 -51
  59. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  60. package/dist/AI/components/vectors/vector-store-selection.d.ts +32 -0
  61. package/dist/AI/components/vectors/vector-store-selection.d.ts.map +1 -0
  62. package/dist/AI/components/vectors/vector-store-selection.js +57 -0
  63. package/dist/AI/components/vectors/vector-store-selection.js.map +1 -0
  64. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  65. package/dist/AI/services/ai-instrumentation.service.js +4 -2
  66. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  67. package/dist/Actions/action-result-code.d.ts +80 -0
  68. package/dist/Actions/action-result-code.d.ts.map +1 -0
  69. package/dist/Actions/action-result-code.js +163 -0
  70. package/dist/Actions/action-result-code.js.map +1 -0
  71. package/dist/Actions/components/actions-overview.component.d.ts +8 -0
  72. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  73. package/dist/Actions/components/actions-overview.component.js +12 -9
  74. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  75. package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
  76. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  77. package/dist/Actions/components/execution-monitoring.component.js +65 -42
  78. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  79. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  80. package/dist/Actions/components/explorer/action-card.component.js +5 -4
  81. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  82. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +198 -0
  83. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -0
  84. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +289 -0
  85. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -0
  86. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
  87. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
  88. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
  89. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
  90. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
  91. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
  92. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
  93. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
  94. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
  95. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
  96. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
  97. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
  98. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
  99. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
  100. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
  101. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
  102. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
  103. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
  104. package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
  105. package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
  106. package/dist/ChiefOfStaff/index.d.ts +6 -0
  107. package/dist/ChiefOfStaff/index.d.ts.map +1 -0
  108. package/dist/ChiefOfStaff/index.js +6 -0
  109. package/dist/ChiefOfStaff/index.js.map +1 -0
  110. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  111. package/dist/Communication/communication-logs-resource.component.js +2 -1
  112. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  113. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  114. package/dist/Communication/communication-monitor-resource.component.js +26 -21
  115. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  116. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  117. package/dist/Communication/communication-runs-resource.component.js +14 -13
  118. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  119. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  120. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
  121. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  122. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  123. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
  124. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  125. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
  126. package/dist/ComponentStudio/services/component-version.service.js +3 -0
  127. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  128. package/dist/DashboardEditor/dashboard-editor.component.d.ts +17 -2
  129. package/dist/DashboardEditor/dashboard-editor.component.d.ts.map +1 -1
  130. package/dist/DashboardEditor/dashboard-editor.component.js +94 -43
  131. package/dist/DashboardEditor/dashboard-editor.component.js.map +1 -1
  132. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +45 -2
  133. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  134. package/dist/DataExplorer/data-explorer-dashboard.component.js +178 -55
  135. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  136. package/dist/DataExplorer/models/explorer-state.interface.d.ts +2 -0
  137. package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -1
  138. package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -1
  139. package/dist/DevTools/graphql-console.component.js +2 -2
  140. package/dist/DevTools/lazy-module-status.component.js +2 -2
  141. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  142. package/dist/FormBuilder/form-builder-resource.component.js +5 -0
  143. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  144. package/dist/Integration/components/connections/connections.component.js +2 -2
  145. package/dist/Integration/services/integration-data.service.d.ts +1 -1
  146. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  147. package/dist/Integration/services/integration-data.service.js +4 -3
  148. package/dist/Integration/services/integration-data.service.js.map +1 -1
  149. package/dist/Lists/components/lists-browse-resource.component.js +1 -1
  150. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  151. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  152. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  153. package/dist/LoginStudio/login-studio-resource.component.d.ts +10 -2
  154. package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
  155. package/dist/LoginStudio/login-studio-resource.component.js +111 -77
  156. package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
  157. package/dist/MCP/mcp-dashboard.component.d.ts +24 -4
  158. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  159. package/dist/MCP/mcp-dashboard.component.js +118 -65
  160. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  161. package/dist/PredictiveStudio/business-predictions.view-models.d.ts +1 -1
  162. package/dist/PredictiveStudio/business-predictions.view-models.d.ts.map +1 -1
  163. package/dist/PredictiveStudio/business-predictions.view-models.js +3 -3
  164. package/dist/PredictiveStudio/business-predictions.view-models.js.map +1 -1
  165. package/dist/PredictiveStudio/components/ps-experiments.component.d.ts +6 -63
  166. package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
  167. package/dist/PredictiveStudio/components/ps-experiments.component.js +257 -521
  168. package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
  169. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.d.ts +0 -18
  170. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.d.ts.map +1 -1
  171. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +124 -251
  172. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js.map +1 -1
  173. package/dist/PredictiveStudio/components/ps-pipelines.component.d.ts +5 -9
  174. package/dist/PredictiveStudio/components/ps-pipelines.component.d.ts.map +1 -1
  175. package/dist/PredictiveStudio/components/ps-pipelines.component.js +98 -130
  176. package/dist/PredictiveStudio/components/ps-pipelines.component.js.map +1 -1
  177. package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts +53 -4
  178. package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
  179. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +338 -326
  180. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
  181. package/dist/PredictiveStudio/components/ps-row-drivers.component.d.ts +19 -0
  182. package/dist/PredictiveStudio/components/ps-row-drivers.component.d.ts.map +1 -0
  183. package/dist/PredictiveStudio/components/ps-row-drivers.component.js +85 -0
  184. package/dist/PredictiveStudio/components/ps-row-drivers.component.js.map +1 -0
  185. package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts +19 -1
  186. package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
  187. package/dist/PredictiveStudio/engine/predictive-studio.engine.js +52 -2
  188. package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
  189. package/dist/PredictiveStudio/predictive-studio-agent-context.d.ts +3 -1
  190. package/dist/PredictiveStudio/predictive-studio-agent-context.d.ts.map +1 -1
  191. package/dist/PredictiveStudio/predictive-studio-agent-context.js +3 -0
  192. package/dist/PredictiveStudio/predictive-studio-agent-context.js.map +1 -1
  193. package/dist/PredictiveStudio/predictive-studio-score-history.service.d.ts +27 -4
  194. package/dist/PredictiveStudio/predictive-studio-score-history.service.d.ts.map +1 -1
  195. package/dist/PredictiveStudio/predictive-studio-score-history.service.js +94 -61
  196. package/dist/PredictiveStudio/predictive-studio-score-history.service.js.map +1 -1
  197. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts +29 -5
  198. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
  199. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +186 -103
  200. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
  201. package/dist/PredictiveStudio/resources/ps-studio-resource.component.js +1 -1
  202. package/dist/PredictiveStudio/resources/ps-studio-resource.component.js.map +1 -1
  203. package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
  204. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  205. package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
  206. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  207. package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
  208. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
  209. package/dist/UserRoutines/user-routines-resource.component.js +22 -4
  210. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
  211. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
  212. package/dist/VersionHistory/components/diff-resource.component.js +1 -0
  213. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  214. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
  215. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
  216. package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
  217. package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
  218. package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
  219. package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
  220. package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
  221. package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
  222. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
  223. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
  224. package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
  225. package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
  226. package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
  227. package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
  228. package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
  229. package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
  230. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
  231. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
  232. package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
  233. package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
  234. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
  235. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
  236. package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
  237. package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
  238. package/dist/VideoStudio/index.d.ts +12 -0
  239. package/dist/VideoStudio/index.d.ts.map +1 -0
  240. package/dist/VideoStudio/index.js +12 -0
  241. package/dist/VideoStudio/index.js.map +1 -0
  242. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
  243. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
  244. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
  245. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
  246. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
  247. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
  248. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
  249. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
  250. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
  251. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
  252. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
  253. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
  254. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
  255. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
  256. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
  257. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
  258. package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
  259. package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
  260. package/dist/VideoStudio/video-studio-agent-context.js +992 -0
  261. package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
  262. package/dist/ai-dashboards.module.d.ts +25 -21
  263. package/dist/ai-dashboards.module.d.ts.map +1 -1
  264. package/dist/ai-dashboards.module.js +25 -3
  265. package/dist/ai-dashboards.module.js.map +1 -1
  266. package/dist/module.d.ts +13 -12
  267. package/dist/module.d.ts.map +1 -1
  268. package/dist/module.js +7 -0
  269. package/dist/module.js.map +1 -1
  270. package/dist/public-api.d.ts +8 -0
  271. package/dist/public-api.d.ts.map +1 -1
  272. package/dist/public-api.js +10 -0
  273. package/dist/public-api.js.map +1 -1
  274. package/dist/shared/action-scheduled-job.d.ts.map +1 -1
  275. package/dist/shared/action-scheduled-job.js +2 -0
  276. package/dist/shared/action-scheduled-job.js.map +1 -1
  277. package/dist/video-studio-dashboards.module.d.ts +40 -0
  278. package/dist/video-studio-dashboards.module.d.ts.map +1 -0
  279. package/dist/video-studio-dashboards.module.js +159 -0
  280. package/dist/video-studio-dashboards.module.js.map +1 -0
  281. package/package.json +77 -71
  282. package/dist/PredictiveStudio/at-risk.view-models.d.ts +0 -120
  283. package/dist/PredictiveStudio/at-risk.view-models.d.ts.map +0 -1
  284. package/dist/PredictiveStudio/at-risk.view-models.js +0 -261
  285. package/dist/PredictiveStudio/at-risk.view-models.js.map +0 -1
  286. package/dist/PredictiveStudio/components/ps-confirm-modal.component.d.ts +0 -109
  287. package/dist/PredictiveStudio/components/ps-confirm-modal.component.d.ts.map +0 -1
  288. package/dist/PredictiveStudio/components/ps-confirm-modal.component.js +0 -323
  289. package/dist/PredictiveStudio/components/ps-confirm-modal.component.js.map +0 -1
  290. package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.d.ts +0 -137
  291. package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.d.ts.map +0 -1
  292. package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.js +0 -826
  293. package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ps-experiments.component.js","sourceRoot":"","sources":["../../../src/PredictiveStudio/components/ps-experiments.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJButtonDirective } from '@memberjunction/ng-ui-components';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { Metadata, RunView, IMetadataProvider, UserInfo } from '@memberjunction/core';\nimport {\n MJArtifactEntity,\n MJArtifactVersionEntity,\n MJExperimentSessionEntity,\n PredictiveStudioControlExperimentSessionOperation,\n PredictiveStudioExperimentSessionAction,\n} from '@memberjunction/core-entities';\nimport { type ModelingPlanSpec } from '@memberjunction/predictive-studio-core';\nimport { ArtifactsModule } from '@memberjunction/ng-artifacts';\nimport { PredictiveStudioEngine } from '../engine/predictive-studio.engine';\nimport { PSIterationCard, PSLeaderboardEntry } from '../predictive-studio.types';\nimport {\n PSKanbanColumns,\n DeriveLeaderboard,\n GroupIterationsToKanban,\n} from '../predictive-studio.view-models';\nimport { PSConfirmModalComponent } from './ps-confirm-modal.component';\nimport { PSRunExperimentModalComponent } from './ps-run-experiment-modal.component';\n\n/** A budget gauge derived from the session's budget JSON + actual iteration spend. */\ninterface BudgetGaugeVM {\n label: string;\n fillPct: number;\n centerText: string;\n value: string;\n cap: string;\n color: string;\n}\n\n/**\n * Experiments panel: a kanban of iteration cards in Running / Completed / Pruned columns, a leaderboard\n * strip ranked by score, and budget gauges — all live against `MJ: Experiment Sessions` + their\n * `MJ: Experiment Session Iterations`:\n *\n * - The **active session** is the first Running session, else the most-recently-created one.\n * - The **kanban** + **leaderboard** are derived from that session's iterations (grouped by status,\n * ranked by score) via the pure {@link groupIterationsToKanban} / {@link deriveLeaderboard} helpers.\n * - **Budget gauges** combine the session's budget JSON caps with actual iteration spend (compute\n * cost, iteration count).\n * - **Pause / Cancel** call the {@link PredictiveStudioControlExperimentSessionOperation} Remote Op\n * behind a confirmation; on success the engine refreshes.\n *\n * Empty state when there are no sessions. 100% entity-agnostic.\n */\n@Component({\n standalone: true,\n selector: 'ps-experiments',\n imports: [CommonModule, MJButtonDirective, PSConfirmModalComponent, PSRunExperimentModalComponent, ArtifactsModule],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../predictive-studio.shared.css', './ps-experiments.component.css'],\n template: `\n <div class=\"ps-panel ps-experiments\" data-testid=\"ps-experiments-panel\">\n @if (!session) {\n <div class=\"ps-empty\" data-testid=\"ps-experiments-empty\">\n <span class=\"ps-empty-ico\"><i class=\"fa-solid fa-flask\"></i></span>\n <h3>No experiment sessions yet</h3>\n <p>Launch an experiment to watch the Model Dev Agent search algorithms and feature sets in waves, or configure a manual multi-algorithm tournament.</p>\n <div style=\"margin-top: 12px; display: flex; gap: 8px;\">\n <button mjButton variant=\"primary\" size=\"sm\" data-testid=\"ps-experiments-new-btn-empty\" (click)=\"openNewExperimentModal()\">\n <i class=\"fa-solid fa-flask\"></i> New Experiment\n </button>\n </div>\n </div>\n } @else {\n <!-- session header strip -->\n <div class=\"sess-head\">\n <div>\n <div class=\"ps-small ps-muted\" style=\"display: flex; align-items: center; gap: 8px;\">\n <span>Experiment session</span>\n @if (sessions.length > 1) {\n <span class=\"ps-muted\">· Switch:</span>\n <select class=\"mj-input\" style=\"padding: 2px 6px; font-size: 12px; height: 26px;\"\n [value]=\"sessionId\" (change)=\"selectSession($any($event.target).value)\">\n @for (s of sessions; track s.ID) {\n <option [value]=\"s.ID\">{{ s.Name }} ({{ s.Status }})</option>\n }\n </select>\n }\n </div>\n <h2>{{ session.Name }} <span class=\"ps-badge\" [class]=\"sessionBadgeClass\"><span class=\"ps-dot\" [style.background]=\"sessionDotColor\"></span> {{ session.Status }}</span></h2>\n </div>\n <span class=\"ps-spacer\"></span>\n <span class=\"ps-small ps-muted\">{{ iterationCountLabel }}</span>\n <button mjButton variant=\"secondary\" size=\"sm\" data-testid=\"ps-experiments-view-artifact\" [disabled]=\"artifactLoading\" (click)=\"viewResultsArtifact()\">\n <i class=\"fa-solid fa-flask-vial\"></i> {{ artifactLoading ? 'Loading…' : 'View Results Artifact' }}\n </button>\n <button mjButton variant=\"primary\" size=\"sm\" data-testid=\"ps-experiments-new-btn\" (click)=\"openNewExperimentModal()\">\n <i class=\"fa-solid fa-plus\"></i> New Experiment\n </button>\n @if (canPause) {\n <button mjButton variant=\"secondary\" size=\"sm\" data-testid=\"ps-experiments-pause\" (click)=\"requestControl('pause')\"><i class=\"fa-solid fa-pause\"></i> Pause</button>\n }\n @if (canResume) {\n <button mjButton variant=\"secondary\" size=\"sm\" data-testid=\"ps-experiments-resume\" (click)=\"requestControl('resume')\"><i class=\"fa-solid fa-play\"></i> Resume</button>\n }\n @if (canCancel) {\n <button mjButton variant=\"danger\" size=\"sm\" data-testid=\"ps-experiments-cancel\" (click)=\"requestControl('cancel')\"><i class=\"fa-solid fa-stop\"></i> Cancel</button>\n }\n </div>\n\n <!-- Leaderboard strip -->\n <div class=\"ps-card\" data-testid=\"ps-experiments-leaderboard\">\n <div class=\"ps-card-body lead-strip\">\n <div class=\"lead-lbl\">\n <div class=\"t\"><i class=\"fa-solid fa-trophy\" style=\"color:var(--mj-status-warning)\"></i> Leaderboard</div>\n <div class=\"ps-small ps-muted\">{{ leaderboard.length }} scored · by metric</div>\n </div>\n @if (leaderboard.length === 0) {\n <span class=\"ps-small ps-muted\">No scored iterations yet.</span>\n }\n @for (lp of leaderboard; track lp.rank) {\n <div class=\"lp\" [class.best]=\"lp.best\" [class.pruned]=\"lp.pruned\">\n <span class=\"ps-rank\" [class.gold]=\"lp.best\">{{ lp.rank }}</span>\n <span class=\"algo-ic\" [style.background]=\"lp.algorithmColor\"><i [class]=\"lp.algorithmIcon\"></i></span>\n <div><div class=\"nm\">{{ lp.algorithm }}</div><div class=\"fs ps-muted ps-small\">{{ lp.features }}</div></div>\n <span class=\"auc\" [class.win]=\"lp.best\">{{ lp.auc | number: '1.3-3' }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Budget rail -->\n @if (budget.length > 0) {\n <div class=\"ps-card\">\n <div class=\"ps-card-body budget-rail\">\n @for (b of budget; track b.label) {\n <div class=\"bud\">\n <div class=\"ps-gauge\" [style.--ps-p]=\"b.fillPct\" [style.--ps-gauge-color]=\"b.color\">\n <span class=\"g-val\">{{ b.centerText }}</span>\n </div>\n <div style=\"flex:1\">\n <div class=\"ps-section-title\">{{ b.label }}</div>\n <div class=\"b-val\"><strong>{{ b.value }}</strong> <span class=\"ps-muted ps-small\">/ {{ b.cap }}</span></div>\n <div class=\"ps-bar\" style=\"margin-top:6px;max-width:150px\"><span [style.width.%]=\"b.fillPct\" [style.background]=\"b.color\"></span></div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Kanban -->\n <div class=\"kanban\" data-testid=\"ps-experiments-kanban\">\n <div class=\"kcol run\" data-testid=\"ps-kanban-col-running\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-spinner\"></i><h3>Running</h3><span class=\"cnt\">{{ kanban.Running.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Running; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Running.length === 0) { <span class=\"ps-small ps-muted\">No running iterations.</span> }\n </div>\n </div>\n <div class=\"kcol done\" data-testid=\"ps-kanban-col-completed\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-circle-check\"></i><h3>Completed</h3><span class=\"cnt\">{{ kanban.Completed.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Completed; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Completed.length === 0) { <span class=\"ps-small ps-muted\">No completed iterations.</span> }\n </div>\n </div>\n <div class=\"kcol prune\" data-testid=\"ps-kanban-col-pruned\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-scissors\"></i><h3>Pruned</h3><span class=\"cnt\">{{ kanban.Pruned.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Pruned; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Pruned.length === 0) { <span class=\"ps-small ps-muted\">Nothing pruned.</span> }\n </div>\n </div>\n </div>\n\n <ng-template #iterCard let-c=\"c\">\n <div class=\"icard\" [class.best]=\"c.status === 'Best'\" [class.running]=\"c.status === 'Running'\" [class.pruned]=\"c.status === 'Pruned'\">\n <div class=\"ic-top\">\n <span class=\"algo-ic\" [style.background]=\"c.algorithmColor\"><i [class]=\"c.algorithmIcon\"></i></span>\n <div><div class=\"nm\">{{ c.algorithm }}</div><div class=\"it ps-muted ps-small\">{{ c.iteration }}</div></div>\n <span class=\"ps-spacer\"></span>\n <span class=\"ps-badge\" [class]=\"statusBadgeClass(c.status)\">{{ statusLabel(c.status) }}</span>\n </div>\n <div class=\"feat-chips\">\n @for (f of c.features; track f) { <span class=\"ps-tag\">{{ f }}</span> }\n </div>\n @if (c.status === 'Running') {\n <div class=\"ic-prog\">\n <div class=\"ps-bar run\"><span [style.width.%]=\"c.Progress\"></span></div>\n <div class=\"meta\"><span class=\"ps-muted ps-small\">{{ c.ProgressDetail }}</span></div>\n </div>\n } @else {\n <div class=\"ic-score\">\n <span class=\"v\" [class.green]=\"c.status === 'Best'\">{{ c.score | number: '1.3-3' }}</span>\n <span class=\"lbl ps-muted ps-small\">score · {{ c.ScoreDelta }}</span>\n </div>\n }\n <div class=\"rationale\"><i class=\"fa-solid fa-robot\"></i><span class=\"ps-small\">{{ c.rationale }}</span></div>\n </div>\n </ng-template>\n }\n\n @if (pendingAction) {\n <ps-confirm-modal\n [title]=\"pendingTitle\"\n [icon]=\"pendingIcon\"\n [confirmIcon]=\"pendingIcon\"\n [confirmLabel]=\"pendingConfirmLabel\"\n [variant]=\"pendingAction === 'cancel' ? 'danger' : 'warn'\"\n [busy]=\"busy\"\n (confirmed)=\"confirmControl()\"\n (cancelled)=\"cancelControl()\">\n <div [innerHTML]=\"pendingMessage\"></div>\n </ps-confirm-modal>\n }\n\n @if (showArtifactModal && activeArtifactId) {\n <div class=\"ps-modal-backdrop\" (click)=\"closeArtifactModal()\">\n <div class=\"ps-modal-dialog\" style=\"max-width: 960px; width: 92vw; height: 85vh; display: flex; flex-direction: column; padding: 0; overflow: hidden;\"\n (click)=\"$event.stopPropagation()\">\n <div style=\"flex: 1; min-height: 0; display: flex; flex-direction: column;\">\n <mj-artifact-viewer-panel\n [artifactId]=\"activeArtifactId\"\n [currentUser]=\"currentUser!\"\n [showCloseButton]=\"true\"\n (closed)=\"closeArtifactModal()\">\n </mj-artifact-viewer-panel>\n </div>\n </div>\n </div>\n }\n\n @if (showNewExperimentModal) {\n <ps-run-experiment-modal\n [engine]=\"engine\"\n [provider]=\"provider\"\n [currentUser]=\"currentUser\"\n (started)=\"onExperimentStarted($event)\"\n (closed)=\"closeNewExperimentModal()\">\n </ps-run-experiment-modal>\n }\n </div>\n `,\n})\nexport class PSExperimentsComponent implements OnInit {\n @Input() engine!: PredictiveStudioEngine;\n /** Provider to route the control Remote Op + engine refresh through (multi-provider correctness). */\n @Input() provider: IMetadataProvider | null = null;\n /** Acting user for the engine refresh after a mutation. */\n @Input() CurrentUser: UserInfo | null = null;\n\n /** @deprecated Use {@link CurrentUser}. */\n @Input() set currentUser(value: UserInfo | null) {\n this.CurrentUser = value;\n }\n /** @deprecated Use {@link CurrentUser}. */\n get currentUser(): UserInfo | null {\n return this.CurrentUser;\n }\n\n private cdr = inject(ChangeDetectorRef);\n private notifications = inject(MJNotificationService);\n\n /** The currently-displayed session ID (first Running, else most recent). */\n public sessionId = '';\n public Kanban: PSKanbanColumns = { Running: [], Completed: [], Pruned: [] };\n\n /** @deprecated Use {@link Kanban}. */\n public get kanban(): PSKanbanColumns {\n return this.Kanban;\n }\n /** @deprecated Use {@link Kanban}. */\n public set kanban(value: PSKanbanColumns) {\n this.Kanban = value;\n }\n public Leaderboard: PSLeaderboardEntry[] = [];\n\n /** @deprecated Use {@link Leaderboard}. */\n public get leaderboard(): PSLeaderboardEntry[] {\n return this.Leaderboard;\n }\n /** @deprecated Use {@link Leaderboard}. */\n public set leaderboard(value: PSLeaderboardEntry[]) {\n this.Leaderboard = value;\n }\n public Budget: BudgetGaugeVM[] = [];\n\n /** @deprecated Use {@link Budget}. */\n public get budget(): BudgetGaugeVM[] {\n return this.Budget;\n }\n /** @deprecated Use {@link Budget}. */\n public set budget(value: BudgetGaugeVM[]) {\n this.Budget = value;\n }\n\n /** Pending control action awaiting confirmation (null when no modal is open). */\n public PendingAction: PredictiveStudioExperimentSessionAction | null = null;\n\n /** @deprecated Use {@link PendingAction}. */\n public get pendingAction(): PredictiveStudioExperimentSessionAction | null {\n return this.PendingAction;\n }\n /** @deprecated Use {@link PendingAction}. */\n public set pendingAction(value: PredictiveStudioExperimentSessionAction | null) {\n this.PendingAction = value;\n }\n /** Remote Op in flight. */\n public Busy = false;\n\n /** @deprecated Use {@link Busy}. */\n public get busy() {\n return this.Busy;\n }\n /** @deprecated Use {@link Busy}. */\n public set busy(value) {\n this.Busy = value;\n }\n\n public ShowNewExperimentModal = false;\n\n /** @deprecated Use {@link ShowNewExperimentModal}. */\n public get showNewExperimentModal() {\n return this.ShowNewExperimentModal;\n }\n /** @deprecated Use {@link ShowNewExperimentModal}. */\n public set showNewExperimentModal(value) {\n this.ShowNewExperimentModal = value;\n }\n public ShowArtifactModal = false;\n\n /** @deprecated Use {@link ShowArtifactModal}. */\n public get showArtifactModal() {\n return this.ShowArtifactModal;\n }\n /** @deprecated Use {@link ShowArtifactModal}. */\n public set showArtifactModal(value) {\n this.ShowArtifactModal = value;\n }\n public ActiveArtifactId: string | null = null;\n\n /** @deprecated Use {@link ActiveArtifactId}. */\n public get activeArtifactId(): string | null {\n return this.ActiveArtifactId;\n }\n /** @deprecated Use {@link ActiveArtifactId}. */\n public set activeArtifactId(value: string | null) {\n this.ActiveArtifactId = value;\n }\n public ArtifactLoading = false;\n\n /** @deprecated Use {@link ArtifactLoading}. */\n public get artifactLoading() {\n return this.ArtifactLoading;\n }\n /** @deprecated Use {@link ArtifactLoading}. */\n public set artifactLoading(value) {\n this.ArtifactLoading = value;\n }\n\n public get Sessions(): MJExperimentSessionEntity[] {\n return this.engine?.Sessions ?? [];\n }\n\n /** @deprecated Use {@link Sessions}. */\n public get sessions(): MJExperimentSessionEntity[] {\n return this.Sessions;\n }\n\n public SelectSession(id: string): void {\n this.sessionId = id;\n this.rebuild();\n this.cdr.detectChanges();\n }\n\n /** @deprecated Use {@link SelectSession}. */\n public selectSession(id: string): void {\n return this.SelectSession(id);\n }\n\n public OpenNewExperimentModal(): void {\n this.ShowNewExperimentModal = true;\n }\n\n /** @deprecated Use {@link OpenNewExperimentModal}. */\n public openNewExperimentModal(): void {\n return this.OpenNewExperimentModal();\n }\n\n public CloseNewExperimentModal(): void {\n this.ShowNewExperimentModal = false;\n }\n\n /** @deprecated Use {@link CloseNewExperimentModal}. */\n public closeNewExperimentModal(): void {\n return this.CloseNewExperimentModal();\n }\n\n public async OnExperimentStarted(newSessionId: string): Promise<void> {\n this.CloseNewExperimentModal();\n await this.engine.Config(true, this.currentUser ?? undefined, this.provider ?? undefined);\n this.sessionId = newSessionId;\n this.rebuild();\n this.cdr.detectChanges();\n }\n\n /** @deprecated Use {@link OnExperimentStarted}. */\n public async onExperimentStarted(newSessionId: string): Promise<void> {\n return this.OnExperimentStarted(newSessionId);\n }\n\n public CloseArtifactModal(): void {\n this.ShowArtifactModal = false;\n this.ActiveArtifactId = null;\n }\n\n /** @deprecated Use {@link CloseArtifactModal}. */\n public closeArtifactModal(): void {\n return this.CloseArtifactModal();\n }\n\n public async ViewResultsArtifact(): Promise<void> {\n const s = this.session;\n if (!s || this.ArtifactLoading) return;\n\n this.ArtifactLoading = true;\n try {\n const p = this.provider ?? Metadata.Provider;\n const rv = new RunView();\n const res = await rv.RunView<MJArtifactEntity>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: `Name LIKE '${s.Name}%' OR Comments LIKE '%${s.ID}%'`,\n ResultType: 'entity_object',\n }, this.currentUser ?? undefined);\n\n if (res.Success && res.Results && res.Results.length > 0) {\n this.ActiveArtifactId = res.Results[0].ID;\n this.ShowArtifactModal = true;\n return;\n }\n\n const art = await p.GetEntityObject<MJArtifactEntity>('MJ: Artifacts', this.currentUser ?? undefined);\n art.Name = `${s.Name} — Results`;\n art.Description = `Modeling results, leaderboard, and winning model metrics for ${s.Name}.`;\n art.TypeID = 'D41AB707-58F1-4413-8725-9DF31C95F4C5';\n art.Comments = `Auto-generated for Experiment Session ${s.ID}`;\n const saved = await art.Save();\n if (!saved) {\n this.notifications.CreateSimpleNotification('Could not generate artifact record.', 'error', 5000);\n return;\n }\n\n const ver = await p.GetEntityObject<MJArtifactVersionEntity>('MJ: Artifact Versions', this.currentUser ?? undefined);\n ver.ArtifactID = art.ID;\n ver.VersionNumber = 1;\n ver.Comments = 'Initial results artifact';\n\n const planSpec = this.parsePlanSpec(s.PlanSpec);\n const winningRow = this.leaderboard[0];\n const winningIteration = winningRow\n ? this.engine.IterationsForSession(s.ID).find((it) => this.engine.AlgorithmForIteration(it.ID) === winningRow.algorithm && it.Score === winningRow.auc)\n : undefined;\n const winningRun = winningIteration ? this.engine.TrainingRuns.find((r) => UUIDsEqual(r.ExperimentSessionIterationID, winningIteration.ID)) : undefined;\n const winningModelId = winningRun?.ResultingModelID ?? undefined;\n\n const payload = {\n Name: s.Name,\n Goal: s.Goal || planSpec?.Goal || 'Predictive modeling experiment',\n TargetMetric: planSpec?.TargetDefinition?.SuccessMetric || 'Score',\n Summary: `Experiment session completed with ${this.leaderboard.length} iterations. Winning algorithm: ${winningRow?.algorithm ?? 'None'}.`,\n Leaderboard: this.leaderboard.map((lb) => ({\n rank: lb.rank,\n algorithm: lb.algorithm,\n algorithmName: lb.algorithm,\n featureSet: lb.features,\n score: lb.auc,\n isWinner: lb.best,\n })),\n BestModelID: winningModelId,\n BestModel: winningModelId && winningRow ? { ID: winningModelId, Name: winningRow.algorithm } : undefined,\n Markdown: `## Experiment Session: ${s.Name}\\n\\n**Status:** ${s.Status}\\n**Goal:** ${s.Goal || 'N/A'}\\n\\n### Leaderboard\\n\\nRanked by metric:\\n` +\n this.leaderboard.map(l => `- **#${l.rank} ${l.algorithm}**: Score ${l.auc.toFixed(3)} (${l.features})`).join('\\n'),\n };\n\n ver.Content = JSON.stringify(payload);\n await ver.Save();\n\n this.ActiveArtifactId = art.ID;\n this.ShowArtifactModal = true;\n } catch (e) {\n this.notifications.CreateSimpleNotification(`Error: ${e instanceof Error ? e.message : String(e)}`, 'error', 5000);\n } finally {\n this.ArtifactLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n /** @deprecated Use {@link ViewResultsArtifact}. */\n public async viewResultsArtifact(): Promise<void> {\n return this.ViewResultsArtifact();\n }\n\n private parsePlanSpec(raw: string | null): ModelingPlanSpec | null {\n if (!raw) return null;\n try {\n return JSON.parse(raw) as ModelingPlanSpec;\n } catch {\n return null;\n }\n }\n\n ngOnInit(): void {\n this.selectActiveSession();\n this.rebuild();\n }\n\n // ---- active session selection ----\n\n /** Pick the most relevant session to display: first Running, else the most-recently-created. */\n private selectActiveSession(): void {\n const sessions = this.engine?.Sessions ?? [];\n const running = sessions.find((s) => s.Status === 'Running');\n // Sessions are loaded OrderBy '__mj_CreatedAt DESC', so index 0 is the most recent.\n this.sessionId = (running ?? sessions[0])?.ID ?? '';\n }\n\n public get Session(): MJExperimentSessionEntity | undefined {\n return this.engine?.Sessions.find((s) => UUIDsEqual(s.ID, this.sessionId));\n }\n\n /** @deprecated Use {@link Session}. */\n public get session(): MJExperimentSessionEntity | undefined {\n return this.Session;\n }\n\n public get IterationCountLabel(): string {\n const total = this.Kanban.Running.length + this.Kanban.Completed.length + this.Kanban.Pruned.length;\n return `${total} iteration${total === 1 ? '' : 's'}`;\n }\n\n /** @deprecated Use {@link IterationCountLabel}. */\n public get iterationCountLabel(): string {\n return this.IterationCountLabel;\n }\n\n // ---- derivations ----\n\n private rebuild(): void {\n if (!this.sessionId) {\n this.Kanban = { Running: [], Completed: [], Pruned: [] };\n this.Leaderboard = [];\n this.Budget = [];\n return;\n }\n const rows = this.engine.IterationRowsForSession(this.sessionId);\n this.Kanban = GroupIterationsToKanban(rows);\n this.Leaderboard = DeriveLeaderboard(rows);\n this.Budget = this.buildBudget(rows);\n }\n\n /** Build the budget gauges from the session's budget JSON caps + actual iteration spend. */\n private buildBudget(rows: { ComputeCost: number | null }[]): BudgetGaugeVM[] {\n const session = this.Session;\n if (!session) return [];\n const budgetJson = this.parseBudget(session.Budget);\n const gauges: BudgetGaugeVM[] = [];\n\n const spentCost = rows.reduce((sum, r) => sum + (r.ComputeCost ?? 0), 0);\n const maxCost = budgetJson.maxComputeCost;\n if (maxCost != null && maxCost > 0) {\n gauges.push(this.gauge('Compute cost', spentCost, maxCost, 'var(--ps-gauge-cost)', (v) => `$${v.toFixed(0)}`, `$${maxCost.toFixed(0)} cap`));\n }\n\n const iterations = rows.length;\n const maxIterations = budgetJson.maxIterations;\n if (maxIterations != null && maxIterations > 0) {\n gauges.push(this.gauge('Iterations', iterations, maxIterations, 'var(--ps-gauge-iterations)', (v) => `${v}`, `${maxIterations} trials`));\n }\n return gauges;\n }\n\n /** Construct a single gauge VM (fill clamped to 0..100). */\n private gauge(label: string, value: number, cap: number, color: string, fmt: (v: number) => string, capLabel: string): BudgetGaugeVM {\n const fillPct = Math.max(0, Math.min(100, Math.round((value / cap) * 100)));\n return { label, fillPct, centerText: `${fillPct}%`, value: fmt(value), cap: capLabel, color };\n }\n\n /** Tolerant parse of the session's budget JSON (accepts a few common key spellings). */\n private parseBudget(json: string | null): { maxComputeCost: number | null; maxIterations: number | null } {\n if (!json) return { maxComputeCost: null, maxIterations: null };\n try {\n const parsed = JSON.parse(json) as Record<string, unknown>;\n const num = (...keys: string[]): number | null => {\n for (const k of keys) {\n const v = parsed[k];\n if (typeof v === 'number' && Number.isFinite(v)) return v;\n }\n return null;\n };\n return {\n maxComputeCost: num('maxComputeCost', 'maxCost', 'computeBudget'),\n maxIterations: num('maxIterations', 'maxTrials', 'iterationBudget'),\n };\n } catch {\n return { maxComputeCost: null, maxIterations: null };\n }\n }\n\n // ---- session status chrome ----\n\n public get SessionBadgeClass(): string {\n switch (this.Session?.Status) {\n case 'Running': return 'green';\n case 'Paused': return 'amber';\n case 'Cancelled': return 'red';\n case 'Completed': return 'blue';\n default: return 'gray';\n }\n }\n\n /** @deprecated Use {@link SessionBadgeClass}. */\n public get sessionBadgeClass(): string {\n return this.SessionBadgeClass;\n }\n public get SessionDotColor(): string {\n switch (this.Session?.Status) {\n case 'Running': return 'var(--mj-status-success)';\n case 'Paused': return 'var(--mj-status-warning)';\n case 'Cancelled': return 'var(--mj-status-error)';\n default: return 'var(--mj-text-muted)';\n }\n }\n\n /** @deprecated Use {@link SessionDotColor}. */\n public get sessionDotColor(): string {\n return this.SessionDotColor;\n }\n\n public StatusBadgeClass(status: PSIterationCard['Status']): string {\n switch (status) {\n case 'Best': return 'green';\n case 'Completed': return 'gray';\n case 'AwaitingApproval': return 'amber';\n case 'Pruned': return 'red';\n case 'Running': return 'blue';\n }\n }\n\n /** @deprecated Use {@link StatusBadgeClass}. */\n public statusBadgeClass(status: PSIterationCard['Status']): string {\n return this.StatusBadgeClass(status);\n }\n\n public StatusLabel(status: PSIterationCard['Status']): string {\n switch (status) {\n case 'Best': return 'Best';\n case 'AwaitingApproval': return 'Awaiting approval';\n default: return status;\n }\n }\n\n /** @deprecated Use {@link StatusLabel}. */\n public statusLabel(status: PSIterationCard['Status']): string {\n return this.StatusLabel(status);\n }\n\n // ---- control availability ----\n\n public get CanPause(): boolean {\n return this.Session?.Status === 'Running';\n }\n\n /** @deprecated Use {@link CanPause}. */\n public get canPause(): boolean {\n return this.CanPause;\n }\n public get CanResume(): boolean {\n return this.Session?.Status === 'Paused';\n }\n\n /** @deprecated Use {@link CanResume}. */\n public get canResume(): boolean {\n return this.CanResume;\n }\n public get CanCancel(): boolean {\n const s = this.Session?.Status;\n return s === 'Running' || s === 'Paused' || s === 'AwaitingApproval';\n }\n\n /** @deprecated Use {@link CanCancel}. */\n public get canCancel(): boolean {\n return this.CanCancel;\n }\n\n // ---- control flow (Remote Op) ----\n\n public RequestControl(action: PredictiveStudioExperimentSessionAction): void {\n if (!this.Session) return;\n this.PendingAction = action;\n }\n\n /** @deprecated Use {@link RequestControl}. */\n public requestControl(action: PredictiveStudioExperimentSessionAction): void {\n return this.RequestControl(action);\n }\n\n public CancelControl(): void {\n if (this.Busy) return;\n this.PendingAction = null;\n }\n\n /** @deprecated Use {@link CancelControl}. */\n public cancelControl(): void {\n return this.CancelControl();\n }\n\n public get PendingTitle(): string {\n switch (this.PendingAction) {\n case 'pause': return 'Pause experiment';\n case 'resume': return 'Resume experiment';\n case 'cancel': return 'Cancel experiment';\n default: return '';\n }\n }\n\n /** @deprecated Use {@link PendingTitle}. */\n public get pendingTitle(): string {\n return this.PendingTitle;\n }\n public get PendingIcon(): string {\n switch (this.PendingAction) {\n case 'pause': return 'fa-solid fa-pause';\n case 'resume': return 'fa-solid fa-play';\n case 'cancel': return 'fa-solid fa-stop';\n default: return 'fa-solid fa-check';\n }\n }\n\n /** @deprecated Use {@link PendingIcon}. */\n public get pendingIcon(): string {\n return this.PendingIcon;\n }\n public get PendingConfirmLabel(): string {\n switch (this.PendingAction) {\n case 'pause': return 'Pause';\n case 'resume': return 'Resume';\n case 'cancel': return 'Cancel run';\n default: return 'Confirm';\n }\n }\n\n /** @deprecated Use {@link PendingConfirmLabel}. */\n public get pendingConfirmLabel(): string {\n return this.PendingConfirmLabel;\n }\n public get PendingMessage(): string {\n const name = escapeHtml(this.Session?.Name ?? 'this session');\n switch (this.PendingAction) {\n case 'pause':\n return `Pause <strong>${name}</strong>? The orchestrator stops at the next wave checkpoint; in-flight iterations finish. You can resume later.`;\n case 'resume':\n return `Resume <strong>${name}</strong>? The orchestrator continues searching from where it paused.`;\n case 'cancel':\n return `Cancel <strong>${name}</strong>? This stops the search at the next checkpoint. Completed iterations and the leaderboard are kept, but the session cannot be resumed.`;\n default:\n return '';\n }\n }\n\n /** @deprecated Use {@link PendingMessage}. */\n public get pendingMessage(): string {\n return this.PendingMessage;\n }\n\n /** Run the control Remote Op, then refresh the engine + close on success. */\n public async ConfirmControl(): Promise<void> {\n if (!this.PendingAction || !this.Session || this.Busy) return;\n this.Busy = true;\n const action = this.PendingAction;\n const sessionId = this.Session.ID;\n const name = this.Session.Name;\n try {\n const op = new PredictiveStudioControlExperimentSessionOperation();\n const result = await op.Execute(\n { sessionId, action },\n { provider: this.provider ?? undefined, user: this.CurrentUser ?? undefined },\n );\n if (result.Success) {\n this.notifications.CreateSimpleNotification(\n `${name} → ${result.Output?.status ?? action}`,\n 'success',\n 3500,\n );\n await this.refreshAfterMutation();\n this.PendingAction = null;\n } else {\n this.notifications.CreateSimpleNotification(\n result.ErrorMessage || `Could not ${action} ${name}.`,\n 'error',\n 5000,\n );\n }\n } catch (e) {\n this.notifications.CreateSimpleNotification(\n `${action} failed: ${e instanceof Error ? e.message : String(e)}`,\n 'error',\n 5000,\n );\n } finally {\n this.Busy = false;\n this.cdr.detectChanges();\n }\n }\n\n /** @deprecated Use {@link ConfirmControl}. */\n public async confirmControl(): Promise<void> {\n return this.ConfirmControl();\n }\n\n /** Force-refresh the engine's cached sessions/iterations, then rebuild. */\n private async refreshAfterMutation(): Promise<void> {\n await this.engine.Config(true, this.CurrentUser ?? undefined, this.provider ?? undefined);\n this.selectActiveSession();\n this.rebuild();\n this.cdr.detectChanges();\n }\n}\n\n/** Minimal HTML-escape for interpolating session names into the modal's innerHTML message. */\nfunction escapeHtml(value: string): string {\n return value\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;');\n}\n"]}
1
+ {"version":3,"file":"ps-experiments.component.js","sourceRoot":"","sources":["../../../src/PredictiveStudio/components/ps-experiments.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJButtonDirective } from '@memberjunction/ng-ui-components';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { EscapeSQLString, UUIDsEqual } from '@memberjunction/global';\nimport { LogError, Metadata, RunView, IMetadataProvider, UserInfo } from '@memberjunction/core';\nimport {\n MJArtifactEntity,\n MJArtifactVersionEntity,\n MJExperimentSessionEntity,\n} from '@memberjunction/core-entities';\nimport { ExperimentSessions, type ModelingPlanSpec } from '@memberjunction/predictive-studio-core';\nimport { ArtifactsModule } from '@memberjunction/ng-artifacts';\nimport { PredictiveStudioEngine } from '../engine/predictive-studio.engine';\nimport { PSIterationCard, PSLeaderboardEntry } from '../predictive-studio.types';\nimport {\n PSKanbanColumns,\n DeriveLeaderboard,\n GroupIterationsToKanban,\n} from '../predictive-studio.view-models';\n\n/** A budget gauge derived from the session's budget JSON + actual iteration spend. */\ninterface BudgetGaugeVM {\n label: string;\n fillPct: number;\n centerText: string;\n value: string;\n cap: string;\n color: string;\n}\n\n/**\n * Experiments panel: a kanban of iteration cards in Running / Completed / Pruned columns, a leaderboard\n * strip ranked by score, and budget gauges — all live against `MJ: Experiment Sessions` + their\n * `MJ: Experiment Session Iterations`:\n *\n * - The **active session** is the first Running session, else the most-recently-created one.\n * - The **kanban** + **leaderboard** are derived from that session's iterations (grouped by status,\n * ranked by score) via the pure {@link groupIterationsToKanban} / {@link deriveLeaderboard} helpers.\n * - **Budget gauges** combine the session's budget JSON caps with actual iteration spend (compute\n * cost, iteration count).\n * - Sessions are switched off: the panel shows earlier sessions and offers no start or control action.\n *\n * Empty state when there are no sessions. 100% entity-agnostic.\n */\n@Component({\n standalone: true,\n selector: 'ps-experiments',\n imports: [CommonModule, MJButtonDirective, ArtifactsModule],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../predictive-studio.shared.css', './ps-experiments.component.css'],\n template: `\n <div class=\"ps-panel ps-experiments\" data-testid=\"ps-experiments-panel\">\n @if (!session) {\n <div class=\"ps-empty\" data-testid=\"ps-experiments-empty\">\n <span class=\"ps-empty-ico\"><i class=\"fa-solid fa-flask\"></i></span>\n <h3>No experiment sessions yet</h3>\n @if (!SessionsEnabled) { <p data-testid=\"ps-experiments-disabled-reason\">{{ SessionsDisabledReason }}</p> }\n </div>\n } @else {\n <!-- session header strip -->\n <div class=\"sess-head\">\n <div>\n <div class=\"ps-small ps-muted\" style=\"display: flex; align-items: center; gap: 8px;\">\n <span>Experiment session</span>\n @if (sessions.length > 1) {\n <span class=\"ps-muted\">· Switch:</span>\n <select class=\"mj-input\" style=\"padding: 2px 6px; font-size: 12px; height: 26px;\"\n [value]=\"sessionId\" (change)=\"selectSession($any($event.target).value)\">\n @for (s of sessions; track s.ID) {\n <option [value]=\"s.ID\">{{ s.Name }} ({{ s.Status }})</option>\n }\n </select>\n }\n </div>\n <h2>{{ session.Name }} <span class=\"ps-badge\" [class]=\"sessionBadgeClass\"><span class=\"ps-dot\" [style.background]=\"sessionDotColor\"></span> {{ session.Status }}</span></h2>\n </div>\n <span class=\"ps-spacer\"></span>\n <span class=\"ps-small ps-muted\">{{ iterationCountLabel }}</span>\n <button mjButton variant=\"secondary\" size=\"sm\" data-testid=\"ps-experiments-view-artifact\" [disabled]=\"artifactLoading\" (click)=\"viewResultsArtifact()\">\n <i class=\"fa-solid fa-flask-vial\"></i> {{ artifactLoading ? 'Loading…' : 'View Results Artifact' }}\n </button>\n </div>\n @if (!SessionsEnabled) {\n <div class=\"ps-callout warn\" data-testid=\"ps-experiments-unavailable\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <div data-testid=\"ps-experiments-unavailable-reason\">{{ SessionsDisabledReason }}</div>\n </div>\n }\n\n <!-- Leaderboard strip -->\n <div class=\"ps-card\" data-testid=\"ps-experiments-leaderboard\">\n <div class=\"ps-card-body lead-strip\">\n <div class=\"lead-lbl\">\n <div class=\"t\"><i class=\"fa-solid fa-trophy\" style=\"color:var(--mj-status-warning)\"></i> Leaderboard</div>\n <div class=\"ps-small ps-muted\">{{ leaderboard.length }} scored · by metric</div>\n </div>\n @if (leaderboard.length === 0) {\n <span class=\"ps-small ps-muted\">No scored iterations yet.</span>\n }\n @for (lp of leaderboard; track lp.rank) {\n <div class=\"lp\" [class.best]=\"lp.best\" [class.pruned]=\"lp.pruned\">\n <span class=\"ps-rank\" [class.gold]=\"lp.best\">{{ lp.rank }}</span>\n <span class=\"algo-ic\" [style.background]=\"lp.algorithmColor\"><i [class]=\"lp.algorithmIcon\"></i></span>\n <div><div class=\"nm\">{{ lp.algorithm }}</div><div class=\"fs ps-muted ps-small\">{{ lp.features }}</div></div>\n <span class=\"auc\" [class.win]=\"lp.best\">{{ lp.auc | number: '1.3-3' }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Budget rail -->\n @if (budget.length > 0) {\n <div class=\"ps-card\">\n <div class=\"ps-card-body budget-rail\">\n @for (b of budget; track b.label) {\n <div class=\"bud\">\n <div class=\"ps-gauge\" [style.--ps-p]=\"b.fillPct\" [style.--ps-gauge-color]=\"b.color\">\n <span class=\"g-val\">{{ b.centerText }}</span>\n </div>\n <div style=\"flex:1\">\n <div class=\"ps-section-title\">{{ b.label }}</div>\n <div class=\"b-val\"><strong>{{ b.value }}</strong> <span class=\"ps-muted ps-small\">/ {{ b.cap }}</span></div>\n <div class=\"ps-bar\" style=\"margin-top:6px;max-width:150px\"><span [style.width.%]=\"b.fillPct\" [style.background]=\"b.color\"></span></div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Kanban -->\n <div class=\"kanban\" data-testid=\"ps-experiments-kanban\">\n <div class=\"kcol run\" data-testid=\"ps-kanban-col-running\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-spinner\"></i><h3>Running</h3><span class=\"cnt\">{{ kanban.Running.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Running; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Running.length === 0) { <span class=\"ps-small ps-muted\">No running iterations.</span> }\n </div>\n </div>\n <div class=\"kcol done\" data-testid=\"ps-kanban-col-completed\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-circle-check\"></i><h3>Completed</h3><span class=\"cnt\">{{ kanban.Completed.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Completed; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Completed.length === 0) { <span class=\"ps-small ps-muted\">No completed iterations.</span> }\n </div>\n </div>\n <div class=\"kcol prune\" data-testid=\"ps-kanban-col-pruned\">\n <div class=\"kcol-head\"><i class=\"fa-solid fa-scissors\"></i><h3>Pruned</h3><span class=\"cnt\">{{ kanban.Pruned.length }}</span></div>\n <div class=\"kbody\">\n @for (c of kanban.Pruned; track c.Iteration) {\n <ng-container [ngTemplateOutlet]=\"iterCard\" [ngTemplateOutletContext]=\"{ c: c }\"></ng-container>\n }\n @if (kanban.Pruned.length === 0) { <span class=\"ps-small ps-muted\">Nothing pruned.</span> }\n </div>\n </div>\n </div>\n\n <ng-template #iterCard let-c=\"c\">\n <div class=\"icard\" [class.best]=\"c.status === 'Best'\" [class.running]=\"c.status === 'Running'\" [class.pruned]=\"c.status === 'Pruned'\">\n <div class=\"ic-top\">\n <span class=\"algo-ic\" [style.background]=\"c.algorithmColor\"><i [class]=\"c.algorithmIcon\"></i></span>\n <div><div class=\"nm\">{{ c.algorithm }}</div><div class=\"it ps-muted ps-small\">{{ c.iteration }}</div></div>\n <span class=\"ps-spacer\"></span>\n <span class=\"ps-badge\" [class]=\"statusBadgeClass(c.status)\">{{ statusLabel(c.status) }}</span>\n </div>\n <div class=\"feat-chips\">\n @for (f of c.features; track f) { <span class=\"ps-tag\">{{ f }}</span> }\n </div>\n @if (c.status === 'Running') {\n <div class=\"ic-prog\">\n <div class=\"ps-bar run\"><span [style.width.%]=\"c.Progress\"></span></div>\n <div class=\"meta\"><span class=\"ps-muted ps-small\">{{ c.ProgressDetail }}</span></div>\n </div>\n } @else {\n <div class=\"ic-score\">\n <span class=\"v\" [class.green]=\"c.status === 'Best'\">{{ c.score | number: '1.3-3' }}</span>\n <span class=\"lbl ps-muted ps-small\">score · {{ c.ScoreDelta }}</span>\n </div>\n }\n <div class=\"rationale\"><i class=\"fa-solid fa-robot\"></i><span class=\"ps-small\">{{ c.rationale }}</span></div>\n </div>\n </ng-template>\n }\n\n @if (showArtifactModal && activeArtifactId) {\n <div class=\"ps-modal-backdrop\" (click)=\"closeArtifactModal()\">\n <div class=\"ps-modal-dialog\" style=\"max-width: 960px; width: 92vw; height: 85vh; display: flex; flex-direction: column; padding: 0; overflow: hidden;\"\n (click)=\"$event.stopPropagation()\">\n <div style=\"flex: 1; min-height: 0; display: flex; flex-direction: column;\">\n <mj-artifact-viewer-panel\n [artifactId]=\"activeArtifactId\"\n [currentUser]=\"currentUser!\"\n [showCloseButton]=\"true\"\n (closed)=\"closeArtifactModal()\">\n </mj-artifact-viewer-panel>\n </div>\n </div>\n </div>\n }\n </div>\n `,\n})\nexport class PSExperimentsComponent implements OnInit {\n /** Whether experiment sessions can run, and why not when they cannot: one source shared with the server refusal. */\n public readonly SessionsEnabled = ExperimentSessions.Enabled;\n public readonly SessionsDisabledReason = ExperimentSessions.DisabledReason;\n @Input() engine!: PredictiveStudioEngine;\n /** Provider the panel reads and writes through (multi-provider correctness); the global provider when unset. */\n @Input() provider: IMetadataProvider | null = null;\n /** Acting user for the engine refresh after a mutation. */\n @Input() CurrentUser: UserInfo | null = null;\n\n /** @deprecated Use {@link CurrentUser}. */\n @Input() set currentUser(value: UserInfo | null) {\n this.CurrentUser = value;\n }\n /** @deprecated Use {@link CurrentUser}. */\n get currentUser(): UserInfo | null {\n return this.CurrentUser;\n }\n\n private cdr = inject(ChangeDetectorRef);\n private notifications = inject(MJNotificationService);\n\n /** The currently-displayed session ID (first Running, else most recent). */\n public sessionId = '';\n public Kanban: PSKanbanColumns = { Running: [], Completed: [], Pruned: [] };\n\n /** @deprecated Use {@link Kanban}. */\n public get kanban(): PSKanbanColumns {\n return this.Kanban;\n }\n /** @deprecated Use {@link Kanban}. */\n public set kanban(value: PSKanbanColumns) {\n this.Kanban = value;\n }\n public Leaderboard: PSLeaderboardEntry[] = [];\n\n /** @deprecated Use {@link Leaderboard}. */\n public get leaderboard(): PSLeaderboardEntry[] {\n return this.Leaderboard;\n }\n /** @deprecated Use {@link Leaderboard}. */\n public set leaderboard(value: PSLeaderboardEntry[]) {\n this.Leaderboard = value;\n }\n public Budget: BudgetGaugeVM[] = [];\n\n /** @deprecated Use {@link Budget}. */\n public get budget(): BudgetGaugeVM[] {\n return this.Budget;\n }\n /** @deprecated Use {@link Budget}. */\n public set budget(value: BudgetGaugeVM[]) {\n this.Budget = value;\n }\n\n public ShowArtifactModal = false;\n\n /** @deprecated Use {@link ShowArtifactModal}. */\n public get showArtifactModal() {\n return this.ShowArtifactModal;\n }\n /** @deprecated Use {@link ShowArtifactModal}. */\n public set showArtifactModal(value) {\n this.ShowArtifactModal = value;\n }\n public ActiveArtifactId: string | null = null;\n\n /** @deprecated Use {@link ActiveArtifactId}. */\n public get activeArtifactId(): string | null {\n return this.ActiveArtifactId;\n }\n /** @deprecated Use {@link ActiveArtifactId}. */\n public set activeArtifactId(value: string | null) {\n this.ActiveArtifactId = value;\n }\n public ArtifactLoading = false;\n\n /** @deprecated Use {@link ArtifactLoading}. */\n public get artifactLoading() {\n return this.ArtifactLoading;\n }\n /** @deprecated Use {@link ArtifactLoading}. */\n public set artifactLoading(value) {\n this.ArtifactLoading = value;\n }\n\n public get Sessions(): MJExperimentSessionEntity[] {\n return this.engine?.Sessions ?? [];\n }\n\n /** @deprecated Use {@link Sessions}. */\n public get sessions(): MJExperimentSessionEntity[] {\n return this.Sessions;\n }\n\n public SelectSession(id: string): void {\n this.sessionId = id;\n this.rebuild();\n this.cdr.detectChanges();\n }\n\n /** @deprecated Use {@link SelectSession}. */\n public selectSession(id: string): void {\n return this.SelectSession(id);\n }\n\n public CloseArtifactModal(): void {\n this.ShowArtifactModal = false;\n this.ActiveArtifactId = null;\n }\n\n /** @deprecated Use {@link CloseArtifactModal}. */\n public closeArtifactModal(): void {\n return this.CloseArtifactModal();\n }\n\n public async ViewResultsArtifact(): Promise<void> {\n const s = this.session;\n if (!s || this.ArtifactLoading) return;\n\n this.ArtifactLoading = true;\n try {\n const p = this.provider ?? Metadata.Provider;\n // The artifact this button generated earlier carries this exact comment; matched exactly, not by substring.\n const sessionComment = `Auto-generated for Experiment Session ${s.ID}`;\n const res = await RunView.FromMetadataProvider(p).RunView<Pick<MJArtifactEntity, 'ID'>>({\n EntityName: 'MJ: Artifacts',\n ExtraFilter: `Comments = '${EscapeSQLString(sessionComment)}'`,\n Fields: ['ID'],\n MaxRows: 1,\n SkipTotalRowCount: true,\n ResultType: 'simple',\n }, this.currentUser ?? undefined);\n\n if (res.Success && res.Results && res.Results.length > 0) {\n this.ActiveArtifactId = res.Results[0].ID;\n this.ShowArtifactModal = true;\n return;\n }\n\n const art = await p.GetEntityObject<MJArtifactEntity>('MJ: Artifacts', this.currentUser ?? undefined);\n art.Name = `${s.Name} — Results`;\n art.Description = `Modeling results, leaderboard, and winning model metrics for ${s.Name}.`;\n art.TypeID = 'D41AB707-58F1-4413-8725-9DF31C95F4C5';\n art.Comments = sessionComment;\n const saved = await art.Save();\n if (!saved) {\n this.notifications.CreateSimpleNotification('Could not generate artifact record.', 'error', 5000);\n return;\n }\n\n const ver = await p.GetEntityObject<MJArtifactVersionEntity>('MJ: Artifact Versions', this.currentUser ?? undefined);\n ver.ArtifactID = art.ID;\n ver.VersionNumber = 1;\n ver.Comments = 'Initial results artifact';\n\n const planSpec = this.parsePlanSpec(s.PlanSpec);\n const winningRow = this.leaderboard[0];\n const winningIteration = winningRow\n ? this.engine.IterationsForSession(s.ID).find((it) => this.engine.AlgorithmForIteration(it.ID) === winningRow.algorithm && it.Score === winningRow.auc)\n : undefined;\n const winningRun = winningIteration ? this.engine.TrainingRuns.find((r) => UUIDsEqual(r.ExperimentSessionIterationID, winningIteration.ID)) : undefined;\n const winningModelId = winningRun?.ResultingModelID ?? undefined;\n\n const payload = {\n Name: s.Name,\n Goal: s.Goal || planSpec?.Goal || 'Predictive modeling experiment',\n TargetMetric: planSpec?.TargetDefinition?.SuccessMetric || 'Score',\n Summary: `Experiment session completed with ${this.leaderboard.length} iterations. Winning algorithm: ${winningRow?.algorithm ?? 'None'}.`,\n Leaderboard: this.leaderboard.map((lb) => ({\n rank: lb.rank,\n algorithm: lb.algorithm,\n algorithmName: lb.algorithm,\n featureSet: lb.features,\n score: lb.auc,\n isWinner: lb.best,\n })),\n BestModelID: winningModelId,\n BestModel: winningModelId && winningRow ? { ID: winningModelId, Name: winningRow.algorithm } : undefined,\n Markdown: `## Experiment Session: ${s.Name}\\n\\n**Status:** ${s.Status}\\n**Goal:** ${s.Goal || 'N/A'}\\n\\n### Leaderboard\\n\\nRanked by metric:\\n` +\n this.leaderboard.map(l => `- **#${l.rank} ${l.algorithm}**: Score ${l.auc.toFixed(3)} (${l.features})`).join('\\n'),\n };\n\n ver.Content = JSON.stringify(payload);\n if (!(await ver.Save())) {\n const message = ver.LatestResult?.CompleteMessage ?? 'unknown error';\n LogError(`PSExperimentsComponent.ViewResultsArtifact: artifact version save failed: ${message}`);\n // Remove the empty artifact, so the next click generates it again instead of finding an artifact with no content.\n if (!(await art.Delete())) {\n LogError(`PSExperimentsComponent.ViewResultsArtifact: could not remove the empty artifact ${art.ID}: ${art.LatestResult?.CompleteMessage ?? 'unknown error'}`);\n }\n this.notifications.CreateSimpleNotification(`Could not save the results artifact: ${message}`, 'error', 5000);\n return;\n }\n\n this.ActiveArtifactId = art.ID;\n this.ShowArtifactModal = true;\n } catch (e) {\n this.notifications.CreateSimpleNotification(`Error: ${e instanceof Error ? e.message : String(e)}`, 'error', 5000);\n } finally {\n this.ArtifactLoading = false;\n this.cdr.detectChanges();\n }\n }\n\n /** @deprecated Use {@link ViewResultsArtifact}. */\n public async viewResultsArtifact(): Promise<void> {\n return this.ViewResultsArtifact();\n }\n\n private parsePlanSpec(raw: string | null): ModelingPlanSpec | null {\n if (!raw) return null;\n try {\n return JSON.parse(raw) as ModelingPlanSpec;\n } catch {\n return null;\n }\n }\n\n ngOnInit(): void {\n this.selectActiveSession();\n this.rebuild();\n }\n\n // ---- active session selection ----\n\n /** Pick the most relevant session to display: first Running, else the most-recently-created. */\n private selectActiveSession(): void {\n const sessions = this.engine?.Sessions ?? [];\n const running = sessions.find((s) => s.Status === 'Running');\n // Sessions are loaded OrderBy '__mj_CreatedAt DESC', so index 0 is the most recent.\n this.sessionId = (running ?? sessions[0])?.ID ?? '';\n }\n\n public get Session(): MJExperimentSessionEntity | undefined {\n return this.engine?.Sessions.find((s) => UUIDsEqual(s.ID, this.sessionId));\n }\n\n /** @deprecated Use {@link Session}. */\n public get session(): MJExperimentSessionEntity | undefined {\n return this.Session;\n }\n\n public get IterationCountLabel(): string {\n const total = this.Kanban.Running.length + this.Kanban.Completed.length + this.Kanban.Pruned.length;\n return `${total} iteration${total === 1 ? '' : 's'}`;\n }\n\n /** @deprecated Use {@link IterationCountLabel}. */\n public get iterationCountLabel(): string {\n return this.IterationCountLabel;\n }\n\n // ---- derivations ----\n\n private rebuild(): void {\n if (!this.sessionId) {\n this.Kanban = { Running: [], Completed: [], Pruned: [] };\n this.Leaderboard = [];\n this.Budget = [];\n return;\n }\n const rows = this.engine.IterationRowsForSession(this.sessionId);\n this.Kanban = GroupIterationsToKanban(rows);\n this.Leaderboard = DeriveLeaderboard(rows);\n this.Budget = this.buildBudget(rows);\n }\n\n /** Build the budget gauges from the session's budget JSON caps + actual iteration spend. */\n private buildBudget(rows: { ComputeCost: number | null }[]): BudgetGaugeVM[] {\n const session = this.Session;\n if (!session) return [];\n const budgetJson = this.parseBudget(session.Budget);\n const gauges: BudgetGaugeVM[] = [];\n\n const spentCost = rows.reduce((sum, r) => sum + (r.ComputeCost ?? 0), 0);\n const maxCost = budgetJson.maxComputeCost;\n if (maxCost != null && maxCost > 0) {\n gauges.push(this.gauge('Compute cost', spentCost, maxCost, 'var(--ps-gauge-cost)', (v) => `$${v.toFixed(0)}`, `$${maxCost.toFixed(0)} cap`));\n }\n\n const iterations = rows.length;\n const maxIterations = budgetJson.maxIterations;\n if (maxIterations != null && maxIterations > 0) {\n gauges.push(this.gauge('Iterations', iterations, maxIterations, 'var(--ps-gauge-iterations)', (v) => `${v}`, `${maxIterations} trials`));\n }\n return gauges;\n }\n\n /** Construct a single gauge VM (fill clamped to 0..100). */\n private gauge(label: string, value: number, cap: number, color: string, fmt: (v: number) => string, capLabel: string): BudgetGaugeVM {\n const fillPct = Math.max(0, Math.min(100, Math.round((value / cap) * 100)));\n return { label, fillPct, centerText: `${fillPct}%`, value: fmt(value), cap: capLabel, color };\n }\n\n /** Tolerant parse of the session's budget JSON (accepts a few common key spellings). */\n private parseBudget(json: string | null): { maxComputeCost: number | null; maxIterations: number | null } {\n if (!json) return { maxComputeCost: null, maxIterations: null };\n try {\n const parsed = JSON.parse(json) as Record<string, unknown>;\n const num = (...keys: string[]): number | null => {\n for (const k of keys) {\n const v = parsed[k];\n if (typeof v === 'number' && Number.isFinite(v)) return v;\n }\n return null;\n };\n return {\n maxComputeCost: num('maxComputeCost', 'maxCost', 'computeBudget'),\n maxIterations: num('maxIterations', 'maxTrials', 'iterationBudget'),\n };\n } catch {\n return { maxComputeCost: null, maxIterations: null };\n }\n }\n\n // ---- session status chrome ----\n\n public get SessionBadgeClass(): string {\n switch (this.Session?.Status) {\n case 'Running': return 'green';\n case 'Paused': return 'amber';\n case 'Cancelled': return 'red';\n case 'Completed': return 'blue';\n default: return 'gray';\n }\n }\n\n /** @deprecated Use {@link SessionBadgeClass}. */\n public get sessionBadgeClass(): string {\n return this.SessionBadgeClass;\n }\n public get SessionDotColor(): string {\n switch (this.Session?.Status) {\n case 'Running': return 'var(--mj-status-success)';\n case 'Paused': return 'var(--mj-status-warning)';\n case 'Cancelled': return 'var(--mj-status-error)';\n default: return 'var(--mj-text-muted)';\n }\n }\n\n /** @deprecated Use {@link SessionDotColor}. */\n public get sessionDotColor(): string {\n return this.SessionDotColor;\n }\n\n public StatusBadgeClass(status: PSIterationCard['Status']): string {\n switch (status) {\n case 'Best': return 'green';\n case 'Completed': return 'gray';\n case 'AwaitingApproval': return 'amber';\n case 'Pruned': return 'red';\n case 'Running': return 'blue';\n }\n }\n\n /** @deprecated Use {@link StatusBadgeClass}. */\n public statusBadgeClass(status: PSIterationCard['Status']): string {\n return this.StatusBadgeClass(status);\n }\n\n public StatusLabel(status: PSIterationCard['Status']): string {\n switch (status) {\n case 'Best': return 'Best';\n case 'AwaitingApproval': return 'Awaiting approval';\n default: return status;\n }\n }\n\n /** @deprecated Use {@link StatusLabel}. */\n public statusLabel(status: PSIterationCard['Status']): string {\n return this.StatusLabel(status);\n }\n}\n"]}
@@ -111,21 +111,6 @@ export declare class PSPipelineWizardComponent implements OnInit {
111
111
  get evaluationMetric(): string;
112
112
  /** @deprecated Use {@link EvaluationMetric}. */
113
113
  set evaluationMetric(value: string);
114
- AsOfMode: 'none' | 'column' | 'offset';
115
- /** @deprecated Use {@link AsOfMode}. */
116
- get asOfMode(): 'none' | 'column' | 'offset';
117
- /** @deprecated Use {@link AsOfMode}. */
118
- set asOfMode(value: 'none' | 'column' | 'offset');
119
- AsOfColumn: string;
120
- /** @deprecated Use {@link AsOfColumn}. */
121
- get asOfColumn(): string;
122
- /** @deprecated Use {@link AsOfColumn}. */
123
- set asOfColumn(value: string);
124
- AsOfOffsetDays: number;
125
- /** @deprecated Use {@link AsOfOffsetDays}. */
126
- get asOfOffsetDays(): number;
127
- /** @deprecated Use {@link AsOfOffsetDays}. */
128
- set asOfOffsetDays(value: number);
129
114
  FieldItems: FieldSelectionItem[];
130
115
  /** @deprecated Use {@link FieldItems}. */
131
116
  get fieldItems(): FieldSelectionItem[];
@@ -201,9 +186,6 @@ export declare class PSPipelineWizardComponent implements OnInit {
201
186
  get AvailableFields(): EntityFieldInfo[];
202
187
  /** @deprecated Use {@link AvailableFields}. */
203
188
  get availableFields(): EntityFieldInfo[];
204
- get DateFields(): EntityFieldInfo[];
205
- /** @deprecated Use {@link DateFields}. */
206
- get dateFields(): EntityFieldInfo[];
207
189
  get AvailableMetrics(): string[];
208
190
  /** @deprecated Use {@link AvailableMetrics}. */
209
191
  get availableMetrics(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ps-pipeline-wizard.component.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/components/ps-pipeline-wizard.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ps-pipeline-wizard.component.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/components/ps-pipeline-wizard.component.ts"],"names":[],"mappings":"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"}