@memberjunction/ng-dashboards 5.34.1 → 5.36.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 (407) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +96 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +453 -122
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  40. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2084 -2079
  41. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  44. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  45. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  46. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  47. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  48. package/dist/AI/components/models/model-management.component.js +370 -425
  49. package/dist/AI/components/models/model-management.component.js.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  51. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  52. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  53. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  55. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  56. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  57. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  59. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  60. package/dist/AI/components/system/system-configuration.component.js +403 -362
  61. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  62. package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
  63. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/tags/tags-resource.component.js +1423 -1438
  65. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  66. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  67. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  68. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  69. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  70. package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
  71. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  72. package/dist/APIKeys/api-keys-resource.component.js +329 -371
  73. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  74. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  75. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  76. package/dist/Actions/components/actions-overview.component.js +202 -158
  77. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  78. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  79. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  80. package/dist/Actions/components/execution-monitoring.component.js +191 -142
  81. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  82. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  83. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  84. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  85. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  86. package/dist/Actions/components/explorer/index.d.ts +0 -1
  87. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  88. package/dist/Actions/components/explorer/index.js +0 -1
  89. package/dist/Actions/components/explorer/index.js.map +1 -1
  90. package/dist/Admin/admin-data-schema.component.js +19 -79
  91. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  92. package/dist/Admin/admin-dev-tools-resource.component.js +19 -79
  93. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  94. package/dist/Admin/admin-identity-access.component.js +19 -79
  95. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  96. package/dist/Admin/admin-monitoring.component.js +19 -79
  97. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  98. package/dist/Admin/base-admin-container.component.d.ts +9 -7
  99. package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
  100. package/dist/Admin/base-admin-container.component.js +26 -17
  101. package/dist/Admin/base-admin-container.component.js.map +1 -1
  102. package/dist/ApplicationRoles/application-roles-resource.component.js +92 -91
  103. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  104. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  105. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  106. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  107. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  108. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  109. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  110. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  111. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  112. package/dist/Communication/communication-logs-resource.component.js +80 -99
  113. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  114. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  115. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  116. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  117. package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
  118. package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
  119. package/dist/Communication/communication-new-message-resource.component.js +661 -0
  120. package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
  121. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  122. package/dist/Communication/communication-providers-resource.component.js +44 -45
  123. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  124. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  125. package/dist/Communication/communication-runs-resource.component.js +60 -58
  126. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  127. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  128. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  129. package/dist/Communication/communication-templates-resource.component.js +139 -162
  130. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  131. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  132. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  133. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  134. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  135. package/dist/Credentials/components/credentials-categories-resource.component.js +238 -266
  136. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  137. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  138. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  139. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  140. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  141. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  142. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  143. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  144. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  145. package/dist/Credentials/components/credentials-types-resource.component.js +290 -305
  146. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  147. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  148. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  149. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +41 -21
  150. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  151. package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
  152. package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
  153. package/dist/DatabaseDesigner/components/entity-list.component.js +148 -155
  154. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  155. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  156. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  157. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +25 -1
  158. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  159. package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
  160. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
  161. package/dist/DevTools/app-state-inspector.component.js +46 -72
  162. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  163. package/dist/DevTools/class-registry.component.js +88 -100
  164. package/dist/DevTools/class-registry.component.js.map +1 -1
  165. package/dist/DevTools/event-monitor.component.js +158 -168
  166. package/dist/DevTools/event-monitor.component.js.map +1 -1
  167. package/dist/DevTools/graphql-console.component.js +257 -264
  168. package/dist/DevTools/graphql-console.component.js.map +1 -1
  169. package/dist/DevTools/layout-inspector.component.d.ts +5 -0
  170. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
  171. package/dist/DevTools/layout-inspector.component.js +46 -64
  172. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  173. package/dist/DevTools/lazy-module-status.component.js +75 -84
  174. package/dist/DevTools/lazy-module-status.component.js.map +1 -1
  175. package/dist/DevTools/settings-explorer.component.js +76 -85
  176. package/dist/DevTools/settings-explorer.component.js.map +1 -1
  177. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
  178. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  179. package/dist/EntityAdmin/entity-admin-dashboard.component.js +24 -16
  180. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  181. package/dist/Home/home-dashboard.component.d.ts +6 -0
  182. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  183. package/dist/Home/home-dashboard.component.js +521 -485
  184. package/dist/Home/home-dashboard.component.js.map +1 -1
  185. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  186. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  187. package/dist/Integration/components/activity/activity.component.js +307 -318
  188. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  189. package/dist/Integration/components/connections/connections.component.js +654 -648
  190. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  191. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  192. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  193. package/dist/Integration/components/overview/overview.component.js +182 -163
  194. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  195. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  196. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  197. package/dist/Integration/components/pipelines/pipelines.component.js +595 -606
  198. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  199. package/dist/Integration/components/schedules/schedules.component.js +230 -241
  200. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  201. package/dist/Integration/integration.module.d.ts +1 -1
  202. package/dist/Integration/integration.module.d.ts.map +1 -1
  203. package/dist/Integration/integration.module.js +28 -1
  204. package/dist/Integration/integration.module.js.map +1 -1
  205. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
  206. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  207. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1138 -1147
  208. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  209. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  210. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  211. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
  212. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  213. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +684 -697
  214. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  215. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  216. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  217. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  218. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  219. package/dist/Lists/components/lists-browse-resource.component.d.ts +120 -1
  220. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  221. package/dist/Lists/components/lists-browse-resource.component.js +1239 -610
  222. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  223. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  224. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  225. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  226. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  227. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  228. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  229. package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
  230. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  231. package/dist/Lists/components/lists-operations-resource.component.js +1460 -272
  232. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  233. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
  234. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
  235. package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
  236. package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
  237. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
  238. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  239. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
  240. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  241. package/dist/Lists/index.d.ts +1 -0
  242. package/dist/Lists/index.d.ts.map +1 -1
  243. package/dist/Lists/index.js +1 -0
  244. package/dist/Lists/index.js.map +1 -1
  245. package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
  246. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
  247. package/dist/Lists/services/list-set-operations.service.js +236 -10
  248. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  249. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  250. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  251. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  252. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  253. package/dist/MCP/mcp.module.d.ts +1 -1
  254. package/dist/MCP/mcp.module.d.ts.map +1 -1
  255. package/dist/MCP/mcp.module.js +34 -1
  256. package/dist/MCP/mcp.module.js.map +1 -1
  257. package/dist/Permissions/audit-log-resource.component.js +76 -85
  258. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  259. package/dist/Permissions/resource-access-resource.component.js +64 -69
  260. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  261. package/dist/Permissions/user-access-resource.component.js +63 -74
  262. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  263. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  264. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  265. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  266. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  267. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  268. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  269. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  270. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  271. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  272. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  273. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  274. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  275. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  276. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  277. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  278. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  279. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  280. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  281. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  282. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  283. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  284. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  285. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  286. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  287. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  288. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  289. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  290. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  291. package/dist/Scheduling/scheduling-dashboard.component.js +259 -103
  292. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  293. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
  294. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  295. package/dist/SystemDiagnostics/system-diagnostics.component.js +1009 -1264
  296. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  297. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  298. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  299. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  300. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  301. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  302. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  303. package/dist/Testing/components/testing-analytics.component.js +420 -393
  304. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  305. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  306. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  307. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  308. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  309. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  310. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  311. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  312. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  313. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  314. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  315. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  316. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  317. package/dist/Testing/components/testing-explorer.component.d.ts +38 -6
  318. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  319. package/dist/Testing/components/testing-explorer.component.js +679 -786
  320. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  321. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  322. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  323. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  324. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  325. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  326. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  327. package/dist/Testing/components/testing-review.component.js +310 -274
  328. package/dist/Testing/components/testing-review.component.js.map +1 -1
  329. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  330. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  331. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  332. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  333. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  334. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  335. package/dist/Testing/components/testing-runs.component.js +307 -273
  336. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  337. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  338. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  339. package/dist/Testing/testing-dashboard.component.js +114 -99
  340. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  341. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  342. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  343. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  344. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  345. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  346. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  347. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  348. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  349. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  350. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  351. package/dist/actions-dashboards.module.d.ts +15 -16
  352. package/dist/actions-dashboards.module.d.ts.map +1 -1
  353. package/dist/actions-dashboards.module.js +34 -11
  354. package/dist/actions-dashboards.module.js.map +1 -1
  355. package/dist/ai-dashboards.module.d.ts +45 -48
  356. package/dist/ai-dashboards.module.d.ts.map +1 -1
  357. package/dist/ai-dashboards.module.js +51 -10
  358. package/dist/ai-dashboards.module.js.map +1 -1
  359. package/dist/archiving-dashboards.module.d.ts +2 -1
  360. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  361. package/dist/archiving-dashboards.module.js +12 -2
  362. package/dist/archiving-dashboards.module.js.map +1 -1
  363. package/dist/communication-dashboards.module.d.ts +9 -6
  364. package/dist/communication-dashboards.module.d.ts.map +1 -1
  365. package/dist/communication-dashboards.module.js +37 -7
  366. package/dist/communication-dashboards.module.js.map +1 -1
  367. package/dist/core-dashboards.module.d.ts +1 -1
  368. package/dist/core-dashboards.module.d.ts.map +1 -1
  369. package/dist/core-dashboards.module.js +46 -1
  370. package/dist/core-dashboards.module.js.map +1 -1
  371. package/dist/credentials-dashboards.module.d.ts +1 -1
  372. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  373. package/dist/credentials-dashboards.module.js +28 -1
  374. package/dist/credentials-dashboards.module.js.map +1 -1
  375. package/dist/lists-dashboards.module.d.ts +10 -9
  376. package/dist/lists-dashboards.module.d.ts.map +1 -1
  377. package/dist/lists-dashboards.module.js +40 -2
  378. package/dist/lists-dashboards.module.js.map +1 -1
  379. package/dist/public-api.d.ts +3 -2
  380. package/dist/public-api.d.ts.map +1 -1
  381. package/dist/public-api.js +4 -3
  382. package/dist/public-api.js.map +1 -1
  383. package/dist/scheduling-dashboards.module.d.ts +1 -1
  384. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  385. package/dist/scheduling-dashboards.module.js +31 -1
  386. package/dist/scheduling-dashboards.module.js.map +1 -1
  387. package/dist/testing-dashboards.module.d.ts +8 -7
  388. package/dist/testing-dashboards.module.d.ts.map +1 -1
  389. package/dist/testing-dashboards.module.js +42 -0
  390. package/dist/testing-dashboards.module.js.map +1 -1
  391. package/package.json +53 -52
  392. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  393. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  394. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  395. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  396. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  397. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  398. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  399. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  400. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  401. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  402. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  403. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  404. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  405. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  406. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  407. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -20,139 +20,97 @@ import { UserInfoEngine } from '@memberjunction/core-entities';
