imcp 0.1.7 → 0.1.8-dev

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 (314) hide show
  1. package/dist/cli/commands/install.js +1 -106
  2. package/dist/cli/commands/install.js.map +1 -0
  3. package/dist/cli/commands/list.js +1 -90
  4. package/dist/cli/commands/list.js.map +1 -0
  5. package/dist/cli/commands/pull.js +1 -16
  6. package/dist/cli/commands/pull.js.map +1 -0
  7. package/dist/cli/commands/serve.js +1 -33
  8. package/dist/cli/commands/serve.js.map +1 -0
  9. package/dist/cli/commands/uninstall.js +1 -46
  10. package/dist/cli/commands/uninstall.js.map +1 -0
  11. package/dist/cli/index.js +1 -65
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/core/installers/clients/BaseClientInstaller.js +1 -282
  14. package/dist/core/installers/clients/BaseClientInstaller.js.map +1 -0
  15. package/dist/core/installers/clients/ClientInstaller.js +1 -163
  16. package/dist/core/installers/clients/ClientInstaller.js.map +1 -0
  17. package/dist/core/installers/clients/ClientInstallerFactory.js +1 -36
  18. package/dist/core/installers/clients/ClientInstallerFactory.js.map +1 -0
  19. package/dist/core/installers/clients/ClineInstaller.js +1 -30
  20. package/dist/core/installers/clients/ClineInstaller.js.map +1 -0
  21. package/dist/core/installers/clients/ExtensionInstaller.js +1 -151
  22. package/dist/core/installers/clients/ExtensionInstaller.js.map +1 -0
  23. package/dist/core/installers/clients/GithubCopilotInstaller.js +1 -68
  24. package/dist/core/installers/clients/GithubCopilotInstaller.js.map +1 -0
  25. package/dist/core/installers/clients/MSRooCodeInstaller.js +1 -28
  26. package/dist/core/installers/clients/MSRooCodeInstaller.js.map +1 -0
  27. package/dist/core/installers/index.js +1 -8
  28. package/dist/core/installers/index.js.map +1 -0
  29. package/dist/core/installers/requirements/BaseInstaller.js +1 -56
  30. package/dist/core/installers/requirements/BaseInstaller.js.map +1 -0
  31. package/dist/core/installers/requirements/CommandInstaller.js +1 -213
  32. package/dist/core/installers/requirements/CommandInstaller.js.map +1 -0
  33. package/dist/core/installers/requirements/GeneralInstaller.js +1 -126
  34. package/dist/core/installers/requirements/GeneralInstaller.js.map +1 -0
  35. package/dist/core/installers/requirements/InstallerFactory.js +1 -99
  36. package/dist/core/installers/requirements/InstallerFactory.js.map +1 -0
  37. package/dist/core/installers/requirements/NpmInstaller.js +1 -235
  38. package/dist/core/installers/requirements/NpmInstaller.js.map +1 -0
  39. package/dist/core/installers/requirements/NugetInstaller.js +1 -188
  40. package/dist/core/installers/requirements/NugetInstaller.js.map +1 -0
  41. package/dist/core/installers/requirements/PipInstaller.js +1 -192
  42. package/dist/core/installers/requirements/PipInstaller.js.map +1 -0
  43. package/dist/core/installers/requirements/RequirementInstaller.js +1 -2
  44. package/dist/core/installers/requirements/RequirementInstaller.js.map +1 -0
  45. package/dist/core/loaders/ConfigurationLoader.js +1 -256
  46. package/dist/core/loaders/ConfigurationLoader.js.map +1 -0
  47. package/dist/core/loaders/ConfigurationProvider.js +1 -383
  48. package/dist/core/loaders/ConfigurationProvider.js.map +1 -0
  49. package/dist/core/loaders/InstallOperationManager.js +1 -310
  50. package/dist/core/loaders/InstallOperationManager.js.map +1 -0
  51. package/dist/core/loaders/ServerSchemaLoader.js +1 -108
  52. package/dist/core/loaders/ServerSchemaLoader.js.map +1 -0
  53. package/dist/core/loaders/ServerSchemaProvider.js +1 -89
  54. package/dist/core/loaders/ServerSchemaProvider.js.map +1 -0
  55. package/dist/core/loaders/SystemSettingsManager.js +1 -256
  56. package/dist/core/loaders/SystemSettingsManager.js.map +1 -0
  57. package/dist/core/metadatas/constants.js +1 -100
  58. package/dist/core/metadatas/constants.js.map +1 -0
  59. package/dist/core/metadatas/recordingConstants.js +1 -46
  60. package/dist/core/metadatas/recordingConstants.js.map +1 -0
  61. package/dist/core/metadatas/types.js +1 -15
  62. package/dist/core/metadatas/types.js.map +1 -0
  63. package/dist/core/onboard/FeedOnboardService.js +1 -422
  64. package/dist/core/onboard/FeedOnboardService.js.map +1 -0
  65. package/dist/core/onboard/OnboardProcessor.js +1 -333
  66. package/dist/core/onboard/OnboardProcessor.js.map +1 -0
  67. package/dist/core/onboard/OnboardStatus.js +1 -9
  68. package/dist/core/onboard/OnboardStatus.js.map +1 -0
  69. package/dist/core/onboard/OnboardStatusManager.js +1 -360
  70. package/dist/core/onboard/OnboardStatusManager.js.map +1 -0
  71. package/dist/core/validators/FeedValidator.js +1 -133
  72. package/dist/core/validators/FeedValidator.js.map +1 -0
  73. package/dist/core/validators/IServerValidator.js +1 -1
  74. package/dist/core/validators/IServerValidator.js.map +1 -0
  75. package/dist/core/validators/SSEServerValidator.js +1 -38
  76. package/dist/core/validators/SSEServerValidator.js.map +1 -0
  77. package/dist/core/validators/ServerValidatorFactory.js +1 -44
  78. package/dist/core/validators/ServerValidatorFactory.js.map +1 -0
  79. package/dist/core/validators/StdioServerValidator.js +1 -281
  80. package/dist/core/validators/StdioServerValidator.js.map +1 -0
  81. package/dist/index.js +1 -18
  82. package/dist/index.js.map +1 -0
  83. package/dist/services/InstallationService.js +1 -81
  84. package/dist/services/InstallationService.js.map +1 -0
  85. package/dist/services/MCPManager.js +1 -197
  86. package/dist/services/MCPManager.js.map +1 -0
  87. package/dist/services/RequirementService.js +1 -548
  88. package/dist/services/RequirementService.js.map +1 -0
  89. package/dist/services/ServerService.js +1 -127
  90. package/dist/services/ServerService.js.map +1 -0
  91. package/dist/services/TelemetryService.js +1 -53
  92. package/dist/services/TelemetryService.js.map +1 -0
  93. package/dist/utils/UpdateCheckTracker.js +1 -79
  94. package/dist/utils/UpdateCheckTracker.js.map +1 -0
  95. package/dist/utils/adoUtils.js +1 -254
  96. package/dist/utils/adoUtils.js.map +1 -0
  97. package/dist/utils/clientUtils.js +1 -65
  98. package/dist/utils/clientUtils.js.map +1 -0
  99. package/dist/utils/feedUtils.js +1 -28
  100. package/dist/utils/feedUtils.js.map +1 -0
  101. package/dist/utils/githubAuth.js +1 -177
  102. package/dist/utils/githubAuth.js.map +1 -0
  103. package/dist/utils/githubUtils.js +1 -125
  104. package/dist/utils/githubUtils.js.map +1 -0
  105. package/dist/utils/logger.js +1 -176
  106. package/dist/utils/logger.js.map +1 -0
  107. package/dist/utils/macroExpressionUtils.js +1 -93
  108. package/dist/utils/macroExpressionUtils.js.map +1 -0
  109. package/dist/utils/osUtils.js +1 -664
  110. package/dist/utils/osUtils.js.map +1 -0
  111. package/dist/utils/versionUtils.js +1 -101
  112. package/dist/utils/versionUtils.js.map +1 -0
  113. package/dist/web/contract/serverContract.js +1 -1
  114. package/dist/web/contract/serverContract.js.map +1 -0
  115. package/dist/web/public/js/api.js +2 -132
  116. package/dist/web/public/js/api.js.map +1 -0
  117. package/dist/web/public/js/detailsWidget.js +2 -264
  118. package/dist/web/public/js/detailsWidget.js.map +1 -0
  119. package/dist/web/public/js/flights/flights.js +2 -127
  120. package/dist/web/public/js/flights/flights.js.map +1 -0
  121. package/dist/web/public/js/modal/index.js +2 -52
  122. package/dist/web/public/js/modal/index.js.map +1 -0
  123. package/dist/web/public/js/modal/installModal.js +2 -162
  124. package/dist/web/public/js/modal/installModal.js.map +1 -0
  125. package/dist/web/public/js/modal/installation.js +2 -266
  126. package/dist/web/public/js/modal/installation.js.map +1 -0
  127. package/dist/web/public/js/modal/loadingModal.js +2 -182
  128. package/dist/web/public/js/modal/loadingModal.js.map +1 -0
  129. package/dist/web/public/js/modal/modalSetup.js +2 -595
  130. package/dist/web/public/js/modal/modalSetup.js.map +1 -0
  131. package/dist/web/public/js/modal/modalUtils.js +2 -37
  132. package/dist/web/public/js/modal/modalUtils.js.map +1 -0
  133. package/dist/web/public/js/modal/versionUtils.js +2 -20
  134. package/dist/web/public/js/modal/versionUtils.js.map +1 -0
  135. package/dist/web/public/js/modal.js +2 -42
  136. package/dist/web/public/js/modal.js.map +1 -0
  137. package/dist/web/public/js/notifications.js +2 -137
  138. package/dist/web/public/js/notifications.js.map +1 -0
  139. package/dist/web/public/js/onboard/formProcessor.js +2 -1037
  140. package/dist/web/public/js/onboard/formProcessor.js.map +1 -0
  141. package/dist/web/public/js/onboard/index.js +2 -374
  142. package/dist/web/public/js/onboard/index.js.map +1 -0
  143. package/dist/web/public/js/onboard/publishHandler.js +2 -172
  144. package/dist/web/public/js/onboard/publishHandler.js.map +1 -0
  145. package/dist/web/public/js/onboard/state.js +2 -76
  146. package/dist/web/public/js/onboard/state.js.map +1 -0
  147. package/dist/web/public/js/onboard/templates.js +2 -342
  148. package/dist/web/public/js/onboard/templates.js.map +1 -0
  149. package/dist/web/public/js/onboard/uiHandlers.js +2 -1076
  150. package/dist/web/public/js/onboard/uiHandlers.js.map +1 -0
  151. package/dist/web/public/js/onboard/validationHandlers.js +2 -493
  152. package/dist/web/public/js/onboard/validationHandlers.js.map +1 -0
  153. package/dist/web/public/js/serverCategoryDetails.js +2 -364
  154. package/dist/web/public/js/serverCategoryDetails.js.map +1 -0
  155. package/dist/web/public/js/serverCategoryList.js +2 -241
  156. package/dist/web/public/js/serverCategoryList.js.map +1 -0
  157. package/dist/web/public/js/settings.js +2 -314
  158. package/dist/web/public/js/settings.js.map +1 -0
  159. package/dist/web/server.js +1 -404
  160. package/dist/web/server.js.map +1 -0
  161. package/package.json +8 -2
  162. package/.github/ISSUE_TEMPLATE/JitAccess.yml +0 -28
  163. package/.github/acl/access.yml +0 -20
  164. package/.github/compliance/inventory.yml +0 -5
  165. package/.github/policies/jit.yml +0 -19
  166. package/.github/workflows/build.yml +0 -28
  167. package/.roo/rules-code/rules.md +0 -88
  168. package/dist/cli/commands/start.d.ts +0 -2
  169. package/dist/cli/commands/start.js +0 -32
  170. package/dist/cli/commands/sync.d.ts +0 -2
  171. package/dist/cli/commands/sync.js +0 -17
  172. package/dist/core/ConfigurationLoader.d.ts +0 -32
  173. package/dist/core/ConfigurationLoader.js +0 -236
  174. package/dist/core/ConfigurationProvider.d.ts +0 -35
  175. package/dist/core/ConfigurationProvider.js +0 -375
  176. package/dist/core/InstallationService.d.ts +0 -50
  177. package/dist/core/InstallationService.js +0 -350
  178. package/dist/core/MCPManager.d.ts +0 -28
  179. package/dist/core/MCPManager.js +0 -188
  180. package/dist/core/RequirementService.d.ts +0 -40
  181. package/dist/core/RequirementService.js +0 -110
  182. package/dist/core/ServerSchemaLoader.d.ts +0 -11
  183. package/dist/core/ServerSchemaLoader.js +0 -43
  184. package/dist/core/ServerSchemaProvider.d.ts +0 -17
  185. package/dist/core/ServerSchemaProvider.js +0 -120
  186. package/dist/core/constants.d.ts +0 -47
  187. package/dist/core/constants.js +0 -94
  188. package/dist/core/installers/BaseInstaller.d.ts +0 -74
  189. package/dist/core/installers/BaseInstaller.js +0 -253
  190. package/dist/core/installers/ClientInstaller.d.ts +0 -23
  191. package/dist/core/installers/ClientInstaller.js +0 -564
  192. package/dist/core/installers/CommandInstaller.d.ts +0 -37
  193. package/dist/core/installers/CommandInstaller.js +0 -173
  194. package/dist/core/installers/GeneralInstaller.d.ts +0 -33
  195. package/dist/core/installers/GeneralInstaller.js +0 -85
  196. package/dist/core/installers/InstallerFactory.d.ts +0 -54
  197. package/dist/core/installers/InstallerFactory.js +0 -97
  198. package/dist/core/installers/NpmInstaller.d.ts +0 -26
  199. package/dist/core/installers/NpmInstaller.js +0 -127
  200. package/dist/core/installers/PipInstaller.d.ts +0 -28
  201. package/dist/core/installers/PipInstaller.js +0 -127
  202. package/dist/core/installers/RequirementInstaller.d.ts +0 -33
  203. package/dist/core/installers/RequirementInstaller.js +0 -3
  204. package/dist/core/types.d.ts +0 -166
  205. package/dist/core/types.js +0 -16
  206. package/dist/services/InstallRequestValidator.d.ts +0 -21
  207. package/dist/services/InstallRequestValidator.js +0 -99
  208. package/dist/web/public/js/modal/installHandler.js +0 -227
  209. package/dist/web/public/js/modal/loadingUI.js +0 -74
  210. package/dist/web/public/js/modal/messageQueue.js +0 -112
  211. package/dist/web/public/js/modal/modalUI.js +0 -214
  212. package/dist/web/public/js/modal/version.js +0 -20
  213. package/dist/web/public/js/onboard/ONBOARDING_PAGE_DESIGN.md +0 -370
  214. package/docs/ONBOARDING_PAGE_DESIGN.md +0 -260
  215. package/docs/Telemetry.md +0 -136
  216. package/memory-bank/activeContext.md +0 -26
  217. package/memory-bank/decisionLog.md +0 -91
  218. package/memory-bank/productContext.md +0 -41
  219. package/memory-bank/progress.md +0 -35
  220. package/memory-bank/systemPatterns.md +0 -10
  221. package/src/cli/commands/install.ts +0 -139
  222. package/src/cli/commands/list.ts +0 -113
  223. package/src/cli/commands/pull.ts +0 -16
  224. package/src/cli/commands/serve.ts +0 -39
  225. package/src/cli/commands/uninstall.ts +0 -64
  226. package/src/cli/index.ts +0 -82
  227. package/src/core/installers/clients/BaseClientInstaller.ts +0 -341
  228. package/src/core/installers/clients/ClientInstaller.ts +0 -222
  229. package/src/core/installers/clients/ClientInstallerFactory.ts +0 -43
  230. package/src/core/installers/clients/ClineInstaller.ts +0 -35
  231. package/src/core/installers/clients/ExtensionInstaller.ts +0 -165
  232. package/src/core/installers/clients/GithubCopilotInstaller.ts +0 -79
  233. package/src/core/installers/clients/MSRooCodeInstaller.ts +0 -32
  234. package/src/core/installers/index.ts +0 -11
  235. package/src/core/installers/requirements/BaseInstaller.ts +0 -85
  236. package/src/core/installers/requirements/CommandInstaller.ts +0 -231
  237. package/src/core/installers/requirements/GeneralInstaller.ts +0 -133
  238. package/src/core/installers/requirements/InstallerFactory.ts +0 -114
  239. package/src/core/installers/requirements/NpmInstaller.ts +0 -271
  240. package/src/core/installers/requirements/NugetInstaller.ts +0 -203
  241. package/src/core/installers/requirements/PipInstaller.ts +0 -207
  242. package/src/core/installers/requirements/RequirementInstaller.ts +0 -42
  243. package/src/core/loaders/ConfigurationLoader.ts +0 -298
  244. package/src/core/loaders/ConfigurationProvider.ts +0 -462
  245. package/src/core/loaders/InstallOperationManager.ts +0 -367
  246. package/src/core/loaders/ServerSchemaLoader.ts +0 -117
  247. package/src/core/loaders/ServerSchemaProvider.ts +0 -99
  248. package/src/core/loaders/SystemSettingsManager.ts +0 -278
  249. package/src/core/metadatas/constants.ts +0 -122
  250. package/src/core/metadatas/recordingConstants.ts +0 -65
  251. package/src/core/metadatas/types.ts +0 -202
  252. package/src/core/onboard/FeedOnboardService.ts +0 -501
  253. package/src/core/onboard/OnboardProcessor.ts +0 -356
  254. package/src/core/onboard/OnboardStatus.ts +0 -60
  255. package/src/core/onboard/OnboardStatusManager.ts +0 -416
  256. package/src/core/validators/FeedValidator.ts +0 -135
  257. package/src/core/validators/IServerValidator.ts +0 -21
  258. package/src/core/validators/SSEServerValidator.ts +0 -43
  259. package/src/core/validators/ServerValidatorFactory.ts +0 -51
  260. package/src/core/validators/StdioServerValidator.ts +0 -313
  261. package/src/index.ts +0 -44
  262. package/src/services/InstallationService.ts +0 -102
  263. package/src/services/MCPManager.ts +0 -249
  264. package/src/services/RequirementService.ts +0 -627
  265. package/src/services/ServerService.ts +0 -161
  266. package/src/services/TelemetryService.ts +0 -59
  267. package/src/utils/UpdateCheckTracker.ts +0 -86
  268. package/src/utils/adoUtils.ts +0 -293
  269. package/src/utils/clientUtils.ts +0 -72
  270. package/src/utils/feedUtils.ts +0 -31
  271. package/src/utils/githubAuth.ts +0 -212
  272. package/src/utils/githubUtils.ts +0 -164
  273. package/src/utils/logger.ts +0 -195
  274. package/src/utils/macroExpressionUtils.ts +0 -104
  275. package/src/utils/osUtils.ts +0 -700
  276. package/src/utils/versionUtils.ts +0 -114
  277. package/src/web/contract/serverContract.ts +0 -74
  278. package/src/web/public/css/detailsWidget.css +0 -235
  279. package/src/web/public/css/modal.css +0 -757
  280. package/src/web/public/css/notifications.css +0 -101
  281. package/src/web/public/css/onboard.css +0 -107
  282. package/src/web/public/css/serverCategoryList.css +0 -120
  283. package/src/web/public/css/serverDetails.css +0 -139
  284. package/src/web/public/index.html +0 -359
  285. package/src/web/public/js/api.js +0 -132
  286. package/src/web/public/js/detailsWidget.js +0 -264
  287. package/src/web/public/js/flights/flights.js +0 -127
  288. package/src/web/public/js/modal/index.js +0 -52
  289. package/src/web/public/js/modal/installModal.js +0 -162
  290. package/src/web/public/js/modal/installation.js +0 -266
  291. package/src/web/public/js/modal/loadingModal.js +0 -182
  292. package/src/web/public/js/modal/modalSetup.js +0 -595
  293. package/src/web/public/js/modal/modalUtils.js +0 -37
  294. package/src/web/public/js/modal/versionUtils.js +0 -20
  295. package/src/web/public/js/modal.js +0 -42
  296. package/src/web/public/js/notifications.js +0 -137
  297. package/src/web/public/js/onboard/formProcessor.js +0 -1037
  298. package/src/web/public/js/onboard/index.js +0 -374
  299. package/src/web/public/js/onboard/publishHandler.js +0 -172
  300. package/src/web/public/js/onboard/state.js +0 -76
  301. package/src/web/public/js/onboard/templates.js +0 -342
  302. package/src/web/public/js/onboard/uiHandlers.js +0 -1076
  303. package/src/web/public/js/onboard/validationHandlers.js +0 -493
  304. package/src/web/public/js/serverCategoryDetails.js +0 -364
  305. package/src/web/public/js/serverCategoryList.js +0 -241
  306. package/src/web/public/js/settings.js +0 -314
  307. package/src/web/public/modal.html +0 -84
  308. package/src/web/public/onboard.html +0 -296
  309. package/src/web/public/settings.html +0 -135
  310. package/src/web/public/styles.css +0 -277
  311. package/src/web/server.ts +0 -478
  312. package/tsconfig.json +0 -18
  313. package/wiki/Installation.md +0 -3
  314. package/wiki/Publish.md +0 -3
