@memberjunction/ng-dashboards 5.3.0 → 5.4.0

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 (173) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  2. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  3. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  4. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  5. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  6. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  7. package/dist/AI/components/models/model-management.component.js.map +1 -1
  8. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  10. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  11. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  12. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  13. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  14. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  15. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  16. package/dist/AI/index.js.map +1 -1
  17. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  18. package/dist/APIKeys/api-applications-panel.component.js +2 -2
  19. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  20. package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
  21. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  22. package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
  23. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  24. package/dist/APIKeys/api-key-list.component.js +2 -2
  25. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  26. package/dist/APIKeys/api-keys-resource.component.js +2 -2
  27. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  28. package/dist/APIKeys/api-scopes-panel.component.js +2 -2
  29. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  30. package/dist/APIKeys/api-usage-panel.component.js +2 -2
  31. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  32. package/dist/APIKeys/index.js.map +1 -1
  33. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  34. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  35. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  36. package/dist/Actions/components/code-management.component.js.map +1 -1
  37. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  38. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  39. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  40. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
  41. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  42. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  43. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  44. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  45. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  46. package/dist/Actions/components/explorer/index.js.map +1 -1
  47. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  48. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  49. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  50. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  51. package/dist/Actions/index.js.map +1 -1
  52. package/dist/Actions/services/action-explorer-state.service.js.map +1 -1
  53. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  54. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  55. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  56. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  57. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  58. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  59. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  60. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  61. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  62. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  63. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  64. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  65. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  66. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  67. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  68. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  69. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  70. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  71. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  72. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  73. package/dist/ComponentStudio/index.js.map +1 -1
  74. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
  75. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  76. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  77. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  78. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  79. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  80. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  81. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  82. package/dist/Credentials/index.js.map +1 -1
  83. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  84. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  85. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  86. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  87. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +25 -3
  88. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  89. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +158 -34
  90. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  91. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  92. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +57 -23
  93. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  94. package/dist/DataExplorer/data-explorer-dashboard.component.js +600 -445
  95. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  96. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  97. package/dist/DataExplorer/index.js.map +1 -1
  98. package/dist/DataExplorer/models/explorer-state.interface.d.ts +25 -0
  99. package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -1
  100. package/dist/DataExplorer/models/explorer-state.interface.js +6 -1
  101. package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -1
  102. package/dist/DataExplorer/services/explorer-state.service.d.ts +21 -3
  103. package/dist/DataExplorer/services/explorer-state.service.d.ts.map +1 -1
  104. package/dist/DataExplorer/services/explorer-state.service.js +70 -36
  105. package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
  106. package/dist/EntityAdmin/entity-admin-dashboard.component.js +2 -2
  107. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  108. package/dist/Home/home-application.js.map +1 -1
  109. package/dist/Home/home-dashboard.component.d.ts +20 -5
  110. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  111. package/dist/Home/home-dashboard.component.js +128 -79
  112. package/dist/Home/home-dashboard.component.js.map +1 -1
  113. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  114. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  115. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  116. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  117. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  118. package/dist/Lists/index.js.map +1 -1
  119. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  120. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  121. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  122. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  123. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  124. package/dist/MCP/index.js.map +1 -1
  125. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  126. package/dist/MCP/mcp-filter-panel.component.js.map +1 -1
  127. package/dist/MCP/mcp-resource.component.js.map +1 -1
  128. package/dist/MCP/mcp.module.js.map +1 -1
  129. package/dist/MCP/services/mcp-tools.service.js.map +1 -1
  130. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  131. package/dist/Scheduling/components/index.js.map +1 -1
  132. package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
  133. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  134. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  135. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  136. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  137. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  138. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  139. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  140. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  141. package/dist/SystemDiagnostics/index.js.map +1 -1
  142. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  143. package/dist/SystemDiagnostics/system-diagnostics.component.js +3 -3
  144. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  145. package/dist/Testing/components/index.js.map +1 -1
  146. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  147. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  148. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  149. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  150. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  151. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  152. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  153. package/dist/Testing/components/testing-review.component.js.map +1 -1
  154. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  155. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  156. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  157. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  158. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  159. package/dist/Testing/services/testing-instrumentation.service.js.map +1 -1
  160. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  161. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  162. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  163. package/dist/VersionHistory/components/index.js.map +1 -1
  164. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  165. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  166. package/dist/VersionHistory/index.js.map +1 -1
  167. package/dist/__tests__/dashboards.test.js.map +1 -1
  168. package/dist/module.js.map +1 -1
  169. package/dist/public-api.js.map +1 -1
  170. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
  171. package/dist/shared/pipes/index.js.map +1 -1
  172. package/dist/shared/shared-pipes.module.js.map +1 -1
  173. package/package.json +38 -38