20
20
  import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
21
21
  import { BaseResourceComponent } from '@memberjunction/ng-shared';
22
22
  import * as i0 from "@angular/core";
23
- import * as i1 from "@angular/forms";
24
- import * as i2 from "@memberjunction/ng-shared-generic";
25
- import * as i3 from "@memberjunction/ng-agent-requests";
23
+ import * as i1 from "@memberjunction/ng-shared-generic";
24
+ import * as i2 from "@memberjunction/ng-agent-requests";
25
+ import * as i3 from "@memberjunction/ng-ui-components";
26
26
  import * as i4 from "@angular/common";
27
27
  const _forTrack0 = ($index, $item) => $item.ID;
28
- const _forTrack1 = ($index, $item) => $item.Value;
29
- function AgentRequestsResourceComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "span", 5);
31
- i0.ɵɵtext(1);
32
- i0.ɵɵelementEnd();
28
+ function AgentRequestsResourceComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelement(0, "mj-stat-badge", 1);
33
30
  } if (rf & 2) {
34
31
  const ctx_r0 = i0.ɵɵnextContext();
35
- i0.ɵɵadvance();
36
- i0.ɵɵtextInterpolate(ctx_r0.PendingCount);
37
- } }
38
- function AgentRequestsResourceComponent_For_17_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelementStart(0, "option", 14);
40
- i0.ɵɵtext(1);
41
- i0.ɵɵelementEnd();
42
- } if (rf & 2) {
43
- const status_r2 = ctx.$implicit;
44
- i0.ɵɵproperty("value", status_r2);
45
- i0.ɵɵadvance();
46
- i0.ɵɵtextInterpolate(status_r2);
32
+ i0.ɵɵproperty("Count", ctx_r0.PendingCount);
47
33
  } }
48
- function AgentRequestsResourceComponent_For_22_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "option", 14);
50
- i0.ɵɵtext(1);
34
+ function AgentRequestsResourceComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
35
+ i0.ɵɵelementStart(0, "div", 7);
36
+ i0.ɵɵelement(1, "mj-loading", 11);
51
37
  i0.ɵɵelementEnd();
52
- } if (rf & 2) {
53
- const type_r3 = ctx.$implicit;
54
- i0.ɵɵproperty("value", type_r3.ID);
55
- i0.ɵɵadvance();
56
- i0.ɵɵtextInterpolate(type_r3.Name);
57
38
  } }
58
- function AgentRequestsResourceComponent_For_27_Template(rf, ctx) { if (rf & 1) {
59
- i0.ɵɵelementStart(0, "option", 14);
60
- i0.ɵɵtext(1);
61
- i0.ɵɵelementEnd();
62
- } if (rf & 2) {
63
- const opt_r4 = ctx.$implicit;
64
- i0.ɵɵproperty("value", opt_r4.Value);
65
- i0.ɵɵadvance();
66
- i0.ɵɵtextInterpolate(opt_r4.Label);
67
- } }
68
- function AgentRequestsResourceComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
69
- const _r5 = i0.ɵɵgetCurrentView();
70
- i0.ɵɵelementStart(0, "button", 20);
71
- i0.ɵɵlistener("click", function AgentRequestsResourceComponent_Conditional_28_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.ClearFilters()); });
72
- i0.ɵɵelement(1, "i", 21);
73
- i0.ɵɵtext(2, " Clear Filters ");
74
- i0.ɵɵelementEnd();
75
- } }
76
- function AgentRequestsResourceComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementStart(0, "div", 16);
78
- i0.ɵɵelement(1, "mj-loading", 22);
79
- i0.ɵɵelementEnd();
80
- } }
81
- function AgentRequestsResourceComponent_Conditional_30_Conditional_2_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementStart(0, "p", 24);
39
+ function AgentRequestsResourceComponent_Conditional_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "p", 13);
83
41
  i0.ɵɵtext(1, "No agent requests yet");
84
42
  i0.ɵɵelementEnd();
85
- i0.ɵɵelementStart(2, "p", 25);
43
+ i0.ɵɵelementStart(2, "p", 14);
86
44
  i0.ɵɵtext(3, "When agents need human input, their requests will appear here.");
87
45
  i0.ɵɵelementEnd();
88
46
  } }
