imcp 0.1.1 → 0.1.3

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 (111) hide show
  1. package/dist/cli/index.js +1 -45
  2. package/dist/core/installers/clients/BaseClientInstaller.d.ts +1 -5
  3. package/dist/core/installers/clients/BaseClientInstaller.js +40 -38
  4. package/dist/core/installers/clients/ClientInstaller.d.ts +9 -9
  5. package/dist/core/installers/clients/ClientInstaller.js +105 -99
  6. package/dist/core/installers/requirements/BaseInstaller.d.ts +9 -1
  7. package/dist/core/installers/requirements/CommandInstaller.d.ts +9 -1
  8. package/dist/core/installers/requirements/CommandInstaller.js +46 -12
  9. package/dist/core/installers/requirements/GeneralInstaller.d.ts +11 -1
  10. package/dist/core/installers/requirements/GeneralInstaller.js +46 -10
  11. package/dist/core/installers/requirements/InstallerFactory.d.ts +3 -1
  12. package/dist/core/installers/requirements/InstallerFactory.js +3 -2
  13. package/dist/core/installers/requirements/NpmInstaller.d.ts +4 -2
  14. package/dist/core/installers/requirements/NpmInstaller.js +38 -22
  15. package/dist/core/installers/requirements/PipInstaller.d.ts +3 -1
  16. package/dist/core/installers/requirements/PipInstaller.js +58 -36
  17. package/dist/core/installers/requirements/RequirementInstaller.d.ts +4 -1
  18. package/dist/core/loaders/InstallOperationManager.d.ts +115 -0
  19. package/dist/core/loaders/InstallOperationManager.js +311 -0
  20. package/dist/core/loaders/SystemSettingsManager.d.ts +54 -0
  21. package/dist/core/loaders/SystemSettingsManager.js +257 -0
  22. package/dist/core/metadatas/recordingConstants.d.ts +44 -0
  23. package/dist/core/metadatas/recordingConstants.js +45 -0
  24. package/dist/core/metadatas/types.d.ts +21 -0
  25. package/dist/core/onboard/InstallOperationManager.d.ts +23 -0
  26. package/dist/core/onboard/InstallOperationManager.js +144 -0
  27. package/dist/core/onboard/OnboardStatusManager.js +2 -1
  28. package/dist/core/validators/StdioServerValidator.js +4 -3
  29. package/dist/services/InstallationService.d.ts +2 -37
  30. package/dist/services/InstallationService.js +45 -313
  31. package/dist/services/MCPManager.d.ts +1 -1
  32. package/dist/services/MCPManager.js +4 -58
  33. package/dist/services/RequirementService.d.ts +85 -12
  34. package/dist/services/RequirementService.js +488 -49
  35. package/dist/services/ServerService.d.ts +0 -6
  36. package/dist/services/ServerService.js +0 -74
  37. package/dist/utils/adoUtils.js +6 -3
  38. package/dist/utils/logger.js +1 -1
  39. package/dist/utils/macroExpressionUtils.js +3 -25
  40. package/dist/utils/osUtils.d.ts +22 -1
  41. package/dist/utils/osUtils.js +92 -1
  42. package/dist/utils/versionUtils.d.ts +20 -1
  43. package/dist/utils/versionUtils.js +51 -4
  44. package/dist/web/public/css/modal.css +292 -1
  45. package/dist/web/public/css/serverDetails.css +14 -1
  46. package/dist/web/public/index.html +122 -20
  47. package/dist/web/public/js/flights/flights.js +1 -0
  48. package/dist/web/public/js/modal/index.js +8 -14
  49. package/dist/web/public/js/modal/installModal.js +3 -4
  50. package/dist/web/public/js/modal/installation.js +122 -137
  51. package/dist/web/public/js/modal/loadingModal.js +155 -25
  52. package/dist/web/public/js/modal/messageQueue.js +45 -101
  53. package/dist/web/public/js/modal/modalSetup.js +125 -43
  54. package/dist/web/public/js/modal/modalUtils.js +0 -12
  55. package/dist/web/public/js/modal.js +23 -10
  56. package/dist/web/public/js/onboard/publishHandler.js +22 -20
  57. package/dist/web/public/js/serverCategoryDetails.js +60 -11
  58. package/dist/web/public/js/serverCategoryList.js +2 -2
  59. package/dist/web/public/js/settings.js +314 -0
  60. package/dist/web/public/settings.html +135 -0
  61. package/dist/web/public/styles.css +32 -0
  62. package/dist/web/server.js +82 -0
  63. package/memory-bank/activeContext.md +13 -1
  64. package/memory-bank/decisionLog.md +63 -0
  65. package/memory-bank/progress.md +30 -0
  66. package/memory-bank/systemPatterns.md +7 -0
  67. package/package.json +1 -1
  68. package/src/cli/index.ts +1 -48
  69. package/src/core/installers/clients/BaseClientInstaller.ts +64 -50
  70. package/src/core/installers/clients/ClientInstaller.ts +130 -130
  71. package/src/core/installers/requirements/BaseInstaller.ts +9 -1
  72. package/src/core/installers/requirements/CommandInstaller.ts +47 -13
  73. package/src/core/installers/requirements/GeneralInstaller.ts +48 -10
  74. package/src/core/installers/requirements/InstallerFactory.ts +4 -3
  75. package/src/core/installers/requirements/NpmInstaller.ts +90 -68
  76. package/src/core/installers/requirements/PipInstaller.ts +81 -55
  77. package/src/core/installers/requirements/RequirementInstaller.ts +4 -3
  78. package/src/core/loaders/InstallOperationManager.ts +367 -0
  79. package/src/core/loaders/SystemSettingsManager.ts +278 -0
  80. package/src/core/metadatas/recordingConstants.ts +62 -0
  81. package/src/core/metadatas/types.ts +23 -0
  82. package/src/core/onboard/OnboardStatusManager.ts +2 -1
  83. package/src/core/validators/StdioServerValidator.ts +4 -3
  84. package/src/services/InstallationService.ts +54 -399
  85. package/src/services/MCPManager.ts +4 -77
  86. package/src/services/RequirementService.ts +564 -67
  87. package/src/services/ServerService.ts +0 -90
  88. package/src/utils/adoUtils.ts +6 -4
  89. package/src/utils/logger.ts +1 -1
  90. package/src/utils/macroExpressionUtils.ts +4 -21
  91. package/src/utils/osUtils.ts +92 -1
  92. package/src/utils/versionUtils.ts +71 -19
  93. package/src/web/public/css/modal.css +292 -1
  94. package/src/web/public/css/serverDetails.css +14 -1
  95. package/src/web/public/index.html +122 -20
  96. package/src/web/public/js/flights/flights.js +1 -1
  97. package/src/web/public/js/modal/index.js +8 -14
  98. package/src/web/public/js/modal/installModal.js +3 -4
  99. package/src/web/public/js/modal/installation.js +122 -137
  100. package/src/web/public/js/modal/loadingModal.js +155 -25
  101. package/src/web/public/js/modal/modalSetup.js +125 -43
  102. package/src/web/public/js/modal/modalUtils.js +0 -12
  103. package/src/web/public/js/modal.js +23 -10
  104. package/src/web/public/js/onboard/publishHandler.js +22 -20
  105. package/src/web/public/js/serverCategoryDetails.js +60 -11
  106. package/src/web/public/js/serverCategoryList.js +5 -5
  107. package/src/web/public/js/settings.js +314 -0
  108. package/src/web/public/settings.html +135 -0
  109. package/src/web/public/styles.css +32 -0
  110. package/src/web/server.ts +85 -0
  111. package/src/web/public/js/modal/messageQueue.js +0 -112
