@memberjunction/ng-dashboards 6.2.0-edge.6 → 6.2.0-edge.8

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 (233) hide show
  1. package/README.md +23 -16
  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.map +1 -1
  15. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +31 -10
  16. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  17. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
  18. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
  19. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
  20. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
  21. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
  22. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
  23. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
  24. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
  25. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  26. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
  27. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  28. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  29. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +1 -0
  30. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  31. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
  32. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  33. package/dist/AI/components/tags/tags-resource.component.js +14 -24
  34. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  35. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  36. package/dist/AI/components/vectors/vector-management-resource.component.js +14 -7
  37. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  38. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  39. package/dist/AI/services/ai-instrumentation.service.js +4 -2
  40. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  41. package/dist/Actions/action-result-code.d.ts +80 -0
  42. package/dist/Actions/action-result-code.d.ts.map +1 -0
  43. package/dist/Actions/action-result-code.js +163 -0
  44. package/dist/Actions/action-result-code.js.map +1 -0
  45. package/dist/Actions/components/actions-overview.component.d.ts +8 -0
  46. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  47. package/dist/Actions/components/actions-overview.component.js +12 -9
  48. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  49. package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
  50. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  51. package/dist/Actions/components/execution-monitoring.component.js +65 -42
  52. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  53. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  54. package/dist/Actions/components/explorer/action-card.component.js +5 -4
  55. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  56. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +92 -130
  57. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -1
  58. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +189 -274
  59. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -1
  60. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
  61. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
  62. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
  63. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
  64. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
  65. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
  66. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
  67. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
  68. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
  69. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
  70. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
  71. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
  72. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
  73. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
  74. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
  75. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
  76. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
  77. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
  78. package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
  79. package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
  80. package/dist/ChiefOfStaff/index.d.ts +4 -1
  81. package/dist/ChiefOfStaff/index.d.ts.map +1 -1
  82. package/dist/ChiefOfStaff/index.js +4 -1
  83. package/dist/ChiefOfStaff/index.js.map +1 -1
  84. package/dist/Communication/communication-monitor-resource.component.js +3 -3
  85. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  86. package/dist/Communication/communication-runs-resource.component.js +3 -3
  87. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  88. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  89. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
  90. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  91. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  92. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
  93. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  94. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
  95. package/dist/ComponentStudio/services/component-version.service.js +3 -0
  96. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  97. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +21 -2
  98. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  99. package/dist/DataExplorer/data-explorer-dashboard.component.js +32 -5
  100. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  101. package/dist/DevTools/graphql-console.component.js +2 -2
  102. package/dist/DevTools/lazy-module-status.component.js +2 -2
  103. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  104. package/dist/FormBuilder/form-builder-resource.component.js +5 -0
  105. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  106. package/dist/Integration/components/connections/connections.component.js +2 -2
  107. package/dist/Integration/services/integration-data.service.d.ts +1 -1
  108. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  109. package/dist/Integration/services/integration-data.service.js +4 -3
  110. package/dist/Integration/services/integration-data.service.js.map +1 -1
  111. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
  112. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +11 -3
  113. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  114. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +16 -16
  115. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  116. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts +113 -0
  117. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts.map +1 -0
  118. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js +1184 -0
  119. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js.map +1 -0
  120. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts +1 -1
  121. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts.map +1 -1
  122. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js +1 -1
  123. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js.map +1 -1
  124. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +1 -1
  125. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -1
  126. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +21 -10
  127. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -1
  128. package/dist/Lists/components/lists-browse-resource.component.js +1 -1
  129. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  130. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  131. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  132. package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
  133. package/dist/LoginStudio/login-studio-resource.component.js +1 -0
  134. package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
  135. package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
  136. package/dist/PredictiveStudio/components/ps-experiments.component.js +1 -0
  137. package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
  138. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +2 -2
  139. package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
  140. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +3 -0
  141. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
  142. package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
  143. package/dist/PredictiveStudio/engine/predictive-studio.engine.js +1 -0
  144. package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
  145. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
  146. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +1 -0
  147. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
  148. package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
  149. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  150. package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
  151. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  152. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  153. package/dist/SystemDiagnostics/system-diagnostics.component.js +4 -2
  154. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  155. package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
  156. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
  157. package/dist/UserRoutines/user-routines-resource.component.js +22 -4
  158. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
  159. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
  160. package/dist/VersionHistory/components/diff-resource.component.js +1 -0
  161. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  162. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
  163. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
  164. package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
  165. package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
  166. package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
  167. package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
  168. package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
  169. package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
  170. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
  171. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
  172. package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
  173. package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
  174. package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
  175. package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
  176. package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
  177. package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
  178. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
  179. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
  180. package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
  181. package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
  182. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
  183. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
  184. package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
  185. package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
  186. package/dist/VideoStudio/index.d.ts +12 -0
  187. package/dist/VideoStudio/index.d.ts.map +1 -0
  188. package/dist/VideoStudio/index.js +12 -0
  189. package/dist/VideoStudio/index.js.map +1 -0
  190. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
  191. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
  192. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
  193. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
  194. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
  195. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
  196. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
  197. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
  198. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
  199. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
  200. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
  201. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
  202. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
  203. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
  204. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
  205. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
  206. package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
  207. package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
  208. package/dist/VideoStudio/video-studio-agent-context.js +992 -0
  209. package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
  210. package/dist/ai-dashboards.module.d.ts +46 -41
  211. package/dist/ai-dashboards.module.d.ts.map +1 -1
  212. package/dist/ai-dashboards.module.js +33 -7
  213. package/dist/ai-dashboards.module.js.map +1 -1
  214. package/dist/module.d.ts +13 -12
  215. package/dist/module.d.ts.map +1 -1
  216. package/dist/module.js +7 -0
  217. package/dist/module.js.map +1 -1
  218. package/dist/public-api.d.ts +8 -1
  219. package/dist/public-api.d.ts.map +1 -1
  220. package/dist/public-api.js +10 -2
  221. package/dist/public-api.js.map +1 -1
  222. package/dist/shared/action-scheduled-job.d.ts.map +1 -1
  223. package/dist/shared/action-scheduled-job.js +2 -0
  224. package/dist/shared/action-scheduled-job.js.map +1 -1
  225. package/dist/video-studio-dashboards.module.d.ts +40 -0
  226. package/dist/video-studio-dashboards.module.d.ts.map +1 -0
  227. package/dist/video-studio-dashboards.module.js +159 -0
  228. package/dist/video-studio-dashboards.module.js.map +1 -0
  229. package/package.json +78 -71
  230. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts +0 -195
  231. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts.map +0 -1
  232. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js +0 -2910
  233. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-overview.component.js","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-overview.component.ts","../../src/ChiefOfStaff/chief-of-staff-overview.component.html"],"names":[],"mappings":"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","sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\nimport { ChiefOfStaffPage } from './chief-of-staff-agent-context';\nimport { BaseChiefOfStaffPage } from './chief-of-staff-page-base';\n\n/**\n * The Chief of Staff application's Overview page: counts, the top pending approvals and the\n * next wake routines, each linking to the page that manages it.\n *\n * Also registered under the driver classes of the former single dashboard, so a tab saved\n * before the split still opens.\n */\n@RegisterClass(BaseResourceComponent, 'ChiefOfStaffOverview')\n@RegisterClass(BaseResourceComponent, 'ChiefOfStaffDashboard')\n@RegisterClass(BaseResourceComponent, 'ChiefOfStaffResource')\n@Component({\n standalone: false,\n selector: 'mj-chief-of-staff-overview',\n templateUrl: './chief-of-staff-overview.component.html',\n styleUrls: ['./chief-of-staff-pages.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChiefOfStaffOverviewComponent extends BaseChiefOfStaffPage {\n protected readonly Page: ChiefOfStaffPage = 'overview';\n}\n\nexport function LoadChiefOfStaffOverview(): void {\n // Intentionally empty: forces inclusion of the @RegisterClass side effect.\n}\n","<mj-page-layout>\n <mj-page-header\n [Title]=\"ChiefOfStaffDisplayName\"\n Subtitle=\"Pending approvals, wake routines and governance at a glance\"\n Icon=\"fa-solid fa-compass\">\n\n <ng-container meta>\n @if (Metrics.PendingApprovalCount > 0) {\n <mj-stat-badge\n Icon=\"fa-solid fa-bell-concierge\"\n [Count]=\"Metrics.PendingApprovalCount\"\n Label=\"pending approvals\"\n Variant=\"warning\">\n </mj-stat-badge>\n } @else {\n <mj-stat-badge\n Icon=\"fa-solid fa-circle-check\"\n [Count]=\"0\"\n Label=\"pending approvals\"\n Variant=\"success\">\n </mj-stat-badge>\n }\n <mj-stat-badge\n Icon=\"fa-solid fa-clock-rotate-left\"\n [Count]=\"Metrics.ActiveWakeRoutineCount\"\n Label=\"active wakes\"\n Variant=\"info\">\n </mj-stat-badge>\n </ng-container>\n\n <ng-container toolbar>\n <mj-refresh-button\n [Loading]=\"IsLoading\"\n [ShowLabel]=\"true\"\n (Clicked)=\"LoadChiefOfStaffData()\">\n </mj-refresh-button>\n </ng-container>\n </mj-page-header>\n\n <mj-page-body>\n @if (FeedbackBanner) {\n <div class=\"cos-banner\"\n [class.cos-banner--success]=\"FeedbackBanner.Type === 'success'\"\n [class.cos-banner--error]=\"FeedbackBanner.Type === 'error'\"\n role=\"status\">\n <div class=\"cos-banner__content\">\n <i class=\"fa-solid\"\n [class.fa-circle-check]=\"FeedbackBanner.Type === 'success'\"\n [class.fa-circle-exclamation]=\"FeedbackBanner.Type === 'error'\"></i>\n <span>{{ FeedbackBanner.Message }}</span>\n </div>\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"DismissBanner()\" aria-label=\"Dismiss notification\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n\n @if (IsLoading) {\n <div class=\"cos-loading\">\n <mj-loading text=\"Loading Chief of Staff...\"></mj-loading>\n </div>\n } @else {\n <div class=\"cos-kpi-grid\">\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('approvals-wakes')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Active Wakes</span>\n <div class=\"cos-kpi-card__icon cos-kpi-card__icon--brand\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ Metrics.ActiveWakeRoutineCount }}</div>\n <div class=\"cos-kpi-card__sub\">\n @if (Metrics.NextScheduledWakeAt) {\n Next: {{ Metrics.NextScheduledWakeAt | date:'short' }}\n } @else {\n No wake scheduled\n }\n </div>\n </div>\n\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('approvals-wakes')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Pending Approvals</span>\n <div class=\"cos-kpi-card__icon\"\n [class.cos-kpi-card__icon--warning]=\"Metrics.PendingApprovalCount > 0\"\n [class.cos-kpi-card__icon--success]=\"Metrics.PendingApprovalCount === 0\">\n <i class=\"fa-solid fa-bell-concierge\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ Metrics.PendingApprovalCount }}</div>\n <div class=\"cos-kpi-card__sub\">\n @if (Metrics.HighPriorityPendingCount > 0) {\n {{ Metrics.HighPriorityPendingCount }} high-priority awaiting decision\n } @else {\n All high-priority requests clear\n }\n </div>\n </div>\n\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('governance')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Governance Posture</span>\n <div class=\"cos-kpi-card__icon cos-kpi-card__icon--brand\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ DraftPolicy.CoordinationMode }}</div>\n <div class=\"cos-kpi-card__sub\">\n Status: {{ DraftPolicy.Status }} · Email: {{ DraftPolicy.EmailChannelMode }}\n </div>\n </div>\n </div>\n\n <div class=\"cos-overview-columns\">\n <!-- Column 1: Pending Approvals -->\n <div class=\"cos-stack\">\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h3 class=\"cos-panel__title\">\n <i class=\"fa-solid fa-bell-concierge\"></i> Pending Approvals\n </h3>\n <p class=\"cos-panel__subtitle\">\n Requests awaiting your decision\n </p>\n </div>\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"OpenPage('approvals-wakes')\">\n Manage ({{ PendingRequests.length }})\n </button>\n </div>\n\n @if (PendingRequests.length === 0) {\n <mj-empty-state Size=\"compact\" Variant=\"success\" Icon=\"fa-solid fa-circle-check\" Message=\"No pending requests awaiting approval.\" />\n } @else {\n <div class=\"cos-stack\">\n @for (req of PendingRequests.slice(0, 3); track req.ID) {\n <div class=\"cos-request-card\" (click)=\"OpenRequestDetail(req)\">\n <div class=\"cos-request-card__top\">\n <span class=\"cos-priority-tag {{ GetPriorityTierClass(req.Priority) }}\">\n {{ GetPriorityTierLabel(req.Priority) }} ({{ req.Priority }})\n </span>\n @if (req.RequestType) {\n <span class=\"cos-meta-badge\">{{ req.RequestType }}</span>\n }\n <span class=\"cos-timestamp\">\n {{ req.RequestedAt | date:'short' }}\n </span>\n </div>\n <p class=\"cos-request-card__text\">{{ req.Request }}</p>\n <div class=\"cos-request-card__actions\">\n <button mjButton variant=\"primary\" size=\"sm\"\n [disabled]=\"BusyRequestID === req.ID\"\n (click)=\"QuickRespondToRequest(req, 'Approved', $event)\">\n <i class=\"fa-solid fa-check\"></i> Approve\n </button>\n <button mjButton variant=\"danger\" size=\"sm\"\n [disabled]=\"BusyRequestID === req.ID\"\n (click)=\"QuickRespondToRequest(req, 'Rejected', $event)\">\n <i class=\"fa-solid fa-xmark\"></i> Reject\n </button>\n <button mjButton variant=\"outline\" size=\"sm\"\n (click)=\"OpenRequestDetail(req); $event.stopPropagation()\">\n Inspect\n </button>\n </div>\n @let openDraft = EmailDraftFor(req);\n @if (openDraft) {\n <div class=\"cos-email-draft\" (click)=\"$event.stopPropagation()\">\n <mj-accordion-panel [Bare]=\"true\" Size=\"sm\">\n <ng-template mjAccordionTitle><i class=\"fa-solid fa-envelope\"></i> Email draft to {{ openDraft.To }}</ng-template>\n <ng-template mjAccordionActions>\n <button mjButton variant=\"outline\" size=\"sm\"\n title=\"Copy To, Subject and body as plain text for your mail client\"\n (click)=\"CopyEmailDraft(req, $event)\">\n <i class=\"fa-regular fa-copy\"></i> Copy\n </button>\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"cos-email-draft__meta\">\n <div><strong>To:</strong> {{ openDraft.To }}</div>\n @if (openDraft.CC.length > 0) {\n <div><strong>CC:</strong> {{ openDraft.CC.join(', ') }}</div>\n }\n @if (openDraft.From) {\n <div><strong>From:</strong> {{ openDraft.From }}</div>\n }\n <div><strong>Subject:</strong> {{ openDraft.Subject }}</div>\n </div>\n <pre class=\"cos-email-draft__body\">{{ openDraft.Body }}</pre>\n </ng-template>\n </mj-accordion-panel>\n </div>\n }\n </div>\n }\n </div>\n }\n </section>\n </div>\n\n <!-- Column 2: Wake Schedule, then panels registered by Open Apps -->\n <div class=\"cos-stack\">\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h3 class=\"cos-panel__title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> Autonomous Wake Schedule\n </h3>\n <p class=\"cos-panel__subtitle\">\n Proactive AgentWake routines for your Chief of Staff\n </p>\n </div>\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"OpenPage('approvals-wakes')\">\n Routines ({{ Routines.length }})\n </button>\n </div>\n\n @if (Routines.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-regular fa-clock\" Message=\"No wake routines configured yet.\" />\n } @else {\n <div class=\"cos-stack\">\n @for (routine of UpcomingRoutines.slice(0, 3); track routine.ID) {\n <div class=\"cos-routine-mini\">\n <div class=\"cos-routine-mini__info\">\n <div class=\"cos-routine-mini__title-row\">\n <span class=\"cos-routine-mini__name\">{{ routine.Name }}</span>\n <span class=\"cos-status-chip cos-status-chip--{{ RoutineStatusLabel(routine).toLowerCase() }}\">\n {{ RoutineStatusLabel(routine) }}\n </span>\n </div>\n <div class=\"cos-routine-mini__meta\">\n @if (routine.NextRunAt) {\n <span>Next wake: {{ routine.NextRunAt | date:'short' }}</span>\n } @else {\n <span>No next wake scheduled</span>\n }\n @if (routine.CronExpression) {\n <span>· Cron: <code>{{ routine.CronExpression }}</code></span>\n }\n </div>\n </div>\n <div class=\"cos-routine-mini__actions\">\n <button mjButton variant=\"outline\" size=\"sm\"\n [disabled]=\"!CanOpenBriefing(routine)\"\n [title]=\"CanOpenBriefing(routine) ? 'Read this routine\\'s briefings here' : 'No briefing yet: the routine has not run'\"\n (click)=\"OpenBriefingReader(routine, $event)\">\n <i class=\"fa-solid fa-book-open\"></i> Read\n </button>\n <button mjButton variant=\"primary\" size=\"sm\"\n [disabled]=\"BusyRoutineID === routine.ID\"\n title=\"Run this wake now. Its scheduled time is not changed.\"\n (click)=\"TriggerWakeNow(routine, $event)\">\n <i class=\"fa-solid fa-bolt\"></i> Wake Now\n </button>\n </div>\n </div>\n }\n </div>\n }\n </section>\n </div>\n </div>\n }\n </mj-page-body>\n\n <!-- Briefing reader: a wake routine's conversation, read without leaving the page. -->\n <mj-slide-panel\n Mode=\"slide\"\n [Title]=\"BriefingRoutine?.Name ?? 'Briefings'\"\n [Visible]=\"IsBriefingReaderOpen\"\n [Resizable]=\"true\"\n [WidthPx]=\"760\"\n (Closed)=\"CloseBriefingReader()\">\n @if (IsBriefingReaderOpen) {\n <div class=\"cos-briefing-reader\">\n <mj-conversation-chat-area\n [Provider]=\"Provider\"\n [EnvironmentId]=\"BriefingEnvironmentId\"\n [CurrentUser]=\"ProviderToUse.CurrentUser\"\n [Conversation]=\"BriefingConversation\"\n [ConversationId]=\"BriefingConversationId\"\n [IsNewConversation]=\"false\"\n [SuppressNewConversationEmptyState]=\"true\"\n [AllowMentions]=\"false\"\n [OverlayMode]=\"false\"\n [ShowExportButton]=\"false\"\n [ShowShareButton]=\"false\"\n [ShowArtifactIndicator]=\"false\"\n [ShowAgentPicker]=\"false\"\n [ShowAgentModePicker]=\"false\"\n [ReadOnly]=\"true\"\n ReadOnlyMessage=\"Briefings are written by the wake routine. To change what it checks or when, ask your Chief of Staff in chat or use the Routines app.\"\n ApplicationScope=\"Application\"\n [ApplicationId]=\"BriefingApplicationId\">\n </mj-conversation-chat-area>\n </div>\n }\n </mj-slide-panel>\n</mj-page-layout>\n\n@if (ShowRequestDialog && SelectedRequest) {\n <mj-agent-request-dialog\n [Visible]=\"ShowRequestDialog\"\n [Request]=\"SelectedRequest\"\n (Close)=\"OnRequestDialogClose($event)\">\n </mj-agent-request-dialog>\n}\n"]}
@@ -0,0 +1,139 @@
1
+ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { MJAIAgentRequestEntity, MJAIAgentUserPolicyEntity, MJConversationEntity, MJUserRoutineEntity, ResourceData } from '@memberjunction/core-entities';
4
+ import { BaseResourceComponent } from '@memberjunction/ng-shared';
5
+ import { ApplicationManager } from '@memberjunction/ng-base-application';
6
+ import { AgentRequestPanelResult } from '@memberjunction/ng-agent-requests';
7
+ import { ChiefOfStaffMetrics, ChiefOfStaffPage, GovernancePolicyDraft, type EmailApprovalDraft, type RoutineDisplayStatusValue } from './chief-of-staff-agent-context';
8
+ import * as i0 from "@angular/core";
9
+ /** A client tool a Chief of Staff page registers for the co-agent. */
10
+ export interface ChiefOfStaffClientTool {
11
+ Name: string;
12
+ Description: string;
13
+ ParameterSchema: Record<string, unknown>;
14
+ Handler: (params: Record<string, unknown>) => Promise<unknown>;
15
+ }
16
+ /**
17
+ * Shared base of the Chief of Staff application's pages. Each page is its own nav item
18
+ * (Overview, Approvals & Wakes, Governance) and its own resource component; this class holds
19
+ * what they share: the user's policy, wake routines and approval requests, the request and
20
+ * routine actions, the briefing reader, live reload and the agent context.
21
+ *
22
+ * Other apps add pages to the Chief of Staff application as nav items, through `NavItem.*`
23
+ * application settings; they do not extend this class.
24
+ */
25
+ export declare abstract class BaseChiefOfStaffPage extends BaseResourceComponent implements OnInit, OnDestroy {
26
+ protected cdr: ChangeDetectorRef;
27
+ protected appManager: ApplicationManager;
28
+ protected destroy$: Subject<void>;
29
+ /** Which page this component is. */
30
+ protected abstract readonly Page: ChiefOfStaffPage;
31
+ IsLoading: boolean;
32
+ BusyRequestID: string | null;
33
+ BusyRoutineID: string | null;
34
+ FeedbackBanner: {
35
+ Type: 'success' | 'error';
36
+ Message: string;
37
+ } | null;
38
+ /** Filters requests and routines on pages that show a search box. */
39
+ SearchText: string;
40
+ PolicyEntity: MJAIAgentUserPolicyEntity | null;
41
+ /** The policy as the pages show it; the Governance page edits it. */
42
+ DraftPolicy: GovernancePolicyDraft;
43
+ Routines: MJUserRoutineEntity[];
44
+ Requests: MJAIAgentRequestEntity[];
45
+ Metrics: ChiefOfStaffMetrics;
46
+ SelectedRequest: MJAIAgentRequestEntity | null;
47
+ ShowRequestDialog: boolean;
48
+ /** The routine whose briefings the reader shows; null while the reader is closed. */
49
+ BriefingRoutine: MJUserRoutineEntity | null;
50
+ /** The routine's conversation ID, bound to the embedded chat area. */
51
+ BriefingConversationId: string | null;
52
+ /** The conversation entity when it could be loaded (title, pinned agent); the chat area loads messages by ID either way. */
53
+ BriefingConversation: MJConversationEntity | null;
54
+ /** Resolved once per load from the agent's metadata name; null until LoadChiefOfStaffData has run. */
55
+ protected chiefOfStaffAgentId: string | null;
56
+ get ChiefOfStaffDisplayName(): string;
57
+ /** Approval requests awaiting a decision, filtered by the search text. */
58
+ get PendingRequests(): MJAIAgentRequestEntity[];
59
+ /** Routines in display order: next wake first, unscheduled next, spent one-shots last. */
60
+ get SortedRoutines(): MJUserRoutineEntity[];
61
+ /** Routines that still have something ahead of them: everything but spent one-shots. */
62
+ get UpcomingRoutines(): MJUserRoutineEntity[];
63
+ /** 'Fired' for a spent one-shot, otherwise the routine's Status. */
64
+ RoutineStatusLabel(routine: MJUserRoutineEntity): RoutineDisplayStatusValue;
65
+ IsSpentRoutine(routine: MJUserRoutineEntity): boolean;
66
+ ngOnInit(): Promise<void>;
67
+ ngOnDestroy(): void;
68
+ GetResourceDisplayName(_data: ResourceData): Promise<string>;
69
+ GetResourceIconClass(_data: ResourceData): Promise<string>;
70
+ /** Runs before the first load; a page reads its query params here. */
71
+ protected OnPageInit(): void;
72
+ /** Runs after every load, before the agent context is published. */
73
+ protected OnDataLoaded(): void;
74
+ /** Client tools only this page offers, added to the shared ones. */
75
+ protected PageAgentTools(): ChiefOfStaffClientTool[];
76
+ /** A change arrived while the tab was detached; reload once when it is shown again. */
77
+ private liveReloadPending;
78
+ /**
79
+ * Reloads the page when an entity it shows changes anywhere. MJAPI broadcasts every save
80
+ * and delete to browsers, including saves made by server-side code (a wake run creating an
81
+ * approval request or a run row), and the client raises each as a `remote-invalidate`
82
+ * BaseEntity event. A burst of events is one reload. A detached tab does not reload in the
83
+ * background; it reloads once when it is shown again.
84
+ */
85
+ private subscribeToLiveEntityChanges;
86
+ LoadChiefOfStaffData(): Promise<void>;
87
+ protected recalculateMetrics(): void;
88
+ private toRoutineSummary;
89
+ private toRequestSummary;
90
+ /**
91
+ * Looks the Chief of Staff agent up by name through the AI engine's cached agents, so the
92
+ * pages carry no hardcoded agent id and follow whichever provider they are embedded under.
93
+ */
94
+ private resolveChiefOfStaffAgentId;
95
+ private readonly actionIdsByName;
96
+ /** The ID of a core action, looked up by name once per page instance. */
97
+ private resolveActionIdByName;
98
+ /** Opens another Chief of Staff page through its nav item. */
99
+ OpenPage(page: ChiefOfStaffPage): void;
100
+ /** True when the routine has run at least once and so has a conversation to read. */
101
+ CanOpenBriefing(routine: MJUserRoutineEntity): boolean;
102
+ /**
103
+ * Opens the routine's conversation in the Chat app. The ID goes in the query params as well
104
+ * as the nav item configuration: an already-open Chat tab is reused and reacts only to a
105
+ * query-param change.
106
+ */
107
+ OpenRoutineBriefing(routine: MJUserRoutineEntity, event?: Event): void;
108
+ /** Opens the slide-in reader on the routine's conversation without leaving the page. */
109
+ OpenBriefingReader(routine: MJUserRoutineEntity, event?: Event): Promise<void>;
110
+ CloseBriefingReader(): void;
111
+ get IsBriefingReaderOpen(): boolean;
112
+ /** The environment the embedded chat area reads under. */
113
+ get BriefingEnvironmentId(): string;
114
+ /** The application the routine conversation is filed under, so the chat area stays in that scope. */
115
+ get BriefingApplicationId(): string | null;
116
+ /** The conversation entity, or null when it cannot be read; the reader still works by ID. */
117
+ private loadBriefingConversation;
118
+ OpenRoutineEntityRecord(routineId: string, event?: Event): void;
119
+ OpenRequestDetail(request: MJAIAgentRequestEntity): void;
120
+ private readonly emailDraftsByRequest;
121
+ /** The outbound email an approval request carries, or null when the request is not an email. */
122
+ EmailDraftFor(request: MJAIAgentRequestEntity): EmailApprovalDraft | null;
123
+ /** Copies the draft as plain text (headers, blank line, body) for pasting into a mail client. */
124
+ CopyEmailDraft(request: MJAIAgentRequestEntity, event?: Event): Promise<void>;
125
+ OnRequestDialogClose(result: AgentRequestPanelResult): void;
126
+ QuickRespondToRequest(request: MJAIAgentRequestEntity, decision: 'Approved' | 'Rejected', event: Event): Promise<void>;
127
+ TriggerWakeNow(routine: MJUserRoutineEntity, event?: Event): Promise<void>;
128
+ ToggleRoutineStatus(routine: MJUserRoutineEntity, event?: Event): Promise<void>;
129
+ DismissBanner(): void;
130
+ protected showBanner(type: 'success' | 'error', message: string): void;
131
+ GetPriorityTierLabel(priority: number): string;
132
+ GetPriorityTierClass(priority: number): string;
133
+ IsRequestExpired(request: MJAIAgentRequestEntity): boolean;
134
+ protected publishAgentContext(): void;
135
+ private coreAgentTools;
136
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseChiefOfStaffPage, never>;
137
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseChiefOfStaffPage, never, never, {}, {}, never, never, true, never>;
138
+ }
139
+ //# sourceMappingURL=chief-of-staff-page-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-page-base.d.ts","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-page-base.ts"],"names":[],"mappings":"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"}