89
- function AgentRequestsResourceComponent_Conditional_30_Conditional_3_Template(rf, ctx) { if (rf & 1) {
90
- const _r6 = i0.ɵɵgetCurrentView();
91
- i0.ɵɵelementStart(0, "p", 24);
47
+ function AgentRequestsResourceComponent_Conditional_10_Conditional_3_Template(rf, ctx) { if (rf & 1) {
48
+ const _r2 = i0.ɵɵgetCurrentView();
49
+ i0.ɵɵelementStart(0, "p", 13);
92
50
  i0.ɵɵtext(1, "No requests match your filters");
93
51
  i0.ɵɵelementEnd();
94
- i0.ɵɵelementStart(2, "button", 20);
95
- i0.ɵɵlistener("click", function AgentRequestsResourceComponent_Conditional_30_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.ClearFilters()); });
52
+ i0.ɵɵelementStart(2, "button", 15);
53
+ i0.ɵɵlistener("click", function AgentRequestsResourceComponent_Conditional_10_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.ClearFilters()); });
96
54
  i0.ɵɵtext(3, "Clear Filters");
97
55
  i0.ɵɵelementEnd();
98
56
  } }
99
- function AgentRequestsResourceComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵelementStart(0, "div", 17);
101
- i0.ɵɵelement(1, "i", 23);
102
- i0.ɵɵconditionalCreate(2, AgentRequestsResourceComponent_Conditional_30_Conditional_2_Template, 4, 0)(3, AgentRequestsResourceComponent_Conditional_30_Conditional_3_Template, 4, 0);
57
+ function AgentRequestsResourceComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "div", 8);
59
+ i0.ɵɵelement(1, "i", 12);
60
+ i0.ɵɵconditionalCreate(2, AgentRequestsResourceComponent_Conditional_10_Conditional_2_Template, 4, 0)(3, AgentRequestsResourceComponent_Conditional_10_Conditional_3_Template, 4, 0);
103
61
  i0.ɵɵelementEnd();
104
62
  } if (rf & 2) {
105
63
  const ctx_r0 = i0.ɵɵnextContext();
106
64
  i0.ɵɵadvance(2);
107
65
  i0.ɵɵconditional(ctx_r0.Requests.length === 0 ? 2 : 3);
108
66
  } }
109
- function AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
110
- i0.ɵɵelementStart(0, "span", 32);
67
+ function AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
68
+ i0.ɵɵelementStart(0, "span", 22);
111
69
  i0.ɵɵtext(1, "Expired");
112
70
  i0.ɵɵelementEnd();
113
71
  } }
114
- function AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
115
- i0.ɵɵelementStart(0, "span", 35);
116
- i0.ɵɵelement(1, "i", 39);
72
+ function AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵelementStart(0, "span", 25);
74
+ i0.ɵɵelement(1, "i", 29);
117
75
  i0.ɵɵtext(2);
118
76
  i0.ɵɵelementEnd();
119
77
  } if (rf & 2) {
120
- const request_r8 = i0.ɵɵnextContext().$implicit;
78
+ const request_r4 = i0.ɵɵnextContext().$implicit;
121
79
  i0.ɵɵadvance(2);
122
- i0.ɵɵtextInterpolate1(" ", request_r8.Agent, " ");
80
+ i0.ɵɵtextInterpolate1(" ", request_r4.Agent, " ");
123
81
  } }
124
- function AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
125
- i0.ɵɵelementStart(0, "span", 35);
126
- i0.ɵɵelement(1, "i", 40);
82
+ function AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
83
+ i0.ɵɵelementStart(0, "span", 25);
84
+ i0.ɵɵelement(1, "i", 30);
127
85
  i0.ɵɵtext(2);
128
86
  i0.ɵɵpipe(3, "date");
129
87
  i0.ɵɵelementEnd();
130
88
  } if (rf & 2) {
131
- const request_r8 = i0.ɵɵnextContext().$implicit;
89
+ const request_r4 = i0.ɵɵnextContext().$implicit;
132
90
  i0.ɵɵadvance(2);
133
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 1, request_r8.__mj_CreatedAt, "short"), " ");
91
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 1, request_r4.__mj_CreatedAt, "short"), " ");
134
92
  } }
135
- function AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "span", 35);
137
- i0.ɵɵelement(1, "i", 41);
93
+ function AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
94
+ i0.ɵɵelementStart(0, "span", 25);
95
+ i0.ɵɵelement(1, "i", 31);
138
96
  i0.ɵɵtext(2);
139
97
  i0.ɵɵpipe(3, "date");
140
98
  i0.ɵɵelementEnd();
141
99
  } if (rf & 2) {
142
- const request_r8 = i0.ɵɵnextContext().$implicit;
100
+ const request_r4 = i0.ɵɵnextContext().$implicit;
143
101
  const ctx_r0 = i0.ɵɵnextContext(2);
144
- i0.ɵɵclassProp("expired", ctx_r0.IsExpired(request_r8));
102
+ i0.ɵɵclassProp("expired", ctx_r0.IsExpired(request_r4));
145
103
  i0.ɵɵadvance(2);
146
- i0.ɵɵtextInterpolate1(" Expires ", i0.ɵɵpipeBind2(3, 3, request_r8.ExpiresAt, "short"), " ");
104
+ i0.ɵɵtextInterpolate1(" Expires ", i0.ɵɵpipeBind2(3, 3, request_r4.ExpiresAt, "short"), " ");
147
105
  } }
148
- function AgentRequestsResourceComponent_Conditional_31_For_2_Template(rf, ctx) { if (rf & 1) {
149
- const _r7 = i0.ɵɵgetCurrentView();
150
- i0.ɵɵelementStart(0, "div", 27);
151
- i0.ɵɵlistener("click", function AgentRequestsResourceComponent_Conditional_31_For_2_Template_div_click_0_listener() { const request_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnRequestClick(request_r8)); });
152
- i0.ɵɵelementStart(1, "div", 28);
106
+ function AgentRequestsResourceComponent_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
107
+ const _r3 = i0.ɵɵgetCurrentView();
108
+ i0.ɵɵelementStart(0, "div", 17);
109
+ i0.ɵɵlistener("click", function AgentRequestsResourceComponent_Conditional_11_For_2_Template_div_click_0_listener() { const request_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnRequestClick(request_r4)); });
110
+ i0.ɵɵelementStart(1, "div", 18);
153
111
  i0.ɵɵelement(2, "i");
154
112
  i0.ɵɵelementEnd();
155
- i0.ɵɵelementStart(3, "div", 29)(4, "div", 30)(5, "span", 31);
113
+ i0.ɵɵelementStart(3, "div", 19)(4, "div", 20)(5, "span", 21);
156
114
  i0.ɵɵtext(6);
157
115
  i0.ɵɵelementEnd();
158
116
  i0.ɵɵelementStart(7, "span");
