@memberjunction/ng-dashboards 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +24 -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 +198 -111
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/models/model-management.component.d.ts +23 -0
  6. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  7. package/dist/AI/components/models/model-management.component.js +189 -83
  8. package/dist/AI/components/models/model-management.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-management.component.d.ts +23 -0
  10. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  11. package/dist/AI/components/prompts/prompt-management.component.js +135 -30
  12. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  13. package/dist/APIKeys/api-applications-panel.component.d.ts +5 -3
  14. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  15. package/dist/APIKeys/api-applications-panel.component.js +50 -51
  16. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  17. package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -3
  18. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  19. package/dist/APIKeys/api-key-create-dialog.component.js +119 -94
  20. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  21. package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -1
  22. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  23. package/dist/APIKeys/api-key-edit-panel.component.js +100 -87
  24. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  25. package/dist/APIKeys/api-key-list.component.d.ts +2 -1
  26. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  27. package/dist/APIKeys/api-key-list.component.js +24 -20
  28. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  29. package/dist/APIKeys/api-keys-resource.component.d.ts +6 -4
  30. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  31. package/dist/APIKeys/api-keys-resource.component.js +42 -57
  32. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  33. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
  34. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
  35. package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
  36. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
  37. package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
  38. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
  39. package/dist/Actions/components/explorer/action-card.component.js +410 -0
  40. package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
  41. package/dist/Actions/components/explorer/action-explorer.component.d.ts +62 -0
  42. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
  43. package/dist/Actions/components/explorer/action-explorer.component.js +527 -0
  44. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
  45. package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
  46. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
  47. package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
  48. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
  49. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
  50. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
  51. package/dist/Actions/components/explorer/action-toolbar.component.js +483 -0
  52. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
  53. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
  54. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
  55. package/dist/Actions/components/explorer/action-tree-panel.component.js +454 -0
  56. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
  57. package/dist/Actions/components/explorer/index.d.ts +10 -0
  58. package/dist/Actions/components/explorer/index.d.ts.map +1 -0
  59. package/dist/Actions/components/explorer/index.js +14 -0
  60. package/dist/Actions/components/explorer/index.js.map +1 -0
  61. package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
  62. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
  63. package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
  64. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
  65. package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
  66. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
  67. package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
  68. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
  69. package/dist/Actions/index.d.ts +3 -0
  70. package/dist/Actions/index.d.ts.map +1 -1
  71. package/dist/Actions/index.js +5 -0
  72. package/dist/Actions/index.js.map +1 -1
  73. package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
  74. package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
  75. package/dist/Actions/services/action-explorer-state.service.js +352 -0
  76. package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
  77. package/dist/Communication/communication-dashboard.component.d.ts +2 -6
  78. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  79. package/dist/Communication/communication-dashboard.component.js +142 -93
  80. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  81. package/dist/Communication/communication-logs-resource.component.d.ts +10 -4
  82. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  83. package/dist/Communication/communication-logs-resource.component.js +253 -121
  84. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  85. package/dist/Communication/communication-monitor-resource.component.d.ts +38 -3
  86. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  87. package/dist/Communication/communication-monitor-resource.component.js +431 -157
  88. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  89. package/dist/Communication/communication-providers-resource.component.d.ts +16 -5
  90. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  91. package/dist/Communication/communication-providers-resource.component.js +229 -118
  92. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  93. package/dist/Communication/communication-runs-resource.component.d.ts +4 -2
  94. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  95. package/dist/Communication/communication-runs-resource.component.js +155 -149
  96. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  97. package/dist/Communication/communication-templates-resource.component.d.ts +43 -0
  98. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
  99. package/dist/Communication/communication-templates-resource.component.js +371 -0
  100. package/dist/Communication/communication-templates-resource.component.js.map +1 -0
  101. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -267
  102. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  103. package/dist/ComponentStudio/component-studio-dashboard.component.js +698 -1802
  104. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  105. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
  106. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
  107. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +401 -0
  108. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
  109. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
  110. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
  111. package/dist/ComponentStudio/components/browser/component-browser.component.js +636 -0
  112. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
  113. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
  114. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
  115. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
  116. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
  117. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
  118. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
  119. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
  120. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
  121. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
  122. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
  123. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
  124. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
  125. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
  126. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
  127. package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
  128. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
  129. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
  130. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
  131. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
  132. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
  133. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
  134. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
  135. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
  136. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
  137. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
  138. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
  139. package/dist/ComponentStudio/components/workspace/component-preview.component.js +342 -0
  140. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
  141. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
  142. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
  143. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
  144. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
  145. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
  146. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
  147. package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
  148. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
  149. package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
  150. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
  151. package/dist/ComponentStudio/services/component-version.service.js +394 -0
  152. package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
  153. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -1
  154. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  155. package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
  156. package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -1
  157. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  158. package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
  159. package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -1
  160. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  161. package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
  162. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  163. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +72 -0
  164. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
  165. package/dist/MCP/components/mcp-connection-dialog.component.js +529 -0
  166. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
  167. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +77 -0
  168. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
  169. package/dist/MCP/components/mcp-log-detail-panel.component.js +535 -0
  170. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
  171. package/dist/MCP/components/mcp-server-dialog.component.d.ts +77 -0
  172. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
  173. package/dist/MCP/components/mcp-server-dialog.component.js +437 -0
  174. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
  175. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +271 -0
  176. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
  177. package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
  178. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
  179. package/dist/MCP/index.d.ts +11 -0
  180. package/dist/MCP/index.d.ts.map +1 -0
  181. package/dist/MCP/index.js +15 -0
  182. package/dist/MCP/index.js.map +1 -0
  183. package/dist/MCP/mcp-dashboard.component.d.ts +409 -0
  184. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
  185. package/dist/MCP/mcp-dashboard.component.js +2486 -0
  186. package/dist/MCP/mcp-dashboard.component.js.map +1 -0
  187. package/dist/MCP/mcp-resource.component.d.ts +20 -0
  188. package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
  189. package/dist/MCP/mcp-resource.component.js +55 -0
  190. package/dist/MCP/mcp-resource.component.js.map +1 -0
  191. package/dist/MCP/mcp.module.d.ts +27 -0
  192. package/dist/MCP/mcp.module.d.ts.map +1 -0
  193. package/dist/MCP/mcp.module.js +122 -0
  194. package/dist/MCP/mcp.module.js.map +1 -0
  195. package/dist/MCP/services/mcp-tools.service.d.ts +109 -0
  196. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
  197. package/dist/MCP/services/mcp-tools.service.js +222 -0
  198. package/dist/MCP/services/mcp-tools.service.js.map +1 -0
  199. package/dist/Scheduling/components/index.d.ts +5 -8
  200. package/dist/Scheduling/components/index.d.ts.map +1 -1
  201. package/dist/Scheduling/components/index.js +6 -9
  202. package/dist/Scheduling/components/index.js.map +1 -1
  203. package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
  204. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
  205. package/dist/Scheduling/components/job-slideout.component.js +458 -0
  206. package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +19 -0
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js +51 -0
  210. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
  212. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
  213. package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
  214. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -4
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -7
  218. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
  220. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  221. package/dist/Scheduling/components/scheduling-jobs.component.js +446 -261
  222. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +19 -0
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js +51 -0
  226. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
  228. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
  229. package/dist/Scheduling/components/scheduling-overview.component.js +595 -0
  230. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -32
  232. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  233. package/dist/Scheduling/scheduling-dashboard.component.js +175 -169
  234. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  235. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
  236. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  237. package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
  238. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  239. package/dist/Testing/components/index.d.ts +7 -8
  240. package/dist/Testing/components/index.d.ts.map +1 -1
  241. package/dist/Testing/components/index.js +8 -9
  242. package/dist/Testing/components/index.js.map +1 -1
  243. package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
  244. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  245. package/dist/Testing/components/testing-analytics-resource.component.js +1 -7
  246. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  247. package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
  248. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  249. package/dist/Testing/components/testing-analytics.component.js +1023 -569
  250. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  251. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
  252. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
  253. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
  254. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
  255. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
  256. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
  257. package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
  258. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
  259. package/dist/{Scheduling/components/scheduling-types-resource.component.d.ts → Testing/components/testing-explorer-resource.component.d.ts} +5 -9
  260. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
  261. package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
  262. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
  263. package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
  264. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
  265. package/dist/Testing/components/testing-explorer.component.js +2212 -0
  266. package/dist/Testing/components/testing-explorer.component.js.map +1 -0
  267. package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
  268. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
  269. package/dist/Testing/components/testing-review-resource.component.js +47 -0
  270. package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
  271. package/dist/Testing/components/testing-review.component.d.ts +60 -0
  272. package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
  273. package/dist/Testing/components/testing-review.component.js +985 -0
  274. package/dist/Testing/components/testing-review.component.js.map +1 -0
  275. package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
  276. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
  277. package/dist/Testing/components/testing-runs-resource.component.js +47 -0
  278. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
  279. package/dist/Testing/components/testing-runs.component.d.ts +82 -0
  280. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
  281. package/dist/Testing/components/testing-runs.component.js +1067 -0
  282. package/dist/Testing/components/testing-runs.component.js.map +1 -0
  283. package/dist/Testing/testing-dashboard.component.d.ts +12 -15
  284. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  285. package/dist/Testing/testing-dashboard.component.js +46 -68
  286. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  287. package/dist/module.d.ts +121 -104
  288. package/dist/module.d.ts.map +1 -1
  289. package/dist/module.js +185 -93
  290. package/dist/module.js.map +1 -1
  291. package/dist/public-api.d.ts +5 -3
  292. package/dist/public-api.d.ts.map +1 -1
  293. package/dist/public-api.js +23 -16
  294. package/dist/public-api.js.map +1 -1
  295. package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
  296. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
  297. package/dist/shared/pipes/highlight-search.pipe.js +40 -0
  298. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
  299. package/dist/shared/pipes/index.d.ts +2 -0
  300. package/dist/shared/pipes/index.d.ts.map +1 -0
  301. package/dist/shared/pipes/index.js +2 -0
  302. package/dist/shared/pipes/index.js.map +1 -0
  303. package/dist/shared/shared-pipes.module.d.ts +11 -0
  304. package/dist/shared/shared-pipes.module.d.ts.map +1 -0
  305. package/dist/shared/shared-pipes.module.js +24 -0
  306. package/dist/shared/shared-pipes.module.js.map +1 -0
  307. package/package.json +39 -32
  308. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +0 -44
  309. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +0 -1
  310. package/dist/Credentials/components/credential-category-edit-panel.component.js +0 -456
  311. package/dist/Credentials/components/credential-category-edit-panel.component.js.map +0 -1
  312. package/dist/Credentials/components/credential-edit-panel.component.d.ts +0 -70
  313. package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +0 -1
  314. package/dist/Credentials/components/credential-edit-panel.component.js +0 -694
  315. package/dist/Credentials/components/credential-edit-panel.component.js.map +0 -1
  316. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +0 -56
  317. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +0 -1
  318. package/dist/Credentials/components/credential-type-edit-panel.component.js +0 -563
  319. package/dist/Credentials/components/credential-type-edit-panel.component.js.map +0 -1
  320. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +0 -20
  321. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +0 -1
  322. package/dist/Scheduling/components/scheduling-health-resource.component.js +0 -55
  323. package/dist/Scheduling/components/scheduling-health-resource.component.js.map +0 -1
  324. package/dist/Scheduling/components/scheduling-health.component.d.ts +0 -30
  325. package/dist/Scheduling/components/scheduling-health.component.d.ts.map +0 -1
  326. package/dist/Scheduling/components/scheduling-health.component.js +0 -315
  327. package/dist/Scheduling/components/scheduling-health.component.js.map +0 -1
  328. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +0 -20
  329. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +0 -1
  330. package/dist/Scheduling/components/scheduling-history-resource.component.js +0 -55
  331. package/dist/Scheduling/components/scheduling-history-resource.component.js.map +0 -1
  332. package/dist/Scheduling/components/scheduling-history.component.d.ts +0 -48
  333. package/dist/Scheduling/components/scheduling-history.component.d.ts.map +0 -1
  334. package/dist/Scheduling/components/scheduling-history.component.js +0 -377
  335. package/dist/Scheduling/components/scheduling-history.component.js.map +0 -1
  336. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +0 -20
  337. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +0 -1
  338. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +0 -55
  339. package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +0 -1
  340. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +0 -37
  341. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +0 -1
  342. package/dist/Scheduling/components/scheduling-monitoring.component.js +0 -488
  343. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +0 -1
  344. package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +0 -1
  345. package/dist/Scheduling/components/scheduling-types-resource.component.js +0 -55
  346. package/dist/Scheduling/components/scheduling-types-resource.component.js.map +0 -1
  347. package/dist/Scheduling/components/scheduling-types.component.d.ts +0 -22
  348. package/dist/Scheduling/components/scheduling-types.component.d.ts.map +0 -1
  349. package/dist/Scheduling/components/scheduling-types.component.js +0 -165
  350. package/dist/Scheduling/components/scheduling-types.component.js.map +0 -1
  351. package/dist/Testing/components/testing-execution-resource.component.d.ts +0 -20
  352. package/dist/Testing/components/testing-execution-resource.component.d.ts.map +0 -1
  353. package/dist/Testing/components/testing-execution-resource.component.js +0 -55
  354. package/dist/Testing/components/testing-execution-resource.component.js.map +0 -1
  355. package/dist/Testing/components/testing-execution.component.d.ts +0 -71
  356. package/dist/Testing/components/testing-execution.component.d.ts.map +0 -1
  357. package/dist/Testing/components/testing-execution.component.js +0 -845
  358. package/dist/Testing/components/testing-execution.component.js.map +0 -1
  359. package/dist/Testing/components/testing-feedback-resource.component.d.ts +0 -20
  360. package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +0 -1
  361. package/dist/Testing/components/testing-feedback-resource.component.js +0 -55
  362. package/dist/Testing/components/testing-feedback-resource.component.js.map +0 -1
  363. package/dist/Testing/components/testing-feedback.component.d.ts +0 -111
  364. package/dist/Testing/components/testing-feedback.component.d.ts.map +0 -1
  365. package/dist/Testing/components/testing-feedback.component.js +0 -1486
  366. package/dist/Testing/components/testing-feedback.component.js.map +0 -1
  367. package/dist/Testing/components/testing-overview-resource.component.d.ts +0 -20
  368. package/dist/Testing/components/testing-overview-resource.component.d.ts.map +0 -1
  369. package/dist/Testing/components/testing-overview-resource.component.js +0 -55
  370. package/dist/Testing/components/testing-overview-resource.component.js.map +0 -1
  371. package/dist/Testing/components/testing-overview.component.d.ts +0 -30
  372. package/dist/Testing/components/testing-overview.component.d.ts.map +0 -1
  373. package/dist/Testing/components/testing-overview.component.js +0 -361
  374. package/dist/Testing/components/testing-overview.component.js.map +0 -1
  375. package/dist/Testing/components/testing-version-comparison.component.d.ts +0 -62
  376. package/dist/Testing/components/testing-version-comparison.component.d.ts.map +0 -1
  377. package/dist/Testing/components/testing-version-comparison.component.js +0 -815
  378. package/dist/Testing/components/testing-version-comparison.component.js.map +0 -1
  379. package/dist/Testing/components/testing-version-resource.component.d.ts +0 -20
  380. package/dist/Testing/components/testing-version-resource.component.d.ts.map +0 -1
  381. package/dist/Testing/components/testing-version-resource.component.js +0 -55
  382. package/dist/Testing/components/testing-version-resource.component.js.map +0 -1
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @fileoverview MCP Server Dialog Component
3
+ *
4
+ * Dialog for creating and editing MCP server configurations.
5
+ */
6
+ import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
7
+ import { FormBuilder, FormGroup } from '@angular/forms';
8
+ import { MCPServerData } from '../mcp-dashboard.component';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Transport type options
12
+ */
13
+ export declare const TRANSPORT_TYPES: {
14
+ value: string;
15
+ label: string;
16
+ description: string;
17
+ }[];
18
+ /**
19
+ * Auth type options
20
+ */
21
+ export declare const AUTH_TYPES: {
22
+ value: string;
23
+ label: string;
24
+ description: string;
25
+ }[];
26
+ /**
27
+ * Dialog result interface
28
+ */
29
+ export interface ServerDialogResult {
30
+ saved: boolean;
31
+ server?: MCPServerData;
32
+ }
33
+ /**
34
+ * MCP Server Dialog Component
35
+ */
36
+ export declare class MCPServerDialogComponent implements OnInit, OnChanges {
37
+ private fb;
38
+ private cdr;
39
+ server: MCPServerData | null;
40
+ visible: boolean;
41
+ close: EventEmitter<ServerDialogResult>;
42
+ serverForm: FormGroup;
43
+ transportTypes: {
44
+ value: string;
45
+ label: string;
46
+ description: string;
47
+ }[];
48
+ authTypes: {
49
+ value: string;
50
+ label: string;
51
+ description: string;
52
+ }[];
53
+ IsSaving: boolean;
54
+ ErrorMessage: string | null;
55
+ get IsEditMode(): boolean;
56
+ get DialogTitle(): string;
57
+ get SelectedTransportType(): string;
58
+ get RequiresURL(): boolean;
59
+ get RequiresCommand(): boolean;
60
+ constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
61
+ ngOnInit(): void;
62
+ ngOnChanges(changes: SimpleChanges): void;
63
+ private createForm;
64
+ private initializeForm;
65
+ private updateValidators;
66
+ onTransportTypeChange(): void;
67
+ save(): Promise<void>;
68
+ cancel(): void;
69
+ hasError(controlName: string, errorType: string): boolean;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<MCPServerDialogComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<MCPServerDialogComponent, "mj-mcp-server-dialog", never, { "server": { "alias": "server"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "close": "close"; }, never, never, false, never>;
72
+ }
73
+ /**
74
+ * Tree-shaking prevention function
75
+ */
76
+ export declare function LoadMCPServerDialog(): void;
77
+ //# sourceMappingURL=mcp-server-dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-dialog.component.d.ts","sourceRoot":"","sources":["../../../src/MCP/components/mcp-server-dialog.component.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5H,OAAO,EAAE,WAAW,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;;AAE3D;;GAEG;AACH,eAAO,MAAM,eAAe;;;;GAK3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;GAOtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;GAEG;AACH,qBAKa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IAkC1D,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IAjCN,MAAM,EAAE,aAAa,GAAG,IAAI,CAAQ;IACpC,OAAO,UAAS;IACf,KAAK,mCAA0C;IAElD,UAAU,EAAE,SAAS,CAAC;IACtB,cAAc;;;;QAAmB;IACjC,SAAS;;;;QAAc;IACvB,QAAQ,UAAS;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,qBAAqB,IAAI,MAAM,CAEzC;IAED,IAAW,WAAW,IAAI,OAAO,CAGhC;IAED,IAAW,eAAe,IAAI,OAAO,CAEpC;gBAGW,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,iBAAiB;IAKlC,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAQzC,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,gBAAgB;IAmBjB,qBAAqB,IAAI,IAAI;IAIvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD3B,MAAM,IAAI,IAAI;IAId,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;yCApLvD,wBAAwB;2CAAxB,wBAAwB;CAwLpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -0,0 +1,437 @@
1
+ /**
2
+ * @fileoverview MCP Server Dialog Component
3
+ *
4
+ * Dialog for creating and editing MCP server configurations.
5
+ */
6
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
7
+ import { Validators } from '@angular/forms';
8
+ import { Metadata, CompositeKey } from '@memberjunction/core';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/forms";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "@progress/kendo-angular-buttons";
13
+ import * as i4 from "@progress/kendo-angular-dialog";
14
+ import * as i5 from "@progress/kendo-angular-dropdowns";
15
+ import * as i6 from "@progress/kendo-angular-inputs";
16
+ const _c0 = () => ["Active", "Inactive"];
17
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 3);
19
+ i0.ɵɵelement(1, "i", 35);
20
+ i0.ɵɵtext(2);
21
+ i0.ɵɵelementEnd();
22
+ } if (rf & 2) {
23
+ const ctx_r1 = i0.ɵɵnextContext(2);
24
+ i0.ɵɵadvance(2);
25
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.ErrorMessage, " ");
26
+ } }
27
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "span", 10);
29
+ i0.ɵɵtext(1, "Name is required");
30
+ i0.ɵɵelementEnd();
31
+ } }
32
+ function MCPServerDialogComponent_kendo_dialog_0_ng_template_32_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "div", 36)(1, "span", 37);
34
+ i0.ɵɵtext(2);
35
+ i0.ɵɵelementEnd();
36
+ i0.ɵɵelementStart(3, "span", 38);
37
+ i0.ɵɵtext(4);
38
+ i0.ɵɵelementEnd()();
39
+ } if (rf & 2) {
40
+ const dataItem_r3 = ctx.$implicit;
41
+ i0.ɵɵadvance(2);
42
+ i0.ɵɵtextInterpolate(dataItem_r3.label);
43
+ i0.ɵɵadvance(2);
44
+ i0.ɵɵtextInterpolate(dataItem_r3.description);
45
+ } }
46
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_33_Conditional_6_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "span", 10);
48
+ i0.ɵɵtext(1, "Server URL is required for this transport type");
49
+ i0.ɵɵelementEnd();
50
+ } }
51
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_33_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 39);
53
+ i0.ɵɵtext(2, "Server URL ");
54
+ i0.ɵɵelementStart(3, "span", 8);
55
+ i0.ɵɵtext(4, "*");
56
+ i0.ɵɵelementEnd()();
57
+ i0.ɵɵelement(5, "input", 40);
58
+ i0.ɵɵtemplate(6, MCPServerDialogComponent_kendo_dialog_0_Conditional_33_Conditional_6_Template, 2, 0, "span", 10);
59
+ i0.ɵɵelementEnd();
60
+ } if (rf & 2) {
61
+ const ctx_r1 = i0.ɵɵnextContext(2);
62
+ i0.ɵɵadvance(6);
63
+ i0.ɵɵconditional(ctx_r1.hasError("ServerURL", "required") ? 6 : -1);
64
+ } }
65
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_34_Conditional_6_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "span", 10);
67
+ i0.ɵɵtext(1, "Command is required for Stdio transport");
68
+ i0.ɵɵelementEnd();
69
+ } }
70
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_34_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "div", 6)(1, "label", 41);
72
+ i0.ɵɵtext(2, "Command ");
73
+ i0.ɵɵelementStart(3, "span", 8);
74
+ i0.ɵɵtext(4, "*");
75
+ i0.ɵɵelementEnd()();
76
+ i0.ɵɵelement(5, "input", 42);
77
+ i0.ɵɵtemplate(6, MCPServerDialogComponent_kendo_dialog_0_Conditional_34_Conditional_6_Template, 2, 0, "span", 10);
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelementStart(7, "div", 6)(8, "label", 43);
80
+ i0.ɵɵtext(9, "Command Arguments (JSON array)");
81
+ i0.ɵɵelementEnd();
82
+ i0.ɵɵelement(10, "input", 44);
83
+ i0.ɵɵelementStart(11, "span", 31);
84
+ i0.ɵɵtext(12, "JSON array of command line arguments");
85
+ i0.ɵɵelementEnd()();
86
+ } if (rf & 2) {
87
+ const ctx_r1 = i0.ɵɵnextContext(2);
88
+ i0.ɵɵadvance(6);
89
+ i0.ɵɵconditional(ctx_r1.hasError("Command", "required") ? 6 : -1);
90
+ } }
91
+ function MCPServerDialogComponent_kendo_dialog_0_ng_template_43_Template(rf, ctx) { if (rf & 1) {
92
+ i0.ɵɵelementStart(0, "div", 45)(1, "span", 46);
93
+ i0.ɵɵtext(2);
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementStart(3, "span", 47);
96
+ i0.ɵɵtext(4);
97
+ i0.ɵɵelementEnd()();
98
+ } if (rf & 2) {
99
+ const dataItem_r4 = ctx.$implicit;
100
+ i0.ɵɵadvance(2);
101
+ i0.ɵɵtextInterpolate(dataItem_r4.label);
102
+ i0.ɵɵadvance(2);
103
+ i0.ɵɵtextInterpolate(dataItem_r4.description);
104
+ } }
105
+ function MCPServerDialogComponent_kendo_dialog_0_Conditional_65_Template(rf, ctx) { if (rf & 1) {
106
+ i0.ɵɵelement(0, "i", 33);
107
+ } }
108
+ function MCPServerDialogComponent_kendo_dialog_0_Template(rf, ctx) { if (rf & 1) {
109
+ const _r1 = i0.ɵɵgetCurrentView();
110
+ i0.ɵɵelementStart(0, "kendo-dialog", 1);
111
+ i0.ɵɵlistener("close", function MCPServerDialogComponent_kendo_dialog_0_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
112
+ i0.ɵɵelementStart(1, "form", 2);
113
+ i0.ɵɵtemplate(2, MCPServerDialogComponent_kendo_dialog_0_Conditional_2_Template, 3, 1, "div", 3);
114
+ i0.ɵɵelementStart(3, "div", 4)(4, "h3");
115
+ i0.ɵɵelement(5, "i", 5);
116
+ i0.ɵɵtext(6, " Basic Information");
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementStart(7, "div", 6)(8, "label", 7);
119
+ i0.ɵɵtext(9, "Name ");
120
+ i0.ɵɵelementStart(10, "span", 8);
121
+ i0.ɵɵtext(11, "*");
122
+ i0.ɵɵelementEnd()();
123
+ i0.ɵɵelement(12, "input", 9);
124
+ i0.ɵɵtemplate(13, MCPServerDialogComponent_kendo_dialog_0_Conditional_13_Template, 2, 0, "span", 10);
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementStart(14, "div", 6)(15, "label", 11);
127
+ i0.ɵɵtext(16, "Description");
128
+ i0.ɵɵelementEnd();
129
+ i0.ɵɵelement(17, "textarea", 12);
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementStart(18, "div", 6)(19, "label", 13);
132
+ i0.ɵɵtext(20, "Status");
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelement(21, "kendo-dropdownlist", 14);
135
+ i0.ɵɵelementEnd()();
136
+ i0.ɵɵelementStart(22, "div", 4)(23, "h3");
137
+ i0.ɵɵelement(24, "i", 15);
138
+ i0.ɵɵtext(25, " Transport Configuration");
139
+ i0.ɵɵelementEnd();
140
+ i0.ɵɵelementStart(26, "div", 6)(27, "label", 16);
141
+ i0.ɵɵtext(28, "Transport Type ");
142
+ i0.ɵɵelementStart(29, "span", 8);
143
+ i0.ɵɵtext(30, "*");
144
+ i0.ɵɵelementEnd()();
145
+ i0.ɵɵelementStart(31, "kendo-dropdownlist", 17);
146
+ i0.ɵɵlistener("valueChange", function MCPServerDialogComponent_kendo_dialog_0_Template_kendo_dropdownlist_valueChange_31_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTransportTypeChange()); });
147
+ i0.ɵɵtemplate(32, MCPServerDialogComponent_kendo_dialog_0_ng_template_32_Template, 5, 2, "ng-template", 18);
148
+ i0.ɵɵelementEnd()();
149
+ i0.ɵɵtemplate(33, MCPServerDialogComponent_kendo_dialog_0_Conditional_33_Template, 7, 1, "div", 6)(34, MCPServerDialogComponent_kendo_dialog_0_Conditional_34_Template, 13, 1);
150
+ i0.ɵɵelementEnd();
151
+ i0.ɵɵelementStart(35, "div", 4)(36, "h3");
152
+ i0.ɵɵelement(37, "i", 19);
153
+ i0.ɵɵtext(38, " Authentication");
154
+ i0.ɵɵelementEnd();
155
+ i0.ɵɵelementStart(39, "div", 6)(40, "label", 20);
156
+ i0.ɵɵtext(41, "Default Auth Type");
157
+ i0.ɵɵelementEnd();
158
+ i0.ɵɵelementStart(42, "kendo-dropdownlist", 21);
159
+ i0.ɵɵtemplate(43, MCPServerDialogComponent_kendo_dialog_0_ng_template_43_Template, 5, 2, "ng-template", 18);
160
+ i0.ɵɵelementEnd()()();
161
+ i0.ɵɵelementStart(44, "div", 4)(45, "h3");
162
+ i0.ɵɵelement(46, "i", 22);
163
+ i0.ɵɵtext(47, " Rate Limiting");
164
+ i0.ɵɵelementEnd();
165
+ i0.ɵɵelementStart(48, "div", 23)(49, "div", 24)(50, "label", 25);
166
+ i0.ɵɵtext(51, "Requests per Minute");
167
+ i0.ɵɵelementEnd();
168
+ i0.ɵɵelement(52, "kendo-numerictextbox", 26);
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵelementStart(53, "div", 24)(54, "label", 27);
171
+ i0.ɵɵtext(55, "Requests per Hour");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelement(56, "kendo-numerictextbox", 28);
174
+ i0.ɵɵelementEnd()();
175
+ i0.ɵɵelementStart(57, "div", 6)(58, "label", 29);
176
+ i0.ɵɵtext(59, "Request Timeout (ms)");
177
+ i0.ɵɵelementEnd();
178
+ i0.ɵɵelement(60, "kendo-numerictextbox", 30);
179
+ i0.ɵɵelementStart(61, "span", 31);
180
+ i0.ɵɵtext(62, "Timeout for individual tool calls (1000-600000ms)");
181
+ i0.ɵɵelementEnd()()()();
182
+ i0.ɵɵelementStart(63, "kendo-dialog-actions")(64, "button", 32);
183
+ i0.ɵɵlistener("click", function MCPServerDialogComponent_kendo_dialog_0_Template_button_click_64_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.save()); });
184
+ i0.ɵɵtemplate(65, MCPServerDialogComponent_kendo_dialog_0_Conditional_65_Template, 1, 0, "i", 33);
185
+ i0.ɵɵtext(66);
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementStart(67, "button", 34);
188
+ i0.ɵɵlistener("click", function MCPServerDialogComponent_kendo_dialog_0_Template_button_click_67_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancel()); });
189
+ i0.ɵɵtext(68, "Cancel");
190
+ i0.ɵɵelementEnd()()();
191
+ } if (rf & 2) {
192
+ const ctx_r1 = i0.ɵɵnextContext();
193
+ i0.ɵɵproperty("title", ctx_r1.DialogTitle)("width", 600)("minWidth", 400);
194
+ i0.ɵɵadvance();
195
+ i0.ɵɵproperty("formGroup", ctx_r1.serverForm);
196
+ i0.ɵɵadvance();
197
+ i0.ɵɵconditional(ctx_r1.ErrorMessage ? 2 : -1);
198
+ i0.ɵɵadvance(11);
199
+ i0.ɵɵconditional(ctx_r1.hasError("Name", "required") ? 13 : -1);
200
+ i0.ɵɵadvance(4);
201
+ i0.ɵɵproperty("rows", 3);
202
+ i0.ɵɵadvance(4);
203
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction0(26, _c0))("valuePrimitive", true);
204
+ i0.ɵɵadvance(10);
205
+ i0.ɵɵproperty("data", ctx_r1.transportTypes)("valuePrimitive", true);
206
+ i0.ɵɵadvance(2);
207
+ i0.ɵɵconditional(ctx_r1.RequiresURL ? 33 : -1);
208
+ i0.ɵɵadvance();
209
+ i0.ɵɵconditional(ctx_r1.RequiresCommand ? 34 : -1);
210
+ i0.ɵɵadvance(8);
211
+ i0.ɵɵproperty("data", ctx_r1.authTypes)("valuePrimitive", true);
212
+ i0.ɵɵadvance(10);
213
+ i0.ɵɵproperty("min", 0)("format", "n0");
214
+ i0.ɵɵadvance(4);
215
+ i0.ɵɵproperty("min", 0)("format", "n0");
216
+ i0.ɵɵadvance(4);
217
+ i0.ɵɵproperty("min", 1000)("max", 600000)("step", 1000)("format", "n0");
218
+ i0.ɵɵadvance(4);
219
+ i0.ɵɵproperty("disabled", ctx_r1.IsSaving);
220
+ i0.ɵɵadvance();
221
+ i0.ɵɵconditional(ctx_r1.IsSaving ? 65 : -1);
222
+ i0.ɵɵadvance();
223
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.IsEditMode ? "Update" : "Create", " ");
224
+ } }
225
+ /**
226
+ * Transport type options
227
+ */
228
+ export const TRANSPORT_TYPES = [
229
+ { value: 'StreamableHTTP', label: 'Streamable HTTP', description: 'HTTP-based transport with streaming support' },
230
+ { value: 'SSE', label: 'Server-Sent Events', description: 'SSE-based transport for real-time updates' },
231
+ { value: 'Stdio', label: 'Standard I/O', description: 'For local subprocess communication' },
232
+ { value: 'WebSocket', label: 'WebSocket', description: 'Full-duplex WebSocket connection' }
233
+ ];
234
+ /**
235
+ * Auth type options
236
+ */
237
+ export const AUTH_TYPES = [
238
+ { value: 'None', label: 'None', description: 'No authentication required' },
239
+ { value: 'Bearer', label: 'Bearer Token', description: 'Authorization header with Bearer token' },
240
+ { value: 'APIKey', label: 'API Key', description: 'API key in custom header' },
241
+ { value: 'OAuth2', label: 'OAuth 2.0', description: 'OAuth 2.0 authentication flow' },
242
+ { value: 'Basic', label: 'Basic Auth', description: 'Username and password authentication' },
243
+ { value: 'Custom', label: 'Custom', description: 'Custom authentication scheme' }
244
+ ];
245
+ /**
246
+ * MCP Server Dialog Component
247
+ */
248
+ export class MCPServerDialogComponent {
249
+ fb;
250
+ cdr;
251
+ server = null;
252
+ visible = false;
253
+ close = new EventEmitter();
254
+ serverForm;
255
+ transportTypes = TRANSPORT_TYPES;
256
+ authTypes = AUTH_TYPES;
257
+ IsSaving = false;
258
+ ErrorMessage = null;
259
+ get IsEditMode() {
260
+ return !!this.server?.ID;
261
+ }
262
+ get DialogTitle() {
263
+ return this.IsEditMode ? 'Edit MCP Server' : 'Add MCP Server';
264
+ }
265
+ get SelectedTransportType() {
266
+ return this.serverForm?.get('TransportType')?.value ?? 'StreamableHTTP';
267
+ }
268
+ get RequiresURL() {
269
+ const transport = this.SelectedTransportType;
270
+ return transport === 'StreamableHTTP' || transport === 'SSE' || transport === 'WebSocket';
271
+ }
272
+ get RequiresCommand() {
273
+ return this.SelectedTransportType === 'Stdio';
274
+ }
275
+ constructor(fb, cdr) {
276
+ this.fb = fb;
277
+ this.cdr = cdr;
278
+ this.serverForm = this.createForm();
279
+ }
280
+ ngOnInit() {
281
+ this.initializeForm();
282
+ }
283
+ ngOnChanges(changes) {
284
+ if (changes['server'] || changes['visible']) {
285
+ if (this.visible) {
286
+ this.initializeForm();
287
+ }
288
+ }
289
+ }
290
+ createForm() {
291
+ return this.fb.group({
292
+ Name: ['', [Validators.required, Validators.maxLength(200)]],
293
+ Description: ['', Validators.maxLength(2000)],
294
+ TransportType: ['StreamableHTTP', Validators.required],
295
+ ServerURL: [''],
296
+ Command: [''],
297
+ CommandArgs: [''],
298
+ DefaultAuthType: ['None', Validators.required],
299
+ RateLimitPerMinute: [null, [Validators.min(0)]],
300
+ RateLimitPerHour: [null, [Validators.min(0)]],
301
+ RequestTimeoutMs: [60000, [Validators.min(1000), Validators.max(600000)]],
302
+ Status: ['Active']
303
+ });
304
+ }
305
+ initializeForm() {
306
+ if (this.server) {
307
+ this.serverForm.patchValue({
308
+ Name: this.server.Name,
309
+ Description: this.server.Description ?? '',
310
+ TransportType: this.server.TransportType,
311
+ ServerURL: this.server.ServerURL ?? '',
312
+ Command: this.server.Command ?? '',
313
+ CommandArgs: '', // Would need to load from entity
314
+ DefaultAuthType: this.server.DefaultAuthType,
315
+ RateLimitPerMinute: this.server.RateLimitPerMinute,
316
+ RateLimitPerHour: this.server.RateLimitPerHour,
317
+ RequestTimeoutMs: 60000,
318
+ Status: this.server.Status
319
+ });
320
+ }
321
+ else {
322
+ this.serverForm.reset({
323
+ Name: '',
324
+ Description: '',
325
+ TransportType: 'StreamableHTTP',
326
+ ServerURL: '',
327
+ Command: '',
328
+ CommandArgs: '',
329
+ DefaultAuthType: 'None',
330
+ RateLimitPerMinute: null,
331
+ RateLimitPerHour: null,
332
+ RequestTimeoutMs: 60000,
333
+ Status: 'Active'
334
+ });
335
+ }
336
+ this.ErrorMessage = null;
337
+ this.updateValidators();
338
+ this.cdr.detectChanges();
339
+ }
340
+ updateValidators() {
341
+ const urlControl = this.serverForm.get('ServerURL');
342
+ const commandControl = this.serverForm.get('Command');
343
+ if (this.RequiresURL) {
344
+ urlControl?.setValidators([Validators.required]);
345
+ commandControl?.clearValidators();
346
+ }
347
+ else if (this.RequiresCommand) {
348
+ commandControl?.setValidators([Validators.required]);
349
+ urlControl?.clearValidators();
350
+ }
351
+ else {
352
+ urlControl?.clearValidators();
353
+ commandControl?.clearValidators();
354
+ }
355
+ urlControl?.updateValueAndValidity();
356
+ commandControl?.updateValueAndValidity();
357
+ }
358
+ onTransportTypeChange() {
359
+ this.updateValidators();
360
+ }
361
+ async save() {
362
+ if (this.serverForm.invalid) {
363
+ this.serverForm.markAllAsTouched();
364
+ return;
365
+ }
366
+ this.IsSaving = true;
367
+ this.ErrorMessage = null;
368
+ this.cdr.detectChanges();
369
+ try {
370
+ const md = new Metadata();
371
+ const entity = await md.GetEntityObject('MJ: MCP Servers');
372
+ if (this.IsEditMode && this.server) {
373
+ await entity.InnerLoad(new CompositeKey([{ FieldName: 'ID', Value: this.server.ID }]));
374
+ }
375
+ else {
376
+ entity.NewRecord();
377
+ }
378
+ // Apply form values
379
+ const formValue = this.serverForm.value;
380
+ entity.Name = formValue.Name;
381
+ entity.Description = formValue.Description || null;
382
+ entity.TransportType = formValue.TransportType;
383
+ entity.ServerURL = formValue.ServerURL || null;
384
+ entity.Command = formValue.Command || null;
385
+ entity.CommandArgs = formValue.CommandArgs || null;
386
+ entity.DefaultAuthType = formValue.DefaultAuthType;
387
+ entity.RateLimitPerMinute = formValue.RateLimitPerMinute || null;
388
+ entity.RateLimitPerHour = formValue.RateLimitPerHour || null;
389
+ entity.RequestTimeoutMs = formValue.RequestTimeoutMs || 60000;
390
+ entity.Status = formValue.Status;
391
+ const saved = await entity.Save();
392
+ if (!saved) {
393
+ throw new Error('Failed to save server');
394
+ }
395
+ this.close.emit({ saved: true });
396
+ }
397
+ catch (error) {
398
+ this.ErrorMessage = `Failed to save: ${error instanceof Error ? error.message : String(error)}`;
399
+ this.cdr.detectChanges();
400
+ }
401
+ finally {
402
+ this.IsSaving = false;
403
+ this.cdr.detectChanges();
404
+ }
405
+ }
406
+ cancel() {
407
+ this.close.emit({ saved: false });
408
+ }
409
+ hasError(controlName, errorType) {
410
+ const control = this.serverForm.get(controlName);
411
+ return control?.hasError(errorType) && control?.touched || false;
412
+ }
413
+ static ɵfac = function MCPServerDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MCPServerDialogComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
414
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MCPServerDialogComponent, selectors: [["mj-mcp-server-dialog"]], inputs: { server: "server", visible: "visible" }, outputs: { close: "close" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "title", "width", "minWidth", "close", 4, "ngIf"], [3, "close", "title", "width", "minWidth"], [1, "server-form", 3, "formGroup"], [1, "error-banner"], [1, "form-section"], [1, "fa-solid", "fa-info-circle"], [1, "form-group"], ["for", "name"], [1, "required"], ["kendoTextBox", "", "id", "name", "formControlName", "Name", "placeholder", "e.g., GitHub MCP Server"], [1, "error-text"], ["for", "description"], ["kendoTextArea", "", "id", "description", "formControlName", "Description", "placeholder", "Optional description of this server", 3, "rows"], ["for", "status"], ["id", "status", "formControlName", "Status", 3, "data", "valuePrimitive"], [1, "fa-solid", "fa-network-wired"], ["for", "transportType"], ["id", "transportType", "formControlName", "TransportType", "textField", "label", "valueField", "value", 3, "valueChange", "data", "valuePrimitive"], ["kendoDropDownListItemTemplate", ""], [1, "fa-solid", "fa-shield-halved"], ["for", "authType"], ["id", "authType", "formControlName", "DefaultAuthType", "textField", "label", "valueField", "value", 3, "data", "valuePrimitive"], [1, "fa-solid", "fa-gauge-high"], [1, "form-row"], [1, "form-group", "half"], ["for", "rateLimitMinute"], ["id", "rateLimitMinute", "formControlName", "RateLimitPerMinute", "placeholder", "No limit", 3, "min", "format"], ["for", "rateLimitHour"], ["id", "rateLimitHour", "formControlName", "RateLimitPerHour", "placeholder", "No limit", 3, "min", "format"], ["for", "requestTimeout"], ["id", "requestTimeout", "formControlName", "RequestTimeoutMs", 3, "min", "max", "step", "format"], [1, "hint"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "transport-option"], [1, "transport-label"], [1, "transport-desc"], ["for", "serverUrl"], ["kendoTextBox", "", "id", "serverUrl", "formControlName", "ServerURL", "placeholder", "https://api.example.com/mcp"], ["for", "command"], ["kendoTextBox", "", "id", "command", "formControlName", "Command", "placeholder", "e.g., npx or /usr/local/bin/mcp-server"], ["for", "commandArgs"], ["kendoTextBox", "", "id", "commandArgs", "formControlName", "CommandArgs", "placeholder", "[\"arg1\", \"arg2\"]"], [1, "auth-option"], [1, "auth-label"], [1, "auth-desc"]], template: function MCPServerDialogComponent_Template(rf, ctx) { if (rf & 1) {
415
+ i0.ɵɵtemplate(0, MCPServerDialogComponent_kendo_dialog_0_Template, 69, 27, "kendo-dialog", 0);
416
+ } if (rf & 2) {
417
+ i0.ɵɵproperty("ngIf", ctx.visible);
418
+ } }, dependencies: [i2.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i3.ButtonComponent, i4.DialogComponent, i4.DialogActionsComponent, i5.ItemTemplateDirective, i5.DropDownListComponent, i6.TextAreaDirective, i6.TextBoxDirective, i6.NumericTextBoxComponent], styles: [".server-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.error-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: #ffebee;\n border: 1px solid #f44336;\n border-radius: 6px;\n color: #c62828;\n font-size: 14px;\n}\n\n.form-section[_ngcontent-%COMP%] {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 16px;\n}\n\n.form-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.form-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.form-group[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .required[_ngcontent-%COMP%] {\n color: #f44336;\n}\n\n.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], \n.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.form-group[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: #999;\n}\n\n.form-group[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: #f44336;\n}\n\n.form-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n}\n\n.form-group.half[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.transport-option[_ngcontent-%COMP%], \n.auth-option[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n padding: 4px 0;\n}\n\n.transport-label[_ngcontent-%COMP%], \n.auth-label[_ngcontent-%COMP%] {\n font-weight: 500;\n font-size: 14px;\n}\n\n.transport-desc[_ngcontent-%COMP%], \n.auth-desc[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #666;\n}\n\n\n\n[_nghost-%COMP%] .k-dialog-actions {\n padding: 16px;\n border-top: 1px solid #e0e0e0;\n}\n\n[_nghost-%COMP%] .k-dialog-content {\n padding: 20px;\n max-height: 70vh;\n overflow-y: auto;\n}\n\n[_nghost-%COMP%] .k-textbox, \n[_nghost-%COMP%] .k-textarea, \n[_nghost-%COMP%] .k-numerictextbox, \n[_nghost-%COMP%] .k-dropdownlist {\n width: 100%;\n}"] });
419
+ }
420
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MCPServerDialogComponent, [{
421
+ type: Component,
422
+ args: [{ selector: 'mj-mcp-server-dialog', template: "<kendo-dialog\n *ngIf=\"visible\"\n [title]=\"DialogTitle\"\n (close)=\"cancel()\"\n [width]=\"600\"\n [minWidth]=\"400\">\n\n <form [formGroup]=\"serverForm\" class=\"server-form\">\n <!-- Error Message -->\n @if (ErrorMessage) {\n <div class=\"error-banner\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ ErrorMessage }}\n </div>\n }\n\n <!-- Basic Info Section -->\n <div class=\"form-section\">\n <h3><i class=\"fa-solid fa-info-circle\"></i> Basic Information</h3>\n\n <div class=\"form-group\">\n <label for=\"name\">Name <span class=\"required\">*</span></label>\n <input kendoTextBox\n id=\"name\"\n formControlName=\"Name\"\n placeholder=\"e.g., GitHub MCP Server\" />\n @if (hasError('Name', 'required')) {\n <span class=\"error-text\">Name is required</span>\n }\n </div>\n\n <div class=\"form-group\">\n <label for=\"description\">Description</label>\n <textarea kendoTextArea\n id=\"description\"\n formControlName=\"Description\"\n placeholder=\"Optional description of this server\"\n [rows]=\"3\"></textarea>\n </div>\n\n <div class=\"form-group\">\n <label for=\"status\">Status</label>\n <kendo-dropdownlist\n id=\"status\"\n formControlName=\"Status\"\n [data]=\"['Active', 'Inactive']\"\n [valuePrimitive]=\"true\">\n </kendo-dropdownlist>\n </div>\n </div>\n\n <!-- Transport Section -->\n <div class=\"form-section\">\n <h3><i class=\"fa-solid fa-network-wired\"></i> Transport Configuration</h3>\n\n <div class=\"form-group\">\n <label for=\"transportType\">Transport Type <span class=\"required\">*</span></label>\n <kendo-dropdownlist\n id=\"transportType\"\n formControlName=\"TransportType\"\n [data]=\"transportTypes\"\n textField=\"label\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"onTransportTypeChange()\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"transport-option\">\n <span class=\"transport-label\">{{ dataItem.label }}</span>\n <span class=\"transport-desc\">{{ dataItem.description }}</span>\n </div>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n\n @if (RequiresURL) {\n <div class=\"form-group\">\n <label for=\"serverUrl\">Server URL <span class=\"required\">*</span></label>\n <input kendoTextBox\n id=\"serverUrl\"\n formControlName=\"ServerURL\"\n placeholder=\"https://api.example.com/mcp\" />\n @if (hasError('ServerURL', 'required')) {\n <span class=\"error-text\">Server URL is required for this transport type</span>\n }\n </div>\n }\n\n @if (RequiresCommand) {\n <div class=\"form-group\">\n <label for=\"command\">Command <span class=\"required\">*</span></label>\n <input kendoTextBox\n id=\"command\"\n formControlName=\"Command\"\n placeholder=\"e.g., npx or /usr/local/bin/mcp-server\" />\n @if (hasError('Command', 'required')) {\n <span class=\"error-text\">Command is required for Stdio transport</span>\n }\n </div>\n\n <div class=\"form-group\">\n <label for=\"commandArgs\">Command Arguments (JSON array)</label>\n <input kendoTextBox\n id=\"commandArgs\"\n formControlName=\"CommandArgs\"\n placeholder='[\"arg1\", \"arg2\"]' />\n <span class=\"hint\">JSON array of command line arguments</span>\n </div>\n }\n </div>\n\n <!-- Authentication Section -->\n <div class=\"form-section\">\n <h3><i class=\"fa-solid fa-shield-halved\"></i> Authentication</h3>\n\n <div class=\"form-group\">\n <label for=\"authType\">Default Auth Type</label>\n <kendo-dropdownlist\n id=\"authType\"\n formControlName=\"DefaultAuthType\"\n [data]=\"authTypes\"\n textField=\"label\"\n valueField=\"value\"\n [valuePrimitive]=\"true\">\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <div class=\"auth-option\">\n <span class=\"auth-label\">{{ dataItem.label }}</span>\n <span class=\"auth-desc\">{{ dataItem.description }}</span>\n </div>\n </ng-template>\n </kendo-dropdownlist>\n </div>\n </div>\n\n <!-- Rate Limiting Section -->\n <div class=\"form-section\">\n <h3><i class=\"fa-solid fa-gauge-high\"></i> Rate Limiting</h3>\n\n <div class=\"form-row\">\n <div class=\"form-group half\">\n <label for=\"rateLimitMinute\">Requests per Minute</label>\n <kendo-numerictextbox\n id=\"rateLimitMinute\"\n formControlName=\"RateLimitPerMinute\"\n [min]=\"0\"\n [format]=\"'n0'\"\n placeholder=\"No limit\">\n </kendo-numerictextbox>\n </div>\n\n <div class=\"form-group half\">\n <label for=\"rateLimitHour\">Requests per Hour</label>\n <kendo-numerictextbox\n id=\"rateLimitHour\"\n formControlName=\"RateLimitPerHour\"\n [min]=\"0\"\n [format]=\"'n0'\"\n placeholder=\"No limit\">\n </kendo-numerictextbox>\n </div>\n </div>\n\n <div class=\"form-group\">\n <label for=\"requestTimeout\">Request Timeout (ms)</label>\n <kendo-numerictextbox\n id=\"requestTimeout\"\n formControlName=\"RequestTimeoutMs\"\n [min]=\"1000\"\n [max]=\"600000\"\n [step]=\"1000\"\n [format]=\"'n0'\">\n </kendo-numerictextbox>\n <span class=\"hint\">Timeout for individual tool calls (1000-600000ms)</span>\n </div>\n </div>\n </form>\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"save()\" themeColor=\"primary\" [disabled]=\"IsSaving\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n {{ IsEditMode ? 'Update' : 'Create' }}\n </button>\n <button kendoButton (click)=\"cancel()\">Cancel</button>\n </kendo-dialog-actions>\n</kendo-dialog>\n", styles: [".server-form {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.error-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: #ffebee;\n border: 1px solid #f44336;\n border-radius: 6px;\n color: #c62828;\n font-size: 14px;\n}\n\n.form-section {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 16px;\n}\n\n.form-section h3 {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.form-section h3 i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.form-group {\n margin-bottom: 16px;\n}\n\n.form-group:last-child {\n margin-bottom: 0;\n}\n\n.form-group label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.form-group label .required {\n color: #f44336;\n}\n\n.form-group input,\n.form-group textarea {\n width: 100%;\n}\n\n.form-group .hint {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: #999;\n}\n\n.form-group .error-text {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: #f44336;\n}\n\n.form-row {\n display: flex;\n gap: 16px;\n}\n\n.form-group.half {\n flex: 1;\n}\n\n.transport-option,\n.auth-option {\n display: flex;\n flex-direction: column;\n padding: 4px 0;\n}\n\n.transport-label,\n.auth-label {\n font-weight: 500;\n font-size: 14px;\n}\n\n.transport-desc,\n.auth-desc {\n font-size: 12px;\n color: #666;\n}\n\n/* Kendo overrides */\n:host ::ng-deep .k-dialog-actions {\n padding: 16px;\n border-top: 1px solid #e0e0e0;\n}\n\n:host ::ng-deep .k-dialog-content {\n padding: 20px;\n max-height: 70vh;\n overflow-y: auto;\n}\n\n:host ::ng-deep .k-textbox,\n:host ::ng-deep .k-textarea,\n:host ::ng-deep .k-numerictextbox,\n:host ::ng-deep .k-dropdownlist {\n width: 100%;\n}\n"] }]
423
+ }], () => [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }], { server: [{
424
+ type: Input
425
+ }], visible: [{
426
+ type: Input
427
+ }], close: [{
428
+ type: Output
429
+ }] }); })();
430
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MCPServerDialogComponent, { className: "MCPServerDialogComponent", filePath: "src/MCP/components/mcp-server-dialog.component.ts", lineNumber: 51 }); })();
431
+ /**
432
+ * Tree-shaking prevention function
433
+ */
434
+ export function LoadMCPServerDialog() {
435
+ // Ensures the component is not tree-shaken
436
+ }
437
+ //# sourceMappingURL=mcp-server-dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-dialog.component.js","sourceRoot":"","sources":["../../../src/MCP/components/mcp-server-dialog.component.ts","../../../src/MCP/components/mcp-server-dialog.component.html"],"names":[],"mappings":"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"}