@@ -18,12 +18,14 @@ import { Logger, EventType, EventStatus } from '../utils/logger.js';
18
18
  import { FeedOnboardService } from '../core/onboard/FeedOnboardService.js';
19
19
  import path from 'path';
20
20
  import { Server } from 'http';
21
+ import { RequirementService } from './RequirementService.js';
21
22
 
22
23
  export class MCPManager extends EventEmitter {
23
24
  private installationService: InstallationService;
24
25
  private configProvider: ConfigurationProvider;
25
26
  private feedOnboardService: FeedOnboardService;
26
27
  private schemaProvider: ServerSchemaProvider;
28
+ private requirementsService: RequirementService;
27
29
 
28
30
  constructor() {
29
31
  super();
@@ -31,6 +33,7 @@ export class MCPManager extends EventEmitter {
31
33
  this.schemaProvider = ServerSchemaProvider.getInstance();
32
34
  this.installationService = new InstallationService();
33
35
  this.feedOnboardService = new FeedOnboardService();
36
+ this.requirementsService = RequirementService.getInstance();
34
37
  }
35
38
 
36
39
  async syncFeeds(): Promise<void> {
@@ -41,6 +44,7 @@ export class MCPManager extends EventEmitter {
41
44
  try {
42
45
  await this.configProvider.initialize(feedFile);
43
46
  await this.schemaProvider.initialize(schemasDirectory);
47
+ await this.requirementsService.checkRequirementForUpdateAsync();
44
48
  } catch (error) {
45
49
  console.error("Error during MCPManager initialization:", error);
46
50
  throw error;
@@ -193,83 +197,6 @@ export class MCPManager extends EventEmitter {
193
197
  }
194
198
  }
195
199
 
196
- async updateRequirement(
197
- categoryName: string,
198
- serverName: string,
199
- requirementName: string,
200
- updateVersion: string
201
- ): Promise<ServerOperationResult> {
202
- try {
203
- const { requirementService } = await import('./RequirementService.js');
204
- const serverCategory = await this.configProvider.getServerCategory(categoryName);
205
- if (!serverCategory) {
206
- return {
207
- success: false,
208
- message: `Server category ${categoryName} is not onboarded`,
209
- };
210
- }
211
-
212
- if (!serverCategory.feedConfiguration) {
213
- return {
214
- success: false,
215
- message: `Server category ${categoryName} has no feed configuration`,
216
- };
217
- }
218
-
219
- // Find the requirement
220
- const requirement = serverCategory.feedConfiguration.requirements.find(
221
- r => r.name === requirementName
222
- );
223
- if (!requirement) {
224
- return {
225
- success: false,
226
- message: `Requirement ${requirementName} not found in category ${categoryName}`,
227
- };
228
- }
229
-
230
- // Update the requirement using requirementService
231
- const updatedStatus = await requirementService.updateRequirement(requirement, updateVersion);
232
-
233
- // Update the status in configuration
234
- await this.configProvider.updateRequirementStatus(
235
- categoryName,
236
- requirementName,
237
- updatedStatus
238
- );
239
-
240
- Logger.trackEvent(EventType.REQUIREMENT_UPDATE, {
241
- status: EventStatus.SUCCESS,
242
- categoryName,
243
- serverName,
244
- requirementName,
245
- updateVersion
246
- });
247
-
248
- return {
249
- success: true,
250
- message: `Successfully updated ${requirementName} to version ${updateVersion}`,
251
- };
252
- } catch (error) {
253
- const errorMessage = `Failed to update ${requirementName}: ${error instanceof Error ? error.message : String(error)}`;
254
- console.error(`Error updating requirement ${requirementName}:`, error);
255
-
256
- Logger.trackEvent(EventType.REQUIREMENT_UPDATE, {
257
- status: EventStatus.FAILED,
258
- errorMessage,
259
- categoryName,
260
- serverName,
261
- requirementName,
262
- updateVersion
263
- });
264
-
265
- return {
266
- success: false,
267
- message: errorMessage,
268
- error: error instanceof Error ? error : new Error(String(error)),
269
- };
270
- }
271
- }
272
-
273
200
  /**
274
201
  * Onboards a new feed configuration
275
202
  * @param config The feed configuration to onboard