@@ -161,59 +119,59 @@ function AgentRequestsResourceComponent_Conditional_31_For_2_Template(rf, ctx) {
161
119
  i0.ɵɵelementStart(9, "span");
162
120
  i0.ɵɵtext(10);
163
121
  i0.ɵɵelementEnd();
164
- i0.ɵɵconditionalCreate(11, AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_11_Template, 2, 0, "span", 32);
122
+ i0.ɵɵconditionalCreate(11, AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_11_Template, 2, 0, "span", 22);
165
123
  i0.ɵɵelementEnd();
166
- i0.ɵɵelementStart(12, "p", 33);
124
+ i0.ɵɵelementStart(12, "p", 23);
167
125
  i0.ɵɵtext(13);
168
126
  i0.ɵɵelementEnd();
169
- i0.ɵɵelementStart(14, "div", 34);
170
- i0.ɵɵconditionalCreate(15, AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_15_Template, 3, 1, "span", 35);
171
- i0.ɵɵconditionalCreate(16, AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_16_Template, 4, 4, "span", 35);
172
- i0.ɵɵconditionalCreate(17, AgentRequestsResourceComponent_Conditional_31_For_2_Conditional_17_Template, 4, 6, "span", 36);
127
+ i0.ɵɵelementStart(14, "div", 24);
128
+ i0.ɵɵconditionalCreate(15, AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_15_Template, 3, 1, "span", 25);
129
+ i0.ɵɵconditionalCreate(16, AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_16_Template, 4, 4, "span", 25);
130
+ i0.ɵɵconditionalCreate(17, AgentRequestsResourceComponent_Conditional_11_For_2_Conditional_17_Template, 4, 6, "span", 26);
173
131
  i0.ɵɵelementEnd()();
174
- i0.ɵɵelementStart(18, "div", 37);
175
- i0.ɵɵelement(19, "i", 38);
132
+ i0.ɵɵelementStart(18, "div", 27);
133
+ i0.ɵɵelement(19, "i", 28);
176
134
  i0.ɵɵelementEnd()();
177
135
  } if (rf & 2) {
178
- const request_r8 = ctx.$implicit;
136
+ const request_r4 = ctx.$implicit;
179
137
  const ctx_r0 = i0.ɵɵnextContext(2);
180
- i0.ɵɵclassProp("actionable", request_r8.Status === "Requested")("expired", ctx_r0.IsExpired(request_r8));
138
+ i0.ɵɵclassProp("actionable", request_r4.Status === "Requested")("expired", ctx_r0.IsExpired(request_r4));
181
139
  i0.ɵɵadvance(2);
182
- i0.ɵɵclassMap(i0.ɵɵinterpolate1("", ctx_r0.GetRequestTypeIcon(request_r8.RequestTypeID), " type-icon"));
140
+ i0.ɵɵclassMap(i0.ɵɵinterpolate1("", ctx_r0.GetRequestTypeIcon(request_r4.RequestTypeID), " type-icon"));
183
141
  i0.ɵɵadvance(4);
184
- i0.ɵɵtextInterpolate(ctx_r0.GetRequestTypeName(request_r8.RequestTypeID));
142
+ i0.ɵɵtextInterpolate(ctx_r0.GetRequestTypeName(request_r4.RequestTypeID));
185
143
  i0.ɵɵadvance();
186
- i0.ɵɵclassMap(i0.ɵɵinterpolate1("priority-badge ", ctx_r0.GetPriorityClass(request_r8.Priority)));
144
+ i0.ɵɵclassMap(i0.ɵɵinterpolate1("priority-badge ", ctx_r0.GetPriorityClass(request_r4.Priority)));
187
145
  i0.ɵɵadvance();
188
- i0.ɵɵtextInterpolate1(" ", ctx_r0.GetPriorityLabel(request_r8.Priority), " ");
146
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.GetPriorityLabel(request_r4.Priority), " ");
189
147
  i0.ɵɵadvance();
190
- i0.ɵɵclassMap(i0.ɵɵinterpolate1("status-badge status-", request_r8.Status.toLowerCase()));
148
+ i0.ɵɵclassMap(i0.ɵɵinterpolate1("status-badge status-", request_r4.Status.toLowerCase()));
191
149
  i0.ɵɵadvance();
192
- i0.ɵɵtextInterpolate1(" ", request_r8.Status, " ");
150
+ i0.ɵɵtextInterpolate1(" ", request_r4.Status, " ");
193
151
  i0.ɵɵadvance();
194
- i0.ɵɵconditional(ctx_r0.IsExpired(request_r8) && request_r8.Status === "Requested" ? 11 : -1);
152
+ i0.ɵɵconditional(ctx_r0.IsExpired(request_r4) && request_r4.Status === "Requested" ? 11 : -1);
195
153
  i0.ɵɵadvance(2);
196
- i0.ɵɵtextInterpolate(request_r8.Request);
154
+ i0.ɵɵtextInterpolate(request_r4.Request);
197
155
  i0.ɵɵadvance(2);
198
- i0.ɵɵconditional(request_r8.Agent ? 15 : -1);
156
+ i0.ɵɵconditional(request_r4.Agent ? 15 : -1);
199
157
  i0.ɵɵadvance();
200
- i0.ɵɵconditional(request_r8.__mj_CreatedAt ? 16 : -1);
158
+ i0.ɵɵconditional(request_r4.__mj_CreatedAt ? 16 : -1);
201
159
  i0.ɵɵadvance();
202
- i0.ɵɵconditional(request_r8.ExpiresAt ? 17 : -1);
160
+ i0.ɵɵconditional(request_r4.ExpiresAt ? 17 : -1);
203
161
  } }
204
- function AgentRequestsResourceComponent_Conditional_31_Template(rf, ctx) { if (rf & 1) {
205
- i0.ɵɵelementStart(0, "div", 18);
206
- i0.ɵɵrepeaterCreate(1, AgentRequestsResourceComponent_Conditional_31_For_2_Template, 20, 21, "div", 26, _forTrack0);
162
+ function AgentRequestsResourceComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵelementStart(0, "div", 9);
164
+ i0.ɵɵrepeaterCreate(1, AgentRequestsResourceComponent_Conditional_11_For_2_Template, 20, 21, "div", 16, _forTrack0);
207
165
  i0.ɵɵelementEnd();
208
166
  } if (rf & 2) {
209
167
  const ctx_r0 = i0.ɵɵnextContext();
210
168
  i0.ɵɵadvance();
211
169
  i0.ɵɵrepeater(ctx_r0.FilteredRequests);
212
170
  } }
213
- function AgentRequestsResourceComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
214
- const _r9 = i0.ɵɵgetCurrentView();
215
- i0.ɵɵelementStart(0, "mj-agent-request-dialog", 42);
216
- i0.ɵɵlistener("Close", function AgentRequestsResourceComponent_Conditional_32_Template_mj_agent_request_dialog_Close_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnPanelClose($event)); });
171
+ function AgentRequestsResourceComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
172
+ const _r5 = i0.ɵɵgetCurrentView();
173
+ i0.ɵɵelementStart(0, "mj-agent-request-dialog", 32);
174
+ i0.ɵɵlistener("Close", function AgentRequestsResourceComponent_Conditional_12_Template_mj_agent_request_dialog_Close_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnPanelClose($event)); });
217
175
  i0.ɵɵelementEnd();
218
176
  } if (rf & 2) {
219
177
  const ctx_r0 = i0.ɵɵnextContext();
@@ -305,6 +263,78 @@ let AgentRequestsResourceComponent = class AgentRequestsResourceComponent extend
305
263
  this.applyFilters();
306
264
  this.saveUserSettings();
307
265
  }
266
+ /** Reset only the popover filters (Status/Type/Priority) — leave SearchTerm alone. */
267
+ resetPopoverFilters() {
268
+ this.Filters = { ...this.Filters, Status: '', RequestType: '', Priority: '' };
269
+ this.applyFilters();
270
+ this.saveUserSettings();
271
+ }
272
+ /** Number of currently-applied filter criteria inside the popover (excludes SearchTerm — surfaced separately). */
273
+ get ActiveFilterCount() {
274
+ let n = 0;
275
+ if (this.Filters.Status)
276
+ n++;
277
+ if (this.Filters.RequestType)
278
+ n++;
279
+ if (this.Filters.Priority)
280
+ n++;
281
+ return n;
282
+ }
283
+ /** Values record consumed by the centralized <mj-filter-panel>. */
284
+ get requestFilterValues() {
285
+ return {
286
+ Status: this.Filters.Status,
287
+ RequestType: this.Filters.RequestType,
288
+ Priority: this.Filters.Priority,
289
+ };
290
+ }
291
+ /** Field config consumed by the centralized <mj-filter-panel>. */
292
+ get requestFilterFields() {
293
+ return [
294
+ {
295
+ key: 'Status',
296
+ type: 'dropdown',
297
+ label: 'Status',
298
+ icon: 'fa-solid fa-toggle-on',
299
+ options: [
300
+ { text: 'All Statuses', value: '' },
301
+ ...this.StatusOptions.map(s => ({ text: s, value: s })),
302
+ ],
303
+ },
304
+ {
305
+ key: 'RequestType',
306
+ type: 'dropdown',
307
+ label: 'Type',
308
+ icon: 'fa-solid fa-tag',
309
+ filterable: this.RequestTypes.length > 10,
310
+ options: [
311
+ { text: 'All Types', value: '' },
312
+ ...this.RequestTypes.map(t => ({ text: t.Name, value: t.ID })),
313
+ ],
314
+ },
315
+ {
316
+ key: 'Priority',
317
+ type: 'dropdown',
318
+ label: 'Priority',
319
+ icon: 'fa-solid fa-flag',
320
+ options: [
321
+ { text: 'All Priorities', value: '' },
322
+ ...this.PriorityOptions.map(p => ({ text: p.Label, value: p.Value })),
323
+ ],
324
+ },
325
+ ];
326
+ }
327
+ /** Receive the updated values record from <mj-filter-panel> and apply it. */
328
+ onFilterValuesChange(values) {
329
+ this.Filters = {
330
+ ...this.Filters,
331
+ Status: values['Status'] ?? '',
332
+ RequestType: values['RequestType'] ?? '',
333
+ Priority: values['Priority'] ?? '',
334
+ };
335
+ this.applyFilters();
336
+ this.saveUserSettings();
337
+ }
308
338
  /** Get the request type name by ID */
