imcp 0.1.5 → 0.1.6

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 (186) hide show
  1. package/.github/ISSUE_TEMPLATE/JitAccess.yml +28 -0
  2. package/.github/acl/access.yml +20 -0
  3. package/.github/compliance/inventory.yml +5 -0
  4. package/.github/policies/jit.yml +19 -0
  5. package/.github/workflows/build.yml +28 -0
  6. package/.roo/rules-code/rules.md +88 -0
  7. package/docs/ONBOARDING_PAGE_DESIGN.md +260 -0
  8. package/docs/Telemetry.md +136 -0
  9. package/memory-bank/activeContext.md +26 -0
  10. package/memory-bank/decisionLog.md +91 -0
  11. package/memory-bank/productContext.md +41 -0
  12. package/memory-bank/progress.md +35 -0
  13. package/memory-bank/systemPatterns.md +10 -0
  14. package/package.json +1 -5
  15. package/src/cli/commands/install.ts +139 -0
  16. package/src/cli/commands/list.ts +113 -0
  17. package/src/cli/commands/pull.ts +16 -0
  18. package/src/cli/commands/serve.ts +39 -0
  19. package/src/cli/commands/uninstall.ts +64 -0
  20. package/src/cli/index.ts +82 -0
  21. package/src/core/installers/clients/BaseClientInstaller.ts +341 -0
  22. package/src/core/installers/clients/ClientInstaller.ts +222 -0
  23. package/src/core/installers/clients/ClientInstallerFactory.ts +43 -0
  24. package/src/core/installers/clients/ClineInstaller.ts +35 -0
  25. package/src/core/installers/clients/ExtensionInstaller.ts +165 -0
  26. package/src/core/installers/clients/GithubCopilotInstaller.ts +79 -0
  27. package/src/core/installers/clients/MSRooCodeInstaller.ts +32 -0
  28. package/src/core/installers/index.ts +11 -0
  29. package/src/core/installers/requirements/BaseInstaller.ts +85 -0
  30. package/src/core/installers/requirements/CommandInstaller.ts +231 -0
  31. package/src/core/installers/requirements/GeneralInstaller.ts +133 -0
  32. package/src/core/installers/requirements/InstallerFactory.ts +114 -0
  33. package/src/core/installers/requirements/NpmInstaller.ts +271 -0
  34. package/src/core/installers/requirements/NugetInstaller.ts +203 -0
  35. package/src/core/installers/requirements/PipInstaller.ts +207 -0
  36. package/src/core/installers/requirements/RequirementInstaller.ts +42 -0
  37. package/src/core/loaders/ConfigurationLoader.ts +298 -0
  38. package/src/core/loaders/ConfigurationProvider.ts +462 -0
  39. package/src/core/loaders/InstallOperationManager.ts +367 -0
  40. package/src/core/loaders/ServerSchemaLoader.ts +117 -0
  41. package/src/core/loaders/ServerSchemaProvider.ts +99 -0
  42. package/src/core/loaders/SystemSettingsManager.ts +278 -0
  43. package/src/core/metadatas/constants.ts +122 -0
  44. package/src/core/metadatas/recordingConstants.ts +65 -0
  45. package/src/core/metadatas/types.ts +202 -0
  46. package/src/core/onboard/FeedOnboardService.ts +501 -0
  47. package/src/core/onboard/OnboardProcessor.ts +356 -0
  48. package/src/core/onboard/OnboardStatus.ts +60 -0
  49. package/src/core/onboard/OnboardStatusManager.ts +416 -0
  50. package/src/core/validators/FeedValidator.ts +135 -0
  51. package/src/core/validators/IServerValidator.ts +21 -0
  52. package/src/core/validators/SSEServerValidator.ts +43 -0
  53. package/src/core/validators/ServerValidatorFactory.ts +51 -0
  54. package/src/core/validators/StdioServerValidator.ts +313 -0
  55. package/src/index.ts +44 -0
  56. package/src/services/InstallationService.ts +102 -0
  57. package/src/services/MCPManager.ts +249 -0
  58. package/src/services/RequirementService.ts +627 -0
  59. package/src/services/ServerService.ts +161 -0
  60. package/src/services/TelemetryService.ts +59 -0
  61. package/src/utils/UpdateCheckTracker.ts +86 -0
  62. package/src/utils/adoUtils.ts +293 -0
  63. package/src/utils/clientUtils.ts +72 -0
  64. package/src/utils/feedUtils.ts +31 -0
  65. package/src/utils/githubAuth.ts +212 -0
  66. package/src/utils/githubUtils.ts +164 -0
  67. package/src/utils/logger.ts +195 -0
  68. package/src/utils/macroExpressionUtils.ts +104 -0
  69. package/src/utils/osUtils.ts +700 -0
  70. package/src/utils/versionUtils.ts +114 -0
  71. package/src/web/contract/serverContract.ts +74 -0
  72. package/src/web/public/css/detailsWidget.css +235 -0
  73. package/src/web/public/css/modal.css +757 -0
  74. package/src/web/public/css/notifications.css +101 -0
  75. package/src/web/public/css/onboard.css +107 -0
  76. package/src/web/public/css/serverCategoryList.css +120 -0
  77. package/src/web/public/css/serverDetails.css +139 -0
  78. package/src/web/public/index.html +359 -0
  79. package/src/web/public/js/api.js +132 -0
  80. package/src/web/public/js/detailsWidget.js +264 -0
  81. package/src/web/public/js/flights/flights.js +127 -0
  82. package/src/web/public/js/modal/index.js +52 -0
  83. package/src/web/public/js/modal/installModal.js +162 -0
  84. package/src/web/public/js/modal/installation.js +266 -0
  85. package/src/web/public/js/modal/loadingModal.js +182 -0
  86. package/src/web/public/js/modal/modalSetup.js +595 -0
  87. package/src/web/public/js/modal/modalUtils.js +37 -0
  88. package/src/web/public/js/modal/versionUtils.js +20 -0
  89. package/src/web/public/js/modal.js +42 -0
  90. package/src/web/public/js/notifications.js +137 -0
  91. package/src/web/public/js/onboard/formProcessor.js +1037 -0
  92. package/src/web/public/js/onboard/index.js +374 -0
  93. package/src/web/public/js/onboard/publishHandler.js +172 -0
  94. package/src/web/public/js/onboard/state.js +76 -0
  95. package/src/web/public/js/onboard/templates.js +342 -0
  96. package/src/web/public/js/onboard/uiHandlers.js +1076 -0
  97. package/src/web/public/js/onboard/validationHandlers.js +493 -0
  98. package/src/web/public/js/serverCategoryDetails.js +364 -0
  99. package/src/web/public/js/serverCategoryList.js +241 -0
  100. package/src/web/public/js/settings.js +314 -0
  101. package/src/web/public/modal.html +84 -0
  102. package/src/web/public/onboard.html +296 -0
  103. package/src/web/public/settings.html +135 -0
  104. package/src/web/public/styles.css +277 -0
  105. package/src/web/server.ts +478 -0
  106. package/tsconfig.json +18 -0
  107. package/wiki/Installation.md +3 -0
  108. package/wiki/Publish.md +3 -0
  109. package/dist/cli/commands/install.js.map +0 -1
  110. package/dist/cli/commands/list.js.map +0 -1
  111. package/dist/cli/commands/pull.js.map +0 -1
  112. package/dist/cli/commands/serve.js.map +0 -1
  113. package/dist/cli/commands/start.js.map +0 -1
  114. package/dist/cli/commands/sync.js.map +0 -1
  115. package/dist/cli/commands/uninstall.js.map +0 -1
  116. package/dist/cli/index.js.map +0 -1
  117. package/dist/core/ConfigurationLoader.js.map +0 -1
  118. package/dist/core/ConfigurationProvider.js.map +0 -1
  119. package/dist/core/InstallationService.js.map +0 -1
  120. package/dist/core/MCPManager.js.map +0 -1
  121. package/dist/core/RequirementService.js.map +0 -1
  122. package/dist/core/ServerSchemaLoader.js.map +0 -1
  123. package/dist/core/ServerSchemaProvider.js.map +0 -1
  124. package/dist/core/constants.js.map +0 -1
  125. package/dist/core/installers/BaseInstaller.js.map +0 -1
  126. package/dist/core/installers/ClientInstaller.js.map +0 -1
  127. package/dist/core/installers/CommandInstaller.js.map +0 -1
  128. package/dist/core/installers/GeneralInstaller.js.map +0 -1
  129. package/dist/core/installers/InstallerFactory.js.map +0 -1
  130. package/dist/core/installers/NpmInstaller.js.map +0 -1
  131. package/dist/core/installers/PipInstaller.js.map +0 -1
  132. package/dist/core/installers/RequirementInstaller.js.map +0 -1
  133. package/dist/core/installers/clients/BaseClientInstaller.js.map +0 -1
  134. package/dist/core/installers/clients/ClientInstaller.js.map +0 -1
  135. package/dist/core/installers/clients/ClientInstallerFactory.js.map +0 -1
  136. package/dist/core/installers/clients/ClineInstaller.js.map +0 -1
  137. package/dist/core/installers/clients/ExtensionInstaller.js.map +0 -1
  138. package/dist/core/installers/clients/GithubCopilotInstaller.js.map +0 -1
  139. package/dist/core/installers/clients/MSRooCodeInstaller.js.map +0 -1
  140. package/dist/core/installers/index.js.map +0 -1
  141. package/dist/core/installers/requirements/BaseInstaller.js.map +0 -1
  142. package/dist/core/installers/requirements/CommandInstaller.js.map +0 -1
  143. package/dist/core/installers/requirements/GeneralInstaller.js.map +0 -1
  144. package/dist/core/installers/requirements/InstallerFactory.js.map +0 -1
  145. package/dist/core/installers/requirements/NpmInstaller.js.map +0 -1
  146. package/dist/core/installers/requirements/NugetInstaller.js.map +0 -1
  147. package/dist/core/installers/requirements/PipInstaller.js.map +0 -1
  148. package/dist/core/installers/requirements/RequirementInstaller.js.map +0 -1
  149. package/dist/core/loaders/ConfigurationLoader.js.map +0 -1
  150. package/dist/core/loaders/ConfigurationProvider.js.map +0 -1
  151. package/dist/core/loaders/InstallOperationManager.js.map +0 -1
  152. package/dist/core/loaders/ServerSchemaLoader.js.map +0 -1
  153. package/dist/core/loaders/ServerSchemaProvider.js.map +0 -1
  154. package/dist/core/loaders/SystemSettingsManager.js.map +0 -1
  155. package/dist/core/metadatas/constants.js.map +0 -1
  156. package/dist/core/metadatas/recordingConstants.js.map +0 -1
  157. package/dist/core/metadatas/types.js.map +0 -1
  158. package/dist/core/onboard/FeedOnboardService.js.map +0 -1
  159. package/dist/core/onboard/OnboardProcessor.js.map +0 -1
  160. package/dist/core/onboard/OnboardStatus.js.map +0 -1
  161. package/dist/core/onboard/OnboardStatusManager.js.map +0 -1
  162. package/dist/core/types.js.map +0 -1
  163. package/dist/core/validators/FeedValidator.js.map +0 -1
  164. package/dist/core/validators/IServerValidator.js.map +0 -1
  165. package/dist/core/validators/SSEServerValidator.js.map +0 -1
  166. package/dist/core/validators/ServerValidatorFactory.js.map +0 -1
  167. package/dist/core/validators/StdioServerValidator.js.map +0 -1
  168. package/dist/index.js.map +0 -1
  169. package/dist/services/InstallRequestValidator.js.map +0 -1
  170. package/dist/services/InstallationService.js.map +0 -1
  171. package/dist/services/MCPManager.js.map +0 -1
  172. package/dist/services/RequirementService.js.map +0 -1
  173. package/dist/services/ServerService.js.map +0 -1
  174. package/dist/services/TelemetryService.js.map +0 -1
  175. package/dist/utils/UpdateCheckTracker.js.map +0 -1
  176. package/dist/utils/adoUtils.js.map +0 -1
  177. package/dist/utils/clientUtils.js.map +0 -1
  178. package/dist/utils/feedUtils.js.map +0 -1
  179. package/dist/utils/githubAuth.js.map +0 -1
  180. package/dist/utils/githubUtils.js.map +0 -1
  181. package/dist/utils/logger.js.map +0 -1
  182. package/dist/utils/macroExpressionUtils.js.map +0 -1
  183. package/dist/utils/osUtils.js.map +0 -1
  184. package/dist/utils/versionUtils.js.map +0 -1
  185. package/dist/web/contract/serverContract.js.map +0 -1
  186. package/dist/web/server.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ /* Import Inter font */
