imcp 0.0.19 → 0.1.2
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.
- package/.roo/rules-code/rules.md +88 -0
- package/dist/cli/index.js +1 -45
- package/dist/core/installers/clients/BaseClientInstaller.d.ts +1 -5
- package/dist/core/installers/clients/BaseClientInstaller.js +40 -38
- package/dist/core/installers/clients/ClientInstaller.d.ts +9 -9
- package/dist/core/installers/clients/ClientInstaller.js +105 -99
- package/dist/core/installers/requirements/BaseInstaller.d.ts +9 -1
- package/dist/core/installers/requirements/CommandInstaller.d.ts +9 -1
- package/dist/core/installers/requirements/CommandInstaller.js +46 -12
- package/dist/core/installers/requirements/GeneralInstaller.d.ts +11 -1
- package/dist/core/installers/requirements/GeneralInstaller.js +46 -10
- package/dist/core/installers/requirements/InstallerFactory.d.ts +3 -1
- package/dist/core/installers/requirements/InstallerFactory.js +3 -2
- package/dist/core/installers/requirements/NpmInstaller.d.ts +4 -2
- package/dist/core/installers/requirements/NpmInstaller.js +38 -22
- package/dist/core/installers/requirements/PipInstaller.d.ts +3 -1
- package/dist/core/installers/requirements/PipInstaller.js +58 -36
- package/dist/core/installers/requirements/RequirementInstaller.d.ts +4 -1
- package/dist/core/loaders/InstallOperationManager.d.ts +115 -0
- package/dist/core/loaders/InstallOperationManager.js +311 -0
- package/dist/core/loaders/SystemSettingsManager.d.ts +54 -0
- package/dist/core/loaders/SystemSettingsManager.js +257 -0
- package/dist/core/metadatas/constants.d.ts +7 -0
- package/dist/core/metadatas/constants.js +7 -0
- package/dist/core/metadatas/recordingConstants.d.ts +44 -0
- package/dist/core/metadatas/recordingConstants.js +45 -0
- package/dist/core/metadatas/types.d.ts +21 -0
- package/dist/core/onboard/FeedOnboardService.d.ts +7 -3
- package/dist/core/onboard/FeedOnboardService.js +52 -5
- package/dist/core/onboard/InstallOperationManager.d.ts +23 -0
- package/dist/core/onboard/InstallOperationManager.js +144 -0
- package/dist/core/onboard/OnboardStatusManager.js +2 -1
- package/dist/core/validators/StdioServerValidator.js +4 -3
- package/dist/services/InstallationService.d.ts +2 -37
- package/dist/services/InstallationService.js +45 -313
- package/dist/services/MCPManager.d.ts +1 -1
- package/dist/services/MCPManager.js +53 -47
- package/dist/services/RequirementService.d.ts +85 -12
- package/dist/services/RequirementService.js +488 -49
- package/dist/services/ServerService.d.ts +0 -6
- package/dist/services/ServerService.js +0 -74
- package/dist/services/TelemetryService.d.ts +15 -0
- package/dist/services/TelemetryService.js +54 -0
- package/dist/utils/adoUtils.js +6 -3
- package/dist/utils/githubAuth.js +65 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.js +78 -1
- package/dist/utils/macroExpressionUtils.js +3 -25
- package/dist/utils/osUtils.d.ts +22 -1
- package/dist/utils/osUtils.js +92 -1
- package/dist/utils/versionUtils.d.ts +20 -0
- package/dist/utils/versionUtils.js +76 -0
- package/dist/web/public/css/modal.css +292 -1
- package/dist/web/public/css/serverCategoryList.css +120 -0
- package/dist/web/public/css/serverDetails.css +14 -1
- package/dist/web/public/index.html +126 -21
- package/dist/web/public/js/flights/flights.js +1 -1
- package/dist/web/public/js/modal/index.js +8 -14
- package/dist/web/public/js/modal/installModal.js +3 -4
- package/dist/web/public/js/modal/installation.js +122 -137
- package/dist/web/public/js/modal/loadingModal.js +155 -25
- package/dist/web/public/js/modal/messageQueue.js +45 -101
- package/dist/web/public/js/modal/modalSetup.js +125 -43
- package/dist/web/public/js/modal/modalUtils.js +0 -12
- package/dist/web/public/js/modal.js +23 -10
- package/dist/web/public/js/onboard/formProcessor.js +18 -11
- package/dist/web/public/js/onboard/publishHandler.js +35 -3
- package/dist/web/public/js/onboard/templates.js +5 -1
- package/dist/web/public/js/onboard/uiHandlers.js +266 -39
- package/dist/web/public/js/onboard/validationHandlers.js +71 -39
- package/dist/web/public/js/serverCategoryDetails.js +60 -11
- package/dist/web/public/js/serverCategoryList.js +93 -9
- package/dist/web/public/js/settings.js +314 -0
- package/dist/web/public/onboard.html +2 -2
- package/dist/web/public/settings.html +135 -0
- package/dist/web/public/styles.css +32 -0
- package/dist/web/server.js +93 -1
- package/{src/web/public/js/onboard → docs}/ONBOARDING_PAGE_DESIGN.md +15 -125
- package/docs/Telemetry.md +136 -0
- package/memory-bank/activeContext.md +26 -0
- package/memory-bank/decisionLog.md +91 -0
- package/memory-bank/productContext.md +41 -0
- package/memory-bank/progress.md +35 -0
- package/memory-bank/systemPatterns.md +10 -0
- package/package.json +2 -1
- package/src/cli/index.ts +1 -48
- package/src/core/installers/clients/BaseClientInstaller.ts +64 -50
- package/src/core/installers/clients/ClientInstaller.ts +130 -130
- package/src/core/installers/requirements/BaseInstaller.ts +9 -1
- package/src/core/installers/requirements/CommandInstaller.ts +47 -13
- package/src/core/installers/requirements/GeneralInstaller.ts +48 -10
- package/src/core/installers/requirements/InstallerFactory.ts +4 -3
- package/src/core/installers/requirements/NpmInstaller.ts +90 -68
- package/src/core/installers/requirements/PipInstaller.ts +81 -55
- package/src/core/installers/requirements/RequirementInstaller.ts +4 -3
- package/src/core/loaders/InstallOperationManager.ts +367 -0
- package/src/core/loaders/SystemSettingsManager.ts +278 -0
- package/src/core/metadatas/constants.ts +9 -0
- package/src/core/metadatas/recordingConstants.ts +62 -0
- package/src/core/metadatas/types.ts +23 -0
- package/src/core/onboard/FeedOnboardService.ts +59 -5
- package/src/core/onboard/OnboardStatusManager.ts +2 -1
- package/src/core/validators/StdioServerValidator.ts +4 -3
- package/src/services/InstallationService.ts +54 -399
- package/src/services/MCPManager.ts +61 -64
- package/src/services/RequirementService.ts +564 -67
- package/src/services/ServerService.ts +0 -90
- package/src/services/TelemetryService.ts +59 -0
- package/src/utils/adoUtils.ts +6 -4
- package/src/utils/githubAuth.ts +84 -1
- package/src/utils/logger.ts +83 -1
- package/src/utils/macroExpressionUtils.ts +4 -21
- package/src/utils/osUtils.ts +92 -1
- package/src/utils/versionUtils.ts +98 -13
- package/src/web/public/css/modal.css +292 -1
- package/src/web/public/css/serverCategoryList.css +120 -0
- package/src/web/public/css/serverDetails.css +14 -1
- package/src/web/public/index.html +126 -21
- package/src/web/public/js/flights/flights.js +1 -1
- package/src/web/public/js/modal/index.js +8 -14
- package/src/web/public/js/modal/installModal.js +3 -4
- package/src/web/public/js/modal/installation.js +122 -137
- package/src/web/public/js/modal/loadingModal.js +155 -25
- package/src/web/public/js/modal/modalSetup.js +125 -43
- package/src/web/public/js/modal/modalUtils.js +0 -12
- package/src/web/public/js/modal.js +23 -10
- package/src/web/public/js/onboard/formProcessor.js +18 -11
- package/src/web/public/js/onboard/publishHandler.js +35 -3
- package/src/web/public/js/onboard/templates.js +5 -1
- package/src/web/public/js/onboard/uiHandlers.js +266 -39
- package/src/web/public/js/onboard/validationHandlers.js +71 -39
- package/src/web/public/js/serverCategoryDetails.js +60 -11
- package/src/web/public/js/serverCategoryList.js +93 -9
- package/src/web/public/js/settings.js +314 -0
- package/src/web/public/onboard.html +2 -2
- package/src/web/public/settings.html +135 -0
- package/src/web/public/styles.css +32 -0
- package/src/web/server.ts +96 -1
- package/dist/cli/commands/start.d.ts +0 -2
- package/dist/cli/commands/start.js +0 -32
- package/dist/cli/commands/sync.d.ts +0 -2
- package/dist/cli/commands/sync.js +0 -17
- package/dist/core/ConfigurationLoader.d.ts +0 -32
- package/dist/core/ConfigurationLoader.js +0 -236
- package/dist/core/ConfigurationProvider.d.ts +0 -35
- package/dist/core/ConfigurationProvider.js +0 -375
- package/dist/core/InstallationService.d.ts +0 -50
- package/dist/core/InstallationService.js +0 -350
- package/dist/core/MCPManager.d.ts +0 -28
- package/dist/core/MCPManager.js +0 -188
- package/dist/core/RequirementService.d.ts +0 -40
- package/dist/core/RequirementService.js +0 -110
- package/dist/core/ServerSchemaLoader.d.ts +0 -11
- package/dist/core/ServerSchemaLoader.js +0 -43
- package/dist/core/ServerSchemaProvider.d.ts +0 -17
- package/dist/core/ServerSchemaProvider.js +0 -120
- package/dist/core/constants.d.ts +0 -47
- package/dist/core/constants.js +0 -94
- package/dist/core/installers/BaseInstaller.d.ts +0 -74
- package/dist/core/installers/BaseInstaller.js +0 -253
- package/dist/core/installers/ClientInstaller.d.ts +0 -23
- package/dist/core/installers/ClientInstaller.js +0 -564
- package/dist/core/installers/CommandInstaller.d.ts +0 -37
- package/dist/core/installers/CommandInstaller.js +0 -173
- package/dist/core/installers/GeneralInstaller.d.ts +0 -33
- package/dist/core/installers/GeneralInstaller.js +0 -85
- package/dist/core/installers/InstallerFactory.d.ts +0 -54
- package/dist/core/installers/InstallerFactory.js +0 -97
- package/dist/core/installers/NpmInstaller.d.ts +0 -26
- package/dist/core/installers/NpmInstaller.js +0 -127
- package/dist/core/installers/PipInstaller.d.ts +0 -28
- package/dist/core/installers/PipInstaller.js +0 -127
- package/dist/core/installers/RequirementInstaller.d.ts +0 -33
- package/dist/core/installers/RequirementInstaller.js +0 -3
- package/dist/core/types.d.ts +0 -166
- package/dist/core/types.js +0 -16
- package/dist/services/InstallRequestValidator.d.ts +0 -21
- package/dist/services/InstallRequestValidator.js +0 -99
- package/dist/web/public/js/modal/installHandler.js +0 -227
- package/dist/web/public/js/modal/loadingUI.js +0 -74
- package/dist/web/public/js/modal/modalUI.js +0 -214
- package/dist/web/public/js/modal/version.js +0 -20
- package/src/web/public/js/modal/messageQueue.js +0 -112
|
@@ -3,19 +3,23 @@ import { ConfigurationProvider } from '../core/loaders/ConfigurationProvider.js'
|
|
|
3
3
|
import { ServerSchemaProvider } from '../core/loaders/ServerSchemaProvider.js';
|
|
4
4
|
import { InstallationService } from './InstallationService.js';
|
|
5
5
|
import { MCPEvent, } from '../core/metadatas/types.js';
|
|
6
|
-
import {
|
|
6
|
+
import { OnboardingProcessStatus } from '../core/onboard/OnboardStatus.js';
|
|
7
|
+
import { Logger, EventType, EventStatus } from '../utils/logger.js';
|
|
7
8
|
import { FeedOnboardService } from '../core/onboard/FeedOnboardService.js';
|
|
9
|
+
import { RequirementService } from './RequirementService.js';
|
|
8
10
|
export class MCPManager extends EventEmitter {
|
|
9
11
|
installationService;
|
|
10
12
|
configProvider;
|
|
11
13
|
feedOnboardService;
|
|
12
14
|
schemaProvider;
|
|
15
|
+
requirementsService;
|
|
13
16
|
constructor() {
|
|
14
17
|
super();
|
|
15
18
|
this.configProvider = ConfigurationProvider.getInstance();
|
|
16
19
|
this.schemaProvider = ServerSchemaProvider.getInstance();
|
|
17
20
|
this.installationService = new InstallationService();
|
|
18
21
|
this.feedOnboardService = new FeedOnboardService();
|
|
22
|
+
this.requirementsService = RequirementService.getInstance();
|
|
19
23
|
}
|
|
20
24
|
async syncFeeds() {
|
|
21
25
|
await this.configProvider.syncFeeds();
|
|
@@ -24,6 +28,7 @@ export class MCPManager extends EventEmitter {
|
|
|
24
28
|
try {
|
|
25
29
|
await this.configProvider.initialize(feedFile);
|
|
26
30
|
await this.schemaProvider.initialize(schemasDirectory);
|
|
31
|
+
await this.requirementsService.checkRequirementForUpdateAsync();
|
|
27
32
|
}
|
|
28
33
|
catch (error) {
|
|
29
34
|
console.error("Error during MCPManager initialization:", error);
|
|
@@ -53,6 +58,14 @@ export class MCPManager extends EventEmitter {
|
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
60
|
const installResult = await this.installationService.install(categoryName, serverName, requestOptions);
|
|
61
|
+
// Log the event with appropriate status
|
|
62
|
+
Logger.trackEvent(EventType.SERVER_INSTALL, {
|
|
63
|
+
status: installResult.success ? EventStatus.SUCCESS : EventStatus.FAILED,
|
|
64
|
+
errorMessage: !installResult.success ? installResult.message : undefined,
|
|
65
|
+
categoryName,
|
|
66
|
+
serverName,
|
|
67
|
+
...requestOptions
|
|
68
|
+
});
|
|
56
69
|
if (!installResult.success) {
|
|
57
70
|
return installResult;
|
|
58
71
|
}
|
|
@@ -60,15 +73,24 @@ export class MCPManager extends EventEmitter {
|
|
|
60
73
|
return installResult;
|
|
61
74
|
}
|
|
62
75
|
catch (error) {
|
|
63
|
-
|
|
76
|
+
const errorMessage = `Failed to install ${serverName}: ${error instanceof Error ? error.message : String(error)}`;
|
|
77
|
+
Logger.error(errorMessage, error);
|
|
78
|
+
Logger.trackEvent(EventType.SERVER_INSTALL, {
|
|
79
|
+
status: EventStatus.FAILED,
|
|
80
|
+
errorMessage,
|
|
81
|
+
categoryName,
|
|
82
|
+
serverName,
|
|
83
|
+
...requestOptions
|
|
84
|
+
});
|
|
64
85
|
return {
|
|
65
86
|
success: false,
|
|
66
|
-
message:
|
|
87
|
+
message: errorMessage,
|
|
67
88
|
error: error instanceof Error ? error : new Error(String(error)),
|
|
68
89
|
};
|
|
69
90
|
}
|
|
70
91
|
}
|
|
71
92
|
async uninstallServer(categoryName, serverName, options = {}) {
|
|
93
|
+
const { targets = [], removeData = false } = options;
|
|
72
94
|
try {
|
|
73
95
|
const serverCategory = await this.configProvider.getServerCategory(categoryName);
|
|
74
96
|
if (!serverCategory) {
|
|
@@ -77,7 +99,6 @@ export class MCPManager extends EventEmitter {
|
|
|
77
99
|
message: `Server category ${categoryName} is not onboarded`,
|
|
78
100
|
};
|
|
79
101
|
}
|
|
80
|
-
const { targets = [], removeData = false } = options;
|
|
81
102
|
// Clear installation status for specified targets
|
|
82
103
|
const currentStatus = serverCategory.installationStatus || {
|
|
83
104
|
requirementsStatus: {},
|
|
@@ -101,6 +122,13 @@ export class MCPManager extends EventEmitter {
|
|
|
101
122
|
serversStatus[serverName] = serverStatus;
|
|
102
123
|
// Update status keeping requirements
|
|
103
124
|
await this.configProvider.updateInstallationStatus(categoryName, currentStatus.requirementsStatus || {}, serversStatus);
|
|
125
|
+
Logger.trackEvent(EventType.SERVER_UNINSTALL, {
|
|
126
|
+
status: EventStatus.SUCCESS,
|
|
127
|
+
categoryName,
|
|
128
|
+
serverName,
|
|
129
|
+
targets,
|
|
130
|
+
removeData
|
|
131
|
+
});
|
|
104
132
|
this.emit(MCPEvent.SERVER_UNINSTALLED, { serverName, targets });
|
|
105
133
|
return {
|
|
106
134
|
success: true,
|
|
@@ -108,55 +136,22 @@ export class MCPManager extends EventEmitter {
|
|
|
108
136
|
};
|
|
109
137
|
}
|
|
110
138
|
catch (error) {
|
|
139
|
+
const errorMessage = `Failed to uninstall ${serverName}: ${error instanceof Error ? error.message : String(error)}`;
|
|
140
|
+
Logger.trackEvent(EventType.SERVER_UNINSTALL, {
|
|
141
|
+
status: EventStatus.FAILED,
|
|
142
|
+
errorMessage,
|
|
143
|
+
categoryName,
|
|
144
|
+
serverName,
|
|
145
|
+
targets: targets || [],
|
|
146
|
+
removeData: removeData || false
|
|
147
|
+
});
|
|
111
148
|
return {
|
|
112
149
|
success: false,
|
|
113
|
-
message:
|
|
150
|
+
message: errorMessage,
|
|
114
151
|
error: error,
|
|
115
152
|
};
|
|
116
153
|
}
|
|
117
154
|
}
|
|
118
|
-
async updateRequirement(categoryName, serverName, requirementName, updateVersion) {
|
|
119
|
-
try {
|
|
120
|
-
const { requirementService } = await import('./RequirementService.js');
|
|
121
|
-
const serverCategory = await this.configProvider.getServerCategory(categoryName);
|
|
122
|
-
if (!serverCategory) {
|
|
123
|
-
return {
|
|
124
|
-
success: false,
|
|
125
|
-
message: `Server category ${categoryName} is not onboarded`,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
if (!serverCategory.feedConfiguration) {
|
|
129
|
-
return {
|
|
130
|
-
success: false,
|
|
131
|
-
message: `Server category ${categoryName} has no feed configuration`,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
// Find the requirement
|
|
135
|
-
const requirement = serverCategory.feedConfiguration.requirements.find(r => r.name === requirementName);
|
|
136
|
-
if (!requirement) {
|
|
137
|
-
return {
|
|
138
|
-
success: false,
|
|
139
|
-
message: `Requirement ${requirementName} not found in category ${categoryName}`,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
// Update the requirement using requirementService
|
|
143
|
-
const updatedStatus = await requirementService.updateRequirement(requirement, updateVersion);
|
|
144
|
-
// Update the status in configuration
|
|
145
|
-
await this.configProvider.updateRequirementStatus(categoryName, requirementName, updatedStatus);
|
|
146
|
-
return {
|
|
147
|
-
success: true,
|
|
148
|
-
message: `Successfully updated ${requirementName} to version ${updateVersion}`,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
console.error(`Error updating requirement ${requirementName}:`, error);
|
|
153
|
-
return {
|
|
154
|
-
success: false,
|
|
155
|
-
message: `Failed to update ${requirementName}: ${error instanceof Error ? error.message : String(error)}`,
|
|
156
|
-
error: error instanceof Error ? error : new Error(String(error)),
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
155
|
/**
|
|
161
156
|
* Onboards a new feed configuration
|
|
162
157
|
* @param config The feed configuration to onboard
|
|
@@ -164,6 +159,11 @@ export class MCPManager extends EventEmitter {
|
|
|
164
159
|
async onboardFeed(config) {
|
|
165
160
|
try {
|
|
166
161
|
const result = await this.feedOnboardService.onboardFeed(config);
|
|
162
|
+
Logger.trackEvent(EventType.FEED_ONBOARD, {
|
|
163
|
+
status: result.status === OnboardingProcessStatus.SUCCEEDED ? EventStatus.SUCCESS : EventStatus.FAILED,
|
|
164
|
+
errorMessage: result.message,
|
|
165
|
+
feedConfig: config
|
|
166
|
+
});
|
|
167
167
|
// After successful onboarding initiation, sync feeds to get the latest changes
|
|
168
168
|
// Syncing should ideally happen after the PR is merged, but for now,
|
|
169
169
|
// syncing here makes the new (pending) category available locally if needed.
|
|
@@ -172,7 +172,13 @@ export class MCPManager extends EventEmitter {
|
|
|
172
172
|
return result;
|
|
173
173
|
}
|
|
174
174
|
catch (error) {
|
|
175
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
175
176
|
Logger.error('Failed to onboard feed in MCPManager:', error);
|
|
177
|
+
Logger.trackEvent(EventType.FEED_ONBOARD, {
|
|
178
|
+
status: EventStatus.FAILED,
|
|
179
|
+
errorMessage,
|
|
180
|
+
feedName: config.name
|
|
181
|
+
});
|
|
176
182
|
throw error; // Rethrow or handle by returning a failed OperationStatus
|
|
177
183
|
}
|
|
178
184
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequirementConfig, RequirementStatus, ServerInstallOptions } from '../core/metadatas/types.js';
|
|
1
|
+
import { RequirementConfig, RequirementStatus, ServerInstallOptions, ServerOperationResult } from '../core/metadatas/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Service responsible for managing requirements installation and status
|
|
4
4
|
*/
|
|
@@ -11,30 +11,103 @@ export declare class RequirementService {
|
|
|
11
11
|
* @returns The RequirementService instance
|
|
12
12
|
*/
|
|
13
13
|
static getInstance(): RequirementService;
|
|
14
|
+
private generateOperationId;
|
|
15
|
+
/**
|
|
16
|
+
* Checks and installs requirements for a server if needed.
|
|
17
|
+
* @param categoryName The category name.
|
|
18
|
+
* @param serverName The server name.
|
|
19
|
+
* @param options The installation options.
|
|
20
|
+
* @returns A failure result if requirements check fails, null if requirements are satisfied or installation started in background.
|
|
21
|
+
*/
|
|
22
|
+
checkAndInstallRequirements(categoryName: string, serverName: string, options: ServerInstallOptions): Promise<ServerOperationResult | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Installs requirements in background without blocking the main thread.
|
|
25
|
+
* Requirements with the same order are installed in parallel.
|
|
26
|
+
* @param categoryName The category name.
|
|
27
|
+
* @param feedConfig The feed configuration.
|
|
28
|
+
* @param sortedRequirements Array of requirements sorted by order.
|
|
29
|
+
* @param options The installation options.
|
|
30
|
+
*/
|
|
31
|
+
private installRequirementsInBackground;
|
|
32
|
+
/**
|
|
33
|
+
* Helper to update requirement status for failure case.
|
|
34
|
+
* @param categoryName The category name.
|
|
35
|
+
* @param requirementName The name of the requirement.
|
|
36
|
+
* @param requirementType The type of the requirement.
|
|
37
|
+
* @param errorMessage The error message.
|
|
38
|
+
*/
|
|
39
|
+
private updateRequirementFailureStatus;
|
|
40
|
+
/**
|
|
41
|
+
* Helper to update requirement status for in-progress case.
|
|
42
|
+
* @param categoryName The category name.
|
|
43
|
+
* @param requirementName The name of the requirement.
|
|
44
|
+
* @param requirementType The type of the requirement.
|
|
45
|
+
* @param operationId The operation ID.
|
|
46
|
+
*/
|
|
47
|
+
private updateRequirementProgressStatus;
|
|
48
|
+
/**
|
|
49
|
+
* Helper to update requirement status for completion case.
|
|
50
|
+
* @param categoryName The category name.
|
|
51
|
+
* @param requirementName The name of the requirement.
|
|
52
|
+
* @param installStatus The installation status.
|
|
53
|
+
* @param operationId The operation ID.
|
|
54
|
+
*/
|
|
55
|
+
private updateRequirementCompletionStatus;
|
|
56
|
+
/**
|
|
57
|
+
* Validate a requirement configuration.
|
|
58
|
+
* @param requirement The requirement to validate.
|
|
59
|
+
* @throws Error if the requirement is invalid.
|
|
60
|
+
*/
|
|
61
|
+
private validateRequirement;
|
|
62
|
+
/**
|
|
63
|
+
* Check for updates to requirements for all server categories
|
|
64
|
+
* This method is called periodically to check for updates
|
|
65
|
+
*/
|
|
66
|
+
checkRequirementForUpdateAsync(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Check for updates to requirements for a specific server category
|
|
69
|
+
* @param categoryName The name of the server category
|
|
70
|
+
* @param serverName The name of the server (optional)
|
|
71
|
+
*/
|
|
72
|
+
checkServerRequirementForUpdateAsync(categoryName: string, serverName: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Check for updates to requirements for a server category
|
|
75
|
+
* @param serverCategory The server category to check
|
|
76
|
+
* @param serverName The name of the server (optional). When serverName is provided, check the requirement always
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
private checkRequirementsForUpdateInternal;
|
|
14
80
|
/**
|
|
15
81
|
* Check the installation status of a requirement
|
|
16
82
|
* @param requirement The requirement to check
|
|
83
|
+
* @param options Optional installation options
|
|
17
84
|
* @returns The installation status
|
|
18
85
|
*/
|
|
19
86
|
checkRequirementStatus(requirement: RequirementConfig, options?: ServerInstallOptions): Promise<RequirementStatus>;
|
|
20
87
|
/**
|
|
21
88
|
* Check if updates are available for a requirement
|
|
22
89
|
* @param requirement The requirement to check for updates
|
|
90
|
+
* @param currentStatus The current status of the requirement
|
|
91
|
+
* @param categoryName The category name
|
|
92
|
+
* @param serverName The server name (optional)
|
|
23
93
|
* @returns Updated status with available updates information
|
|
24
94
|
*/
|
|
25
|
-
checkRequirementForUpdates(requirement: RequirementConfig, currentStatus: RequirementStatus): Promise<RequirementStatus>;
|
|
95
|
+
checkRequirementForUpdates(requirement: RequirementConfig, currentStatus: RequirementStatus, categoryName: string, serverName?: string): Promise<RequirementStatus>;
|
|
26
96
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
97
|
+
* Process requirement updates specified in serverInstallOptions.
|
|
98
|
+
* All updates are processed in parallel for maximum efficiency.
|
|
99
|
+
* @param categoryName The category name.
|
|
100
|
+
* @param serverName The server name.
|
|
101
|
+
* @param options The installation options.
|
|
31
102
|
*/
|
|
32
|
-
|
|
103
|
+
processRequirementUpdates(categoryName: string, serverName: string, options: ServerInstallOptions): Promise<void>;
|
|
33
104
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
105
|
+
* Update a requirement to a new version
|
|
106
|
+
* @param requirement The requirement configuration
|
|
107
|
+
* @param updateVersion The version to update to
|
|
108
|
+
* @param options Optional installation options
|
|
109
|
+
* @returns The updated requirement status
|
|
110
|
+
*/
|
|
111
|
+
private updateRequirement;
|
|
39
112
|
}
|
|
40
113
|
export declare const requirementService: RequirementService;
|