@@ -1 +1 @@
1
- {"version":3,"file":"system-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/system/system-configuration.component.ts","../../../../src/AI/components/system/system-configuration.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-configuration.component.js","sourceRoot":"","sources":["../../../../src/AI/components/system/system-configuration.component.ts","../../../../src/AI/components/system/system-configuration.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;;;;;;;;;ICU3E,8BACF;;;IACE,8BACF;;;IAuEI,+BAA+B;IAC7B,iCAA0E;IAC5E,iBAAM;;;IAMJ,AADF,+BAA6B,YACF;IACvB,wBAAgD;IAChD,YACF;IACF,AADE,iBAAI,EACA;;;IAFF,eACF;IADE,6CACF;;;IAOA,+BAAyB;IACvB,uBAAmC;IACnC,0BAAI;IAAA,uCAAuB;IAAA,iBAAK;IAChC,yBAAG;IAAA,kIAAkH;IACvH,AADuH,iBAAI,EACrH;;;IAiBY,gCAA4B;IAC1B,wBAAgC;IAChC,yBACF;IAAA,iBAAO;;;IAiBb,6BAA8B;IAAA,YAAwB;IAAA,iBAAI;;;IAA5B,cAAwB;IAAxB,2CAAwB;;;IAEtD,6BAAyC;IAAA,uCAAuB;IAAA,iBAAI;;;;IA8B5D,+BAAwH;IAA/F,gSAAS,mEAA0D,wBAAE,wBAAwB,KAAC;IAEnH,AADF,+BAA8B,cACE;IAC5B,wBAAoC;IACtC,iBAAM;IAEJ,AADF,+BAAiC,eACC;IAAA,mCAAmB;IAAA,iBAAO;IAC1D,gCAA+B;IAAA,YAAmC;IAEtE,AADE,AADoE,iBAAO,EACrE,EACF;IACN,wBAAyD;IAC3D,iBAAM;;;IAJ+B,eAAmC;IAAnC,sDAAmC;;;IAMxE,+BAAuB;IAAA,gDAAgC;IAAA,iBAAM;;;;IAI7D,+BAA0H;IAAjG,gSAAS,qEAA4D,wBAAE,wBAAwB,KAAC;IAErH,AADF,+BAA8B,cACE;IAC5B,wBAAsC;IACxC,iBAAM;IAEJ,AADF,+BAAiC,eACC;IAAA,qCAAqB;IAAA,iBAAO;IAC5D,gCAA+B;IAAA,YAAqC;IAExE,AADE,AADsE,iBAAO,EACvE,EACF;IACN,wBAAyD;IAC3D,iBAAM;;;IAJ+B,eAAqC;IAArC,wDAAqC;;;IAM1E,+BAAuB;IAAA,kDAAkC;IAAA,iBAAM;;;;IAc7D,+BAA+E;IAAvD,gRAAS,4BAAkB,wBAAE,wBAAwB,KAAC;IAE1E,AADF,+BAAwB,cACO;IAC3B,oBAA8C;IAChD,iBAAM;IAEJ,AADF,+BAA2B,eACA;IAAA,YAAgB;IAAA,iBAAO;IAChD,gCAAyB;IAAA,YAAgB;IAE7C,AADE,AAD2C,iBAAO,EAC5C,EACF;IACN,gCAA0B;IAAA,aAA6B;IACzD,AADyD,iBAAO,EAC1D;;;;IARG,eAAsC;IAAtC,qDAAsC;IAGhB,eAAgB;IAAhB,mCAAgB;IAChB,eAAgB;IAAhB,mCAAgB;IAGnB,eAA6B;IAA7B,uDAA6B;;;IAhB7D,AADF,+BAA4B,aACA;IACxB,wBAAgC;IAChC,0CACF;IAAA,iBAAK;IACL,+BAAyB;IACvB,gLAaC;IAEL,AADE,iBAAM,EACF;;;IAfF,eAaC;IAbD,+BAaC;;;IAKH,AADF,+BAA4B,aACA;IACxB,wBAAgC;IAChC,0CACF;IAAA,iBAAK;IACL,+BAAuB;IAAA,wCAAwB;IACjD,AADiD,iBAAM,EACjD;;;IAvFJ,AADF,AADF,AAFF,+BAA8B,cAEF,cACD,eACI;IAAA,0BAAU;IAAA,iBAAO;IAC1C,gCAAyB;IAAA,YAAgC;IAC3D,AAD2D,iBAAO,EAC5D;IAEJ,AADF,+BAAuB,eACI;IAAA,uBAAO;IAAA,iBAAO;IACvC,iCAAyB;IAAA,aAAuC;IAClE,AADkE,iBAAO,EACnE;IAEJ,AADF,gCAAuB,gBACI;IAAA,wBAAO;IAAA,iBAAO;IACvC,iCAAyB;IAAA,aAAuC;IAEpE,AADE,AADkE,iBAAO,EACnE,EACF;IAIJ,AADF,gCAA6B,cACD;IACxB,yBAAyC;IACzC,iCACF;IAAA,iBAAK;IACL,gCAA0B;IActB,AAbF,kKAAgC,2IAavB;IAiBP,AAbF,kKAAkC,2IAazB;IAIb,AADE,iBAAM,EACF;IA0BJ,AAvBF,iKAAiD,2IAuBxC;IASX,iBAAM;;;;IAxFyB,eAAgC;IAAhC,sFAAgC;IAIhC,eAAuC;IAAvC,iEAAuC;IAIvC,eAAuC;IAAvC,iEAAuC;IAWhE,eAeC;IAfD,uDAeC;IAED,eAeC;IAfD,yDAeC;IAKL,eA+BC;IA/BD,2EA+BC;;;;IAhIP,AAFF,+BAA8D,cAEF;IAAjC,6PAAS,gCAAsB,KAAC;IAErD,AADF,+BAAyB,cACE;IACvB,uBAAmC;IACrC,iBAAM;IAEJ,AADF,+BAA4B,aACF;IAAA,YAAiB;IAAA,iBAAK;IAC9C,+BAAyB;IACvB,iJAAwB;IAMxB,iCAAqE;IACnE,qBAA8C;IAC9C,aACF;IAGN,AADE,AADE,AADE,iBAAO,EACH,EACF,EACF;IAEN,yBAC2C;IAC7C,iBAAM;IAGN,gCAAuB;IAGnB,AAFF,gJAA0B,0HAEjB;IAKT,mJAAyB;IAgG3B,iBAAM;IAGN,gCAA6D;IAAnC,oMAAS,wBAAwB,KAAC;IAC1D,mCAIuB;IADrB,uQAAS,2CAAiC,KAAC;IAE3C,yBAA+B;IAC/B,0BACF;IAAA,iBAAS;IAET,mCAGwC;IAAtC,iQAAS,qCAA2B,KAAC;IACrC,yBAAgC;IAChC,4BACF;IAEJ,AADE,AADE,iBAAS,EACL,EACF;;;;IA1JmB,gDAAoC;IAQ7B,eAAiB;IAAjB,oCAAiB;IAEvC,eAKC;IALD,8CAKC;IAC0B,cAAyC;IAAzC,iEAAyC;IAC/D,cAAsC;IAAtC,qDAAsC;IACzC,cACF;IADE,iDACF;IAMH,cAAmC;IAAnC,+CAAmC;IAKtC,eAIC;IAJD,iDAIC;IAGD,eA+FC;IA/FD,gDA+FC;;;IAtIT,+BAAiC;IAC/B,6IA4JC;IACH,iBAAM;;;IA7JJ,cA4JC;IA5JD,4CA4JC;;;IAyDiB,gCAAsD;IACpD,wBAAgC;IAChC,yBACF;IAAA,iBAAO;;;IAIT,+BAAsC;IAAA,YAAwB;IAAA,iBAAM;;;IAA9B,cAAwB;IAAxB,4CAAwB;;;;IAdlE,AADF,AADF,AADF,0BAAI,SACE,cAC4B,cACG;IAC7B,uBAAmC;IACrC,iBAAM;IAEJ,AADF,2BAAK,cAC2B;IAC5B,YACA;IAAA,kJAAwB;IAM1B,iBAAM;IACN,iJAA0B;IAKhC,AADE,AADE,iBAAM,EACF,EACH;IAEH,AADF,2BAAI,gBACmE;IACnE,qBAA8C;IAC9C,aACF;IACF,AADE,iBAAO,EACJ;IACL,2BAAI;IAAA,aAAgC;IAAA,iBAAK;IACzC,2BAAI;IAAA,aAAuC;IAAA,iBAAK;IAG5C,AADF,AADF,2BAAI,eACyB,kBAKF;IADrB,mQAAS,oCAAyB,KAAC;IAEnC,yBAA+B;IACjC,iBAAS;IACT,mCAGwC;IAAtC,mQAAS,sCAA2B,KAAC;IACrC,yBAAgC;IAIxC,AADE,AADE,AADE,iBAAS,EACL,EACH,EACF;;;;IAvCK,eACA;IADA,gDACA;IAAA,cAKC;IALD,+CAKC;IAEH,cAEC;IAFD,iDAEC;IAKsB,eAAyC;IAAzC,kEAAyC;IAC/D,cAAsC;IAAtC,sDAAsC;IACzC,cACF;IADE,kDACF;IAEE,eAAgC;IAAhC,wFAAgC;IAChC,eAAuC;IAAvC,kEAAuC;;;;IAlE7C,AADF,AADF,AADF,AADF,+BAAiC,gBACK,YAC3B,SACD,aAGmE;IAFjE,0NAAS,cAAO,MAAM,CAAC,KAAC;IAG1B,gCAA0B;IACxB,+BACA;IAAA,wBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,8BAEuE;IAFnE,0NAAS,cAAO,QAAQ,CAAC,KAAC;IAG5B,gCAA0B;IACxB,yBACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,+BAE2E;IAFvE,2NAAS,cAAO,YAAY,CAAC,KAAC;IAGhC,iCAA0B;IACxB,6BACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,+BAEwE;IAFpE,2NAAS,cAAO,SAAS,CAAC,KAAC;IAG7B,iCAA0B;IACxB,0BACA;IAAA,yBAAgD;IAEpD,AADE,iBAAO,EACJ;IACL,2BAAI;IAAA,wBAAO;IAEf,AADE,AADa,iBAAK,EACb,EACC;IACR,8BAAO;IACL,+IAiDC;IAGP,AADE,AADE,iBAAQ,EACF,EACJ;;;IAvFM,eAAsC;IACtC,AADA,sDAAsC,yEAC0B;IAOhE,eAAwC;IACxC,AADA,wDAAwC,2EAC0B;IAOlE,eAA4C;IAC5C,AADA,4DAA4C,+EAC0B;IAOtE,eAAyC;IACzC,AADA,yDAAyC,4EAC0B;IAUzE,eAiDC;IAjDD,4CAiDC;;;IA7PT,4HAA2B;IAmK3B,8HAA2B;;;IAnK3B,qDAgKC;IAGD,cA8FC;IA9FD,qDA8FC;;;IAnQD,AANF,8GAA2C,6EAMlC;;;IANT,oEA0QC;;;;IAST,+BAA+D;IAA7B,+LAAS,yBAAkB,KAAC;IAAC,iBAAM;;;IAgC3D,iCAAoC;IAClC,wBAAgC;IAChC,uCACF;IAAA,iBAAO;;;IAQT,AADF,gCAA4B,cACO;IAC/B,yBAAsC;IACtC,6BACF;IAAA,iBAAK;IACL,8BAA8B;IAAA,YAAgC;IAChE,AADgE,iBAAI,EAC9D;;;IAD0B,eAAgC;IAAhC,uDAAgC;;;IAiCxD,YACF;;;IADE,6EACF;;;IACE,iCAAoB;IAAA,8BAAc;IAAA,iBAAO;;;IAQzC,YACF;;;IADE,+EACF;;;IACE,iCAAoB;IAAA,8BAAc;IAAA,iBAAO;;;IAiBzC,AADF,gCAA+B,cACL;IACtB,oBAA8C;IAC9C,gCAAyB;IAAA,YAAgB;IAC3C,AAD2C,iBAAO,EAC5C;IACN,gCAA0B;IAAA,YAA6B;IACzD,AADyD,iBAAO,EAC1D;;;;IAJC,eAAsC;IAAtC,sDAAsC;IAChB,eAAgB;IAAhB,oCAAgB;IAEjB,eAA6B;IAA7B,wDAA6B;;;IAIzD,gCAAyB;IACvB,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,yFACF;;;IAjBJ,AADF,gCAA4B,cACO;IAC/B,wBAAgC;IAChC,YACF;IAAA,iBAAK;IACL,gCAAgC;IAC9B,+HAQC;IACD,8HAAwC;IAM5C,AADE,iBAAM,EACF;;;IAlBF,eACF;IADE,iFACF;IAEE,eAQC;IARD,cAAA,mCAA4B,CAAC,EAAE,CAAC,CAAC,CAQhC;IACD,eAIC;IAJD,kEAIC;;;;IA/GL,AADF,AADF,+BAAiC,cACC,cACL;IACvB,uBAAmC;IACrC,iBAAM;IAEJ,AADF,gCAA+B,SACzB;IAAA,YAAyB;IAAA,iBAAK;IAClC,iCAA8B;IAAA,gCAAgB;IAElD,AADE,AADgD,iBAAO,EACjD,EACF;IACN,mCAAgE;IAA7B,kMAAS,yBAAkB,KAAC;IAC7D,0BAAiC;IAErC,AADE,iBAAS,EACL;IAOA,AADF,AADF,AAFF,iCAAkC,gBAEJ,gBACC,gBACoD;IAC3E,qBAAsD;IACtD,aACF;IAAA,iBAAO;IACP,kHAAgC;IAOpC,AADE,iBAAM,EACF;IAGN,iHAAkC;IAYhC,AADF,iCAA4B,eACO;IAC/B,0BAAqC;IACrC,2BACF;IAAA,iBAAK;IAGD,AADF,AADF,iCAAyB,gBACE,iBACI;IAAA,2BAAU;IAAA,iBAAO;IAC5C,kCAA2B;IAAA,aAAwC;IACrE,AADqE,iBAAO,EACtE;IAEJ,AADF,iCAAyB,iBACI;IAAA,uBAAM;IAAA,iBAAO;IACxC,kCAA2B;IAAA,aAA2B;IAG5D,AADE,AADE,AADwD,iBAAO,EACzD,EACF,EACF;IAIJ,AADF,iCAA4B,eACO;IAC/B,yBAAyC;IACzC,iCACF;IAAA,iBAAK;IAGD,AADF,AADF,iCAAuC,gBACZ,iBACI;IAAA,oCAAmB;IAAA,iBAAO;IACrD,kCAA2B;IAGvB,AAFF,qGAAwC,4FAE/B;IAIb,AADE,iBAAO,EACH;IAEJ,AADF,iCAAyB,iBACI;IAAA,sCAAqB;IAAA,iBAAO;IACvD,kCAA2B;IAGvB,AAFF,qGAA0C,4FAEjC;IAMjB,AADE,AADE,AADE,iBAAO,EACH,EACF,EACF;IAGN,iHAAiE;IA2B/D,AADF,iCAA4B,eACO;IAC/B,0BAAiC;IACjC,6BACF;IAAA,iBAAK;IAGD,AADF,AADF,iCAAyB,gBACE,iBACI;IAAA,wBAAO;IAAA,iBAAO;IACzC,kCAA2B;IAAA,aAA+C;IAC5E,AAD4E,iBAAO,EAC7E;IAEJ,AADF,iCAAyB,iBACI;IAAA,wBAAO;IAAA,iBAAO;IACzC,kCAA2B;IAAA,aAA+C;IAIlF,AADE,AADE,AADE,AAD4E,iBAAO,EAC7E,EACF,EACF,EACF;IAIJ,AADF,iCAAkC,mBAIE;IAAhC,mMAAS,4BAAqB,KAAC;IAC/B,yBAAgC;IAChC,mCACF;IACF,AADE,iBAAS,EACL;;;IA5II,eAAyB;IAAzB,gDAAyB;IAcF,eAAiD;IAAjD,6EAAiD;IACvE,cAA8C;IAA9C,iEAA8C;IACjD,cACF;IADE,6DACF;IACA,cAKC;IALD,2DAKC;IAKL,cAQC;IARD,6DAQC;IAWgC,gBAAwC;IAAxC,8GAAwC;IAIxC,eAA2B;IAA3B,kDAA2B;IAepD,gBAIC;IAJD,mEAIC;IAMD,eAIC;IAJD,qEAIC;IAOT,eAuBC;IAvBD,mGAuBC;IAWgC,gBAA+C;IAA/C,6EAA+C;IAI/C,eAA+C;IAA/C,6EAA+C;;ADnfxF;;;GAGG;AAQI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,qBAAqB;IAgC3D;IACA;IA/BH,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAAkB,IAAI,CAAC;IAC5B,kBAAkB,GAAG,IAAI,CAAC;IAC1B,QAAQ,GAAoB,MAAM,CAAC;IAEnC,cAAc,GAA8B,EAAE,CAAC;IAC/C,sBAAsB,GAA8B,EAAE,CAAC;IACvD,SAAS,GAAmC,EAAE,CAAC;IAC/C,UAAU,GAA+B,EAAE,CAAC;IAE5C,cAAc,GAAuB;QAC1C,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,UAAU;IACH,UAAU,GAAW,MAAM,CAAC;IAC5B,aAAa,GAAmB,KAAK,CAAC;IAE7C,eAAe;IACR,cAAc,GAAmC,IAAI,CAAC;IACtD,kBAAkB,GAAG,KAAK,CAAC;IAElC,QAAQ;IACD,YAAY,GAAG,CAAC,CAAC;IACjB,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAmC,IAAI,CAAC;IAE5D,YACU,iBAAoC,EACpC,GAAsB;QAE9B,KAAK,EAAE,CAAC;QAHA,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,QAAG,GAAH,GAAG,CAAmB;IAGhC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAEzB,8DAA8D;YAC9D,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1C,oCAAoC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;YACrD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;YAE9C,sDAAsD;YACtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACzC,MAAM,QAAQ,GAAG,MAAiC,CAAC;gBACnD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;gBAE5B,sBAAsB;gBACtB,IAAI,MAAM,CAAC,oCAAoC,EAAE,CAAC;oBAChD,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,oCAAoC,CAAC,IAAI,IAAI,CAAC;gBAC/G,CAAC;gBACD,IAAI,MAAM,CAAC,sCAAsC,EAAE,CAAC;oBAClD,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,sCAAsC,CAAC,IAAI,IAAI,CAAC;gBACnH,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAE1B,kBAAkB;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;YACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YAExE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,qDAAqD,CAAC;YACnE,QAAQ,CAAC,iCAAiC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAEM,WAAW,CAAC,IAAqB;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEM,cAAc,CAAC,MAA+B;QACnD,MAAM,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;IACzC,CAAC;IAEM,eAAe,CAAC,OAA2B;QAChD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,cAAc,GAAG;YACpB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAExC,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAClC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7D,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACjE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrF,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,MAAM,CAAC;YAC3D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,kCAAkC;YAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAkC;QACrD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,MAAoD,CAAC;YACzD,IAAI,MAAoD,CAAC;YAEzD,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,MAAM;oBACT,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oBAClB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oBAClB,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;oBAChB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,4BAA4B;YAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAClE,CAAC;YAED,iCAAiC;YACjC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAErD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,MAA+B;QACxD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IAEM,YAAY,CAAC,QAAgB;QAClC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAEM,WAAW,CAAC,KAAmC;QACpD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,MAA+B,EAAE,KAAa;QACrE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,uDAAuD;QACvD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;YACtC,KAAK,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACxC,KAAK,UAAU,CAAC,CAAC,OAAO,iBAAiB,CAAC;YAC1C,KAAK,YAAY,CAAC,CAAC,OAAO,mBAAmB,CAAC;YAC9C,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,MAAc;QACjC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,OAAO,0BAA0B,CAAC;YACjD,KAAK,SAAS,CAAC,CAAC,OAAO,mBAAmB,CAAC;YAC3C,KAAK,UAAU,CAAC,CAAC,OAAO,0BAA0B,CAAC;YACnD,KAAK,YAAY,CAAC,CAAC,OAAO,kCAAkC,CAAC;YAC7D,OAAO,CAAC,CAAC,OAAO,6BAA6B,CAAC;QAChD,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,IAAY;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ,CAAC,CAAC,OAAO,kBAAkB,CAAC;YACzC,KAAK,QAAQ,CAAC,CAAC,OAAO,qBAAqB,CAAC;YAC5C,KAAK,SAAS,CAAC,CAAC,OAAO,uBAAuB,CAAC;YAC/C,KAAK,MAAM,CAAC,CAAC,OAAO,sBAAsB,CAAC;YAC3C,KAAK,QAAQ,CAAC,CAAC,OAAO,4BAA4B,CAAC;YACnD,OAAO,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACrC,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,KAAmC;QACzD,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC;QAErC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS;gBACZ,OAAO,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,KAAK,QAAQ;gBACX,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;gBACnF,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC9C,CAAC;YACH;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACxF,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,IAAU;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAChD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,sBAAsB,CAAC,KAAmB;QAC9C,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAmB;QAC5C,OAAO,qBAAqB,CAAC;IAC/B,CAAC;sHAvUU,4BAA4B;6DAA5B,4BAA4B;YC3BnC,AADF,AADF,AAFF,8BAA4C,aAEZ,aACH,YACK;YAC1B,uBAAmC;YACnC,kCACF;YAAA,iBAAK;YACL,iCAIyB;YADvB,yGAAS,uBAAmB,IAAC;YAE7B,uBAAkC;YAGhC,AAFF,oFAA0B,8DAEjB;YAGX,iBAAS;YACT,gCAA2B;YACzB,aACF;YACF,AADE,iBAAO,EACH;YAKF,AADF,AAFF,+BAA6B,cAEF,kBAMH;YADlB,0GAAS,gBAAY,MAAM,CAAC,IAAC;YAE7B,yBAAkC;YACpC,iBAAS;YACT,mCAKoB;YADlB,0GAAS,gBAAY,MAAM,CAAC,IAAC;YAE7B,yBAAgC;YAEpC,AADE,iBAAS,EACL;YAEN,mCAKkB;YAFhB,0GAAS,cAAU,IAAC;YAGpB,yBAA+D;YAC/D,0BACF;YAEJ,AADE,AADE,iBAAS,EACL,EACF;YAeA,AANF,AALF,AADF,gCAA0B,0BAGG,+BAQQ,yCAQM;YAAnC,AADA,AADA,AADA,uJAAiB,2BAAuB,IAAC,kIACzB,oBAAgB,IAAC,kIACjB,oBAAgB,IAAC,8HACnB,uBAAmB,IAAC;YAEtC,AADE,iBAAgC,EACZ;YAMpB,AAHF,gDAEuB,eACe;YAElC,iGAAiB;YAOjB,iGAA2B;YAU3B,sFAA4B;YAgRpC,AADE,AADE,AADE,iBAAM,EACc,EACP,EACb;YAGN,iGAA0B;YAK1B,gCAA+D;YAC7D,wFAAsB;YAuJ1B,AADE,iBAAM,EACF;;YA3gBE,eAIC;YAJD,gDAIC;YAGD,eACF;YADE,oHACF;YASI,eAAoC;YAApC,iDAAoC;YAQpC,eAAoC;YAApC,iDAAoC;YAWtC,eAAsB;YAAtB,wCAAsB;YAES,cAA2B;YAA3B,wCAA2B;YAc1D,eAA6C;YAI7C,AADA,AADA,AADA,AADA,+DAA6C,sBACxB,qCACW,qBACZ,mCACU;YAE5B,cAAiC;YAEjC,AADA,AADA,mDAAiC,sDACgB,+BACvB;YAU5B,cAAkB;YAClB,AADA,gCAAkB,qBACE;YAGlB,eAIC;YAJD,yCAIC;YAGD,cAOC;YAPD,uDAOC;YAGD,cA4QC;YA5QD,wDA4QC;YAOT,cAEC;YAFD,kDAEC;YAGyB,cAAoC;YAApC,iDAAoC;YAC5D,cAqJC;YArJD,8CAqJC;;;ADxfQ,4BAA4B;IAPxC,aAAa,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;GAO5C,4BAA4B,CAwUxC;;iFAxUY,4BAA4B;cANxC,SAAS;6BACI,KAAK,YACP,0BAA0B;;kFAIzB,4BAA4B","sourcesContent":["import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { LogError, LogStatus, CompositeKey } from '@memberjunction/core';\nimport { MJAIConfigurationEntity, MJAIConfigurationParamEntity, ResourceData } from '@memberjunction/core-entities';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\n\ninterface SystemConfigFilter {\n searchTerm: string;\n status: string;\n isDefault: string;\n}\n\ninterface ConfigurationWithParams extends MJAIConfigurationEntity {\n params?: MJAIConfigurationParamEntity[];\n isExpanded?: boolean;\n compressionPrompt?: MJAIPromptEntityExtended | null;\n summarizationPrompt?: MJAIPromptEntityExtended | null;\n}\n/**\n * AI Configuration Resource - displays AI system configuration management\n * Extends BaseResourceComponent to work with the resource type system\n */\n@RegisterClass(BaseResourceComponent, 'AIConfigResource')\n@Component({\n standalone: false,\n selector: 'app-system-configuration',\n templateUrl: './system-configuration.component.html',\n styleUrls: ['./system-configuration.component.css']\n})\nexport class SystemConfigurationComponent extends BaseResourceComponent implements OnInit {\n\n public isLoading = false;\n public error: string | null = null;\n public filterPanelVisible = true;\n public viewMode: 'grid' | 'list' = 'grid';\n\n public configurations: ConfigurationWithParams[] = [];\n public filteredConfigurations: ConfigurationWithParams[] = [];\n public allParams: MJAIConfigurationParamEntity[] = [];\n public allPrompts: MJAIPromptEntityExtended[] = [];\n\n public currentFilters: SystemConfigFilter = {\n searchTerm: '',\n status: 'all',\n isDefault: 'all'\n };\n\n // Sorting\n public sortColumn: string = 'Name';\n public sortDirection: 'asc' | 'desc' = 'asc';\n\n // Detail panel\n public selectedConfig: ConfigurationWithParams | null = null;\n public detailPanelVisible = false;\n\n // Stats\n public totalConfigs = 0;\n public activeConfigs = 0;\n public defaultConfig: ConfigurationWithParams | null = null;\n\n constructor(\n private navigationService: NavigationService,\n private cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.loadData();\n }\n\n public async loadData(): Promise<void> {\n try {\n this.isLoading = true;\n this.error = null;\n this.cdr.detectChanges();\n\n // Ensure AIEngineBase is configured (no-op if already loaded)\n await AIEngineBase.Instance.Config(false);\n\n // Get cached data from AIEngineBase\n const configs = AIEngineBase.Instance.Configurations;\n const params = AIEngineBase.Instance.ConfigurationParams;\n const prompts = AIEngineBase.Instance.Prompts;\n\n // Create extended configurations with associated data\n this.configurations = configs.map(config => {\n const extended = config as ConfigurationWithParams;\n extended.params = params.filter(p => p.ConfigurationID === config.ID);\n extended.isExpanded = false;\n\n // Find linked prompts\n if (config.DefaultPromptForContextCompressionID) {\n extended.compressionPrompt = prompts.find(p => p.ID === config.DefaultPromptForContextCompressionID) || null;\n }\n if (config.DefaultPromptForContextSummarizationID) {\n extended.summarizationPrompt = prompts.find(p => p.ID === config.DefaultPromptForContextSummarizationID) || null;\n }\n\n return extended;\n });\n\n this.allParams = params;\n this.allPrompts = prompts;\n\n // Calculate stats\n this.totalConfigs = this.configurations.length;\n this.activeConfigs = this.configurations.filter(c => c.Status === 'Active').length;\n this.defaultConfig = this.configurations.find(c => c.IsDefault) || null;\n\n this.applyFilters();\n LogStatus('AI Configurations loaded successfully');\n } catch (error) {\n this.error = 'Failed to load AI configurations. Please try again.';\n LogError('Error loading AI configurations', undefined, error);\n } finally {\n this.isLoading = false;\n this.NotifyLoadComplete();\n this.cdr.detectChanges();\n }\n }\n\n public toggleFilterPanel(): void {\n this.filterPanelVisible = !this.filterPanelVisible;\n }\n\n public setViewMode(mode: 'grid' | 'list'): void {\n this.viewMode = mode;\n }\n\n public toggleExpanded(config: ConfigurationWithParams): void {\n config.isExpanded = !config.isExpanded;\n }\n\n public onFiltersChange(filters: SystemConfigFilter): void {\n this.currentFilters = { ...filters };\n this.applyFilters();\n }\n\n public onFilterChange(): void {\n this.applyFilters();\n }\n\n public onResetFilters(): void {\n this.currentFilters = {\n searchTerm: '',\n status: 'all',\n isDefault: 'all'\n };\n this.applyFilters();\n }\n\n private applyFilters(): void {\n let filtered = [...this.configurations];\n\n // Apply search filter\n if (this.currentFilters.searchTerm) {\n const searchTerm = this.currentFilters.searchTerm.toLowerCase();\n filtered = filtered.filter(config =>\n config.Name.toLowerCase().includes(searchTerm) ||\n (config.Description || '').toLowerCase().includes(searchTerm) ||\n (config.params?.some(p => p.Name.toLowerCase().includes(searchTerm) ||\n (p.Description || '').toLowerCase().includes(searchTerm)))\n );\n }\n\n // Apply status filter\n if (this.currentFilters.status !== 'all') {\n filtered = filtered.filter(config => config.Status === this.currentFilters.status);\n }\n\n // Apply default configuration filter\n if (this.currentFilters.isDefault !== 'all') {\n const isDefault = this.currentFilters.isDefault === 'true';\n filtered = filtered.filter(config => config.IsDefault === isDefault);\n }\n\n // Apply sorting\n this.filteredConfigurations = this.applySorting(filtered);\n this.cdr.detectChanges();\n }\n\n /**\n * Sort the configurations by the specified column\n */\n public sortBy(column: string): void {\n if (this.sortColumn === column) {\n // Toggle direction if same column\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n // New column, default to ascending\n this.sortColumn = column;\n this.sortDirection = 'asc';\n }\n this.applyFilters();\n }\n\n /**\n * Apply sorting to the filtered list\n */\n private applySorting(configs: ConfigurationWithParams[]): ConfigurationWithParams[] {\n return configs.sort((a, b) => {\n let valueA: string | number | boolean | null | undefined;\n let valueB: string | number | boolean | null | undefined;\n\n switch (this.sortColumn) {\n case 'Name':\n valueA = a.Name;\n valueB = b.Name;\n break;\n case 'Status':\n valueA = a.Status;\n valueB = b.Status;\n break;\n case 'Parameters':\n valueA = a.params?.length || 0;\n valueB = b.params?.length || 0;\n break;\n case 'Updated':\n valueA = a.__mj_UpdatedAt ? new Date(a.__mj_UpdatedAt).getTime() : 0;\n valueB = b.__mj_UpdatedAt ? new Date(b.__mj_UpdatedAt).getTime() : 0;\n break;\n default:\n valueA = a.Name;\n valueB = b.Name;\n }\n\n // Handle numeric comparison\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n const comparison = valueA - valueB;\n return this.sortDirection === 'desc' ? -comparison : comparison;\n }\n\n // Handle string/other comparison\n const strA = (valueA ?? '').toString().toLowerCase();\n const strB = (valueB ?? '').toString().toLowerCase();\n\n const comparison = strA.localeCompare(strB);\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n }\n\n public onOpenConfiguration(config: ConfigurationWithParams): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: config.ID }]);\n this.navigationService.OpenEntityRecord('MJ: AI Configurations', compositeKey);\n }\n\n public onOpenPrompt(promptId: string): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: promptId }]);\n this.navigationService.OpenEntityRecord('MJ: AI Prompts', compositeKey);\n }\n\n public onOpenParam(param: MJAIConfigurationParamEntity): void {\n const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: param.ID }]);\n this.navigationService.OpenEntityRecord('MJ: AI Configuration Params', compositeKey);\n }\n\n /**\n * Show the detail panel for a configuration\n */\n public showConfigDetails(config: ConfigurationWithParams, event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n this.selectedConfig = config;\n this.detailPanelVisible = true;\n }\n\n /**\n * Close the detail panel\n */\n public closeDetailPanel(): void {\n this.detailPanelVisible = false;\n // Delay clearing selectedConfig for smoother animation\n setTimeout(() => {\n if (!this.detailPanelVisible) {\n this.selectedConfig = null;\n }\n }, 300);\n }\n\n /**\n * Open the full entity record from the detail panel\n */\n public openConfigFromPanel(): void {\n if (this.selectedConfig) {\n this.onOpenConfiguration(this.selectedConfig);\n }\n }\n\n public getStatusClass(status: string): string {\n switch (status) {\n case 'Active': return 'status-active';\n case 'Preview': return 'status-preview';\n case 'Inactive': return 'status-inactive';\n case 'Deprecated': return 'status-deprecated';\n default: return 'status-unknown';\n }\n }\n\n public getStatusIcon(status: string): string {\n switch (status) {\n case 'Active': return 'fa-solid fa-circle-check';\n case 'Preview': return 'fa-solid fa-flask';\n case 'Inactive': return 'fa-solid fa-circle-pause';\n case 'Deprecated': return 'fa-solid fa-triangle-exclamation';\n default: return 'fa-solid fa-circle-question';\n }\n }\n\n public getParamTypeIcon(type: string): string {\n switch (type) {\n case 'string': return 'fa-solid fa-font';\n case 'number': return 'fa-solid fa-hashtag';\n case 'boolean': return 'fa-solid fa-toggle-on';\n case 'date': return 'fa-solid fa-calendar';\n case 'object': return 'fa-solid fa-brackets-curly';\n default: return 'fa-solid fa-code';\n }\n }\n\n public formatParamValue(param: MJAIConfigurationParamEntity): string {\n if (!param.Value) return '(not set)';\n\n switch (param.Type) {\n case 'boolean':\n return param.Value === 'true' ? 'Yes' : 'No';\n case 'object':\n try {\n return JSON.stringify(JSON.parse(param.Value), null, 2).substring(0, 50) + '...';\n } catch {\n return param.Value.substring(0, 50) + '...';\n }\n default:\n return param.Value.length > 50 ? param.Value.substring(0, 50) + '...' : param.Value;\n }\n }\n\n public formatDate(date: Date): string {\n if (!date) return 'N/A';\n return new Date(date).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n }\n\n // BaseResourceComponent abstract method implementations\n async GetResourceDisplayName(_data: ResourceData): Promise<string> {\n return 'AI Configuration';\n }\n\n async GetResourceIconClass(_data: ResourceData): Promise<string> {\n return 'fa-solid fa-sliders';\n }\n}\n","<div class=\"system-configuration-container\">\n <!-- Header -->\n <div class=\"dashboard-header\">\n <div class=\"header-info\">\n <h2 class=\"dashboard-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n AI Configuration\n </h2>\n <button\n type=\"button\"\n class=\"filter-toggle-btn\"\n (click)=\"toggleFilterPanel()\"\n title=\"Toggle Filters\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (filterPanelVisible) {\n Hide Filters\n } @else {\n Show Filters\n }\n </button>\n <span class=\"config-count\">\n {{ filteredConfigurations.length }} of {{ configurations.length }} configurations\n </span>\n </div>\n\n <div class=\"header-controls\">\n <!-- View Toggle -->\n <div class=\"view-toggle\">\n <button\n type=\"button\"\n class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"setViewMode('grid')\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-grid-2\"></i>\n </button>\n <button\n type=\"button\"\n class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"setViewMode('list')\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n\n <button\n type=\"button\"\n class=\"control-btn\"\n (click)=\"loadData()\"\n [disabled]=\"isLoading\"\n title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n </div>\n </div>\n\n <!-- Main Content with Splitter -->\n <div class=\"main-content\">\n <kendo-splitter\n class=\"main-splitter\"\n orientation=\"horizontal\">\n\n <!-- Filter Panel (Left) -->\n <kendo-splitter-pane\n [size]=\"filterPanelVisible ? '320px' : '0px'\"\n [collapsible]=\"false\"\n [resizable]=\"filterPanelVisible\"\n [scrollable]=\"false\"\n [hidden]=\"!filterPanelVisible\">\n <mj-system-config-filter-panel\n [configurations]=\"configurations\"\n [filteredConfigurations]=\"filteredConfigurations\"\n [filters]=\"currentFilters\"\n (filtersChange)=\"onFiltersChange($event)\"\n (filterChange)=\"onFilterChange()\"\n (resetFilters)=\"onResetFilters()\"\n (closePanel)=\"toggleFilterPanel()\">\n </mj-system-config-filter-panel>\n </kendo-splitter-pane>\n\n <!-- Configurations List Panel -->\n <kendo-splitter-pane\n [resizable]=\"true\"\n [scrollable]=\"false\">\n <div class=\"configurations-content\">\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading AI configurations...\" size=\"large\"></mj-loading>\n </div>\n }\n\n <!-- Error State -->\n @if (error && !isLoading) {\n <div class=\"error-container\">\n <p class=\"error-message\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ error }}\n </p>\n </div>\n }\n\n <!-- Configurations Content -->\n @if (!isLoading && !error) {\n @if (filteredConfigurations.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sliders\"></i>\n <h3>No configurations found</h3>\n <p>No AI configurations match your current filters. Try adjusting your search criteria or create a new configuration.</p>\n </div>\n } @else {\n <!-- Grid View -->\n @if (viewMode === 'grid') {\n <div class=\"configurations-grid\">\n @for (config of filteredConfigurations; track config.ID) {\n <div class=\"config-card\" [class.expanded]=\"config.isExpanded\">\n <!-- Card Header -->\n <div class=\"card-header\" (click)=\"toggleExpanded(config)\">\n <div class=\"config-info\">\n <div class=\"config-icon\">\n <i class=\"fa-solid fa-sliders\"></i>\n </div>\n <div class=\"config-details\">\n <h4 class=\"config-name\">{{ config.Name }}</h4>\n <div class=\"config-meta\">\n @if (config.IsDefault) {\n <span class=\"default-badge\">\n <i class=\"fa-solid fa-star\"></i>\n Default\n </span>\n }\n <span class=\"status-badge\" [ngClass]=\"getStatusClass(config.Status)\">\n <i [class]=\"getStatusIcon(config.Status)\"></i>\n {{ config.Status }}\n </span>\n </div>\n </div>\n </div>\n\n <i class=\"fa-solid fa-chevron-down expand-icon\"\n [class.rotated]=\"config.isExpanded\"></i>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (config.Description) {\n <p class=\"config-description\">{{ config.Description }}</p>\n } @else {\n <p class=\"config-description text-muted\">No description provided</p>\n }\n\n <!-- Expanded Content -->\n @if (config.isExpanded) {\n <div class=\"expanded-content\">\n <!-- Stats Grid -->\n <div class=\"config-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Parameters</span>\n <span class=\"stat-value\">{{ config.params?.length || 0 }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Created</span>\n <span class=\"stat-value\">{{ formatDate(config.__mj_CreatedAt) }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Updated</span>\n <span class=\"stat-value\">{{ formatDate(config.__mj_UpdatedAt) }}</span>\n </div>\n </div>\n\n <!-- Linked Prompts -->\n <div class=\"prompts-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-message-lines\"></i>\n Linked Prompts\n </h5>\n <div class=\"prompt-links\">\n @if (config.compressionPrompt) {\n <div class=\"prompt-link\" (click)=\"onOpenPrompt(config.DefaultPromptForContextCompressionID!); $event.stopPropagation()\">\n <div class=\"prompt-link-info\">\n <div class=\"prompt-link-icon\">\n <i class=\"fa-solid fa-compress\"></i>\n </div>\n <div class=\"prompt-link-details\">\n <span class=\"prompt-link-label\">Context Compression</span>\n <span class=\"prompt-link-name\">{{ config.compressionPrompt.Name }}</span>\n </div>\n </div>\n <i class=\"fa-solid fa-arrow-right prompt-link-arrow\"></i>\n </div>\n } @else {\n <div class=\"no-prompt\">No compression prompt configured</div>\n }\n\n @if (config.summarizationPrompt) {\n <div class=\"prompt-link\" (click)=\"onOpenPrompt(config.DefaultPromptForContextSummarizationID!); $event.stopPropagation()\">\n <div class=\"prompt-link-info\">\n <div class=\"prompt-link-icon\">\n <i class=\"fa-solid fa-file-lines\"></i>\n </div>\n <div class=\"prompt-link-details\">\n <span class=\"prompt-link-label\">Context Summarization</span>\n <span class=\"prompt-link-name\">{{ config.summarizationPrompt.Name }}</span>\n </div>\n </div>\n <i class=\"fa-solid fa-arrow-right prompt-link-arrow\"></i>\n </div>\n } @else {\n <div class=\"no-prompt\">No summarization prompt configured</div>\n }\n </div>\n </div>\n\n <!-- Configuration Parameters -->\n @if (config.params && config.params.length > 0) {\n <div class=\"params-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-gear\"></i>\n Configuration Parameters\n </h5>\n <div class=\"params-grid\">\n @for (param of config.params; track param.ID) {\n <div class=\"param-item\" (click)=\"onOpenParam(param); $event.stopPropagation()\">\n <div class=\"param-info\">\n <div class=\"param-type-icon\">\n <i [class]=\"getParamTypeIcon(param.Type)\"></i>\n </div>\n <div class=\"param-details\">\n <span class=\"param-name\">{{ param.Name }}</span>\n <span class=\"param-type\">{{ param.Type }}</span>\n </div>\n </div>\n <span class=\"param-value\">{{ formatParamValue(param) }}</span>\n </div>\n }\n </div>\n </div>\n } @else {\n <div class=\"params-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-gear\"></i>\n Configuration Parameters\n </h5>\n <div class=\"no-params\">No parameters configured</div>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\" (click)=\"$event.stopPropagation()\">\n <button\n type=\"button\"\n class=\"action-btn\"\n (click)=\"showConfigDetails(config, $event)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n Details\n </button>\n\n <button\n type=\"button\"\n class=\"action-btn action-btn-primary\"\n (click)=\"onOpenConfiguration(config)\">\n <i class=\"fa-solid fa-edit\"></i>\n Configure\n </button>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (viewMode === 'list') {\n <div class=\"configurations-list\">\n <table class=\"configurations-table\">\n <thead>\n <tr>\n <th (click)=\"sortBy('Name')\"\n [class.sorted]=\"sortColumn === 'Name'\"\n [class.desc]=\"sortColumn === 'Name' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Configuration\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Status')\"\n [class.sorted]=\"sortColumn === 'Status'\"\n [class.desc]=\"sortColumn === 'Status' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Status\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Parameters')\"\n [class.sorted]=\"sortColumn === 'Parameters'\"\n [class.desc]=\"sortColumn === 'Parameters' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Parameters\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th (click)=\"sortBy('Updated')\"\n [class.sorted]=\"sortColumn === 'Updated'\"\n [class.desc]=\"sortColumn === 'Updated' && sortDirection === 'desc'\">\n <span class=\"sort-header\">\n Updated\n <i class=\"fa-solid fa-chevron-up sort-icon\"></i>\n </span>\n </th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n @for (config of filteredConfigurations; track config.ID) {\n <tr>\n <td>\n <div class=\"config-name-cell\">\n <div class=\"config-icon-small\">\n <i class=\"fa-solid fa-sliders\"></i>\n </div>\n <div>\n <div class=\"config-name-text\">\n {{ config.Name }}\n @if (config.IsDefault) {\n <span class=\"default-badge\" style=\"margin-left: 8px;\">\n <i class=\"fa-solid fa-star\"></i>\n Default\n </span>\n }\n </div>\n @if (config.Description) {\n <div class=\"config-description-small\">{{ config.Description }}</div>\n }\n </div>\n </div>\n </td>\n <td>\n <span class=\"status-badge\" [ngClass]=\"getStatusClass(config.Status)\">\n <i [class]=\"getStatusIcon(config.Status)\"></i>\n {{ config.Status }}\n </span>\n </td>\n <td>{{ config.params?.length || 0 }}</td>\n <td>{{ formatDate(config.__mj_UpdatedAt) }}</td>\n <td>\n <div class=\"table-actions\">\n <button\n type=\"button\"\n class=\"action-btn-small\"\n (click)=\"showConfigDetails(config)\"\n title=\"View Details\">\n <i class=\"fa-solid fa-eye\"></i>\n </button>\n <button\n type=\"button\"\n class=\"action-btn-small primary\"\n (click)=\"onOpenConfiguration(config)\">\n <i class=\"fa-solid fa-edit\"></i>\n </button>\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n }\n }\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n\n <!-- Detail Panel Overlay -->\n @if (detailPanelVisible) {\n <div class=\"detail-panel-overlay\" (click)=\"closeDetailPanel()\"></div>\n }\n\n <!-- Detail Panel -->\n <div class=\"detail-panel\" [class.visible]=\"detailPanelVisible\">\n @if (selectedConfig) {\n <!-- Panel Header -->\n <div class=\"detail-panel-header\">\n <div class=\"detail-panel-title\">\n <div class=\"detail-icon\">\n <i class=\"fa-solid fa-sliders\"></i>\n </div>\n <div class=\"detail-title-info\">\n <h3>{{ selectedConfig.Name }}</h3>\n <span class=\"detail-subtitle\">AI Configuration</span>\n </div>\n </div>\n <button class=\"detail-panel-close\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Panel Content -->\n <div class=\"detail-panel-content\">\n <!-- Status Section -->\n <div class=\"detail-section\">\n <div class=\"detail-badges\">\n <span class=\"status-badge\" [ngClass]=\"getStatusClass(selectedConfig.Status)\">\n <i [class]=\"getStatusIcon(selectedConfig.Status)\"></i>\n {{ selectedConfig.Status }}\n </span>\n @if (selectedConfig.IsDefault) {\n <span class=\"feature-badge default\">\n <i class=\"fa-solid fa-star\"></i>\n Default Configuration\n </span>\n }\n </div>\n </div>\n\n <!-- Description -->\n @if (selectedConfig.Description) {\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-align-left\"></i>\n Description\n </h4>\n <p class=\"detail-description\">{{ selectedConfig.Description }}</p>\n </div>\n }\n\n <!-- Configuration Stats -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-chart-bar\"></i>\n Overview\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Parameters</span>\n <span class=\"detail-value\">{{ selectedConfig.params?.length || 0 }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Status</span>\n <span class=\"detail-value\">{{ selectedConfig.Status }}</span>\n </div>\n </div>\n </div>\n\n <!-- Linked Prompts -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-message-lines\"></i>\n Linked Prompts\n </h4>\n <div class=\"detail-grid single-column\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Context Compression</span>\n <span class=\"detail-value\">\n @if (selectedConfig.compressionPrompt) {\n {{ selectedConfig.compressionPrompt.Name }}\n } @else {\n <span class=\"muted\">Not configured</span>\n }\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Context Summarization</span>\n <span class=\"detail-value\">\n @if (selectedConfig.summarizationPrompt) {\n {{ selectedConfig.summarizationPrompt.Name }}\n } @else {\n <span class=\"muted\">Not configured</span>\n }\n </span>\n </div>\n </div>\n </div>\n\n <!-- Parameters Preview -->\n @if (selectedConfig.params && selectedConfig.params.length > 0) {\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-gear\"></i>\n Parameters ({{ selectedConfig.params.length }})\n </h4>\n <div class=\"detail-params-list\">\n @for (param of selectedConfig.params.slice(0, 5); track param.ID) {\n <div class=\"detail-param-item\">\n <div class=\"param-info\">\n <i [class]=\"getParamTypeIcon(param.Type)\"></i>\n <span class=\"param-name\">{{ param.Name }}</span>\n </div>\n <span class=\"param-value\">{{ formatParamValue(param) }}</span>\n </div>\n }\n @if (selectedConfig.params.length > 5) {\n <div class=\"params-more\">\n +{{ selectedConfig.params.length - 5 }} more parameters\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Timestamps -->\n <div class=\"detail-section\">\n <h4 class=\"detail-section-title\">\n <i class=\"fa-solid fa-clock\"></i>\n Timestamps\n </h4>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Created</span>\n <span class=\"detail-value\">{{ formatDate(selectedConfig.__mj_CreatedAt) }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Updated</span>\n <span class=\"detail-value\">{{ formatDate(selectedConfig.__mj_UpdatedAt) }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Panel Actions -->\n <div class=\"detail-panel-actions\">\n <button\n type=\"button\"\n class=\"detail-action-btn primary\"\n (click)=\"openConfigFromPanel()\">\n <i class=\"fa-solid fa-edit\"></i>\n Open Full Record\n </button>\n </div>\n }\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"kpi-card.component.js","sourceRoot":"","sources":["../../../../src/AI/components/widgets/kpi-card.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kpi-card.component.js","sourceRoot":"","sources":["../../../../src/AI/components/widgets/kpi-card.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\n\nexport interface KPICardData {\n title: string;\n value: string | number;\n subtitle?: string;\n icon: string;\n color: 'primary' | 'success' | 'warning' | 'danger' | 'info';\n trend?: {\n direction: 'up' | 'down' | 'stable';\n percentage: number;\n period: string;\n };\n loading?: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-kpi-card',\n template: `\n <div class=\"kpi-card\" [class]=\"'kpi-card--' + data.color\">\n <div class=\"kpi-card__header\">\n <div class=\"kpi-card__icon\">\n <i [class]=\"'fa-solid ' + data.icon\"></i>\n </div>\n <div class=\"kpi-card__title\">{{ data.title }}</div>\n </div>\n \n <div class=\"kpi-card__content\">\n @if (!data.loading) {\n <div class=\"kpi-card__value\">\n {{ formatValue(data.value) }}\n </div>\n }\n @if (data.loading) {\n <div class=\"kpi-card__loading\">\n <mj-loading [showText]=\"false\" size=\"small\"></mj-loading>\n </div>\n }\n \n @if (data.subtitle && !data.loading) {\n <div class=\"kpi-card__subtitle\">\n {{ data.subtitle }}\n </div>\n }\n \n @if (data.trend && !data.loading) {\n <div class=\"kpi-card__trend\">\n <i [class]=\"getTrendIcon()\" [style.color]=\"getTrendColor()\"></i>\n <span class=\"trend-percentage\" [style.color]=\"getTrendColor()\">\n {{ data.trend.percentage }}%\n </span>\n <span class=\"trend-period\">{{ data.trend.period }}</span>\n </div>\n }\n </div>\n </div>\n `,\n styles: [`\n .kpi-card {\n background: white;\n border-radius: 16px;\n padding: 20px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);\n border: 1px solid #e5e7eb;\n border-left: 4px solid transparent;\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n min-height: 130px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .kpi-card:hover {\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n transform: translateY(-3px);\n border-color: #c7d2fe;\n }\n\n .kpi-card--primary { border-left-color: #6366f1; }\n .kpi-card--success { border-left-color: #10b981; }\n .kpi-card--warning { border-left-color: #f59e0b; }\n .kpi-card--danger { border-left-color: #ef4444; }\n .kpi-card--info { border-left-color: #8b5cf6; }\n\n .kpi-card__header {\n display: flex;\n align-items: center;\n margin-bottom: 12px;\n }\n\n .kpi-card__icon {\n width: 36px;\n height: 36px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 12px;\n font-size: 15px;\n }\n\n .kpi-card--primary .kpi-card__icon {\n background: linear-gradient(135deg, rgba(99, 102, 241, 0.15) 0%, rgba(139, 92, 246, 0.15) 100%);\n color: #6366f1;\n }\n .kpi-card--success .kpi-card__icon {\n background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);\n color: #10b981;\n }\n .kpi-card--warning .kpi-card__icon {\n background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(217, 119, 6, 0.15) 100%);\n color: #f59e0b;\n }\n .kpi-card--danger .kpi-card__icon {\n background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);\n color: #ef4444;\n }\n .kpi-card--info .kpi-card__icon {\n background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(167, 139, 250, 0.15) 100%);\n color: #8b5cf6;\n }\n\n .kpi-card__title {\n font-size: 11px;\n font-weight: 700;\n color: #64748b;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .kpi-card__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n .kpi-card__value {\n font-size: 26px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n line-height: 1.1;\n letter-spacing: -0.02em;\n }\n\n .kpi-card__subtitle {\n font-size: 11px;\n color: #94a3b8;\n margin-bottom: 6px;\n }\n\n .kpi-card__trend {\n display: flex;\n align-items: center;\n font-size: 11px;\n gap: 4px;\n }\n\n .trend-percentage {\n font-weight: 600;\n }\n\n .trend-period {\n color: #94a3b8;\n }\n\n .kpi-card__loading {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 60px;\n }\n\n @media (max-width: 768px) {\n .kpi-card {\n min-height: 110px;\n padding: 16px;\n }\n\n .kpi-card__value {\n font-size: 22px;\n }\n\n .kpi-card__icon {\n width: 32px;\n height: 32px;\n font-size: 13px;\n }\n }\n `]\n})\nexport class KPICardComponent implements OnInit {\n @Input() data!: KPICardData;\n\n ngOnInit() {\n if (!this.data) {\n throw new Error('KPICardComponent requires data input');\n }\n }\n\n formatValue(value: string | number): string {\n if (typeof value === 'number') {\n // Format large numbers with appropriate suffixes\n if (value >= 1000000) {\n return (value / 1000000).toFixed(1) + 'M';\n } else if (value >= 1000) {\n return (value / 1000).toFixed(1) + 'K';\n } else if (value % 1 !== 0) {\n return value.toFixed(2);\n }\n return value.toString();\n }\n return value;\n }\n\n getTrendIcon(): string {\n if (!this.data.trend) return '';\n \n switch (this.data.trend.direction) {\n case 'up':\n return 'fa-solid fa-arrow-up';\n case 'down':\n return 'fa-solid fa-arrow-down';\n case 'stable':\n return 'fa-solid fa-minus';\n default:\n return '';\n }\n }\n\n getTrendColor(): string {\n if (!this.data.trend) return '#999';\n \n switch (this.data.trend.direction) {\n case 'up':\n return '#4caf50';\n case 'down':\n return '#f44336';\n case 'stable':\n return '#999';\n default:\n return '#999';\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"live-execution-widget.component.js","sourceRoot":"","sources":["../../../../src/AI/components/widgets/live-execution-widget.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-execution-widget.component.js","sourceRoot":"","sources":["../../../../src/AI/components/widgets/live-execution-widget.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { LiveExecution } from '../../services/ai-instrumentation.service';\n\n@Component({\n standalone: false,\n selector: 'app-live-execution-widget',\n template: `\n <div class=\"live-execution-widget\">\n <div class=\"widget-header\">\n <h3 class=\"widget-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Live Executions\n </h3>\n <div class=\"active-count\" [class.pulsing]=\"hasActiveExecutions()\">\n {{ getActiveCount() }} active\n </div>\n </div>\n\n @if (executions.length > 0) {\n <div class=\"execution-list\">\n @for (execution of executions.slice(0, maxVisible); track execution.id) {\n <div \n class=\"execution-item\"\n [class]=\"'execution-item--' + execution.status\"\n (click)=\"onExecutionClick(execution)\"\n >\n <div class=\"execution-icon\">\n <i [class]=\"getExecutionIcon(execution)\"></i>\n </div>\n \n <div class=\"execution-info\">\n <div class=\"execution-name\">{{ execution.name }}</div>\n <div class=\"execution-meta\">\n <span class=\"execution-type\">{{ execution.type }}</span>\n <span class=\"execution-duration\">{{ formatDuration(execution.duration) }}</span>\n @if (execution.cost) {\n <span class=\"execution-cost\">\n {{ formatCurrency(execution.cost) }}\n </span>\n }\n </div>\n </div>\n\n <div class=\"execution-status\">\n @if (execution.status === 'running' && execution.progress) {\n <div class=\"progress-ring\">\n <svg width=\"24\" height=\"24\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n fill=\"none\"\n stroke=\"#e0e0e0\"\n stroke-width=\"2\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n fill=\"none\"\n stroke=\"#2196f3\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n [style.stroke-dasharray]=\"circumference\"\n [style.stroke-dashoffset]=\"getProgressOffset(execution.progress)\"\n class=\"progress-circle\"\n />\n </svg>\n <span class=\"progress-text\">{{ execution.progress.toFixed(0) }}%</span>\n </div>\n }\n \n <div class=\"status-indicator\" [class]=\"'status-indicator--' + execution.status\">\n <i [class]=\"getStatusIcon(execution.status)\"></i>\n </div>\n </div>\n </div>\n }\n\n @if (executions.length > maxVisible) {\n <div class=\"show-more\">\n <button \n class=\"show-more-btn\"\n (click)=\"toggleShowAll()\"\n >\n {{ showAll ? 'Show Less' : 'Show All (' + executions.length + ')' }}\n <i [class]=\"showAll ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-executions\">\n <i class=\"fa-solid fa-circle-check\"></i>\n <p>No recent executions</p>\n </div>\n }\n </div>\n `,\n styles: [`\n .live-execution-widget {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n height: 400px;\n display: flex;\n flex-direction: column;\n }\n\n .widget-header {\n padding: 20px 20px 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .widget-title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .widget-title i {\n color: #2196f3;\n }\n\n .active-count {\n background: #e3f2fd;\n color: #2196f3;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n transition: all 0.3s ease;\n }\n\n .active-count.pulsing {\n animation: pulse 2s infinite;\n }\n\n @keyframes pulse {\n 0% { opacity: 1; }\n 50% { opacity: 0.7; }\n 100% { opacity: 1; }\n }\n\n .execution-list {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .execution-item {\n padding: 12px 20px;\n display: flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n transition: all 0.2s ease;\n border-left: 3px solid transparent;\n }\n\n .execution-item:hover {\n background: #f8f9fa;\n }\n\n .execution-item--running {\n border-left-color: #2196f3;\n background: rgba(33, 150, 243, 0.02);\n }\n\n .execution-item--completed {\n border-left-color: #4caf50;\n }\n\n .execution-item--failed {\n border-left-color: #f44336;\n background: rgba(244, 67, 54, 0.02);\n }\n\n .execution-icon {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .execution-item--running .execution-icon {\n background: rgba(33, 150, 243, 0.1);\n color: #2196f3;\n }\n\n .execution-item--completed .execution-icon {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n }\n\n .execution-item--failed .execution-icon {\n background: rgba(244, 67, 54, 0.1);\n color: #f44336;\n }\n\n .execution-info {\n flex: 1;\n min-width: 0;\n }\n\n .execution-name {\n font-weight: 500;\n color: #333;\n font-size: 14px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-bottom: 4px;\n }\n\n .execution-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 11px;\n color: #666;\n }\n\n .execution-type {\n background: #f0f0f0;\n padding: 2px 6px;\n border-radius: 3px;\n font-weight: 500;\n }\n\n .execution-duration {\n color: #999;\n }\n\n .execution-cost {\n color: #ff9800;\n font-weight: 500;\n }\n\n .execution-status {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n }\n\n .progress-ring {\n position: relative;\n width: 24px;\n height: 24px;\n }\n\n .progress-circle {\n transform: rotate(-90deg);\n transform-origin: center;\n transition: stroke-dashoffset 0.3s ease;\n }\n\n .progress-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 8px;\n font-weight: 600;\n color: #2196f3;\n }\n\n .status-indicator {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n }\n\n .status-indicator--running {\n background: #2196f3;\n color: white;\n animation: pulse 2s infinite;\n }\n\n .status-indicator--completed {\n background: #4caf50;\n color: white;\n }\n\n .status-indicator--failed {\n background: #f44336;\n color: white;\n }\n\n .show-more {\n padding: 12px 20px;\n border-top: 1px solid #f0f0f0;\n }\n\n .show-more-btn {\n width: 100%;\n background: none;\n border: none;\n color: #2196f3;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 8px;\n border-radius: 4px;\n transition: background 0.2s ease;\n }\n\n .show-more-btn:hover {\n background: rgba(33, 150, 243, 0.1);\n }\n\n .no-executions {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #999;\n gap: 12px;\n }\n\n .no-executions i {\n font-size: 32px;\n color: #ddd;\n }\n\n .no-executions p {\n margin: 0;\n font-size: 14px;\n }\n\n /* Custom scrollbar */\n .execution-list::-webkit-scrollbar {\n width: 4px;\n }\n\n .execution-list::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n\n .execution-list::-webkit-scrollbar-thumb {\n background: #ccc;\n border-radius: 2px;\n }\n\n .execution-list::-webkit-scrollbar-thumb:hover {\n background: #999;\n }\n\n @media (max-width: 768px) {\n .execution-item {\n padding: 10px 16px;\n }\n \n .execution-meta {\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n }\n }\n `]\n})\nexport class LiveExecutionWidgetComponent implements OnInit, OnDestroy {\n @Input() executions: LiveExecution[] = [];\n @Input() maxVisible = 8;\n @Output() executionClick = new EventEmitter<LiveExecution>();\n\n showAll = false;\n circumference = 2 * Math.PI * 10; // r=10\n\n ngOnInit() {}\n\n ngOnDestroy() {}\n\n trackByExecutionId(index: number, execution: LiveExecution): string {\n return execution.id;\n }\n\n hasActiveExecutions(): boolean {\n return this.executions.some(e => e.status === 'running');\n }\n\n getActiveCount(): number {\n return this.executions.filter(e => e.status === 'running').length;\n }\n\n getExecutionIcon(execution: LiveExecution): string {\n if (execution.type === 'agent') {\n return 'fa-solid fa-robot';\n } else {\n return 'fa-solid fa-comment-dots';\n }\n }\n\n getStatusIcon(status: string): string {\n switch (status) {\n case 'running':\n return 'fa-solid fa-play';\n case 'completed':\n return 'fa-solid fa-check';\n case 'failed':\n return 'fa-solid fa-times';\n default:\n return 'fa-solid fa-question';\n }\n }\n\n formatDuration(duration?: number): string {\n if (!duration) return '0s';\n \n const seconds = Math.floor(duration / 1000);\n const minutes = Math.floor(seconds / 60);\n const hours = Math.floor(minutes / 60);\n\n if (hours > 0) {\n return `${hours}h ${minutes % 60}m`;\n } else if (minutes > 0) {\n return `${minutes}m ${seconds % 60}s`;\n } else {\n return `${seconds}s`;\n }\n }\n\n getProgressOffset(progress: number): number {\n return this.circumference - (progress / 100) * this.circumference;\n }\n\n toggleShowAll(): void {\n this.showAll = !this.showAll;\n this.maxVisible = this.showAll ? this.executions.length : 8;\n }\n\n onExecutionClick(execution: LiveExecution): void {\n this.executionClick.emit(execution);\n }\n\n formatCurrency(amount: number): string {\n return `$${amount.toFixed(4)}`;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AI/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,cAAc,uCAAuC,CAAC;AAEtD,kBAAkB;AAClB,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAClE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,oDAAoD,CAAC;AAEnE,oBAAoB;AACpB,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AACrE,cAAc,iDAAiD,CAAC;AAChE,cAAc,mDAAmD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AI/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,cAAc,uCAAuC,CAAC;AAEtD,kBAAkB;AAClB,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,mDAAmD,CAAC;AAClE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,oDAAoD,CAAC;AAEnE,oBAAoB;AACpB,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AACrE,cAAc,iDAAiD,CAAC;AAChE,cAAc,mDAAmD,CAAC","sourcesContent":["// Services\nexport * from './services/ai-instrumentation.service';\n\n// Main Components\nexport * from './components/execution-monitoring.component';\nexport * from './components/prompts/prompt-management.component';\nexport * from './components/agents/agent-configuration.component';\nexport * from './components/models/model-management.component';\nexport * from './components/system/system-configuration.component';\n\n// Widget Components\nexport * from './components/widgets/kpi-card.component';\nexport * from './components/widgets/live-execution-widget.component';\nexport * from './components/charts/time-series-chart.component';\nexport * from './components/charts/performance-heatmap.component';"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-instrumentation.service.js","sourceRoot":"","sources":["../../../src/AI/services/ai-instrumentation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-instrumentation.service.js","sourceRoot":"","sources":["../../../src/AI/services/ai-instrumentation.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, from, combineLatest } from 'rxjs';\nimport { switchMap, shareReplay, tap } from 'rxjs/operators';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJAIPromptRunEntityExtended, MJAIAgentRunEntityExtended } from '@memberjunction/ai-core-plus';\n\nexport interface DashboardKPIs {\n totalExecutions: number;\n activeExecutions: number;\n totalCost: number;\n costCurrency: string;\n avgExecutionTime: number;\n successRate: number;\n totalTokens: number;\n costPerToken: number;\n topModel: string;\n topAgent: string;\n errorRate: number;\n dailyCostBurn: number;\n}\n\nexport interface TrendData {\n timestamp: Date;\n executions: number;\n cost: number;\n tokens: number;\n avgTime: number;\n errors: number;\n}\n\nexport interface LiveExecution {\n id: string;\n type: 'prompt' | 'agent';\n name: string;\n status: 'running' | 'completed' | 'failed';\n startTime: Date;\n duration?: number;\n cost?: number;\n tokens?: number;\n progress?: number;\n}\n\nexport interface ExecutionDetails {\n id: string;\n type: 'prompt' | 'agent';\n name: string;\n status: string;\n startTime: Date;\n endTime?: Date;\n cost: number;\n tokens: number;\n success: boolean;\n errorMessage?: string;\n parentId?: string;\n children: ExecutionDetails[];\n model?: string;\n vendor?: string;\n}\n\nexport interface ChartData {\n executionTrends: TrendData[];\n costByModel: { model: string; cost: number; tokens: number }[];\n performanceMatrix: { agent: string; model: string; avgTime: number; successRate: number }[];\n tokenEfficiency: { inputTokens: number; outputTokens: number; cost: number; model: string }[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AIInstrumentationService {\n private readonly _dateRange$ = new BehaviorSubject<{ start: Date; end: Date }>({\n start: new Date(Date.now() - 24 * 60 * 60 * 1000), // Last 24 hours\n end: new Date()\n });\n \n private readonly _refreshTrigger$ = new BehaviorSubject<number>(0);\n private readonly _isLoading$ = new BehaviorSubject<boolean>(false);\n private readonly metadata = new Metadata();\n \n // Expose loading state as observable\n readonly isLoading$ = this._isLoading$.asObservable();\n\n constructor() {}\n\n // Main data streams - trigger on refresh or date range change\n readonly kpis$ = combineLatest([this._refreshTrigger$, this._dateRange$]).pipe(\n tap(() => this._isLoading$.next(true)),\n switchMap(() => from(this.loadKPIs())),\n tap(() => this.checkLoadingComplete()),\n shareReplay(1)\n );\n \n readonly trends$ = combineLatest([this._refreshTrigger$, this._dateRange$]).pipe(\n tap(() => this._isLoading$.next(true)),\n switchMap(() => from(this.loadTrends())),\n tap(() => this.checkLoadingComplete()),\n shareReplay(1)\n );\n \n readonly liveExecutions$ = combineLatest([this._refreshTrigger$, this._dateRange$]).pipe(\n tap(() => this._isLoading$.next(true)),\n switchMap(() => from(this.loadLiveExecutions())),\n tap(() => this.checkLoadingComplete()),\n shareReplay(1)\n );\n \n readonly chartData$ = combineLatest([this._refreshTrigger$, this._dateRange$]).pipe(\n tap(() => this._isLoading$.next(true)),\n switchMap(() => from(this.loadChartData())),\n tap(() => this.checkLoadingComplete()),\n shareReplay(1)\n );\n \n private loadingCount = 0;\n \n private checkLoadingComplete(): void {\n // Simple mechanism to track when all streams have completed\n setTimeout(() => {\n this._isLoading$.next(false);\n }, 100);\n }\n\n setDateRange(start: Date, end: Date): void {\n this._dateRange$.next({ start, end });\n // No need to manually refresh - streams now react to date range changes\n }\n \n refresh(): void {\n this._refreshTrigger$.next(this._refreshTrigger$.value + 1);\n }\n\n private async loadKPIs(): Promise<DashboardKPIs> {\n const { start, end } = this._dateRange$.value;\n const rv = new RunView();\n \n // Use RunViews to batch the queries\n const [promptResults, agentResults] = await rv.RunViews<any>([\n {\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `RunAt >= '${start.toISOString()}' AND RunAt <= '${end.toISOString()}'` \n },\n {\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `StartedAt >= '${start.toISOString()}' AND StartedAt <= '${end.toISOString()}'` \n }\n ]);\n\n const promptRuns = promptResults.Results as MJAIPromptRunEntityExtended[];\n const agentRuns = agentResults.Results as MJAIAgentRunEntityExtended[];\n\n // Calculate KPIs\n const totalExecutions = promptRuns.length + agentRuns.length;\n const activeExecutions = this.countActiveExecutions(promptRuns, agentRuns);\n \n const totalCost = this.sumCosts(promptRuns, agentRuns);\n const totalTokens = this.sumTokens(promptRuns, agentRuns);\n const avgExecutionTime = this.calculateAverageExecutionTime(promptRuns, agentRuns);\n const successRate = this.calculateSuccessRate(promptRuns, agentRuns);\n const errorRate = 1 - successRate;\n \n const costPerToken = totalTokens > 0 ? totalCost / totalTokens : 0;\n const dailyCostBurn = this.calculateDailyCostBurn(promptRuns, agentRuns);\n \n const topModel = await this.getTopModel(promptRuns);\n const topAgent = await this.getTopAgent(agentRuns);\n\n return {\n totalExecutions,\n activeExecutions,\n totalCost,\n costCurrency: 'USD',\n avgExecutionTime,\n successRate,\n totalTokens,\n costPerToken,\n topModel,\n topAgent,\n errorRate,\n dailyCostBurn\n };\n }\n\n private async loadTrends(): Promise<TrendData[]> {\n const { start, end } = this._dateRange$.value;\n const hourlyBuckets = this.createHourlyBuckets(start, end);\n \n // Calculate bucket size based on the number of buckets\n const duration = end.getTime() - start.getTime();\n const hours = duration / (1000 * 60 * 60);\n let bucketSizeMs: number;\n if (hours <= 24) {\n bucketSizeMs = 60 * 60 * 1000; // 1 hour\n } else if (hours <= 24 * 7) {\n bucketSizeMs = 4 * 60 * 60 * 1000; // 4 hours\n } else {\n bucketSizeMs = 24 * 60 * 60 * 1000; // 24 hours\n }\n \n // Load all data in a single query instead of per-bucket\n const rv = new RunView();\n const [promptResults, agentResults] = await rv.RunViews<any>([\n {\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `RunAt >= '${start.toISOString()}' AND RunAt <= '${end.toISOString()}'` \n },\n {\n EntityName: 'MJ: AI Agent Runs', \n ExtraFilter: `StartedAt >= '${start.toISOString()}' AND StartedAt <= '${end.toISOString()}'` \n }\n ]);\n\n const allPromptRuns = promptResults.Results as MJAIPromptRunEntityExtended[];\n const allAgentRuns = agentResults.Results as MJAIAgentRunEntityExtended[];\n \n // Now aggregate data into buckets on the client side\n const trends: TrendData[] = [];\n \n for (const bucket of hourlyBuckets) {\n const bucketStart = bucket;\n const bucketEnd = new Date(bucket.getTime() + bucketSizeMs);\n \n // Filter runs for this bucket\n const promptRuns = allPromptRuns.filter(r => {\n const runAt = new Date(r.RunAt);\n return runAt >= bucketStart && runAt < bucketEnd;\n });\n \n const agentRuns = allAgentRuns.filter(r => {\n const startedAt = new Date(r.StartedAt);\n return startedAt >= bucketStart && startedAt < bucketEnd;\n });\n\n trends.push({\n timestamp: bucket,\n executions: promptRuns.length + agentRuns.length,\n cost: this.sumCosts(promptRuns, agentRuns),\n tokens: this.sumTokens(promptRuns, agentRuns),\n avgTime: this.calculateAverageExecutionTime(promptRuns, agentRuns),\n errors: this.countErrors(promptRuns, agentRuns)\n });\n }\n\n return trends;\n }\n\n private async loadLiveExecutions(): Promise<LiveExecution[]> {\n const now = new Date();\n const recentTime = new Date(now.getTime() - 5 * 60 * 1000);\n \n const rv = new RunView();\n const [promptResults, agentResults] = await rv.RunViews<any>([\n {\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `RunAt >= '${recentTime.toISOString()}'`,\n OrderBy: 'RunAt DESC' \n },\n {\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `StartedAt >= '${recentTime.toISOString()}'`,\n OrderBy: 'StartedAt DESC' \n }\n ]);\n\n const promptRuns = promptResults.Results as MJAIPromptRunEntityExtended[];\n const agentRuns = agentResults.Results as MJAIAgentRunEntityExtended[];\n\n const liveExecutions: LiveExecution[] = [];\n\n // Process prompt runs - they already have the prompt name in the Prompt field\n for (const run of promptRuns) {\n const isRunning = !run.CompletedAt && run.Success !== false;\n const duration = run.CompletedAt ? \n new Date(run.CompletedAt).getTime() - new Date(run.RunAt).getTime() : \n now.getTime() - new Date(run.RunAt).getTime();\n\n liveExecutions.push({\n id: run.ID,\n type: 'prompt',\n name: run.Prompt || 'Unnamed Prompt', // Use the Prompt field directly\n status: isRunning ? 'running' : (run.Success ? 'completed' : 'failed'),\n startTime: new Date(run.RunAt),\n duration: duration,\n cost: run.Cost || 0,\n tokens: run.TokensUsed || 0,\n progress: isRunning ? Math.min(90, (duration / 30000) * 100) : 100\n });\n }\n\n // Process agent runs - they already have the agent name in the Agent field\n for (const run of agentRuns) {\n const isRunning = run.Status === 'Running';\n const duration = run.CompletedAt ? \n new Date(run.CompletedAt).getTime() - new Date(run.StartedAt).getTime() : \n now.getTime() - new Date(run.StartedAt).getTime();\n\n liveExecutions.push({\n id: run.ID,\n type: 'agent',\n name: run.Agent || 'Unnamed Agent', // Use the Agent field directly\n status: run.Status.toLowerCase() as 'running' | 'completed' | 'failed',\n startTime: new Date(run.StartedAt),\n duration: duration,\n cost: run.TotalCost || 0,\n tokens: run.TotalTokensUsed || 0,\n progress: isRunning ? Math.min(90, (duration / 60000) * 100) : 100\n });\n }\n\n return liveExecutions.sort((a, b) => b.startTime.getTime() - a.startTime.getTime());\n }\n\n private async loadChartData(): Promise<ChartData> {\n const { start, end } = this._dateRange$.value;\n const dateFilter = `RunAt >= '${start.toISOString()}' AND RunAt <= '${end.toISOString()}'`;\n\n const promptRv = new RunView();\n const promptResults = await promptRv.RunView<MJAIPromptRunEntityExtended>({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: dateFilter \n });\n\n const promptRuns = promptResults.Results;\n const executionTrends = await this.loadTrends();\n const costByModel = await this.analyzeCostByModel(promptRuns);\n const performanceMatrix = await this.analyzePerformanceMatrix(promptRuns);\n const tokenEfficiency = await this.analyzeTokenEfficiency(promptRuns);\n\n return {\n executionTrends,\n costByModel,\n performanceMatrix,\n tokenEfficiency\n };\n }\n\n // Helper methods\n private countActiveExecutions(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const activePrompts = promptRuns.filter(r => !r.CompletedAt && r.Success !== false).length;\n const activeAgents = agentRuns.filter(r => r.Status === 'Running').length;\n return activePrompts + activeAgents;\n }\n\n private sumCosts(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const promptCost = promptRuns.reduce((sum, r) => sum + (r.Cost || 0), 0);\n const agentCost = agentRuns.reduce((sum, r) => sum + (r.TotalCost || 0), 0);\n return promptCost + agentCost;\n }\n\n private sumTokens(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const promptTokens = promptRuns.reduce((sum, r) => sum + (r.TokensUsed || 0), 0);\n const agentTokens = agentRuns.reduce((sum, r) => sum + (r.TotalTokensUsed || 0), 0);\n return promptTokens + agentTokens;\n }\n\n private calculateAverageExecutionTime(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const promptTimes = promptRuns\n .filter(r => r.ExecutionTimeMS)\n .map(r => r.ExecutionTimeMS!);\n \n const agentTimes = agentRuns\n .filter(r => r.StartedAt && r.CompletedAt)\n .map(r => new Date(r.CompletedAt!).getTime() - new Date(r.StartedAt).getTime());\n\n const allTimes = [...promptTimes, ...agentTimes];\n return allTimes.length > 0 ? allTimes.reduce((sum, time) => sum + time, 0) / allTimes.length : 0;\n }\n\n private calculateSuccessRate(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const totalExecutions = promptRuns.length + agentRuns.length;\n if (totalExecutions === 0) return 1;\n\n const successfulPrompts = promptRuns.filter(r => r.Success).length;\n const successfulAgents = agentRuns.filter(r => r.Success).length;\n \n return (successfulPrompts + successfulAgents) / totalExecutions;\n }\n\n private countErrors(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const promptErrors = promptRuns.filter(r => !r.Success).length;\n const agentErrors = agentRuns.filter(r => !r.Success).length;\n return promptErrors + agentErrors;\n }\n\n private calculateDailyCostBurn(promptRuns: MJAIPromptRunEntityExtended[], agentRuns: MJAIAgentRunEntityExtended[]): number {\n const now = new Date();\n const dayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n \n const todayPrompts = promptRuns.filter(r => new Date(r.RunAt) >= dayStart);\n const todayAgents = agentRuns.filter(r => new Date(r.StartedAt) >= dayStart);\n \n return this.sumCosts(todayPrompts, todayAgents);\n }\n\n private createHourlyBuckets(start: Date, end: Date): Date[] {\n const buckets: Date[] = [];\n const current = new Date(start);\n const duration = end.getTime() - start.getTime();\n const hours = duration / (1000 * 60 * 60);\n \n // Determine bucket size based on duration\n let bucketSize: number;\n if (hours <= 24) {\n // For up to 24 hours, use hourly buckets\n bucketSize = 1;\n current.setMinutes(0, 0, 0);\n } else if (hours <= 24 * 7) {\n // For up to 7 days, use 4-hour buckets\n bucketSize = 4;\n current.setHours(Math.floor(current.getHours() / 4) * 4, 0, 0, 0);\n } else {\n // For more than 7 days, use daily buckets\n bucketSize = 24;\n current.setHours(0, 0, 0, 0);\n }\n \n while (current < end) {\n buckets.push(new Date(current));\n current.setHours(current.getHours() + bucketSize);\n }\n \n return buckets;\n }\n\n\n\n private async getTopModel(promptRuns: MJAIPromptRunEntityExtended[]): Promise<string> {\n const modelCounts = new Map<string, number>();\n const modelNames = new Map<string, string>();\n \n // Count models and track their names from the Model field\n for (const run of promptRuns) {\n if (run.ModelID && run.Model) {\n const count = modelCounts.get(run.ModelID) || 0;\n modelCounts.set(run.ModelID, count + 1);\n modelNames.set(run.ModelID, run.Model);\n }\n }\n\n if (modelCounts.size === 0) return 'N/A';\n\n const topModelId = Array.from(modelCounts.entries())\n .sort(([,a], [,b]) => b - a)[0][0];\n\n return modelNames.get(topModelId) || 'Unknown Model';\n }\n\n private async getTopAgent(agentRuns: MJAIAgentRunEntityExtended[]): Promise<string> {\n const agentCounts = new Map<string, number>();\n const agentNames = new Map<string, string>();\n \n // Count agents and track their names from the Agent field\n for (const run of agentRuns) {\n if (run.AgentID && run.Agent) {\n const count = agentCounts.get(run.AgentID) || 0;\n agentCounts.set(run.AgentID, count + 1);\n agentNames.set(run.AgentID, run.Agent);\n }\n }\n\n if (agentCounts.size === 0) return 'N/A';\n\n const topAgentId = Array.from(agentCounts.entries())\n .sort(([,a], [,b]) => b - a)[0][0];\n\n return agentNames.get(topAgentId) || 'Unknown Agent';\n }\n\n private async analyzeCostByModel(promptRuns: MJAIPromptRunEntityExtended[]): Promise<{ model: string; cost: number; tokens: number }[]> {\n const modelStats = new Map<string, { cost: number; tokens: number; name: string }>();\n\n for (const run of promptRuns) {\n if (run.ModelID && run.Model) {\n const existing = modelStats.get(run.ModelID) || { cost: 0, tokens: 0, name: run.Model };\n existing.cost += run.Cost || 0;\n existing.tokens += run.TokensUsed || 0;\n modelStats.set(run.ModelID, existing);\n }\n }\n\n const results = [];\n for (const [modelId, stats] of modelStats.entries()) {\n results.push({\n model: stats.name,\n cost: stats.cost,\n tokens: stats.tokens\n });\n }\n\n return results.sort((a, b) => b.cost - a.cost);\n }\n\n private async analyzePerformanceMatrix(promptRuns: MJAIPromptRunEntityExtended[]): Promise<{ agent: string; model: string; avgTime: number; successRate: number }[]> {\n const combinations = new Map<string, { times: number[]; successes: number; total: number; agentName: string; modelName: string }>();\n\n for (const run of promptRuns) {\n if (run.AgentID && run.ModelID && run.ExecutionTimeMS) {\n const key = `${run.AgentID}:${run.ModelID}`;\n const existing = combinations.get(key) || { \n times: [], \n successes: 0, \n total: 0,\n agentName: run.Agent || 'Unknown Agent',\n modelName: run.Model || 'Unknown Model'\n };\n \n existing.times.push(run.ExecutionTimeMS);\n existing.total += 1;\n if (run.Success) existing.successes += 1;\n \n combinations.set(key, existing);\n }\n }\n\n const results = [];\n for (const [key, data] of combinations.entries()) {\n results.push({\n agent: data.agentName,\n model: data.modelName,\n avgTime: data.times.reduce((sum, time) => sum + time, 0) / data.times.length,\n successRate: data.successes / data.total\n });\n }\n\n return results;\n }\n\n private async analyzeTokenEfficiency(promptRuns: MJAIPromptRunEntityExtended[]): Promise<{ inputTokens: number; outputTokens: number; cost: number; model: string }[]> {\n const modelEfficiency = new Map<string, { input: number; output: number; cost: number; name: string }>();\n\n for (const run of promptRuns) {\n if (run.ModelID && run.Model && run.TokensPrompt && run.TokensCompletion) {\n const existing = modelEfficiency.get(run.ModelID) || { input: 0, output: 0, cost: 0, name: run.Model };\n existing.input += run.TokensPrompt;\n existing.output += run.TokensCompletion;\n existing.cost += run.Cost || 0;\n modelEfficiency.set(run.ModelID, existing);\n }\n }\n\n const results = [];\n for (const [modelId, data] of modelEfficiency.entries()) {\n results.push({\n inputTokens: data.input,\n outputTokens: data.output,\n cost: data.cost,\n model: data.name\n });\n }\n\n return results;\n }\n\n\n async getExecutionDetails(executionId: string, type: 'prompt' | 'agent'): Promise<ExecutionDetails | null> {\n try {\n if (type === 'prompt') {\n return await this.getPromptExecutionDetails(executionId);\n } else {\n return await this.getAgentExecutionDetails(executionId);\n }\n } catch (error) {\n console.error('Error loading execution details:', error);\n return null;\n }\n }\n\n private async getPromptExecutionDetails(promptRunId: string): Promise<ExecutionDetails> {\n const rv = new RunView();\n const result = await rv.RunView<MJAIPromptRunEntityExtended>({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ID = '${promptRunId}'` \n });\n\n const run = result.Results[0];\n if (!run) throw new Error('Prompt run not found');\n\n const childrenResult = await rv.RunView<MJAIPromptRunEntityExtended>({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ParentID = '${promptRunId}'` \n });\n\n const children = await Promise.all(\n childrenResult.Results.map(child => this.getPromptExecutionDetails(child.ID))\n );\n\n return {\n id: run.ID,\n type: 'prompt',\n name: run.Prompt || 'Unnamed Prompt',\n status: run.Success ? 'completed' : 'failed',\n startTime: new Date(run.RunAt),\n endTime: run.CompletedAt ? new Date(run.CompletedAt) : undefined,\n cost: run.Cost || 0,\n tokens: run.TokensUsed || 0,\n success: run.Success || false,\n errorMessage: run.ErrorMessage || undefined,\n parentId: run.ParentID || undefined,\n children,\n model: run.Model || undefined\n };\n }\n\n private async getAgentExecutionDetails(agentRunId: string): Promise<ExecutionDetails> {\n const rv = new RunView();\n const result = await rv.RunView<MJAIAgentRunEntityExtended>({\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `ID = '${agentRunId}'` \n });\n\n const run = result.Results[0];\n if (!run) throw new Error('Agent run not found');\n\n const childrenResult = await rv.RunView<MJAIAgentRunEntityExtended>({\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `ParentRunID = '${agentRunId}'` \n });\n\n const children = await Promise.all(\n childrenResult.Results.map(child => this.getAgentExecutionDetails(child.ID))\n );\n\n return {\n id: run.ID,\n type: 'agent',\n name: run.Agent || 'Unnamed Agent',\n status: run.Status.toLowerCase(),\n startTime: new Date(run.StartedAt),\n endTime: run.CompletedAt ? new Date(run.CompletedAt) : undefined,\n cost: run.TotalCost || 0,\n tokens: run.TotalTokensUsed || 0,\n success: run.Success || false,\n errorMessage: run.ErrorMessage || undefined,\n parentId: run.ParentRunID || undefined,\n children\n };\n }\n}"]}