@@ -1,296 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Onboard MCP Category - IMCP</title>
7
- <script src="https://cdn.tailwindcss.com"></script>
8
- <link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
9
- <!-- Bootstrap CSS is likely not needed if primarily using Tailwind -->
10
- <!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> -->
11
- <link rel="stylesheet" href="styles.css">
12
- <link rel="stylesheet" href="css/onboard.css">
13
- <!-- Highlight.js for JSON syntax highlighting -->
14
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
15
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
16
- <link rel="stylesheet" href="css/modal.css">
17
- <link rel="stylesheet" href="css/notifications.css">
18
- <script type="module">
19
- import flights, { getFlightQueryParameters } from './js/flights/flights.js';
20
- if (!flights.enableOnboard) {
21
- // Preserve flight params when redirecting
22
- window.location.href = `index.html${getFlightQueryParameters()}`;
23
- }
24
-
25
- document.addEventListener('DOMContentLoaded', () => {
26
- const flightQueryString = getFlightQueryParameters();
27
-
28
- const backToServerLink = document.querySelector('a[href="index.html"]');
29
- if (backToServerLink) {
30
- backToServerLink.href = `index.html${flightQueryString}`;
31
- }
32
-
33
- // Update cancel buttons in forms
34
- const cancelButtons = document.querySelectorAll('button[onclick="window.location.href=\'index.html\'"]');
35
- cancelButtons.forEach(button => {
36
- button.onclick = () => { window.location.href = `index.html${flightQueryString}`; };
37
- });
38
-
39
- const jsonEditorCancelButton = document.querySelector('#jsonEditorActionsContainer button[onclick="window.location.href=\'index.html\'"]');
40
- if (jsonEditorCancelButton) {
41
- jsonEditorCancelButton.onclick = () => { window.location.href = `index.html${flightQueryString}`; };
42
- }
43
- });
44
- </script>
45
- </head>
46
- <body class="bg-gray-50 min-h-screen">
47
- <div class="alert-container"></div>
48
- <div class="container mx-auto px-4 py-6">
49
- <div class="flex items-center justify-between mb-8">
50
- <h1 class="text-3xl font-bold text-gray-900 flex items-center">
51
- <i class='bx bx-server mr-3 text-blue-600'></i>
52
- Publish MCP Server
53
- </h1>
54
- <a href="index.html" class="text-gray-600 hover:text-gray-900 flex items-center">
55
- <i class='bx bx-arrow-back mr-2'></i>
56
- Server List
57
- </a>
58
- </div>
59
-
60
- <div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6 max-w-6xl mx-auto">
61
- <!-- Tab Navigation -->
62
- <div class="mb-6 border-b border-gray-200">
63
- <nav class="flex space-x-8" aria-label="Tabs">
64
- <button id="tab-create-category" class="py-2 px-4 text-blue-600 border-b-2 border-blue-600 font-semibold focus:outline-none" type="button">
65
- Add New Server Category
66
- </button>
67
- <button id="tab-create-server" class="py-2 px-4 text-gray-600 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600 font-semibold focus:outline-none" type="button">
68
- Add New Server in Existing Category
69
- </button>
70
- </nav>
71
- <!-- View Mode Toggle Switch -->
72
- <div class="flex justify-end mt-2 mb-4">
73
- <label for="viewModeToggle" class="flex items-center cursor-pointer">
74
- <span class="mr-3 text-sm font-medium text-gray-700">Form View</span>
75
- <div class="relative">
76
- <input type="checkbox" id="viewModeToggle" class="sr-only peer">
77
- <div class="w-10 h-6 bg-gray-200 rounded-full peer peer-focus:ring-2 peer-focus:ring-blue-300 peer-checked:bg-blue-600 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all"></div>
78
- </div>
79
- <span class="ml-3 text-sm font-medium text-gray-700">JSON View</span>
80
- </label>
81
- </div>
82
- </div>
83
- <!-- Tab Panels -->
84
- <div id="panel-create-category">
85
- <form id="onboardForm" class="space-y-6">
86
- <!-- Basic Information -->
87
- <div class="space-y-4">
88
- <h2 onclick="toggleSectionContent('basicInformationContent', this.querySelector('.toggle-icon'))" class="text-xl font-semibold text-gray-900 flex items-center justify-between mb-4 cursor-pointer">
89
- <span class="flex items-center">
90
- <i class='bx bx-info-circle mr-2 text-blue-600'></i>
91
- Basic Information
92
- </span>
93
- <i class='bx bx-chevron-down toggle-icon text-xl text-gray-500'></i>
94
- </h2>
95
- <div id="basicInformationContent" class="grid grid-cols-1 md:grid-cols-2 gap-4 p-6 bg-white rounded-lg border border-gray-200 shadow-sm">
96
- <div>
97
- <label class="block text-sm font-medium text-gray-700 mb-1">Category Name*</label>
98
- <input type="text" name="name" required
99
- class="w-full px-3 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
100
- placeholder="e.g., ai-coder-tools">
101
- </div>
102
- <div>
103
- <label class="block text-sm font-medium text-gray-700 mb-1">Display Name*</label>
104
- <input type="text" name="displayName" required
105
- class="w-full px-3 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
106
- placeholder="e.g., Coder Tools">
107
- </div>
108
- <div class="md:col-span-2">
109
- <label class="block text-sm font-medium text-gray-700 mb-1">Description*</label>
110
- <textarea name="description" rows="3" required
111
- class="w-full px-3 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
112
- placeholder="Describe the purpose and capabilities of this server category"></textarea>
113
- </div>
114
- <div class="md:col-span-2">
115
- <label class="block text-sm font-medium text-gray-700 mb-1">Repository URL</label>
116
- <input type="url" name="repository"
117
- class="w-full px-3 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
118
- placeholder="e.g., https://github.com/organization/repository">
119
- </div>
120
- </div>
121
- </div>
122
- <!-- MCP Servers -->
123
- <div class="space-y-4">
124
- <div class="flex justify-between items-center mb-4">
125
- <h2 class="text-xl font-semibold text-gray-900 flex items-center">
126
- <i class='bx bx-server mr-2 text-blue-600'></i>
127
- MCP Servers
128
- </h2>
129
- <button type="button" id="addServerBtnNewCategory"
130
- class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 flex items-center text-sm">
131
- <i class='bx bx-plus mr-2'></i>
132
- Add MCP Server
133
- </button>
134
- </div>
135
- <div id="serversList" class="space-y-4">
136
- <!-- Server configurations will be added here dynamically by serverTemplate -->
137
- </div>
138
- </div>
139
- <div class="flex justify-end space-x-4 pt-6 border-t">
140
- <button type="button" onclick="window.location.href='index.html'"
141
- class="px-6 py-2.5 border border-gray-300 rounded-lg text-gray-600 hover:bg-gray-50">
142
- Cancel
143
- </button>
144
- <button type="button" id="validateButtonNewCategory"
145
- class="px-6 py-2.5 bg-green-500 text-white rounded-lg hover:bg-green-600 flex items-center">
146
- <i class='bx bx-check-shield mr-2'></i>
147
- Validate
148
- </button>
149
- <button type="submit" id="publishButtonNewCategory"
150
- class="px-6 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 flex items-center">
151
- <i class='bx bxs-cloud-upload mr-2'></i>
152
- Publish
153
- </button>
154
- </div>
155
- <!-- Validation Status Panel -->
156
- <div id="validationStatusPanelNewCategory" class="hidden p-6 bg-gray-50 rounded-lg border border-gray-200">
157
- <h3 onclick="toggleSectionContent('validationStatusContentNewCategory', this.querySelector('.toggle-icon'))" class="cursor-pointer text-lg font-semibold text-gray-800 mb-3 flex items-center justify-between">
158
- <span class="flex items-center">
159
- <i class='bx bx-analyse mr-2 text-blue-600'></i>Validation Status
160
- </span>
161
- <i class='bx bx-chevron-down toggle-icon text-xl text-gray-500'></i>
162
- </h3>
163
- <div id="validationStatusContentNewCategory" class="text-sm text-gray-700 space-y-2">
164
- <!-- Validation messages will be displayed here -->
165
- </div>
166
- </div>
167
- </form>
168
- </div>
169
- <div id="panel-create-server" class="hidden">
170
- <form id="onboardServerForm" class="space-y-6">
171
- <!-- Select Existing Category -->
172
- <div class="space-y-4">
173
- <h2 class="text-xl font-semibold text-gray-900 flex items-center mb-4">
174
- <i class='bx bx-category mr-2 text-blue-600'></i>
175
- Select Server Category
176
- </h2>
177
- <select id="existingCategorySelect" name="categoryName" required
178
- class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
179
- <option value="">Loading categories...</option>
180
- </select>
181
- </div>
182
-
183
- <!-- Basic Information (Read-only after category selection) -->
184
- <div id="existingCategoryBasicInfoContainer" class="hidden space-y-4">
185
- <h2 onclick="toggleSectionContent('existingCategoryBasicInformationContent', this.querySelector('.toggle-icon'))" class="text-xl font-semibold text-gray-900 flex items-center justify-between mb-4 cursor-pointer">
186
- <span class="flex items-center">
187
- <i class='bx bx-info-circle mr-2 text-blue-600'></i>
188
- Basic Information (Read-only)
189
- </span>
190
- <i class='bx bx-chevron-down toggle-icon text-xl text-gray-500'></i>
191
- </h2>
192
- <div id="existingCategoryBasicInformationContent" class="grid grid-cols-1 md:grid-cols-2 gap-4 p-6 bg-white rounded-lg border border-gray-200 shadow-sm">
193
- <div>
194
- <label class="block text-sm font-medium text-gray-700 mb-1">Category Name</label>
195
- <input type="text" name="name" readonly class="w-full px-3 py-1.5 border border-gray-300 rounded-lg bg-gray-100 cursor-not-allowed">
196
- </div>
197
- <div>
198
- <label class="block text-sm font-medium text-gray-700 mb-1">Display Name</label>
199
- <input type="text" name="displayName" readonly class="w-full px-3 py-1.5 border border-gray-300 rounded-lg bg-gray-100 cursor-not-allowed">
200
- </div>
201
- <div class="md:col-span-2">
202
- <label class="block text-sm font-medium text-gray-700 mb-1">Description</label>
203
- <textarea name="description" rows="3" readonly class="w-full px-3 py-1.5 border border-gray-300 rounded-lg bg-gray-100 cursor-not-allowed"></textarea>
204
- </div>
205
- <div class="md:col-span-2">
206
- <label class="block text-sm font-medium text-gray-700 mb-1">Repository URL</label>
207
- <input type="url" name="repository" readonly class="w-full px-3 py-1.5 border border-gray-300 rounded-lg bg-gray-100 cursor-not-allowed">
208
- </div>
209
- </div>
210
- </div>
211
-
212
- <!-- MCP Servers (Existing read-only, new ones editable) -->
213
- <div id="existingCategoryMcpServersContainer" class="hidden space-y-4">
214
- <div class="flex justify-between items-center mb-4">
215
- <h2 class="text-xl font-semibold text-gray-900 flex items-center">
216
- <i class='bx bx-server mr-2 text-blue-600'></i>
217
- MCP Servers
218
- </h2>
219
- <button type="button" id="addServerToExistingCategoryBtn"
220
- class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 flex items-center text-sm">
221
- <i class='bx bx-plus mr-2'></i>
222
- Add MCP Server
223
- </button>
224
- </div>
225
- <div id="existingCategoryServersList" class="space-y-4">
226
- <!-- Server configurations will be added here: existing ones read-only, new ones editable -->
227
- </div>
228
- </div>
229
-
230
- <!-- Action Buttons -->
231
- <div class="flex justify-end space-x-4 pt-6 border-t">
232
- <button type="button" onclick="window.location.href='index.html'"
233
- class="px-6 py-2.5 border border-gray-300 rounded-lg text-gray-600 hover:bg-gray-50">
234
- Cancel
235
- </button>
236
- <button type="button" id="validateButtonExistingCategory"
237
- class="px-6 py-2.5 bg-green-500 text-white rounded-lg hover:bg-green-600 flex items-center">
238
- <i class='bx bx-check-shield mr-2'></i>
239
- Validate
240
- </button>
241
- <button type="submit" id="publishButtonExistingCategory"
242
- class="px-6 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 flex items-center">
243
- <i class='bx bxs-cloud-upload mr-2'></i>
244
- Publish
245
- </button>
246
- </div>
247
-
248
- <!-- Validation Status Panel -->
249
- <div id="validationStatusPanelExistingCategory" class="hidden p-6 bg-gray-50 rounded-lg border border-gray-200">
250
- <h3 onclick="toggleSectionContent('validationStatusContentExistingCategoryTab', this.querySelector('.toggle-icon'))" class="cursor-pointer text-lg font-semibold text-gray-800 mb-3 flex items-center justify-between">
251
- <span class="flex items-center">
252
- <i class='bx bx-analyse mr-2 text-blue-600'></i>Validation Status
253
- </span>
254
- <i class='bx bx-chevron-down toggle-icon text-xl text-gray-500'></i>
255
- </h3>
256
- <div id="validationStatusContentExistingCategoryTab" class="text-sm text-gray-700 space-y-2">
257
- <!-- Validation messages will be displayed here -->
258
- </div>
259
- </div>
260
- </form>
261
- </div>
262
-
263
- <!-- JSON Editor Panel -->
264
- <div id="panel-json-editor" class="hidden">
265
- <h2 class="text-xl font-semibold text-gray-900 flex items-center mb-4">
266
- <i class='bx bx-code-alt mr-2 text-blue-600'></i>
267
- Edit Configuration as JSON
268
- </h2>
269
- <div class="relative">
270
- <button type="button" onclick="copyJsonToClipboard()" title="Copy JSON to clipboard"
271
- class="absolute top-2 right-2 z-10 px-3 py-1.5 text-xs bg-gray-200 hover:bg-gray-300 text-gray-700 rounded-md flex items-center">
272
- <i class='bx bx-copy mr-1'></i> Copy
273
- </button>
274
- <textarea id="jsonEditorTextarea" rows="20"
275
- class="w-full px-3 py-2 font-mono text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
276
- placeholder="JSON configuration will appear here..."></textarea>
277
- </div>
278
- <div id="jsonEditorActionsContainer" class="flex justify-end space-x-4 pt-6 border-t mt-6">
279
- <!-- "Apply JSON to Form" button removed -->
280
- <button type="button" onclick="window.location.href='index.html'"
281
- class="px-6 py-2.5 border border-gray-300 rounded-lg text-gray-600 hover:bg-gray-50">
282
- Cancel
283
- </button>
284
- <button type="button" id="saveJsonButton"
285
- class="px-6 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 flex items-center">
286
- <i class='bx bxs-cloud-upload mr-2'></i>
287
- Publish JSON
288
- </button>
289
- </div>
290
- </div>
291
- </div>
292
-
293
- <script src="js/onboard/index.js" type="module"></script>
294
- <!-- Highlight.js script can be removed if not using <pre><code> for JSON -->
295
- </body>
296
- </html>
@@ -1,135 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>IMCP System Settings</title>
8
- <script src="https://cdn.tailwindcss.com"></script>
9
- <link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
10
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
11
- <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css" rel="stylesheet">
12
- <link rel="stylesheet" href="styles.css">
13
- <link rel="stylesheet" href="css/notifications.css">
14
- <style>
15
- .form-label {
16
- font-weight: 600;
17
- color: #374151; /* text-gray-700 */
18
- }
19
- .form-input {
20
- border-color: #D1D5DB; /* border-gray-300 */
21
- transition: all 0.15s ease-in-out;
22
- }
23
- .form-input:focus {
24
- border-color: #3B82F6; /* focus:border-blue-500 */
25
- box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.25); /* focus:ring-blue-200 focus:ring-opacity-50 */
26
- }
27
- .btn-primary {
28
- background-color: #2563EB; /* bg-blue-600 */
29
- border-color: #2563EB;
30
- }
31
- .btn-primary:hover {
32
- background-color: #1D4ED8; /* hover:bg-blue-700 */
33
- border-color: #1D4ED8;
34
- }
35
- .btn-secondary {
36
- background-color: #6B7280; /* bg-gray-500 */
37
- border-color: #6B7280;
38
- color: white;
39
- }
40
- .btn-secondary:hover {
41
- background-color: #4B5563; /* hover:bg-gray-600 */
42
- border-color: #4B5563;
43
- }
44
- .toast-container {
45
- z-index: 1090; /* Ensure toast is above other elements */
46
- }
47
- </style>
48
- </head>
49
-
50
- <body class="bg-gray-50 min-h-screen">
51
- <div class="container mx-auto px-4 py-6">
52
- <div class="flex items-center justify-between mb-8">
53
- <h1 class="text-3xl font-bold text-gray-900 flex items-center">
54
- <a href="index.html" class="flex items-center text-gray-900 hover:text-blue-600 transition-colors">
55
- <i class='bx bx-left-arrow-alt mr-3 text-blue-600'></i>
56
- System Settings
57
- </a>
58
- </h1>
59
- </div>
60
-
61
- <div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6 lg:p-8">
62
- <form id="settingsForm">
63
- <!-- Paths Section -->
64
- <h2 class="text-xl font-semibold text-gray-800 mb-3">Path Configurations</h2>
65
- <fieldset class="border border-gray-300 p-4 rounded-md mb-6">
66
- <!-- Python Environments Section -->
67
- <div class="mb-4">
68
- <h3 class="text-lg font-semibold text-gray-800 mb-2">Python Environments</h3>
69
- <div id="pythonEnvsContainer" class="space-y-3 mb-3">
70
- <!-- Python environments will be dynamically added here -->
71
- <p class="text-gray-500" id="pythonEnvsLoadingMsg">Loading Python environments...</p>
72
- </div>
73
- <button type="button" id="addPythonEnvButton" class="btn btn-outline-primary btn-sm mb-4 flex items-center">
74
- <i class='bx bx-plus mr-1'></i>Add Python Environment
75
- </button>
76
- </div>
77
-
78
- <!-- Other path configurations -->
79
- <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
80
- <div>
81
- <label for="nodePath" class="form-label block mb-2">Node.js Path</label>
82
- <input type="text" id="nodePath" name="nodePath" class="form-input form-control w-full px-3 py-2 rounded-md" placeholder="e.g., /usr/local/bin/node or C:/Program Files/nodejs/node.exe">
83
- </div>
84
- <div>
85
- <label for="browserPath" class="form-label block mb-2">Browser Executable Path</label>
86
- <input type="text" id="browserPath" name="browserPath" class="form-input form-control w-full px-3 py-2 rounded-md" placeholder="e.g., /usr/bin/google-chrome or C:/Program Files/Google/Chrome/Application/chrome.exe">
87
- </div>
88
- </div>
89
- </fieldset>
90
-
91
- <!-- User Configurations Section -->
92
- <div class="flex items-center mb-3">
93
- <h2 class="text-xl font-semibold text-gray-800 mr-2">User Configurations</h2>
94
- <p class="text-sm text-gray-500 flex items-center">
95
- <i class='bx bx-help-circle mr-1 text-gray-400'></i>
96
- Stored and used for mcp server installation environments.
97
- </p>
98
- </div>
99
- <fieldset class="border border-gray-300 p-4 rounded-md mb-6">
100
- <div id="userConfigurationsContainer" class="space-y-3">
101
- <!-- User configs will be dynamically added here -->
102
- <p class="text-gray-500" id="userConfigLoadingMsg">Loading user configurations...</p>
103
- </div>
104
- <button type="button" id="addUserConfigButton" class="btn btn-outline-primary btn-sm mt-3 flex items-center">
105
- <i class='bx bx-plus mr-1'></i>Add User Configuration
106
- </button>
107
- </fieldset>
108
-
109
- <!-- System Environment Variables Section -->
110
- <div class="mb-6">
111
- <h2 class="text-xl font-semibold text-gray-800 mb-2 py-2">System Environment Variables</h2>
112
- <div id="systemEnvironments" class="max-h-96 overflow-y-auto bg-white p-2 rounded-lg border border-gray-200">
113
- <p class="text-gray-500">Loading environment variables...</p>
114
- </div>
115
- </div>
116
-
117
- <div class="flex justify-end gap-4 mt-8">
118
- <button type="button" id="cancelButton" class="btn btn-secondary px-6 py-2.5 rounded-md font-medium">Cancel</button>
119
- <button type="submit" id="setupButton" class="btn btn-primary px-6 py-2.5 rounded-md font-medium flex items-center">
120
- <i class='bx bx-save mr-2'></i>Save Settings
121
- </button>
122
- </div>
123
- </form>
124
- </div>
125
- </div>
126
-
127
- <!-- Toast Notification Container -->
128
- <div class="toast-container position-fixed top-0 end-0 p-3">
129
- <!-- Toasts will be appended here -->
130
- </div>
131
-
132
- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
133
- <script src="js/settings.js" type="module"></script>
134
- </body>
135
- </html>