309
339
  GetRequestTypeName(typeId) {
310
340
  if (!typeId)
@@ -468,70 +498,35 @@ let AgentRequestsResourceComponent = class AgentRequestsResourceComponent extend
468
498
  }
469
499
  }
470
500
  static ɵfac = function AgentRequestsResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AgentRequestsResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
471
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AgentRequestsResourceComponent, selectors: [["app-agent-requests-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 8, consts: [[1, "agent-requests-container"], [1, "requests-header"], [1, "header-left"], [1, "page-title"], [1, "fa-solid", "fa-inbox"], [1, "pending-badge"], [1, "header-right"], [1, "search-box"], [1, "fa-solid", "fa-search", "search-icon"], ["type", "text", "placeholder", "Search requests...", 1, "search-input", 3, "ngModelChange", "ngModel"], [1, "filter-bar"], [1, "filter-group"], [1, "filter-select", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], [1, "clear-filters-btn"], [1, "loading-container"], [1, "empty-state"], [1, "requests-list"], [3, "Visible", "Request"], [1, "clear-filters-btn", 3, "click"], [1, "fa-solid", "fa-times"], ["text", "Loading agent requests..."], [1, "fa-solid", "fa-inbox", "empty-icon"], [1, "empty-text"], [1, "empty-subtext"], [1, "request-card", 3, "actionable", "expired"], [1, "request-card", 3, "click"], [1, "card-left"], [1, "card-content"], [1, "card-top-row"], [1, "request-type-name"], [1, "expired-tag"], [1, "request-text"], [1, "card-meta"], [1, "meta-item"], [1, "meta-item", 3, "expired"], [1, "card-right"], [1, "fa-solid", "fa-chevron-right"], [1, "fa-solid", "fa-robot"], [1, "fa-regular", "fa-clock"], [1, "fa-solid", "fa-hourglass-end"], [3, "Close", "Visible", "Request"]], template: function AgentRequestsResourceComponent_Template(rf, ctx) { if (rf & 1) {
472
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h2", 3);
473
- i0.ɵɵelement(4, "i", 4);
474
- i0.ɵɵtext(5, " Agent Requests ");
475
- i0.ɵɵconditionalCreate(6, AgentRequestsResourceComponent_Conditional_6_Template, 2, 1, "span", 5);
476
- i0.ɵɵelementEnd()();
477
- i0.ɵɵelementStart(7, "div", 6)(8, "div", 7);
478
- i0.ɵɵelement(9, "i", 8);
479
- i0.ɵɵelementStart(10, "input", 9);
480
- i0.ɵɵlistener("ngModelChange", function AgentRequestsResourceComponent_Template_input_ngModelChange_10_listener($event) { return ctx.OnSearchChange($event); });
481
- i0.ɵɵelementEnd()()()();
482
- i0.ɵɵelementStart(11, "div", 10)(12, "div", 11)(13, "select", 12);
483
- i0.ɵɵtwoWayListener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_13_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Filters.Status, $event) || (ctx.Filters.Status = $event); return $event; });
484
- i0.ɵɵlistener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_13_listener() { return ctx.OnFilterChange(); });
485
- i0.ɵɵelementStart(14, "option", 13);
486
- i0.ɵɵtext(15, "All Statuses");
487
- i0.ɵɵelementEnd();
488
- i0.ɵɵrepeaterCreate(16, AgentRequestsResourceComponent_For_17_Template, 2, 2, "option", 14, i0.ɵɵrepeaterTrackByIdentity);
489
- i0.ɵɵelementEnd();
490
- i0.ɵɵelementStart(18, "select", 12);
491
- i0.ɵɵtwoWayListener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Filters.RequestType, $event) || (ctx.Filters.RequestType = $event); return $event; });
492
- i0.ɵɵlistener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_18_listener() { return ctx.OnFilterChange(); });
493
- i0.ɵɵelementStart(19, "option", 13);
494
- i0.ɵɵtext(20, "All Types");
495
- i0.ɵɵelementEnd();
496
- i0.ɵɵrepeaterCreate(21, AgentRequestsResourceComponent_For_22_Template, 2, 2, "option", 14, _forTrack0);
497
- i0.ɵɵelementEnd();
498
- i0.ɵɵelementStart(23, "select", 12);
499
- i0.ɵɵtwoWayListener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_23_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Filters.Priority, $event) || (ctx.Filters.Priority = $event); return $event; });
500
- i0.ɵɵlistener("ngModelChange", function AgentRequestsResourceComponent_Template_select_ngModelChange_23_listener() { return ctx.OnFilterChange(); });
501
- i0.ɵɵelementStart(24, "option", 13);
502
- i0.ɵɵtext(25, "All Priorities");
503
- i0.ɵɵelementEnd();
504
- i0.ɵɵrepeaterCreate(26, AgentRequestsResourceComponent_For_27_Template, 2, 2, "option", 14, _forTrack1);
501
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AgentRequestsResourceComponent, selectors: [["app-agent-requests-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 8, consts: [["Title", "Agent Requests", "Icon", "fa-solid fa-inbox"], ["meta", "", "Icon", "fa-solid fa-hourglass-half", "Label", "pending", "Variant", "warning", 3, "Count"], ["actions", ""], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], ["toolbar", ""], ["Placeholder", "Search requests...", 3, "ValueChange", "Value"], [1, "loading-container"], [1, "empty-state"], [1, "requests-list"], [3, "Visible", "Request"], ["text", "Loading agent requests..."], [1, "fa-solid", "fa-inbox", "empty-icon"], [1, "empty-text"], [1, "empty-subtext"], [1, "clear-filters-btn", 3, "click"], [1, "request-card", 3, "actionable", "expired"], [1, "request-card", 3, "click"], [1, "card-left"], [1, "card-content"], [1, "card-top-row"], [1, "request-type-name"], [1, "expired-tag"], [1, "request-text"], [1, "card-meta"], [1, "meta-item"], [1, "meta-item", 3, "expired"], [1, "card-right"], [1, "fa-solid", "fa-chevron-right"], [1, "fa-solid", "fa-robot"], [1, "fa-regular", "fa-clock"], [1, "fa-solid", "fa-hourglass-end"], [3, "Close", "Visible", "Request"]], template: function AgentRequestsResourceComponent_Template(rf, ctx) { if (rf & 1) {
502
+ i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0);
503
+ i0.ɵɵconditionalCreate(2, AgentRequestsResourceComponent_Conditional_2_Template, 1, 1, "mj-stat-badge", 1);
504
+ i0.ɵɵelementStart(3, "div", 2)(4, "mj-filter-popover", 3);
505
+ i0.ɵɵlistener("ClearAllRequested", function AgentRequestsResourceComponent_Template_mj_filter_popover_ClearAllRequested_4_listener() { return ctx.resetPopoverFilters(); });
506
+ i0.ɵɵelementStart(5, "mj-filter-panel", 4);
507
+ i0.ɵɵlistener("ValuesChange", function AgentRequestsResourceComponent_Template_mj_filter_panel_ValuesChange_5_listener($event) { return ctx.onFilterValuesChange($event); })("Reset", function AgentRequestsResourceComponent_Template_mj_filter_panel_Reset_5_listener() { return ctx.resetPopoverFilters(); });
508
+ i0.ɵɵelementEnd()()();
509
+ i0.ɵɵelementStart(6, "div", 5)(7, "mj-page-search", 6);
510
+ i0.ɵɵlistener("ValueChange", function AgentRequestsResourceComponent_Template_mj_page_search_ValueChange_7_listener($event) { return ctx.OnSearchChange($event); });
511
+ i0.ɵɵelementEnd()()();
512
+ i0.ɵɵelementStart(8, "mj-page-body");
513
+ i0.ɵɵconditionalCreate(9, AgentRequestsResourceComponent_Conditional_9_Template, 2, 0, "div", 7)(10, AgentRequestsResourceComponent_Conditional_10_Template, 4, 1, "div", 8)(11, AgentRequestsResourceComponent_Conditional_11_Template, 3, 0, "div", 9);
505
514
  i0.ɵɵelementEnd()();
506
- i0.ɵɵconditionalCreate(28, AgentRequestsResourceComponent_Conditional_28_Template, 3, 0, "button", 15);
507
- i0.ɵɵelementEnd();
508
- i0.ɵɵconditionalCreate(29, AgentRequestsResourceComponent_Conditional_29_Template, 2, 0, "div", 16)(30, AgentRequestsResourceComponent_Conditional_30_Template, 4, 1, "div", 17)(31, AgentRequestsResourceComponent_Conditional_31_Template, 3, 0, "div", 18);
509
- i0.ɵɵelementEnd();
510
- i0.ɵɵconditionalCreate(32, AgentRequestsResourceComponent_Conditional_32_Template, 1, 2, "mj-agent-request-dialog", 19);
515
+ i0.ɵɵconditionalCreate(12, AgentRequestsResourceComponent_Conditional_12_Template, 1, 2, "mj-agent-request-dialog", 10);
511
516
  } if (rf & 2) {
512
- i0.ɵɵadvance(6);
513
- i0.ɵɵconditional(ctx.PendingCount > 0 ? 6 : -1);
514
- i0.ɵɵadvance(4);
515
- i0.ɵɵproperty("ngModel", ctx.Filters.SearchTerm);
516
- i0.ɵɵadvance(3);
517
- i0.ɵɵtwoWayProperty("ngModel", ctx.Filters.Status);
518
- i0.ɵɵadvance(3);
519
- i0.ɵɵrepeater(ctx.StatusOptions);
520
517
  i0.ɵɵadvance(2);
521
- i0.ɵɵtwoWayProperty("ngModel", ctx.Filters.RequestType);
522
- i0.ɵɵadvance(3);
523
- i0.ɵɵrepeater(ctx.RequestTypes);
518
+ i0.ɵɵconditional(ctx.PendingCount > 0 ? 2 : -1);
524
519
  i0.ɵɵadvance(2);
525
- i0.ɵɵtwoWayProperty("ngModel", ctx.Filters.Priority);
526
- i0.ɵɵadvance(3);
527
- i0.ɵɵrepeater(ctx.PriorityOptions);
528
- i0.ɵɵadvance(2);
529
- i0.ɵɵconditional(ctx.Filters.Status || ctx.Filters.RequestType || ctx.Filters.Priority || ctx.Filters.SearchTerm ? 28 : -1);
520
+ i0.ɵɵproperty("ActiveCount", ctx.ActiveFilterCount)("ShowClearAll", ctx.ActiveFilterCount > 0);
530
521
  i0.ɵɵadvance();
531
- i0.ɵɵconditional(ctx.IsLoading ? 29 : ctx.FilteredRequests.length === 0 ? 30 : 31);
522
+ i0.ɵɵproperty("Fields", ctx.requestFilterFields)("Values", ctx.requestFilterValues);
523
+ i0.ɵɵadvance(2);
524
+ i0.ɵɵproperty("Value", ctx.Filters.SearchTerm);
525
+ i0.ɵɵadvance(2);
526
+ i0.ɵɵconditional(ctx.IsLoading ? 9 : ctx.FilteredRequests.length === 0 ? 10 : 11);
532
527
  i0.ɵɵadvance(3);
533
- i0.ɵɵconditional(ctx.ShowRequestPanel && ctx.SelectedRequest ? 32 : -1);
534
- } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.LoadingComponent, i3.AgentRequestDialogComponent, i4.DatePipe], styles: [".agent-requests-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 20px;\n background: var(--mj-bg-page);\n}\n\n\n\n.requests-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.page-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.page-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.pending-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 22px;\n height: 22px;\n padding: 0 6px;\n border-radius: 11px;\n font-size: 12px;\n font-weight: 700;\n background: var(--mj-status-warning);\n color: var(--mj-text-inverse);\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n position: relative;\n width: 280px;\n}\n\n.search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px 8px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.search-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-border-focus);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n\n\n.filter-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.filter-select[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.clear-filters-btn[_ngcontent-%COMP%] {\n padding: 6px 12px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-filters-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-active);\n color: var(--mj-text-primary);\n}\n\n\n\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 60px 0;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 80px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n}\n\n.empty-text[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 16px;\n color: var(--mj-text-secondary);\n}\n\n.empty-subtext[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n\n\n.requests-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n overflow-y: auto;\n}\n\n.request-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.request-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.request-card.actionable[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-status-warning);\n}\n\n.request-card.expired[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.card-left[_ngcontent-%COMP%] {\n flex-shrink: 0;\n padding-top: 2px;\n}\n\n.type-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n}\n\n.card-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.card-top-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n}\n\n.request-type-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.request-text[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 13px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.card-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 14px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.meta-item.expired[_ngcontent-%COMP%] {\n color: var(--mj-status-error-text);\n}\n\n.card-right[_ngcontent-%COMP%] {\n flex-shrink: 0;\n color: var(--mj-text-disabled);\n font-size: 12px;\n padding-top: 4px;\n}\n\n\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-requested[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n border: 1px solid var(--mj-status-info-border);\n}\n\n.status-approved[_ngcontent-%COMP%], \n.status-responded[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border: 1px solid var(--mj-status-success-border);\n}\n\n.status-rejected[_ngcontent-%COMP%], \n.status-canceled[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n border: 1px solid var(--mj-status-error-border);\n}\n\n.status-expired[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border: 1px solid var(--mj-status-warning-border);\n}\n\n.priority-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.priority-low[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.priority-normal[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.priority-high[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.priority-critical[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.expired-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 600;\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}"] });
528
+ i0.ɵɵconditional(ctx.ShowRequestPanel && ctx.SelectedRequest ? 12 : -1);
529
+ } }, dependencies: [i1.LoadingComponent, i2.AgentRequestDialogComponent, i3.MJPageHeaderComponent, i3.MJPageLayoutComponent, i3.MJPageBodyComponent, i3.MJFilterPopoverComponent, i3.MJPageSearchComponent, i3.MJFilterPanelComponent, i3.MJStatBadgeComponent, i4.DatePipe], styles: ["\n\n\n\n\n\n.clear-filters-btn[_ngcontent-%COMP%] {\n padding: 6px 12px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-filters-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-active);\n color: var(--mj-text-primary);\n}\n\n\n\n.loading-container[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 60px 20px;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 80px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n}\n\n.empty-text[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 16px;\n color: var(--mj-text-secondary);\n}\n\n.empty-subtext[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n\n\n.requests-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n padding: 0 20px 20px;\n overflow-y: auto;\n}\n\n.request-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.request-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.request-card.actionable[_ngcontent-%COMP%] {\n border-left: 3px solid var(--mj-status-warning);\n}\n\n.request-card.expired[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.card-left[_ngcontent-%COMP%] {\n flex-shrink: 0;\n padding-top: 2px;\n}\n\n.type-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n}\n\n.card-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.card-top-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n}\n\n.request-type-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.request-text[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 13px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.card-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 14px;\n flex-wrap: wrap;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.meta-item.expired[_ngcontent-%COMP%] {\n color: var(--mj-status-error-text);\n}\n\n.card-right[_ngcontent-%COMP%] {\n flex-shrink: 0;\n color: var(--mj-text-disabled);\n font-size: 12px;\n padding-top: 4px;\n}\n\n\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-requested[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n border: 1px solid var(--mj-status-info-border);\n}\n\n.status-approved[_ngcontent-%COMP%], \n.status-responded[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border: 1px solid var(--mj-status-success-border);\n}\n\n.status-rejected[_ngcontent-%COMP%], \n.status-canceled[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n border: 1px solid var(--mj-status-error-border);\n}\n\n.status-expired[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border: 1px solid var(--mj-status-warning-border);\n}\n\n.priority-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.priority-low[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.priority-normal[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.priority-high[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.priority-critical[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.expired-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 600;\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}"] });
535
530
  };
