@memberjunction/ng-dashboards 6.2.0-edge.6 → 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 (212) 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.js +6 -6
  15. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  16. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
  17. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
  18. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
  19. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
  20. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
  21. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
  22. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
  23. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
  24. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  25. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
  26. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  27. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  28. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +1 -0
  29. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  30. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
  31. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  32. package/dist/AI/components/tags/tags-resource.component.js +3 -2
  33. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  34. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  35. package/dist/AI/components/vectors/vector-management-resource.component.js +12 -6
  36. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  37. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  38. package/dist/AI/services/ai-instrumentation.service.js +4 -2
  39. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  40. package/dist/Actions/action-result-code.d.ts +80 -0
  41. package/dist/Actions/action-result-code.d.ts.map +1 -0
  42. package/dist/Actions/action-result-code.js +163 -0
  43. package/dist/Actions/action-result-code.js.map +1 -0
  44. package/dist/Actions/components/actions-overview.component.d.ts +8 -0
  45. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  46. package/dist/Actions/components/actions-overview.component.js +12 -9
  47. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  48. package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
  49. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  50. package/dist/Actions/components/execution-monitoring.component.js +65 -42
  51. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  52. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  53. package/dist/Actions/components/explorer/action-card.component.js +5 -4
  54. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  55. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +92 -130
  56. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -1
  57. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +189 -274
  58. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -1
  59. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
  60. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
  61. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
  62. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
  63. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
  64. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
  65. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
  66. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
  67. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
  68. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
  69. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
  70. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
  71. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
  72. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
  73. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
  74. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
  75. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
  76. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
  77. package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
  78. package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
  79. package/dist/ChiefOfStaff/index.d.ts +4 -1
  80. package/dist/ChiefOfStaff/index.d.ts.map +1 -1
  81. package/dist/ChiefOfStaff/index.js +4 -1
  82. package/dist/ChiefOfStaff/index.js.map +1 -1
  83. package/dist/Communication/communication-monitor-resource.component.js +3 -3
  84. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  85. package/dist/Communication/communication-runs-resource.component.js +3 -3
  86. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  87. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  88. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
  89. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  90. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  91. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
  92. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  93. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
  94. package/dist/ComponentStudio/services/component-version.service.js +3 -0
  95. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  96. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +21 -2
  97. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  98. package/dist/DataExplorer/data-explorer-dashboard.component.js +32 -5
  99. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  100. package/dist/DevTools/graphql-console.component.js +2 -2
  101. package/dist/DevTools/lazy-module-status.component.js +2 -2
  102. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  103. package/dist/FormBuilder/form-builder-resource.component.js +5 -0
  104. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  105. package/dist/Integration/components/connections/connections.component.js +2 -2
  106. package/dist/Integration/services/integration-data.service.d.ts +1 -1
  107. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  108. package/dist/Integration/services/integration-data.service.js +4 -3
  109. package/dist/Integration/services/integration-data.service.js.map +1 -1
  110. package/dist/Lists/components/lists-browse-resource.component.js +1 -1
  111. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  112. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  113. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  114. package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
  115. package/dist/LoginStudio/login-studio-resource.component.js +1 -0
  116. package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
  117. package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
  118. package/dist/PredictiveStudio/components/ps-experiments.component.js +1 -0
  119. package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
  120. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +2 -2
  121. package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
  122. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +3 -0
  123. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
  124. package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
  125. package/dist/PredictiveStudio/engine/predictive-studio.engine.js +1 -0
  126. package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
  127. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
  128. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +1 -0
  129. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
  130. package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
  131. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  132. package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
  133. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  134. package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
  135. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
  136. package/dist/UserRoutines/user-routines-resource.component.js +22 -4
  137. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
  138. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
  139. package/dist/VersionHistory/components/diff-resource.component.js +1 -0
  140. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  141. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
  142. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
  143. package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
  144. package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
  145. package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
  146. package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
  147. package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
  148. package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
  149. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
  150. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
  151. package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
  152. package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
  153. package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
  154. package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
  155. package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
  156. package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
  157. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
  158. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
  159. package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
  160. package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
  161. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
  162. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
  163. package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
  164. package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
  165. package/dist/VideoStudio/index.d.ts +12 -0
  166. package/dist/VideoStudio/index.d.ts.map +1 -0
  167. package/dist/VideoStudio/index.js +12 -0
  168. package/dist/VideoStudio/index.js.map +1 -0
  169. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
  170. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
  171. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
  172. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
  173. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
  174. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
  175. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
  176. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
  177. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
  178. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
  179. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
  180. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
  181. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
  182. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
  183. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
  184. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
  185. package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
  186. package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
  187. package/dist/VideoStudio/video-studio-agent-context.js +992 -0
  188. package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
  189. package/dist/ai-dashboards.module.d.ts +25 -22
  190. package/dist/ai-dashboards.module.d.ts.map +1 -1
  191. package/dist/ai-dashboards.module.js +23 -7
  192. package/dist/ai-dashboards.module.js.map +1 -1
  193. package/dist/module.d.ts +13 -12
  194. package/dist/module.d.ts.map +1 -1
  195. package/dist/module.js +7 -0
  196. package/dist/module.js.map +1 -1
  197. package/dist/public-api.d.ts +7 -1
  198. package/dist/public-api.d.ts.map +1 -1
  199. package/dist/public-api.js +9 -2
  200. package/dist/public-api.js.map +1 -1
  201. package/dist/shared/action-scheduled-job.d.ts.map +1 -1
  202. package/dist/shared/action-scheduled-job.js +2 -0
  203. package/dist/shared/action-scheduled-job.js.map +1 -1
  204. package/dist/video-studio-dashboards.module.d.ts +40 -0
  205. package/dist/video-studio-dashboards.module.d.ts.map +1 -0
  206. package/dist/video-studio-dashboards.module.js +159 -0
  207. package/dist/video-studio-dashboards.module.js.map +1 -0
  208. package/package.json +77 -71
  209. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts +0 -195
  210. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts.map +0 -1
  211. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js +0 -2910
  212. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-governance.component.js","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-governance.component.ts","../../src/ChiefOfStaff/chief-of-staff-governance.component.html"],"names":[],"mappings":"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","sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CompositeKey } from '@memberjunction/core';\nimport { MJAIAgentUserPolicyEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\nimport {\n BuildPolicyDraftFromEntity,\n CHIEF_OF_STAFF_AGENT_NAME,\n ChiefOfStaffPage,\n PolicyCalendarChannelModeValue,\n PolicyCoordinationModeValue,\n PolicyDataAccessModeValue,\n PolicyEmailChannelModeValue,\n PolicyMessagingChannelModeValue,\n PolicyPhoneChannelModeValue,\n PolicyStatusValue,\n} from './chief-of-staff-agent-context';\nimport { BaseChiefOfStaffPage } from './chief-of-staff-page-base';\n\n/**\n * The Chief of Staff application's Governance page: edits the user's\n * `MJ: AI Agent User Policies` record (autonomy, channels, approval guardrails and standing\n * instructions) as a draft, saved explicitly.\n */\n@RegisterClass(BaseResourceComponent, 'ChiefOfStaffGovernance')\n@Component({\n standalone: false,\n selector: 'mj-chief-of-staff-governance',\n templateUrl: './chief-of-staff-governance.component.html',\n styleUrls: ['./chief-of-staff-pages.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChiefOfStaffGovernanceComponent extends BaseChiefOfStaffPage {\n protected readonly Page: ChiefOfStaffPage = 'governance';\n\n public IsSavingPolicy = false;\n public PolicyDirty = false;\n\n public readonly StatusOptions: readonly PolicyStatusValue[] = ['Active', 'Paused', 'Disabled'];\n public readonly CoordinationModeOptions: readonly {\n Value: PolicyCoordinationModeValue;\n Label: string;\n Description: string;\n }[] = [\n {\n Value: 'Observer',\n Label: 'Observer',\n Description: 'Monitors signals and prepares briefings; never initiates changes.',\n },\n {\n Value: 'Coordinator',\n Label: 'Coordinator',\n Description: 'Tracks priorities, drafts communications, and requests approval before high-impact actions.',\n },\n {\n Value: 'Autonomous',\n Label: 'Autonomous',\n Description: 'Executes within policy guardrails and auto-approval thresholds.',\n },\n ];\n public readonly DataAccessModeOptions: readonly {\n Value: PolicyDataAccessModeValue;\n Label: string;\n }[] = [\n { Value: 'ReadOnly', Label: 'Read Only' },\n { Value: 'AllowListOnly', Label: 'Allow-List Only' },\n { Value: 'UserCeiling', Label: 'User Ceiling (Full Delegated Access)' },\n ];\n public readonly EmailChannelOptions: readonly {\n Value: PolicyEmailChannelModeValue;\n Label: string;\n }[] = [\n { Value: 'Disabled', Label: 'Disabled' },\n { Value: 'ReadOnly', Label: 'Read Only' },\n { Value: 'DraftOnly', Label: 'Draft Only' },\n { Value: 'SendAsAgent', Label: 'Send as Chief of Staff' },\n { Value: 'SendAsUser', Label: 'Send on Behalf of User' },\n ];\n public readonly CalendarChannelOptions: readonly {\n Value: PolicyCalendarChannelModeValue;\n Label: string;\n }[] = [\n { Value: 'Disabled', Label: 'Disabled' },\n { Value: 'ReadOnly', Label: 'Read Only' },\n { Value: 'ProposeWithApproval', Label: 'Propose with Approval' },\n { Value: 'Autonomous', Label: 'Autonomous Scheduling' },\n ];\n public readonly PhoneChannelOptions: readonly {\n Value: PolicyPhoneChannelModeValue;\n Label: string;\n }[] = [\n { Value: 'Disabled', Label: 'Disabled' },\n { Value: 'InboundOnly', Label: 'Inbound Only' },\n { Value: 'OutboundWithApproval', Label: 'Outbound with Approval' },\n { Value: 'OutboundAutonomous', Label: 'Outbound Autonomous' },\n ];\n public readonly MessagingChannelOptions: readonly {\n Value: PolicyMessagingChannelModeValue;\n Label: string;\n }[] = [\n { Value: 'Disabled', Label: 'Disabled' },\n { Value: 'Enabled', Label: 'Enabled' },\n ];\n\n /** A reload replaces the draft with the saved policy. */\n protected override OnDataLoaded(): void {\n this.PolicyDirty = false;\n }\n\n public OpenPolicyEntityRecord(): void {\n if (this.PolicyEntity) {\n this.navigationService.OpenEntityRecord(\n 'MJ: AI Agent User Policies',\n CompositeKey.FromID(this.PolicyEntity.ID),\n );\n }\n }\n\n public MarkPolicyDirty(): void {\n this.PolicyDirty = true;\n this.cdr.markForCheck();\n }\n\n public SetCoordinationMode(mode: PolicyCoordinationModeValue): void {\n this.DraftPolicy.CoordinationMode = mode;\n this.MarkPolicyDirty();\n }\n\n public SetPolicyStatus(status: PolicyStatusValue): void {\n this.DraftPolicy.Status = status;\n this.MarkPolicyDirty();\n }\n\n public ToggleApprovalGuardrail(\n field:\n | 'AllowInterAgentCoordination'\n | 'RequireApprovalForExternalComms'\n | 'RequireApprovalForFinancials'\n | 'RequireApprovalForDestructiveActions',\n ): void {\n this.DraftPolicy[field] = !this.DraftPolicy[field];\n this.MarkPolicyDirty();\n }\n\n public OnDisplayNameInput(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.DraftPolicy.DisplayNameOverride = event.target.value;\n this.MarkPolicyDirty();\n }\n }\n\n public OnThresholdInputEvent(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n this.OnThresholdInput(event.target.value);\n }\n }\n\n public OnInstructionsOverrideInput(event: Event): void {\n if (event.target instanceof HTMLTextAreaElement) {\n this.DraftPolicy.InstructionsOverride = event.target.value;\n this.MarkPolicyDirty();\n }\n }\n\n public OnThresholdInput(rawValue: string): void {\n const trimmed = rawValue.trim();\n if (!trimmed) {\n this.DraftPolicy.AutoApproveAmountThreshold = null;\n } else {\n const parsed = Number(trimmed);\n if (Number.isFinite(parsed) && parsed >= 0) {\n this.DraftPolicy.AutoApproveAmountThreshold = parsed;\n }\n }\n this.MarkPolicyDirty();\n }\n\n public ResetDraftPolicy(): void {\n this.DraftPolicy = BuildPolicyDraftFromEntity(this.PolicyEntity);\n this.PolicyDirty = false;\n this.cdr.markForCheck();\n }\n\n public async SaveGovernancePolicy(): Promise<void> {\n if (this.IsSavingPolicy) {\n return;\n }\n this.IsSavingPolicy = true;\n this.cdr.markForCheck();\n\n try {\n let entity = this.PolicyEntity;\n if (!entity) {\n entity = await this.ProviderToUse.GetEntityObject<MJAIAgentUserPolicyEntity>(\n 'MJ: AI Agent User Policies',\n this.ProviderToUse.CurrentUser,\n );\n entity.NewRecord();\n if (!this.chiefOfStaffAgentId) {\n throw new Error(`The \"${CHIEF_OF_STAFF_AGENT_NAME}\" agent id has not been resolved; reload the page.`);\n }\n entity.AgentID = this.chiefOfStaffAgentId;\n const currentUserId = this.ProviderToUse.CurrentUser?.ID;\n if (currentUserId) {\n entity.UserID = currentUserId;\n }\n }\n\n entity.DisplayNameOverride =\n this.DraftPolicy.DisplayNameOverride.trim().length > 0\n ? this.DraftPolicy.DisplayNameOverride.trim()\n : null;\n entity.Status = this.DraftPolicy.Status;\n entity.OnboardingStatus = this.DraftPolicy.OnboardingStatus;\n entity.CoordinationMode = this.DraftPolicy.CoordinationMode;\n entity.DefaultDataAccessMode = this.DraftPolicy.DefaultDataAccessMode;\n entity.EmailChannelMode = this.DraftPolicy.EmailChannelMode;\n entity.CalendarChannelMode = this.DraftPolicy.CalendarChannelMode;\n entity.PhoneChannelMode = this.DraftPolicy.PhoneChannelMode;\n entity.MessagingChannelMode = this.DraftPolicy.MessagingChannelMode;\n entity.AllowInterAgentCoordination = this.DraftPolicy.AllowInterAgentCoordination;\n entity.RequireApprovalForExternalComms =\n this.DraftPolicy.RequireApprovalForExternalComms;\n entity.RequireApprovalForFinancials = this.DraftPolicy.RequireApprovalForFinancials;\n entity.RequireApprovalForDestructiveActions =\n this.DraftPolicy.RequireApprovalForDestructiveActions;\n entity.AutoApproveAmountThreshold = this.DraftPolicy.AutoApproveAmountThreshold;\n entity.InstructionsOverride =\n this.DraftPolicy.InstructionsOverride.trim().length > 0\n ? this.DraftPolicy.InstructionsOverride.trim()\n : null;\n\n const saved = await entity.Save();\n if (saved) {\n this.PolicyEntity = entity;\n this.DraftPolicy = BuildPolicyDraftFromEntity(entity);\n this.PolicyDirty = false;\n this.showBanner('success', 'Chief of Staff governance policy saved.');\n this.publishAgentContext();\n } else {\n const errText =\n entity.LatestResult?.CompleteMessage ?? 'Failed to save governance policy.';\n this.showBanner('error', errText);\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n this.showBanner('error', `Failed to save governance policy: ${msg}`);\n } finally {\n this.IsSavingPolicy = false;\n this.cdr.markForCheck();\n }\n }\n}\n\nexport function LoadChiefOfStaffGovernance(): void {\n // Intentionally empty: forces inclusion of the @RegisterClass side effect.\n}\n","<mj-page-layout>\n <mj-page-header\n Title=\"Governance\"\n Subtitle=\"How much your Chief of Staff may do on its own, and what needs your approval\"\n Icon=\"fa-solid fa-shield-halved\">\n\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 governance policy...\"></mj-loading>\n </div>\n } @else {\n <div class=\"cos-governance-container\">\n <div class=\"cos-governance-header\">\n <div>\n <h3 class=\"cos-governance-header__title\">\n <i class=\"fa-solid fa-shield-halved\"></i> Chief of Staff Governance Policy\n </h3>\n <p class=\"cos-governance-header__subtitle\">\n Backed by <code>MJ: AI Agent User Policies</code> — controls coordination autonomy, communication channels, and approval guardrails for your Chief of Staff.\n </p>\n </div>\n <div class=\"cos-governance-header__actions\">\n @if (PolicyEntity) {\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"OpenPolicyEntityRecord()\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i> Open Policy Record\n </button>\n }\n @if (PolicyDirty) {\n <button mjButton variant=\"outline\" size=\"sm\"\n [disabled]=\"IsSavingPolicy\"\n (click)=\"ResetDraftPolicy()\">\n Reset Changes\n </button>\n }\n <button mjButton variant=\"primary\" size=\"sm\"\n [disabled]=\"IsSavingPolicy || !PolicyDirty\"\n (click)=\"SaveGovernancePolicy()\">\n <i class=\"fa-solid fa-floppy-disk\"></i>\n {{ IsSavingPolicy ? 'Saving...' : 'Save Policy Changes' }}\n </button>\n </div>\n </div>\n\n <!-- Section 1: Coordination Mode -->\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h4 class=\"cos-panel__title\">1. Autonomy & Coordination Mode</h4>\n <p class=\"cos-panel__subtitle\">\n Select how proactively your Chief of Staff operates across your workspace\n </p>\n </div>\n <div class=\"cos-status-segmented\" role=\"group\" aria-label=\"Agent Status\">\n @for (st of StatusOptions; track st) {\n <button mjButton\n [variant]=\"DraftPolicy.Status === st ? 'primary' : 'outline'\"\n size=\"sm\"\n (click)=\"SetPolicyStatus(st)\">\n {{ st }}\n </button>\n }\n </div>\n </div>\n\n <div class=\"cos-mode-cards\">\n @for (mode of CoordinationModeOptions; track mode.Value) {\n <div class=\"cos-mode-card\"\n [class.cos-mode-card--selected]=\"DraftPolicy.CoordinationMode === mode.Value\"\n (click)=\"SetCoordinationMode(mode.Value)\">\n <div class=\"cos-mode-card__top\">\n <span class=\"cos-mode-card__title\">{{ mode.Label }}</span>\n @if (DraftPolicy.CoordinationMode === mode.Value) {\n <i class=\"fa-solid fa-circle-check cos-mode-card__check\"></i>\n }\n </div>\n <p class=\"cos-mode-card__desc\">{{ mode.Description }}</p>\n </div>\n }\n </div>\n\n <div class=\"cos-form-grid\">\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">Custom Display Name</span>\n <input class=\"cos-input\"\n type=\"text\"\n [value]=\"DraftPolicy.DisplayNameOverride\"\n placeholder=\"e.g., Chief of Staff\"\n (input)=\"OnDisplayNameInput($event)\" />\n </label>\n\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">Default Data Access Mode</span>\n <mj-dropdown [Data]=\"DataAccessModeOptions\" TextField=\"Label\" ValueField=\"Value\" [ValuePrimitive]=\"true\"\n [(ngModel)]=\"DraftPolicy.DefaultDataAccessMode\" (ValueChange)=\"MarkPolicyDirty()\">\n </mj-dropdown>\n </label>\n </div>\n </section>\n\n <!-- Section 2: Communication Channel Permissions -->\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h4 class=\"cos-panel__title\">2. Communication Channel Permissions</h4>\n <p class=\"cos-panel__subtitle\">\n Configure what your Chief of Staff is permitted to do on each channel\n </p>\n </div>\n </div>\n\n <div class=\"cos-form-grid\">\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">\n <i class=\"fa-solid fa-envelope\"></i> Email Channel Mode\n </span>\n <mj-dropdown [Data]=\"EmailChannelOptions\" TextField=\"Label\" ValueField=\"Value\" [ValuePrimitive]=\"true\"\n [(ngModel)]=\"DraftPolicy.EmailChannelMode\" (ValueChange)=\"MarkPolicyDirty()\">\n </mj-dropdown>\n </label>\n\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">\n <i class=\"fa-regular fa-calendar\"></i> Calendar Channel Mode\n </span>\n <mj-dropdown [Data]=\"CalendarChannelOptions\" TextField=\"Label\" ValueField=\"Value\" [ValuePrimitive]=\"true\"\n [(ngModel)]=\"DraftPolicy.CalendarChannelMode\" (ValueChange)=\"MarkPolicyDirty()\">\n </mj-dropdown>\n </label>\n\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">\n <i class=\"fa-solid fa-phone\"></i> Phone Channel Mode\n </span>\n <mj-dropdown [Data]=\"PhoneChannelOptions\" TextField=\"Label\" ValueField=\"Value\" [ValuePrimitive]=\"true\"\n [(ngModel)]=\"DraftPolicy.PhoneChannelMode\" (ValueChange)=\"MarkPolicyDirty()\">\n </mj-dropdown>\n </label>\n\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">\n <i class=\"fa-solid fa-comments\"></i> Messaging Channel Mode\n </span>\n <mj-dropdown [Data]=\"MessagingChannelOptions\" TextField=\"Label\" ValueField=\"Value\" [ValuePrimitive]=\"true\"\n [(ngModel)]=\"DraftPolicy.MessagingChannelMode\" (ValueChange)=\"MarkPolicyDirty()\">\n </mj-dropdown>\n </label>\n </div>\n </section>\n\n <!-- Section 3: Approval Guardrails & Financial Threshold -->\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h4 class=\"cos-panel__title\">3. Approval Guardrails & Standing Instructions</h4>\n <p class=\"cos-panel__subtitle\">\n Enforce mandatory human-in-the-loop approval gates before sensitive actions execute\n </p>\n </div>\n </div>\n\n <div class=\"cos-toggle-list\">\n <div class=\"cos-toggle-row\" (click)=\"ToggleApprovalGuardrail('RequireApprovalForExternalComms')\">\n <div>\n <div class=\"cos-toggle-row__title\">Require Approval for External Communications</div>\n <div class=\"cos-toggle-row__desc\">\n Always create an approval request before sending emails or messages to external recipients.\n </div>\n </div>\n <button mjButton\n [variant]=\"DraftPolicy.RequireApprovalForExternalComms ? 'primary' : 'outline'\"\n size=\"sm\"\n (click)=\"ToggleApprovalGuardrail('RequireApprovalForExternalComms'); $event.stopPropagation()\">\n {{ DraftPolicy.RequireApprovalForExternalComms ? 'Required' : 'Not Required' }}\n </button>\n </div>\n\n <div class=\"cos-toggle-row\" (click)=\"ToggleApprovalGuardrail('RequireApprovalForFinancials')\">\n <div>\n <div class=\"cos-toggle-row__title\">Require Approval for Financial Commitments</div>\n <div class=\"cos-toggle-row__desc\">\n Require explicit approval for any financial transaction above the auto-approve threshold.\n </div>\n </div>\n <button mjButton\n [variant]=\"DraftPolicy.RequireApprovalForFinancials ? 'primary' : 'outline'\"\n size=\"sm\"\n (click)=\"ToggleApprovalGuardrail('RequireApprovalForFinancials'); $event.stopPropagation()\">\n {{ DraftPolicy.RequireApprovalForFinancials ? 'Required' : 'Not Required' }}\n </button>\n </div>\n\n <div class=\"cos-toggle-row\" (click)=\"ToggleApprovalGuardrail('RequireApprovalForDestructiveActions')\">\n <div>\n <div class=\"cos-toggle-row__title\">Require Approval for Destructive Actions</div>\n <div class=\"cos-toggle-row__desc\">\n Require human confirmation before deleting records, canceling events, or revoking access.\n </div>\n </div>\n <button mjButton\n [variant]=\"DraftPolicy.RequireApprovalForDestructiveActions ? 'primary' : 'outline'\"\n size=\"sm\"\n (click)=\"ToggleApprovalGuardrail('RequireApprovalForDestructiveActions'); $event.stopPropagation()\">\n {{ DraftPolicy.RequireApprovalForDestructiveActions ? 'Required' : 'Not Required' }}\n </button>\n </div>\n\n <div class=\"cos-toggle-row\" (click)=\"ToggleApprovalGuardrail('AllowInterAgentCoordination')\">\n <div>\n <div class=\"cos-toggle-row__title\">Allow Inter-Agent Delegation & Coordination</div>\n <div class=\"cos-toggle-row__desc\">\n Permit your Chief of Staff to invoke specialist sub-agents and coordinate with peer agents.\n </div>\n </div>\n <button mjButton\n [variant]=\"DraftPolicy.AllowInterAgentCoordination ? 'primary' : 'outline'\"\n size=\"sm\"\n (click)=\"ToggleApprovalGuardrail('AllowInterAgentCoordination'); $event.stopPropagation()\">\n {{ DraftPolicy.AllowInterAgentCoordination ? 'Allowed' : 'Blocked' }}\n </button>\n </div>\n </div>\n\n <div class=\"cos-form-grid cos-form-grid--spaced\">\n <label class=\"cos-form-field\">\n <span class=\"cos-form-field__label\">Auto-Approve Financial Threshold (USD)</span>\n <input class=\"cos-input\"\n type=\"number\"\n min=\"0\"\n step=\"50\"\n [value]=\"DraftPolicy.AutoApproveAmountThreshold ?? ''\"\n placeholder=\"0.00\"\n (input)=\"OnThresholdInputEvent($event)\" />\n </label>\n\n <label class=\"cos-form-field cos-form-field--full\">\n <span class=\"cos-form-field__label\">Standing Executive Instructions Override</span>\n <textarea class=\"cos-textarea\"\n rows=\"3\"\n [value]=\"DraftPolicy.InstructionsOverride\"\n placeholder=\"Optional standing instructions injected into every Chief of Staff run (e.g., preferred briefing style, VIP contacts, scheduling windows)...\"\n (input)=\"OnInstructionsOverrideInput($event)\"></textarea>\n </label>\n </div>\n </section>\n </div>\n }\n </mj-page-body>\n</mj-page-layout>\n"]}
@@ -0,0 +1,14 @@
1
+ import { type MJEvent } from '@memberjunction/global';
2
+ /**
3
+ * Core entities whose change should reload the Chief of Staff pages. MJAPI broadcasts every
4
+ * entity save and delete to browsers (the client raises them as `remote-invalidate`
5
+ * BaseEntity events), including saves made by server-side code such as a wake run, so a
6
+ * request or run created by the agent shows up without a manual refresh.
7
+ */
8
+ export declare const CHIEF_OF_STAFF_LIVE_ENTITIES: readonly string[];
9
+ /**
10
+ * True when `event` is a BaseEntity save, delete or remote-invalidate for an entity the
11
+ * Chief of Staff pages show. Entity names compare case-insensitively.
12
+ */
13
+ export declare function IsChiefOfStaffEntityChange(event: MJEvent): boolean;
14
+ //# sourceMappingURL=chief-of-staff-live-refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-live-refresh.d.ts","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-live-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGnE;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAKzD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUlE"}
@@ -0,0 +1,39 @@
1
+ import { MJEventType } from '@memberjunction/global';
2
+ import { BaseEntity } from '@memberjunction/core';
3
+ /**
4
+ * Core entities whose change should reload the Chief of Staff pages. MJAPI broadcasts every
5
+ * entity save and delete to browsers (the client raises them as `remote-invalidate`
6
+ * BaseEntity events), including saves made by server-side code such as a wake run, so a
7
+ * request or run created by the agent shows up without a manual refresh.
8
+ */
9
+ export const CHIEF_OF_STAFF_LIVE_ENTITIES = [
10
+ 'MJ: AI Agent Requests',
11
+ 'MJ: User Routines',
12
+ 'MJ: User Routine Runs',
13
+ 'MJ: AI Agent User Policies',
14
+ ];
15
+ /**
16
+ * True when `event` is a BaseEntity save, delete or remote-invalidate for an entity the
17
+ * Chief of Staff pages show. Entity names compare case-insensitively.
18
+ */
19
+ export function IsChiefOfStaffEntityChange(event) {
20
+ if (event.event !== MJEventType.ComponentEvent || event.eventCode !== BaseEntity.BaseEventCode || !event.args) {
21
+ return false;
22
+ }
23
+ const entityName = entityNameOf(event.args);
24
+ if (entityName == null) {
25
+ return false;
26
+ }
27
+ const name = entityName.trim().toLowerCase();
28
+ return CHIEF_OF_STAFF_LIVE_ENTITIES.some((n) => n.trim().toLowerCase() === name);
29
+ }
30
+ function entityNameOf(event) {
31
+ if (event.type === 'remote-invalidate') {
32
+ return event.entityName ?? null;
33
+ }
34
+ if (event.type === 'save' || event.type === 'delete') {
35
+ return event.baseEntity?.EntityInfo?.Name ?? null;
36
+ }
37
+ return null;
38
+ }
39
+ //# sourceMappingURL=chief-of-staff-live-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-live-refresh.js","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-live-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAwB,MAAM,sBAAsB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC3D,uBAAuB;IACvB,mBAAmB;IACnB,uBAAuB;IACvB,4BAA4B;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACrD,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5G,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAuB,CAAC,CAAC;IAC/D,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,YAAY,CAAC,KAAsB;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import { MJEventType, type MJEvent } from '@memberjunction/global';\nimport { BaseEntity, type BaseEntityEvent } from '@memberjunction/core';\n\n/**\n * Core entities whose change should reload the Chief of Staff pages. MJAPI broadcasts every\n * entity save and delete to browsers (the client raises them as `remote-invalidate`\n * BaseEntity events), including saves made by server-side code such as a wake run, so a\n * request or run created by the agent shows up without a manual refresh.\n */\nexport const CHIEF_OF_STAFF_LIVE_ENTITIES: readonly string[] = [\n 'MJ: AI Agent Requests',\n 'MJ: User Routines',\n 'MJ: User Routine Runs',\n 'MJ: AI Agent User Policies',\n];\n\n/**\n * True when `event` is a BaseEntity save, delete or remote-invalidate for an entity the\n * Chief of Staff pages show. Entity names compare case-insensitively.\n */\nexport function IsChiefOfStaffEntityChange(event: MJEvent): boolean {\n if (event.event !== MJEventType.ComponentEvent || event.eventCode !== BaseEntity.BaseEventCode || !event.args) {\n return false;\n }\n const entityName = entityNameOf(event.args as BaseEntityEvent);\n if (entityName == null) {\n return false;\n }\n const name = entityName.trim().toLowerCase();\n return CHIEF_OF_STAFF_LIVE_ENTITIES.some((n) => n.trim().toLowerCase() === name);\n}\n\nfunction entityNameOf(event: BaseEntityEvent): string | null {\n if (event.type === 'remote-invalidate') {\n return event.entityName ?? null;\n }\n if (event.type === 'save' || event.type === 'delete') {\n return event.baseEntity?.EntityInfo?.Name ?? null;\n }\n return null;\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { ChiefOfStaffPage } from './chief-of-staff-agent-context';
2
+ import { BaseChiefOfStaffPage } from './chief-of-staff-page-base';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * The Chief of Staff application's Overview page: counts, the top pending approvals and the
6
+ * next wake routines, each linking to the page that manages it.
7
+ *
8
+ * Also registered under the driver classes of the former single dashboard, so a tab saved
9
+ * before the split still opens.
10
+ */
11
+ export declare class ChiefOfStaffOverviewComponent extends BaseChiefOfStaffPage {
12
+ protected readonly Page: ChiefOfStaffPage;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChiefOfStaffOverviewComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChiefOfStaffOverviewComponent, "mj-chief-of-staff-overview", never, {}, {}, never, never, false, never>;
15
+ }
16
+ export declare function LoadChiefOfStaffOverview(): void;
17
+ //# sourceMappingURL=chief-of-staff-overview.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chief-of-staff-overview.component.d.ts","sourceRoot":"","sources":["../../src/ChiefOfStaff/chief-of-staff-overview.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;;AAElE;;;;;;GAMG;AACH,qBAUa,6BAA8B,SAAQ,oBAAoB;IACnE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAc;yCAD9C,6BAA6B;2CAA7B,6BAA6B;CAEzC;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}