2
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
3
+
4
+ /* Base styles */
5
+ body {
6
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
7
+ }
8
+
9
+ /* Enhanced modal styling */
10
+ .modal {
11
+ display: none;
12
+ position: fixed;
13
+ z-index: 50;
14
+ left: 0;
15
+ top: 0;
16
+ width: 100%;
17
+ height: 100%;
18
+ overflow: auto;
19
+ background-color: rgba(0, 0, 0, 0.5);
20
+ backdrop-filter: blur(4px);
21
+ }
22
+
23
+ .modal-content {
24
+ background-color: #ffffff;
25
+ margin: 10% auto;
26
+ padding: 2rem;
27
+ border: none;
28
+ border-radius: 1rem;
29
+ width: 90%;
30
+ max-width: 500px;
31
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
32
+ transform: translateY(0);
33
+ transition: all 0.3s ease-out;
34
+ }
35
+
36
+ .close-button {
37
+ color: #6b7280;
38
+ float: right;
39
+ font-size: 24px;
40
+ font-weight: 600;
41
+ transition: color 0.2s ease;
42
+ }
43
+
44
+ .close-button:hover,
45
+ .close-button:focus {
46
+ color: #111827;
47
+ text-decoration: none;
48
+ cursor: pointer;
49
+ }
50
+
51
+ /* Server list styles */
52
+ .server-list {
53
+ border-radius: 0.75rem;
54
+ }
55
+
56
+ .server-item {
57
+ padding: 0.75rem 1rem;
58
+ margin-bottom: 0.5rem;
59
+ border-radius: 0.5rem;
60
+ border: 1px solid #e5e7eb;
61
+ transition: all 0.2s ease;
62
+ }
63
+
64
+ .server-item:hover {
65
+ background-color: #f3f4f6;
66
+ transform: translateY(-1px);
67
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
68
+ }
69
+
70
+ /* Tool card styles */
71
+ .tool-card {
72
+ border: 1px solid #e5e7eb;
73
+ border-radius: 0.75rem;
74
+ padding: 1.25rem;
75
+ margin-bottom: 1rem;
76
+ background-color: #ffffff;
77
+ transition: all 0.2s ease;
78
+ }
79
+
80
+ .tool-card:hover {
81
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
82
+ }
83
+
84
+ /* Status badges */
85
+ .status-badge {
86
+ display: inline-flex;
87
+ align-items: center;
88
+ padding: 0.25rem 0.75rem;
89
+ border-radius: 9999px;
90
+ font-size: 0.875rem;
91
+ font-weight: 500;
92
+ }
93
+
94
+ .status-badge.installed {
95
+ background-color: #dcfce7;
96
+ color: #166534;
97
+ }
98
+
99
+ .status-badge.not-installed {
100
+ background-color: #fee2e2;
101
+ color: #991b1b;
102
+ }
103
+
104
+ /* Button styles */
105
+ .btn {
106
+ display: inline-flex;
107
+ align-items: center;
108
+ justify-content: center;
109
+ padding: 0.5rem 1rem;
110
+ border-radius: 0.5rem;
111
+ font-weight: 500;
112
+ transition: all 0.2s ease;
113
+ }
114
+
115
+ .btn-install {
116
+ background-color: #2563eb;
117
+ color: white;
118
+ }
119
+
120
+ .btn-install:hover {
121
+ background-color: #1d4ed8;
122
+ transform: translateY(-1px);
123
+ }
124
+
125
+ .btn-uninstall {
126
+ background-color: #dc2626;
127
+ color: white;
128
+ }
129
+
130
+ .btn-uninstall:hover {
131
+ background-color: #b91c1c;
132
+ transform: translateY(-1px);
133
+ }
134
+
135
+ /* Icon styles */
136
+ .icon {
137
+ width: 1.25rem;
138
+ height: 1.25rem;
139
+ margin-right: 0.5rem;
140
+ }
141
+
142
+ /* Input styles */
143
+ .search-input {
144
+ width: 100%;
145
+ padding: 0.75rem 1rem 0.75rem 2.5rem;
146
+ border: 1px solid #e5e7eb;
147
+ border-radius: 0.5rem;
148
+ transition: all 0.2s ease;
149
+ }
150
+
151
+ .search-input:focus {
152
+ outline: none;
153
+ border-color: #2563eb;
154
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
155
+ }
156
+
157
+ /* Onboarding form styles */
158
+
159
+ /* Form field styles */
160
+ input[type="text"],
161
+ input[type="url"],
162
+ select,
163
+ textarea {
164
+ transition: all 0.2s ease;
165
+ }
166
+
167
+ input[type="text"]:focus,
168
+ input[type="url"]:focus,
169
+ select:focus,
170
+ textarea:focus {
171
+ outline: none;
172
+ border-color: #2563eb;
173
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
174
+ }
175
+
176
+ /* Radio button styles */
177
+ input[type="radio"] {
178
+ width: 1rem;
179
+ height: 1rem;
180
+ border: 2px solid #d1d5db;
181
+ border-radius: 50%;
182
+ transition: all 0.2s ease;
183
+ }
184
+
185
+ input[type="radio"]:checked {
186
+ border-color: #2563eb;
187
+ background-color: #2563eb;
188
+ }
189
+
190
+ /* Remove button styles */
191
+ .remove-button {
192
+ color: #dc2626;
193
+ transition: all 0.2s ease;
194
+ }
195
+
196
+ .remove-button:hover {
197
+ color: #b91c1c;
198
+ background-color: #fee2e2;
199
+ }
200
+
201
+ /* Add button styles */
202
+ .add-button {
203
+ background-color: #f3f4f6;
204
+ transition: all 0.2s ease;
205
+ }
206
+
207
+ .add-button:hover {
208
+ background-color: #e5e7eb;
209
+ transform: translateY(-1px);
210
+ }
211
+
212
+ /* Form section headings */
213
+ .section-heading {
214
+ color: #1f2937;
215
+ font-size: 1.25rem;
216
+ font-weight: 600;
217
+ margin-bottom: 1rem;
218
+ display: flex;
219
+ align-items: center;
220
+ }
221
+
222
+ .section-heading i {
223
+ color: #2563eb;
224
+ margin-right: 0.5rem;
225
+ }
226
+
227
+ /* Required field indicator */
228
+ .required-field::after {
229
+ content: "*";
230
+ color: #dc2626;
231
+ margin-left: 0.25rem;
232
+ }
233
+
234
+ /* Form grid layouts */
235
+ .form-grid {
236
+ display: grid;
237
+ gap: 1rem;
238
+ margin-bottom: 1.5rem;
239
+ }
240
+
241
+ @media (min-width: 768px) {
242
+ .form-grid {
243
+ grid-template-columns: repeat(2, 1fr);
244
+ }
245
+ }
246
+
247
+ .version-tooltip {
248
+ position: absolute;
249
+ background-color: white; /* Changed background to white */
250
+ color: #333; /* Changed text color to dark gray */
251
+ padding: 10px 15px; /* Increased padding */
252
+ border-radius: 6px; /* Slightly larger border radius */
253
+ font-size: 0.875rem;
254
+ z-index: 1000;
255
+ bottom: 100%;
256
+ left: 50%;
257
+ transform: translateX(-50%) translateY(-8px); /* Adjusted gap */
258
+ white-space: pre-wrap;
259
+ box-shadow: 0 4px 12px rgba(0,0,0,0.15); /* Softer, more modern shadow */
260
+ opacity: 0;
261
+ visibility: hidden;
262
+ transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
263
+ min-width: 280px; /* Increased min-width for a wider tooltip */
264
+ border: 1px solid #e0e0e0; /* Added a light border */
265
+ cursor: text;
266
+ user-select: text;
267
+ }
268
+
269
+ .version-tooltip.visible {
270
+ opacity: 1;
271
+ visibility: visible;
272
+ }
273
+
274
+ .version-info-container {
275
+ position: relative; /* For tooltip positioning */
276
+ cursor: pointer;
277
+ }