536
531
  AgentRequestsResourceComponent = __decorate([
537
532
  RegisterClass(BaseResourceComponent, 'AIAgentRequestsResource')
@@ -539,9 +534,9 @@ AgentRequestsResourceComponent = __decorate([
539
534
  export { AgentRequestsResourceComponent };
540
535
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AgentRequestsResourceComponent, [{
541
536
  type: Component,
542
- args: [{ standalone: false, selector: 'app-agent-requests-resource', template: "<div class=\"agent-requests-container\">\n <!-- Header -->\n <div class=\"requests-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">\n <i class=\"fa-solid fa-inbox\"></i> Agent Requests\n @if (PendingCount > 0) {\n <span class=\"pending-badge\">{{ PendingCount }}</span>\n }\n </h2>\n </div>\n <div class=\"header-right\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input\n type=\"text\"\n class=\"search-input\"\n placeholder=\"Search requests...\"\n [ngModel]=\"Filters.SearchTerm\"\n (ngModelChange)=\"OnSearchChange($event)\">\n </div>\n </div>\n </div>\n\n <!-- Filters -->\n <div class=\"filter-bar\">\n <div class=\"filter-group\">\n <select class=\"filter-select\" [(ngModel)]=\"Filters.Status\" (ngModelChange)=\"OnFilterChange()\">\n <option value=\"\">All Statuses</option>\n @for (status of StatusOptions; track status) {\n <option [value]=\"status\">{{ status }}</option>\n }\n </select>\n\n <select class=\"filter-select\" [(ngModel)]=\"Filters.RequestType\" (ngModelChange)=\"OnFilterChange()\">\n <option value=\"\">All Types</option>\n @for (type of RequestTypes; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n\n <select class=\"filter-select\" [(ngModel)]=\"Filters.Priority\" (ngModelChange)=\"OnFilterChange()\">\n <option value=\"\">All Priorities</option>\n @for (opt of PriorityOptions; track opt.Value) {\n <option [value]=\"opt.Value\">{{ opt.Label }}</option>\n }\n </select>\n </div>\n\n @if (Filters.Status || Filters.RequestType || Filters.Priority || Filters.SearchTerm) {\n <button class=\"clear-filters-btn\" (click)=\"ClearFilters()\">\n <i class=\"fa-solid fa-times\"></i> Clear Filters\n </button>\n }\n </div>\n\n <!-- Content -->\n @if (IsLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading agent requests...\"></mj-loading>\n </div>\n } @else if (FilteredRequests.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox empty-icon\"></i>\n @if (Requests.length === 0) {\n <p class=\"empty-text\">No agent requests yet</p>\n <p class=\"empty-subtext\">When agents need human input, their requests will appear here.</p>\n } @else {\n <p class=\"empty-text\">No requests match your filters</p>\n <button class=\"clear-filters-btn\" (click)=\"ClearFilters()\">Clear Filters</button>\n }\n </div>\n } @else {\n <div class=\"requests-list\">\n @for (request of FilteredRequests; track request.ID) {\n <div\n class=\"request-card\"\n [class.actionable]=\"request.Status === 'Requested'\"\n [class.expired]=\"IsExpired(request)\"\n (click)=\"OnRequestClick(request)\">\n <div class=\"card-left\">\n <i class=\"{{ GetRequestTypeIcon(request.RequestTypeID) }} type-icon\"></i>\n </div>\n <div class=\"card-content\">\n <div class=\"card-top-row\">\n <span class=\"request-type-name\">{{ GetRequestTypeName(request.RequestTypeID) }}</span>\n <span class=\"priority-badge {{ GetPriorityClass(request.Priority) }}\">\n {{ GetPriorityLabel(request.Priority) }}\n </span>\n <span class=\"status-badge status-{{ request.Status.toLowerCase() }}\">\n {{ request.Status }}\n </span>\n @if (IsExpired(request) && request.Status === 'Requested') {\n <span class=\"expired-tag\">Expired</span>\n }\n </div>\n <p class=\"request-text\">{{ request.Request }}</p>\n <div class=\"card-meta\">\n @if (request.Agent) {\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-robot\"></i> {{ request.Agent }}\n </span>\n }\n @if (request.__mj_CreatedAt) {\n <span class=\"meta-item\">\n <i class=\"fa-regular fa-clock\"></i> {{ request.__mj_CreatedAt | date:'short' }}\n </span>\n }\n @if (request.ExpiresAt) {\n <span class=\"meta-item\" [class.expired]=\"IsExpired(request)\">\n <i class=\"fa-solid fa-hourglass-end\"></i> Expires {{ request.ExpiresAt | date:'short' }}\n </span>\n }\n </div>\n </div>\n <div class=\"card-right\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </div>\n </div>\n }\n </div>\n }\n</div>\n\n<!-- Agent Request Detail Panel -->\n@if (ShowRequestPanel && SelectedRequest) {\n <mj-agent-request-dialog\n [Visible]=\"ShowRequestPanel\"\n [Request]=\"SelectedRequest\"\n (Close)=\"OnPanelClose($event)\">\n </mj-agent-request-dialog>\n}\n", styles: [".agent-requests-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 20px;\n background: var(--mj-bg-page);\n}\n\n/* Header */\n.requests-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 16px;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.page-title {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.page-title i {\n color: var(--mj-brand-primary);\n}\n\n.pending-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 22px;\n height: 22px;\n padding: 0 6px;\n border-radius: 11px;\n font-size: 12px;\n font-weight: 700;\n background: var(--mj-status-warning);\n color: var(--mj-text-inverse);\n}\n\n/* Search */\n.search-box {\n position: relative;\n width: 280px;\n}\n\n.search-icon {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.search-input {\n width: 100%;\n padding: 8px 12px 8px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.search-input:focus {\n outline: none;\n border-color: var(--mj-border-focus);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n/* Filters */\n.filter-bar {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.filter-group {\n display: flex;\n gap: 8px;\n}\n\n.filter-select {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.clear-filters-btn {\n padding: 6px 12px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-filters-btn:hover {\n background: var(--mj-bg-surface-active);\n color: var(--mj-text-primary);\n}\n\n/* Loading */\n.loading-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 60px 0;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 80px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n}\n\n.empty-text {\n margin: 0 0 8px 0;\n font-size: 16px;\n color: var(--mj-text-secondary);\n}\n\n.empty-subtext {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n/* Request Cards */\n.requests-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n overflow-y: auto;\n}\n\n.request-card {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.request-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.request-card.actionable {\n border-left: 3px solid var(--mj-status-warning);\n}\n\n.request-card.expired {\n opacity: 0.7;\n}\n\n.card-left {\n flex-shrink: 0;\n padding-top: 2px;\n}\n\n.type-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n}\n\n.card-content {\n flex: 1;\n min-width: 0;\n}\n\n.card-top-row {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n}\n\n.request-type-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.request-text {\n margin: 0 0 8px 0;\n font-size: 13px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.card-meta {\n display: flex;\n gap: 14px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.meta-item.expired {\n color: var(--mj-status-error-text);\n}\n\n.card-right {\n flex-shrink: 0;\n color: var(--mj-text-disabled);\n font-size: 12px;\n padding-top: 4px;\n}\n\n/* Badges */\n.status-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-requested {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n border: 1px solid var(--mj-status-info-border);\n}\n\n.status-approved,\n.status-responded {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border: 1px solid var(--mj-status-success-border);\n}\n\n.status-rejected,\n.status-canceled {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n border: 1px solid var(--mj-status-error-border);\n}\n\n.status-expired {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border: 1px solid var(--mj-status-warning-border);\n}\n\n.priority-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.priority-low {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.priority-normal {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.priority-high {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.priority-critical {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.expired-tag {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 600;\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n"] }]
537
+ args: [{ standalone: false, selector: 'app-agent-requests-resource', template: "<mj-page-layout>\n <!-- Header -->\n <mj-page-header\n Title=\"Agent Requests\"\n Icon=\"fa-solid fa-inbox\">\n @if (PendingCount > 0) {\n <mj-stat-badge meta\n Icon=\"fa-solid fa-hourglass-half\"\n [Count]=\"PendingCount\"\n Label=\"pending\"\n Variant=\"warning\">\n </mj-stat-badge>\n }\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetPopoverFilters()\">\n <mj-filter-panel\n [Fields]=\"requestFilterFields\"\n [Values]=\"requestFilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetPopoverFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search requests...\"\n [Value]=\"Filters.SearchTerm\"\n (ValueChange)=\"OnSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n <!-- Content -->\n @if (IsLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading agent requests...\"></mj-loading>\n </div>\n } @else if (FilteredRequests.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox empty-icon\"></i>\n @if (Requests.length === 0) {\n <p class=\"empty-text\">No agent requests yet</p>\n <p class=\"empty-subtext\">When agents need human input, their requests will appear here.</p>\n } @else {\n <p class=\"empty-text\">No requests match your filters</p>\n <button class=\"clear-filters-btn\" (click)=\"ClearFilters()\">Clear Filters</button>\n }\n </div>\n } @else {\n <div class=\"requests-list\">\n @for (request of FilteredRequests; track request.ID) {\n <div\n class=\"request-card\"\n [class.actionable]=\"request.Status === 'Requested'\"\n [class.expired]=\"IsExpired(request)\"\n (click)=\"OnRequestClick(request)\">\n <div class=\"card-left\">\n <i class=\"{{ GetRequestTypeIcon(request.RequestTypeID) }} type-icon\"></i>\n </div>\n <div class=\"card-content\">\n <div class=\"card-top-row\">\n <span class=\"request-type-name\">{{ GetRequestTypeName(request.RequestTypeID) }}</span>\n <span class=\"priority-badge {{ GetPriorityClass(request.Priority) }}\">\n {{ GetPriorityLabel(request.Priority) }}\n </span>\n <span class=\"status-badge status-{{ request.Status.toLowerCase() }}\">\n {{ request.Status }}\n </span>\n @if (IsExpired(request) && request.Status === 'Requested') {\n <span class=\"expired-tag\">Expired</span>\n }\n </div>\n <p class=\"request-text\">{{ request.Request }}</p>\n <div class=\"card-meta\">\n @if (request.Agent) {\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-robot\"></i> {{ request.Agent }}\n </span>\n }\n @if (request.__mj_CreatedAt) {\n <span class=\"meta-item\">\n <i class=\"fa-regular fa-clock\"></i> {{ request.__mj_CreatedAt | date:'short' }}\n </span>\n }\n @if (request.ExpiresAt) {\n <span class=\"meta-item\" [class.expired]=\"IsExpired(request)\">\n <i class=\"fa-solid fa-hourglass-end\"></i> Expires {{ request.ExpiresAt | date:'short' }}\n </span>\n }\n </div>\n </div>\n <div class=\"card-right\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </div>\n </div>\n }\n </div>\n }\n </mj-page-body>\n</mj-page-layout>\n\n<!-- Agent Request Detail Panel -->\n@if (ShowRequestPanel && SelectedRequest) {\n <mj-agent-request-dialog\n [Visible]=\"ShowRequestPanel\"\n [Request]=\"SelectedRequest\"\n (Close)=\"OnPanelClose($event)\">\n </mj-agent-request-dialog>\n}\n", styles: ["/* Container is now provided by <mj-page-layout>; body padding moved to .filter-bar / list sections below */\n\n/* Search & filters now live in <mj-page-header>'s toolbar/actions via shared components. */\n\n.clear-filters-btn {\n padding: 6px 12px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-filters-btn:hover {\n background: var(--mj-bg-surface-active);\n color: var(--mj-text-primary);\n}\n\n/* Loading */\n.loading-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 60px 20px;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 80px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n}\n\n.empty-text {\n margin: 0 0 8px 0;\n font-size: 16px;\n color: var(--mj-text-secondary);\n}\n\n.empty-subtext {\n margin: 0;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n/* Request Cards */\n.requests-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n padding: 0 20px 20px;\n overflow-y: auto;\n}\n\n.request-card {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.request-card:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.request-card.actionable {\n border-left: 3px solid var(--mj-status-warning);\n}\n\n.request-card.expired {\n opacity: 0.7;\n}\n\n.card-left {\n flex-shrink: 0;\n padding-top: 2px;\n}\n\n.type-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n}\n\n.card-content {\n flex: 1;\n min-width: 0;\n}\n\n.card-top-row {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n margin-bottom: 6px;\n}\n\n.request-type-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.request-text {\n margin: 0 0 8px 0;\n font-size: 13px;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.card-meta {\n display: flex;\n gap: 14px;\n flex-wrap: wrap;\n}\n\n.meta-item {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.meta-item.expired {\n color: var(--mj-status-error-text);\n}\n\n.card-right {\n flex-shrink: 0;\n color: var(--mj-text-disabled);\n font-size: 12px;\n padding-top: 4px;\n}\n\n/* Badges */\n.status-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-requested {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n border: 1px solid var(--mj-status-info-border);\n}\n\n.status-approved,\n.status-responded {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border: 1px solid var(--mj-status-success-border);\n}\n\n.status-rejected,\n.status-canceled {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n border: 1px solid var(--mj-status-error-border);\n}\n\n.status-expired {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border: 1px solid var(--mj-status-warning-border);\n}\n\n.priority-badge {\n display: inline-block;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.priority-low {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.priority-normal {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.priority-high {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.priority-critical {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.expired-tag {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 600;\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n"] }]
543
538
  }], () => [{ type: i0.ChangeDetectorRef }], null); })();
544
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AgentRequestsResourceComponent, { className: "AgentRequestsResourceComponent", filePath: "src/AI/components/requests/agent-requests-resource.component.ts", lineNumber: 43 }); })();
539
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AgentRequestsResourceComponent, { className: "AgentRequestsResourceComponent", filePath: "src/AI/components/requests/agent-requests-resource.component.ts", lineNumber: 44 }); })();
545
540
  export function LoadAgentRequestsResource() {
546
541
  // Prevents tree-shaking
547
542
  }