@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-production-brief.component.js","sourceRoot":"","sources":["../../../src/VideoStudio/components/vs-production-brief.component.ts","../../../src/VideoStudio/components/vs-production-brief.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LogError, RunView } from '@memberjunction/core';\nimport {\n BrandKitEngine,\n MJBrandKitEntity,\n MJVideoArchetypeEntity,\n VideoStudioEngine,\n VideoStudioSetupHealthOperation,\n VideoStudioSetupHealthOutput,\n} from '@memberjunction/core-entities';\nimport { ExcludeByUUIDs, UUIDsEqual } from '@memberjunction/global';\nimport {\n FormatVideoTime,\n FormatVideoTimeRange,\n MJVideoBeatStripComponent,\n MJVideoFormatGlyphComponent,\n VideoBeatStripItem,\n} from '@memberjunction/ng-artifacts';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { BrandKitCreatorComponent } from '@memberjunction/ng-brand-kits';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport {\n MJButtonDirective,\n MJDialogComponent,\n MJDropdownComponent,\n MJNumericInputComponent,\n} from '@memberjunction/ng-ui-components';\nimport { VideoCaptionMode } from '@memberjunction/video-studio-core';\nimport { VSArchetypeEditorComponent } from './vs-archetype-editor.component';\nimport { VSAudioOptionsComponent } from './vs-audio-options.component';\nimport { VSSetupHealthCardComponent } from './vs-setup-health-card.component';\nimport {\n ArchetypeCardSnapshot,\n BrandKitCardSnapshot,\n BuildArchetypeBeatStripItems,\n BuildSavedQuerySearchFilter,\n BuildStudioAppContext,\n ClampStudioDuration,\n ComposeStudioFirstMessage,\n MapArchetypeToCard,\n MapBrandKitToCard,\n ParseArchetypeDefaultFormats,\n ResolveVideoStudioItem,\n STUDIO_VIDEO_FORMATS,\n StudioSavedQueryItem,\n} from '../video-studio-agent-context';\n\ninterface SimpleSavedQueryRow {\n ID: string;\n Name: string;\n}\n\nconst DEFAULT_STUDIO_DURATION_SECONDS = 30;\nconst DEFAULT_MIN_DURATION_SECONDS = 5;\nconst DEFAULT_MAX_DURATION_SECONDS = 180;\nconst SAVED_QUERIES_MAX_ROWS = 20;\n\nexport interface VSProductionBriefStartEvent {\n Message: string;\n AppContext: Record<string, unknown>;\n Archetype: ArchetypeCardSnapshot;\n BrandKit: BrandKitCardSnapshot | null;\n Formats: string[];\n DurationSeconds: number;\n Topic: string;\n Queries: StudioSavedQueryItem[];\n NarrationEnabled: boolean;\n CaptionsMode: VideoCaptionMode;\n}\n\nexport interface VSProductionBriefStateSnapshot {\n AllArchetypes: ArchetypeCardSnapshot[];\n AllBrandKits: BrandKitCardSnapshot[];\n SelectedArchetype: ArchetypeCardSnapshot | null;\n SelectedBrandKit: BrandKitCardSnapshot | null;\n SelectedBrandKitExplicitNone?: boolean;\n SelectedFormats: string[];\n DurationSeconds: number;\n Topic: string;\n SelectedQueries: StudioSavedQueryItem[];\n NarrationEnabled: boolean;\n CaptionsMode: VideoCaptionMode;\n AppContext: Record<string, unknown>;\n IsLoading: boolean;\n}\n\nexport interface VSProductionBriefSetupHealthEvent {\n Result: VideoStudioSetupHealthOutput | null;\n Loading: boolean;\n}\n\n/**\n * Video Studio production brief (`vs-production-brief`).\n *\n * Renders inside the Video Studio right slide-in before the first conversation message\n * (via `<ng-template mjChatSlot=\"composerExtra\">`), guiding the user through:\n * 1. Setup health (shown on warning/error, or when Setup OK details are toggled from the header)\n * 2. What's it about?\n * 3. Shape (archetype cards with beat strip and m:ss range)\n * 4. Where it plays (format toggles with frame glyph + length numeric input)\n * 5. Sound (`vs-audio-options`)\n * 6. Brand kit (optional)\n * 7. Data (optional)\n * 8. Start production (sticky footer with one-line summary)\n */\n@Component({\n standalone: true,\n selector: 'vs-production-brief, mj-vs-production-brief',\n imports: [\n CommonModule,\n FormsModule,\n SharedGenericModule,\n BrandKitCreatorComponent,\n MJButtonDirective,\n MJDialogComponent,\n MJDropdownComponent,\n MJNumericInputComponent,\n MJVideoFormatGlyphComponent,\n MJVideoBeatStripComponent,\n VSArchetypeEditorComponent,\n VSSetupHealthCardComponent,\n VSAudioOptionsComponent,\n ],\n templateUrl: './vs-production-brief.component.html',\n styleUrls: ['./vs-production-brief.component.css'],\n})\nexport class VSProductionBriefComponent extends BaseAngularComponent implements OnInit {\n @Input() AutoLoad = true;\n @Input() AutoCheckSetupHealth = true;\n @Input() ShowSetupHealthCard = true;\n\n @Input() SetupHealthResult: VideoStudioSetupHealthOutput | null = null;\n @Input() IsCheckingSetupHealth = false;\n @Input() ShowHealthySetupDetails = false;\n\n @Input() AllArchetypes: ArchetypeCardSnapshot[] = [];\n @Input() AllBrandKits: BrandKitCardSnapshot[] = [];\n @Input() AvailableQueries: StudioSavedQueryItem[] = [];\n @Input() AvailableFormats: string[] = [...STUDIO_VIDEO_FORMATS];\n\n @Input() SelectedArchetype: ArchetypeCardSnapshot | null = null;\n @Input() SelectedCompanyId = 'all';\n @Input() SelectedBrandKit: BrandKitCardSnapshot | null = null;\n @Input() SelectedBrandKitExplicitNone = false;\n @Input() SelectedFormats: string[] = ['16:9'];\n @Input() DurationSeconds: number = DEFAULT_STUDIO_DURATION_SECONDS;\n @Input() Topic = '';\n @Input() QuerySearchText = '';\n @Input() SelectedQueries: StudioSavedQueryItem[] = [];\n @Input() NarrationEnabled = true;\n @Input() CaptionsMode: VideoCaptionMode = 'Burned';\n\n @Output() StateChange = new EventEmitter<VSProductionBriefStateSnapshot>();\n @Output() StartRequested = new EventEmitter<VSProductionBriefStartEvent>();\n @Output() SetupHealthChange = new EventEmitter<VSProductionBriefSetupHealthEvent>();\n @Output() ShowHealthySetupDetailsChange = new EventEmitter<boolean>();\n\n @ViewChildren(MJButtonDirective)\n private buttonDirectives?: QueryList<MJButtonDirective>;\n\n public IsLoading = false;\n public LoadError: string | null = null;\n public IsSearchingQueries = false;\n public FilteredBrandKits: BrandKitCardSnapshot[] = [];\n public IsBrandKitCreatorOpen = false;\n public IsArchetypeEditorOpen = false;\n\n private querySearchRequestId = 0;\n private readonly cdr = inject(ChangeDetectorRef);\n\n async ngOnInit(): Promise<void> {\n this.applyCompanyBrandKitFilter();\n if (this.AllArchetypes.length > 0 && !this.SelectedArchetype) {\n this.SelectArchetype(this.AllArchetypes[0]);\n }\n this.emitSetupHealthChange();\n if (!this.AutoLoad) {\n this.emitStateChange();\n return;\n }\n if (\n this.AutoCheckSetupHealth &&\n !this.SetupHealthResult &&\n !this.IsCheckingSetupHealth\n ) {\n void this.CheckSetupHealth();\n }\n if (this.AllArchetypes.length === 0) {\n await this.LoadBriefData(false);\n } else {\n this.emitStateChange();\n }\n }\n\n public get IsAllSetupOk(): boolean {\n return Boolean(\n this.SetupHealthResult &&\n this.SetupHealthResult.Healthy &&\n (this.SetupHealthResult.Checks ?? []).every((check) => check.Status === 'OK'),\n );\n }\n\n public get ShouldShowSetupHealthCard(): boolean {\n if (!this.ShowSetupHealthCard || !this.SetupHealthResult) {\n return false;\n }\n if (this.IsAllSetupOk) {\n return this.ShowHealthySetupDetails;\n }\n return true;\n }\n\n public OnSetupHealthExpandedChange(expanded: boolean): void {\n this.ShowHealthySetupDetails = expanded;\n this.ShowHealthySetupDetailsChange.emit(expanded);\n this.cdr.markForCheck();\n }\n\n public FormatTime(seconds: number): string {\n return FormatVideoTime(seconds);\n }\n\n public FormatTimeRange(fromSeconds: number, toSeconds: number): string {\n return FormatVideoTimeRange(fromSeconds, toSeconds);\n }\n\n public get MinDurationSeconds(): number {\n return this.SelectedArchetype?.MinDurationSeconds ?? DEFAULT_MIN_DURATION_SECONDS;\n }\n\n public get MaxDurationSeconds(): number {\n return this.SelectedArchetype?.MaxDurationSeconds ?? DEFAULT_MAX_DURATION_SECONDS;\n }\n\n public get CanStartProduction(): boolean {\n return (\n this.Topic.trim().length > 0 &&\n this.SelectedArchetype !== null &&\n this.SelectedFormats.length > 0\n );\n }\n\n public get SummaryLine(): string {\n if (this.Topic.trim().length === 0) {\n return 'Add a topic to start';\n }\n if (!this.SelectedArchetype) {\n return 'Pick a shape to start';\n }\n if (this.SelectedFormats.length === 0) {\n return 'Pick at least one format to start';\n }\n\n const parts: string[] = [\n FormatVideoTime(this.DurationSeconds),\n this.SelectedArchetype.Name,\n this.SelectedFormats.join(', '),\n this.buildAudioSummary(),\n ];\n\n if (this.SelectedBrandKit?.Name) {\n parts.push(this.SelectedBrandKit.Name);\n }\n if (this.SelectedQueries.length > 0) {\n parts.push(\n this.SelectedQueries.length === 1\n ? '1 query'\n : `${this.SelectedQueries.length} queries`,\n );\n }\n\n return parts.join(' \\u00B7 ');\n }\n\n public get AvailableCompanies(): { ID: string; Name: string }[] {\n const map = new Map<string, string>();\n for (const kit of this.AllBrandKits) {\n if (kit.CompanyID && kit.CompanyName) {\n map.set(kit.CompanyID, kit.CompanyName);\n }\n }\n return Array.from(map.entries())\n .map(([ID, Name]) => ({ ID, Name }))\n .sort((a, b) => a.Name.localeCompare(b.Name));\n }\n\n public get CompanyDropdownOptions(): { ID: string; Name: string }[] {\n return [{ ID: 'all', Name: 'All companies' }, ...this.AvailableCompanies];\n }\n\n public get BrandKitDropdownOptions(): { ID: string; DisplayName: string }[] {\n return [\n { ID: '', DisplayName: 'None' },\n ...this.FilteredBrandKits.map((kit) => ({\n ID: kit.ID,\n DisplayName: `${kit.Name}${kit.CompanyName ? ' (' + kit.CompanyName + ')' : ' (Default)'}`,\n })),\n ];\n }\n\n public GetArchetypeBeats(card: ArchetypeCardSnapshot): VideoBeatStripItem[] {\n if (card.BeatItems && card.BeatItems.length > 0) {\n return [...card.BeatItems];\n }\n const labels = card.BeatLabels ?? [];\n if (labels.length === 0) {\n return [];\n }\n return BuildArchetypeBeatStripItems(\n labels.map((label, idx) => ({\n Key: `${card.ID}-beat-${idx + 1}`,\n Label: label,\n })),\n card.DefaultDurationSeconds || DEFAULT_STUDIO_DURATION_SECONDS,\n );\n }\n\n public IsArchetypeSelected(card: ArchetypeCardSnapshot): boolean {\n return Boolean(this.SelectedArchetype && UUIDsEqual(this.SelectedArchetype.ID, card.ID));\n }\n\n public async CheckSetupHealth(): Promise<void> {\n this.IsCheckingSetupHealth = true;\n this.emitSetupHealthChange();\n this.cdr.markForCheck();\n try {\n const res = await new VideoStudioSetupHealthOperation().Execute(\n {},\n { provider: this.ProviderToUse },\n );\n if (res.Success && res.Output) {\n this.SetupHealthResult = res.Output;\n } else {\n this.SetupHealthResult = {\n Healthy: false,\n Checks: [\n {\n Key: 'Render',\n Status: 'Error',\n Title: 'Setup Health',\n Message: res.ErrorMessage || 'Failed to check Video Studio setup health.',\n },\n ],\n };\n }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n this.SetupHealthResult = {\n Healthy: false,\n Checks: [\n {\n Key: 'Render',\n Status: 'Error',\n Title: 'Setup Health',\n Message: msg || 'Failed to check Video Studio setup health.',\n },\n ],\n };\n } finally {\n this.IsCheckingSetupHealth = false;\n this.emitSetupHealthChange();\n this.cdr.markForCheck();\n }\n }\n\n public async LoadBriefData(forceRefresh = false): Promise<void> {\n this.IsLoading = true;\n this.LoadError = null;\n this.cdr.markForCheck();\n\n try {\n const vsEngine = VideoStudioEngine.GetProviderInstance<VideoStudioEngine>(\n this.ProviderToUse,\n VideoStudioEngine,\n ) as VideoStudioEngine;\n const bkEngine = BrandKitEngine.GetProviderInstance<BrandKitEngine>(\n this.ProviderToUse,\n BrandKitEngine,\n ) as BrandKitEngine;\n\n const user = this.ProviderToUse?.CurrentUser ?? undefined;\n await Promise.all([\n vsEngine.Config(forceRefresh, user, this.ProviderToUse),\n bkEngine.Config(forceRefresh, user, this.ProviderToUse),\n ]);\n\n const activeArchetypes = (vsEngine.Archetypes ?? []).filter(\n (a: MJVideoArchetypeEntity) => a.Status === 'Active' || !a.Status,\n );\n this.AllArchetypes = activeArchetypes.map((a: MJVideoArchetypeEntity) =>\n MapArchetypeToCard(a),\n );\n\n const activeKits = (bkEngine.BrandKits ?? []).filter(\n (k) => k.Status === 'Active' || !k.Status,\n );\n this.AllBrandKits = activeKits.map((k) =>\n MapBrandKitToCard(k, bkEngine.GetAssets?.(k.ID)),\n );\n this.applyCompanyBrandKitFilter();\n\n if (this.SelectedBrandKit) {\n const matchedKit = this.AllBrandKits.find((k) =>\n UUIDsEqual(k.ID, this.SelectedBrandKit?.ID),\n );\n if (matchedKit) {\n this.SelectedBrandKit = matchedKit;\n }\n }\n\n if (this.SelectedArchetype) {\n const matchedArch = this.AllArchetypes.find((a) =>\n UUIDsEqual(a.ID, this.SelectedArchetype?.ID),\n );\n if (matchedArch) {\n this.SelectedArchetype = matchedArch;\n }\n if (\n !this.SelectedBrandKit &&\n !this.SelectedBrandKitExplicitNone &&\n this.FilteredBrandKits.length > 0\n ) {\n this.selectDefaultBrandKitForArchetype(this.SelectedArchetype);\n }\n } else if (this.AllArchetypes.length > 0) {\n this.SelectArchetype(this.AllArchetypes[0]);\n }\n\n await this.SearchSavedQueries(this.QuerySearchText);\n } catch (err: unknown) {\n const msg = err instanceof Error ? err.message : String(err);\n LogError(`VSProductionBriefComponent.LoadBriefData: ${msg}`);\n this.LoadError = msg;\n } finally {\n this.IsLoading = false;\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n }\n\n public SelectArchetype(card: ArchetypeCardSnapshot): void {\n this.SelectedArchetype = card;\n this.SelectedFormats = ParseArchetypeDefaultFormats(card.DefaultFormats);\n this.DurationSeconds = ClampStudioDuration(\n card.DefaultDurationSeconds,\n card.MinDurationSeconds,\n card.MaxDurationSeconds,\n );\n if (!this.SelectedBrandKitExplicitNone) {\n this.selectDefaultBrandKitForArchetype(card);\n }\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n private selectDefaultBrandKitForArchetype(card: ArchetypeCardSnapshot): void {\n if (card.CompanyID) {\n this.SelectedCompanyId = card.CompanyID;\n this.applyCompanyBrandKitFilter();\n const companyDefault =\n this.FilteredBrandKits.find(\n (k) => UUIDsEqual(k.CompanyID, card.CompanyID) && k.IsDefault,\n ) ??\n this.FilteredBrandKits.find((k) => UUIDsEqual(k.CompanyID, card.CompanyID)) ??\n this.FilteredBrandKits.find((k) => k.IsDefault) ??\n null;\n if (companyDefault) {\n this.SelectedBrandKit = companyDefault;\n }\n } else if (!this.SelectedBrandKit && this.FilteredBrandKits.length > 0) {\n this.SelectedBrandKit =\n this.FilteredBrandKits.find((k) => k.CompanyID === null && k.IsDefault) ??\n this.FilteredBrandKits.find((k) => k.IsDefault) ??\n this.FilteredBrandKits[0] ??\n null;\n }\n }\n\n public OnCompanyFilterChange(companyId: string): void {\n this.SelectedCompanyId = companyId || 'all';\n this.applyCompanyBrandKitFilter();\n if (\n this.SelectedBrandKit &&\n !this.FilteredBrandKits.some((k) => UUIDsEqual(k.ID, this.SelectedBrandKit?.ID))\n ) {\n this.SelectedBrandKit = null;\n }\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public SelectBrandKitById(brandKitId: string | null): void {\n const trimmed = (brandKitId ?? '').trim();\n if (!trimmed) {\n this.SelectedBrandKit = null;\n this.SelectedBrandKitExplicitNone = true;\n } else {\n this.SelectedBrandKit =\n this.AllBrandKits.find((k) => UUIDsEqual(k.ID, trimmed)) ?? null;\n this.SelectedBrandKitExplicitNone = false;\n }\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public OpenBrandKitCreator(): void {\n this.IsBrandKitCreatorOpen = true;\n this.cdr.markForCheck();\n }\n\n public CloseBrandKitCreator(): void {\n this.IsBrandKitCreatorOpen = false;\n this.cdr.markForCheck();\n }\n\n public async OnBrandKitCreatorSaved(newBrandKitId: string): Promise<void> {\n const trimmedId = (newBrandKitId ?? '').trim();\n if (!trimmedId) {\n this.IsBrandKitCreatorOpen = false;\n this.cdr.markForCheck();\n return;\n }\n\n try {\n const bkEngine = BrandKitEngine.GetProviderInstance<BrandKitEngine>(\n this.ProviderToUse,\n BrandKitEngine,\n ) as BrandKitEngine;\n const user = this.ProviderToUse?.CurrentUser ?? undefined;\n await bkEngine.Config(true, user, this.ProviderToUse);\n const activeKits = (bkEngine.BrandKits ?? []).filter(\n (k) => k.Status === 'Active' || !k.Status,\n );\n if (activeKits.length > 0) {\n const refreshed = activeKits.map((k) =>\n MapBrandKitToCard(k, bkEngine.GetAssets?.(k.ID)),\n );\n const existingExtra = ExcludeByUUIDs(\n this.AllBrandKits,\n refreshed.map((r) => r.ID),\n );\n this.AllBrandKits = [...refreshed, ...existingExtra];\n }\n } catch {\n // Non-fatal in test/disconnected environments; fallback card below ensures selection works.\n }\n\n let targetKit = this.AllBrandKits.find((k) => UUIDsEqual(k.ID, trimmedId)) ?? null;\n if (!targetKit) {\n targetKit = {\n ID: trimmedId,\n Name: 'New brand kit',\n Description: '',\n CompanyID:\n this.SelectedCompanyId && this.SelectedCompanyId !== 'all'\n ? this.SelectedCompanyId\n : null,\n CompanyName: null,\n IsDefault: false,\n Status: 'Active',\n Swatches: [],\n PrimaryLogoFileID: null,\n PrimaryLogoUrl: null,\n AssetCount: 0,\n };\n this.AllBrandKits = [...this.AllBrandKits, targetKit];\n }\n\n if (\n this.SelectedCompanyId !== 'all' &&\n targetKit.CompanyID !== null &&\n !UUIDsEqual(targetKit.CompanyID, this.SelectedCompanyId)\n ) {\n this.SelectedCompanyId = targetKit.CompanyID;\n }\n this.applyCompanyBrandKitFilter();\n this.IsBrandKitCreatorOpen = false;\n this.SelectBrandKitById(trimmedId);\n }\n\n public get ArchetypeEditorDialogTitle(): string {\n return this.SelectedArchetype?.Name\n ? `Make a copy of ${this.SelectedArchetype.Name}`\n : 'New archetype';\n }\n\n public OpenArchetypeEditor(): void {\n this.IsArchetypeEditorOpen = true;\n this.cdr.markForCheck();\n }\n\n public CloseArchetypeEditor(): void {\n this.IsArchetypeEditorOpen = false;\n this.cdr.markForCheck();\n }\n\n public async OnArchetypeEditorSaved(savedArchetypeId: string): Promise<void> {\n const trimmedId = (savedArchetypeId ?? '').trim();\n if (!trimmedId) {\n this.IsArchetypeEditorOpen = false;\n this.cdr.markForCheck();\n return;\n }\n\n try {\n const vsEngine = VideoStudioEngine.GetProviderInstance<VideoStudioEngine>(\n this.ProviderToUse,\n VideoStudioEngine,\n ) as VideoStudioEngine;\n const user = this.ProviderToUse?.CurrentUser ?? undefined;\n await vsEngine.Config(true, user, this.ProviderToUse);\n const activeArchetypes = (vsEngine.Archetypes ?? []).filter(\n (a: MJVideoArchetypeEntity) => a.Status === 'Active' || !a.Status,\n );\n if (activeArchetypes.length > 0) {\n const refreshed = activeArchetypes.map((a: MJVideoArchetypeEntity) =>\n MapArchetypeToCard(a),\n );\n const existingExtra = ExcludeByUUIDs(\n this.AllArchetypes,\n refreshed.map((r) => r.ID),\n );\n this.AllArchetypes = [...refreshed, ...existingExtra];\n }\n } catch {\n // Non-fatal in test/disconnected environments; fallback card below ensures selection works.\n }\n\n let targetArchetype =\n this.AllArchetypes.find((a) => UUIDsEqual(a.ID, trimmedId)) ?? null;\n if (!targetArchetype) {\n const source = this.SelectedArchetype ?? this.AllArchetypes[0] ?? null;\n const companyId =\n this.SelectedCompanyId && this.SelectedCompanyId !== 'all'\n ? this.SelectedCompanyId\n : (source?.CompanyID ?? null);\n targetArchetype = {\n ID: trimmedId,\n Name: source ? `${source.Name} (Copy)` : 'Custom Archetype',\n Description: source?.Description ?? '',\n Category: source?.Category ?? 'Explainer',\n Status: 'Active',\n CompanyID: companyId,\n CompanyName: null,\n IsShipped: false,\n DefaultDurationSeconds:\n source?.DefaultDurationSeconds ?? DEFAULT_STUDIO_DURATION_SECONDS,\n MinDurationSeconds:\n source?.MinDurationSeconds ?? DEFAULT_MIN_DURATION_SECONDS,\n MaxDurationSeconds:\n source?.MaxDurationSeconds ?? DEFAULT_MAX_DURATION_SECONDS,\n DefaultFormats: source?.DefaultFormats ?? '[\"16:9\"]',\n BeatCount: source?.BeatCount ?? 0,\n BeatLabels: source?.BeatLabels ? [...source.BeatLabels] : [],\n BeatItems: source?.BeatItems ? [...source.BeatItems] : [],\n };\n this.AllArchetypes = [...this.AllArchetypes, targetArchetype];\n }\n\n this.IsArchetypeEditorOpen = false;\n this.SelectArchetype(targetArchetype);\n }\n\n public IsFormatSelected(format: string): boolean {\n return this.SelectedFormats.includes(format);\n }\n\n public ToggleFormat(format: string): void {\n if (this.SelectedFormats.includes(format)) {\n if (this.SelectedFormats.length > 1) {\n this.SelectedFormats = this.SelectedFormats.filter((f) => f !== format);\n }\n } else {\n this.SelectedFormats = [...this.SelectedFormats, format];\n }\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public SetFormats(formats: readonly string[]): boolean {\n const allowed = new Set<string>([\n ...STUDIO_VIDEO_FORMATS,\n ...this.AvailableFormats,\n ]);\n const valid: string[] = [];\n for (const raw of formats) {\n const cleaned = (raw ?? '').trim();\n if (allowed.has(cleaned) && !valid.includes(cleaned)) {\n valid.push(cleaned);\n }\n }\n if (valid.length === 0) {\n return false;\n }\n this.SelectedFormats = valid;\n this.emitStateChange();\n this.cdr.markForCheck();\n return true;\n }\n\n public OnDurationChange(rawValue: string | number | null): void {\n const numeric = typeof rawValue === 'number' ? rawValue : Number(rawValue);\n this.DurationSeconds = ClampStudioDuration(\n numeric,\n this.MinDurationSeconds,\n this.MaxDurationSeconds,\n );\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public OnTopicChange(value: string): void {\n this.Topic = value ?? '';\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public OnNarrationEnabledChange(enabled: boolean): void {\n this.NarrationEnabled = Boolean(enabled);\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public OnCaptionsModeChange(mode: VideoCaptionMode): void {\n this.CaptionsMode = mode;\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public async SearchSavedQueries(searchText: string): Promise<void> {\n this.QuerySearchText = searchText ?? '';\n this.IsSearchingQueries = true;\n const requestId = ++this.querySearchRequestId;\n this.cdr.markForCheck();\n\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const extraFilter = BuildSavedQuerySearchFilter(this.QuerySearchText);\n const result = await rv.RunView<SimpleSavedQueryRow>({\n EntityName: 'MJ: Queries',\n ExtraFilter: extraFilter,\n OrderBy: 'Name ASC',\n Fields: ['ID', 'Name'],\n MaxRows: SAVED_QUERIES_MAX_ROWS,\n ResultType: 'simple',\n });\n\n if (requestId !== this.querySearchRequestId) {\n return;\n }\n\n if (result.Success && Array.isArray(result.Results)) {\n this.AvailableQueries = result.Results.map((row) => ({\n ID: row.ID,\n Name: row.Name,\n }));\n } else {\n this.AvailableQueries = [];\n }\n } catch (err: unknown) {\n if (requestId !== this.querySearchRequestId) {\n return;\n }\n const msg = err instanceof Error ? err.message : String(err);\n LogError(`VSProductionBriefComponent.SearchSavedQueries: ${msg}`);\n this.AvailableQueries = [];\n } finally {\n if (requestId === this.querySearchRequestId) {\n this.IsSearchingQueries = false;\n this.cdr.markForCheck();\n }\n }\n }\n\n public IsQuerySelected(queryId: string): boolean {\n return this.SelectedQueries.some((q) => UUIDsEqual(q.ID, queryId));\n }\n\n public ToggleSavedQuery(query: StudioSavedQueryItem): void {\n if (this.IsQuerySelected(query.ID)) {\n this.SelectedQueries = this.SelectedQueries.filter(\n (q) => !UUIDsEqual(q.ID, query.ID),\n );\n } else {\n this.SelectedQueries = [...this.SelectedQueries, query];\n }\n this.emitStateChange();\n this.cdr.markForCheck();\n }\n\n public OnStartClick(): void {\n if (!this.CanStartProduction || !this.SelectedArchetype) {\n return;\n }\n const message = ComposeStudioFirstMessage({\n ArchetypeName: this.SelectedArchetype.Name,\n Topic: this.Topic,\n DurationSeconds: this.DurationSeconds,\n Formats: this.SelectedFormats,\n BrandKitName: this.SelectedBrandKit?.Name ?? null,\n QueryNames: this.SelectedQueries.map((q) => q.Name),\n NarrationEnabled: this.NarrationEnabled ? undefined : false,\n CaptionsMode: this.CaptionsMode === 'Burned' ? undefined : this.CaptionsMode,\n });\n const appContext = this.BuildCurrentAppContext();\n this.StartRequested.emit({\n Message: message,\n AppContext: appContext,\n Archetype: this.SelectedArchetype,\n BrandKit: this.SelectedBrandKit,\n Formats: [...this.SelectedFormats],\n DurationSeconds: this.DurationSeconds,\n Topic: this.Topic.trim(),\n Queries: [...this.SelectedQueries],\n NarrationEnabled: this.NarrationEnabled,\n CaptionsMode: this.CaptionsMode,\n });\n }\n\n // ============================================================================\n // Client Tool Helpers (invoked from VideoStudioProductionsResourceComponent)\n // ============================================================================\n\n public ApplyClientToolArchetype(rawReference: string): {\n Success: boolean;\n ErrorMessage?: string;\n Data?: Record<string, unknown>;\n } {\n const resolution = ResolveVideoStudioItem(rawReference, this.AllArchetypes, 'archetype');\n if (!resolution.Ok) {\n return { Success: false, ErrorMessage: resolution.Error };\n }\n this.SelectArchetype(resolution.Item);\n return {\n Success: true,\n Data: {\n SelectedArchetypeId: resolution.Item.ID,\n SelectedArchetypeName: resolution.Item.Name,\n },\n };\n }\n\n public ApplyClientToolBrandKit(rawReference: string): {\n Success: boolean;\n ErrorMessage?: string;\n Data?: Record<string, unknown>;\n } {\n const trimmed = (rawReference ?? '').trim();\n if (!trimmed || trimmed.toLowerCase() === 'none') {\n this.SelectBrandKitById(null);\n return { Success: true, Data: { SelectedBrandKitId: null } };\n }\n const resolution = ResolveVideoStudioItem(trimmed, this.AllBrandKits, 'brand kit');\n if (!resolution.Ok) {\n return { Success: false, ErrorMessage: resolution.Error };\n }\n this.SelectBrandKitById(resolution.Item.ID);\n return {\n Success: true,\n Data: {\n SelectedBrandKitId: resolution.Item.ID,\n SelectedBrandKitName: resolution.Item.Name,\n },\n };\n }\n\n public ApplyClientToolFormats(rawFormats: unknown): {\n Success: boolean;\n ErrorMessage?: string;\n Data?: Record<string, unknown>;\n } {\n const list: string[] = Array.isArray(rawFormats)\n ? rawFormats.filter((v): v is string => typeof v === 'string')\n : typeof rawFormats === 'string'\n ? rawFormats.split(',')\n : [];\n const ok = this.SetFormats(list);\n if (!ok) {\n return {\n Success: false,\n ErrorMessage: `Specify at least one valid format (${this.AvailableFormats.join(', ')}).`,\n };\n }\n return { Success: true, Data: { SelectedFormats: [...this.SelectedFormats] } };\n }\n\n public ApplyClientToolTopic(rawTopic: string): {\n Success: boolean;\n Data: Record<string, unknown>;\n } {\n this.OnTopicChange(rawTopic);\n return { Success: true, Data: { Topic: this.Topic } };\n }\n\n public BuildCurrentAppContext(): Record<string, unknown> {\n return BuildStudioAppContext({\n ArchetypeID: this.SelectedArchetype?.ID ?? null,\n BrandKitID: this.SelectedBrandKit?.ID ?? null,\n Formats: this.SelectedFormats,\n DurationSeconds: this.DurationSeconds,\n QueryIDs: this.SelectedQueries.map((q) => q.ID),\n NarrationEnabled: this.NarrationEnabled,\n CaptionsMode: this.CaptionsMode,\n });\n }\n\n // ============================================================================\n // Private helpers\n // ============================================================================\n\n private buildAudioSummary(): string {\n if (!this.NarrationEnabled) {\n return 'Voiceover off';\n }\n if (this.CaptionsMode === 'Burned') {\n return 'Voiceover, captions in the video';\n }\n if (this.CaptionsMode === 'Sidecar') {\n return 'Voiceover, captions in separate file';\n }\n return 'Voiceover, captions off';\n }\n\n private applyCompanyBrandKitFilter(): void {\n const companyFilter = (this.SelectedCompanyId ?? 'all').trim();\n if (!companyFilter || companyFilter === 'all') {\n this.FilteredBrandKits = [...this.AllBrandKits];\n return;\n }\n this.FilteredBrandKits = this.AllBrandKits.filter(\n (kit) => kit.CompanyID === null || UUIDsEqual(kit.CompanyID, companyFilter),\n );\n }\n\n private emitStateChange(): void {\n this.StateChange.emit({\n AllArchetypes: this.AllArchetypes,\n AllBrandKits: this.AllBrandKits,\n SelectedArchetype: this.SelectedArchetype,\n SelectedBrandKit: this.SelectedBrandKit,\n SelectedBrandKitExplicitNone: this.SelectedBrandKitExplicitNone,\n SelectedFormats: [...this.SelectedFormats],\n DurationSeconds: this.DurationSeconds,\n Topic: this.Topic,\n SelectedQueries: [...this.SelectedQueries],\n NarrationEnabled: this.NarrationEnabled,\n CaptionsMode: this.CaptionsMode,\n AppContext: this.BuildCurrentAppContext(),\n IsLoading: this.IsLoading,\n });\n }\n\n private emitSetupHealthChange(): void {\n this.SetupHealthChange.emit({\n Result: this.SetupHealthResult,\n Loading: this.IsCheckingSetupHealth,\n });\n }\n}\n","<div class=\"vs-brief\" data-testid=\"vs-production-brief\">\n <div class=\"vs-brief__scroll\">\n <!-- 1. Setup health (shown on warning/error, or when Setup OK details are toggled from the header) -->\n @if (ShouldShowSetupHealthCard) {\n <section class=\"vs-brief__section\" aria-label=\"Setup health\">\n <vs-setup-health-card\n [Result]=\"SetupHealthResult\"\n [Loading]=\"IsCheckingSetupHealth\"\n [Expanded]=\"IsAllSetupOk && ShowHealthySetupDetails\"\n (ExpandedChange)=\"OnSetupHealthExpandedChange($event)\"\n (Recheck)=\"CheckSetupHealth()\"\n ></vs-setup-health-card>\n </section>\n }\n\n <!-- 2. What's it about? -->\n <section class=\"vs-brief__section\">\n <label class=\"vs-brief__heading\" for=\"vs-brief-topic-input\">\n What's it about?\n </label>\n <textarea\n id=\"vs-brief-topic-input\"\n class=\"vs-brief__textarea\"\n data-testid=\"vs-brief-topic-input\"\n rows=\"2\"\n placeholder=\"Describe the video topic, audience, and goal…\"\n [ngModel]=\"Topic\"\n (ngModelChange)=\"OnTopicChange($event)\"\n ></textarea>\n </section>\n\n <!-- 3. Shape -->\n <section class=\"vs-brief__section\" aria-labelledby=\"vs-brief-shape-heading\">\n <div class=\"vs-brief__section-header\">\n <h3 class=\"vs-brief__heading\" id=\"vs-brief-shape-heading\">\n Shape\n </h3>\n <button\n type=\"button\"\n class=\"vs-brief__action-link\"\n data-testid=\"vs-brief-make-your-own-link\"\n (click)=\"OpenArchetypeEditor()\"\n >\n <i class=\"fa-solid fa-plus\" aria-hidden=\"true\"></i>\n <span>Make your own</span>\n </button>\n </div>\n @if (IsLoading && AllArchetypes.length === 0) {\n <div class=\"vs-brief__loading\" data-testid=\"vs-brief-loading\">\n <mj-loading Text=\"Loading archetypes…\" Size=\"small\"></mj-loading>\n </div>\n } @else {\n <div class=\"vs-brief__archetypes\" role=\"group\" aria-labelledby=\"vs-brief-shape-heading\">\n @for (arch of AllArchetypes; track arch.ID) {\n <button\n type=\"button\"\n class=\"vs-brief__archetype-card\"\n [class.vs-brief__archetype-card--selected]=\"IsArchetypeSelected(arch)\"\n [attr.aria-pressed]=\"IsArchetypeSelected(arch)\"\n [attr.data-testid]=\"'vs-brief-archetype-' + arch.ID\"\n (click)=\"SelectArchetype(arch)\"\n >\n <div class=\"vs-brief__archetype-header\">\n <span class=\"vs-brief__archetype-name\">{{ arch.Name }}</span>\n <span class=\"vs-brief__archetype-time\">\n {{ FormatTime(arch.DefaultDurationSeconds) }} ({{ FormatTimeRange(arch.MinDurationSeconds, arch.MaxDurationSeconds) }})\n </span>\n </div>\n @if (arch.Description) {\n <p class=\"vs-brief__archetype-desc\">{{ arch.Description }}</p>\n }\n @if (GetArchetypeBeats(arch).length > 0) {\n <mj-video-beat-strip\n [Beats]=\"GetArchetypeBeats(arch)\"\n [ShowLabels]=\"true\"\n ></mj-video-beat-strip>\n }\n </button>\n }\n </div>\n }\n </section>\n\n <!-- 4. Where it plays -->\n <section class=\"vs-brief__section\" aria-labelledby=\"vs-brief-where-heading\">\n <h3 class=\"vs-brief__heading\" id=\"vs-brief-where-heading\">\n Where it plays\n </h3>\n <div class=\"vs-brief__formats\" role=\"group\" aria-label=\"Output formats\" data-testid=\"vs-brief-formats\">\n @for (fmt of AvailableFormats; track fmt) {\n <button\n type=\"button\"\n mjButton\n Variant=\"outline\"\n Size=\"sm\"\n [Toggleable]=\"true\"\n [Selected]=\"IsFormatSelected(fmt)\"\n [attr.data-testid]=\"'vs-brief-format-' + fmt\"\n (click)=\"ToggleFormat(fmt)\"\n >\n <mj-video-format-glyph\n [Format]=\"fmt\"\n [ShowLabel]=\"true\"\n Size=\"sm\"\n ></mj-video-format-glyph>\n </button>\n }\n </div>\n\n <div class=\"vs-brief__field vs-brief__field--inline\">\n <label class=\"vs-brief__sublabel\" for=\"vs-brief-duration-input\">\n Length ({{ FormatTimeRange(MinDurationSeconds, MaxDurationSeconds) }})\n </label>\n <div class=\"vs-brief__duration-row\">\n <mj-numeric-input\n InputId=\"vs-brief-duration-input\"\n [AriaLabel]=\"'Length (' + FormatTimeRange(MinDurationSeconds, MaxDurationSeconds) + ')'\"\n data-testid=\"vs-brief-duration-input\"\n [Min]=\"MinDurationSeconds\"\n [Max]=\"MaxDurationSeconds\"\n [Step]=\"5\"\n [ngModel]=\"DurationSeconds\"\n (ngModelChange)=\"OnDurationChange($event)\"\n ></mj-numeric-input>\n <span class=\"vs-brief__duration-value\" data-testid=\"vs-brief-duration-formatted\">\n {{ FormatTime(DurationSeconds) }}\n </span>\n </div>\n </div>\n </section>\n\n <!-- 5. Sound -->\n <section class=\"vs-brief__section\" aria-labelledby=\"vs-brief-sound-heading\">\n <h3 class=\"vs-brief__heading\" id=\"vs-brief-sound-heading\">\n Sound\n </h3>\n <vs-audio-options\n [NarrationEnabled]=\"NarrationEnabled\"\n (NarrationEnabledChange)=\"OnNarrationEnabledChange($event)\"\n [CaptionsMode]=\"CaptionsMode\"\n (CaptionsModeChange)=\"OnCaptionsModeChange($event)\"\n ></vs-audio-options>\n </section>\n\n <!-- 6. Brand kit (optional) -->\n <section class=\"vs-brief__section\" aria-labelledby=\"vs-brief-brand-heading\">\n <div class=\"vs-brief__section-header\">\n <h3 class=\"vs-brief__heading\" id=\"vs-brief-brand-heading\">\n Brand kit (optional)\n </h3>\n <button\n type=\"button\"\n class=\"vs-brief__action-link\"\n data-testid=\"vs-brief-new-brand-kit-link\"\n (click)=\"OpenBrandKitCreator()\"\n >\n <i class=\"fa-solid fa-plus\" aria-hidden=\"true\"></i>\n <span>New brand kit</span>\n </button>\n </div>\n <div class=\"vs-brief__field-grid\">\n <div class=\"vs-brief__field\">\n <span class=\"vs-brief__sublabel\" id=\"vs-brief-company-label\">Company</span>\n <mj-dropdown\n AriaLabelledBy=\"vs-brief-company-label\"\n data-testid=\"vs-brief-company-select\"\n [Data]=\"CompanyDropdownOptions\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [ngModel]=\"SelectedCompanyId\"\n (ngModelChange)=\"OnCompanyFilterChange($event)\"\n ></mj-dropdown>\n </div>\n\n <div class=\"vs-brief__field\">\n <span class=\"vs-brief__sublabel\" id=\"vs-brief-brand-kit-label\">Brand kit</span>\n <mj-dropdown\n AriaLabelledBy=\"vs-brief-brand-kit-label\"\n data-testid=\"vs-brief-brand-kit-select\"\n Placeholder=\"None\"\n [Data]=\"BrandKitDropdownOptions\"\n TextField=\"DisplayName\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [ngModel]=\"SelectedBrandKit?.ID ?? ''\"\n (ngModelChange)=\"SelectBrandKitById($event || null)\"\n ></mj-dropdown>\n </div>\n </div>\n </section>\n\n <!-- 7. Data (optional) -->\n <section class=\"vs-brief__section\" aria-labelledby=\"vs-brief-data-heading\">\n <h3 class=\"vs-brief__heading\" id=\"vs-brief-data-heading\">\n Data (optional)\n </h3>\n <input\n type=\"search\"\n class=\"vs-brief__search-input\"\n data-testid=\"vs-brief-query-search\"\n aria-label=\"Search saved queries\"\n placeholder=\"Filter saved queries by name…\"\n [ngModel]=\"QuerySearchText\"\n (ngModelChange)=\"SearchSavedQueries($event)\"\n />\n @if (AvailableQueries.length > 0) {\n <div class=\"vs-brief__queries\" role=\"group\" aria-label=\"Saved queries\" data-testid=\"vs-brief-query-list\">\n @for (query of AvailableQueries; track query.ID) {\n <button\n type=\"button\"\n mjButton\n Variant=\"outline\"\n Size=\"sm\"\n [Toggleable]=\"true\"\n [Selected]=\"IsQuerySelected(query.ID)\"\n [attr.data-testid]=\"'vs-brief-query-' + query.ID\"\n (click)=\"ToggleSavedQuery(query)\"\n >\n <span>{{ query.Name }}</span>\n </button>\n }\n </div>\n }\n </section>\n </div>\n\n @if (IsBrandKitCreatorOpen) {\n <mj-dialog\n [Visible]=\"true\"\n Title=\"New brand kit\"\n Size=\"lg\"\n (Close)=\"CloseBrandKitCreator()\"\n >\n <mj-brand-kit-creator\n [Provider]=\"ProviderToUse\"\n [Companies]=\"AvailableCompanies\"\n [InitialCompanyId]=\"SelectedCompanyId\"\n (Saved)=\"OnBrandKitCreatorSaved($event)\"\n (Cancelled)=\"CloseBrandKitCreator()\"\n ></mj-brand-kit-creator>\n </mj-dialog>\n }\n\n @if (IsArchetypeEditorOpen) {\n <mj-dialog\n [Visible]=\"true\"\n [Title]=\"ArchetypeEditorDialogTitle\"\n Size=\"lg\"\n (Close)=\"CloseArchetypeEditor()\"\n >\n <vs-archetype-editor\n [Provider]=\"ProviderToUse\"\n Mode=\"copy\"\n [SourceArchetypeId]=\"SelectedArchetype?.ID ?? null\"\n [Archetypes]=\"AllArchetypes\"\n [Companies]=\"AvailableCompanies\"\n [InitialCompanyId]=\"SelectedCompanyId !== 'all' ? SelectedCompanyId : null\"\n (Saved)=\"OnArchetypeEditorSaved($event)\"\n (Cancelled)=\"CloseArchetypeEditor()\"\n ></vs-archetype-editor>\n </mj-dialog>\n }\n\n <!-- 8. Sticky Start production footer -->\n <footer class=\"vs-brief__footer\" data-testid=\"vs-brief-footer\">\n <p\n class=\"vs-brief__summary\"\n [class.vs-brief__summary--muted]=\"!CanStartProduction\"\n data-testid=\"vs-brief-summary\"\n >\n {{ SummaryLine }}\n </p>\n <p class=\"vs-brief__hint\" data-testid=\"vs-brief-footer-hint\">\n Fills the message box below — attach references if needed, then press Send.\n </p>\n <button\n type=\"button\"\n mjButton\n Variant=\"primary\"\n Size=\"md\"\n class=\"vs-brief__start-btn\"\n data-testid=\"vs-brief-start-button\"\n [disabled]=\"!CanStartProduction\"\n (click)=\"OnStartClick()\"\n >\n <span>Start production</span>\n </button>\n </footer>\n</div>\n"]}
@@ -0,0 +1,43 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { VideoStudioSetupHealthCheck, VideoStudioSetupHealthCheckStatus, VideoStudioSetupHealthOutput } from '@memberjunction/core-entities';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Pure standalone view card displaying Video Studio setup health (`VideoStudio.SetupHealth`).
6
+ *
7
+ * - **All OK:** renders a single compact `"Setup OK"` line that expands on click to reveal per-subsystem details.
8
+ * - **Only warnings:** renders a single quiet `"Ready, with N notes"` line (collapsed by default) that expands on click.
9
+ * - **An error:** renders a single status-error line (`"Video Studio can't make videos yet: <title>"`, message, and `"Details"` toggle).
10
+ * - `Action` text and `Details` live under a `"Details for admins"` toggle inside each expanded note.
11
+ */
12
+ export declare class VSSetupHealthCardComponent {
13
+ Result: VideoStudioSetupHealthOutput | null;
14
+ Loading: boolean;
15
+ Expanded: boolean;
16
+ Recheck: EventEmitter<void>;
17
+ ExpandedChange: EventEmitter<boolean>;
18
+ WarningsExpanded: boolean;
19
+ ErrorDetailsExpanded: boolean;
20
+ private readonly openAdminDetailsKeys;
21
+ get Checks(): VideoStudioSetupHealthCheck[];
22
+ get NonOkChecks(): VideoStudioSetupHealthCheck[];
23
+ get ErrorChecks(): VideoStudioSetupHealthCheck[];
24
+ get WarningChecks(): VideoStudioSetupHealthCheck[];
25
+ get HasError(): boolean;
26
+ get IsHealthy(): boolean;
27
+ get IsWarningsOnly(): boolean;
28
+ get IsAllOk(): boolean;
29
+ get PrimaryErrorCheck(): VideoStudioSetupHealthCheck | null;
30
+ get ErrorHeadline(): string;
31
+ get WarningsSummaryLabel(): string;
32
+ ToggleExpanded(): void;
33
+ ToggleWarningsExpanded(): void;
34
+ ToggleErrorDetails(): void;
35
+ HasAdminDetails(check: VideoStudioSetupHealthCheck): boolean;
36
+ IsAdminDetailsOpen(key: string): boolean;
37
+ ToggleAdminDetails(key: string): void;
38
+ OnRecheckClick(): void;
39
+ IconForStatus(status: VideoStudioSetupHealthCheckStatus): string;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<VSSetupHealthCardComponent, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<VSSetupHealthCardComponent, "vs-setup-health-card, mj-vs-setup-health-card", never, { "Result": { "alias": "Result"; "required": false; }; "Loading": { "alias": "Loading"; "required": false; }; "Expanded": { "alias": "Expanded"; "required": false; }; }, { "Recheck": "Recheck"; "ExpandedChange": "ExpandedChange"; }, never, never, true, never>;
42
+ }
43
+ //# sourceMappingURL=vs-setup-health-card.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-setup-health-card.component.d.ts","sourceRoot":"","sources":["../../../src/VideoStudio/components/vs-setup-health-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC7B,MAAM,+BAA+B,CAAC;;AAIvC;;;;;;;GAOG;AACH,qBAQa,0BAA0B;IAC5B,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAQ;IACnD,OAAO,UAAS;IAChB,QAAQ,UAAS;IAEhB,OAAO,qBAA4B;IACnC,cAAc,wBAA+B;IAEhD,gBAAgB,UAAS;IACzB,oBAAoB,UAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAE1D,IAAW,MAAM,IAAI,2BAA2B,EAAE,CAEjD;IAED,IAAW,WAAW,IAAI,2BAA2B,EAAE,CAEtD;IAED,IAAW,WAAW,IAAI,2BAA2B,EAAE,CAEtD;IAED,IAAW,aAAa,IAAI,2BAA2B,EAAE,CAExD;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,iBAAiB,IAAI,2BAA2B,GAAG,IAAI,CAEjE;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,oBAAoB,IAAI,MAAM,CAGxC;IAEM,cAAc,IAAI,IAAI;IAKtB,sBAAsB,IAAI,IAAI;IAI9B,kBAAkB,IAAI,IAAI;IAI1B,eAAe,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO;IAI5D,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQrC,cAAc,IAAI,IAAI;IAItB,aAAa,CAAC,MAAM,EAAE,iCAAiC,GAAG,MAAM;yCA1F5D,0BAA0B;2CAA1B,0BAA0B;CAqGtC"}