vibecodingmachine-core 2026.2.20-438 → 2026.2.26-1739
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/README.md +240 -0
- package/package.json +10 -2
- package/src/agents/Agent.js +300 -0
- package/src/agents/AgentAdditionService.js +311 -0
- package/src/agents/AgentCheckService.js +690 -0
- package/src/agents/AgentInstallationService.js +140 -0
- package/src/agents/AgentSetupService.js +467 -0
- package/src/agents/AgentStatus.js +183 -0
- package/src/agents/AgentVerificationService.js +634 -0
- package/src/agents/ConfigurationSchemaValidator.js +543 -0
- package/src/agents/EnvironmentConfigurationManager.js +602 -0
- package/src/agents/InstallationErrorHandler.js +372 -0
- package/src/agents/InstallationLog.js +363 -0
- package/src/agents/InstallationMethod.js +510 -0
- package/src/agents/InstallationOrchestrator.js +352 -0
- package/src/agents/InstallationProgressReporter.js +372 -0
- package/src/agents/InstallationRetryManager.js +322 -0
- package/src/agents/InstallationType.js +254 -0
- package/src/agents/OperationTypes.js +310 -0
- package/src/agents/PerformanceMetricsCollector.js +493 -0
- package/src/agents/SecurityValidationService.js +534 -0
- package/src/agents/VerificationTest.js +354 -0
- package/src/agents/VerificationType.js +226 -0
- package/src/agents/WindowsPermissionHandler.js +518 -0
- package/src/agents/config/AgentConfigManager.js +393 -0
- package/src/agents/config/AgentDefaultsRegistry.js +373 -0
- package/src/agents/config/ConfigValidator.js +281 -0
- package/src/agents/discovery/AgentDiscoveryService.js +707 -0
- package/src/agents/logging/AgentLogger.js +511 -0
- package/src/agents/status/AgentStatusManager.js +481 -0
- package/src/agents/storage/FileManager.js +454 -0
- package/src/agents/verification/AgentCommunicationTester.js +474 -0
- package/src/agents/verification/BaseVerifier.js +430 -0
- package/src/agents/verification/CommandVerifier.js +480 -0
- package/src/agents/verification/FileOperationVerifier.js +453 -0
- package/src/agents/verification/ResultAnalyzer.js +707 -0
- package/src/agents/verification/TestRequirementManager.js +495 -0
- package/src/agents/verification/VerificationRunner.js +433 -0
- package/src/agents/windows/BaseWindowsInstaller.js +441 -0
- package/src/agents/windows/ChocolateyInstaller.js +509 -0
- package/src/agents/windows/DirectInstaller.js +443 -0
- package/src/agents/windows/InstallerFactory.js +391 -0
- package/src/agents/windows/NpmInstaller.js +505 -0
- package/src/agents/windows/PowerShellInstaller.js +458 -0
- package/src/agents/windows/WinGetInstaller.js +390 -0
- package/src/analysis/analysis-reporter.js +132 -0
- package/src/analysis/boundary-detector.js +712 -0
- package/src/analysis/categorizer.js +340 -0
- package/src/analysis/codebase-scanner.js +384 -0
- package/src/analysis/line-counter.js +513 -0
- package/src/analysis/priority-calculator.js +679 -0
- package/src/analysis/report/analysis-report.js +250 -0
- package/src/analysis/report/package-analyzer.js +278 -0
- package/src/analysis/report/recommendation-generator.js +382 -0
- package/src/analysis/report/statistics-generator.js +515 -0
- package/src/analysis/reports/analysis-report-model.js +101 -0
- package/src/analysis/reports/recommendation-generator.js +283 -0
- package/src/analysis/reports/report-generators.js +191 -0
- package/src/analysis/reports/statistics-calculator.js +231 -0
- package/src/analysis/reports/trend-analyzer.js +219 -0
- package/src/analysis/strategy-generator.js +814 -0
- package/src/auto-mode/AutoModeBusinessLogic.js +836 -0
- package/src/config/refactoring-config.js +307 -0
- package/src/health-tracking/json-storage.js +38 -2
- package/src/ide-integration/applescript-manager-core.js +233 -0
- package/src/ide-integration/applescript-manager.cjs +357 -28
- package/src/ide-integration/applescript-manager.js +89 -3599
- package/src/ide-integration/cdp-manager.js +306 -0
- package/src/ide-integration/claude-code-cli-manager.cjs +1 -1
- package/src/ide-integration/continuation-handler.js +337 -0
- package/src/ide-integration/ide-status-checker.js +292 -0
- package/src/ide-integration/macos-ide-manager.js +627 -0
- package/src/ide-integration/macos-text-sender.js +528 -0
- package/src/ide-integration/response-reader.js +548 -0
- package/src/ide-integration/windows-automation-manager.js +121 -0
- package/src/ide-integration/windows-ide-manager.js +373 -0
- package/src/index.cjs +25 -3
- package/src/index.js +15 -1
- package/src/llm/direct-llm-manager.cjs +90 -2
- package/src/models/compliance-report.js +538 -0
- package/src/models/file-analysis.js +681 -0
- package/src/models/refactoring-plan.js +770 -0
- package/src/monitoring/alert-system.js +834 -0
- package/src/monitoring/compliance-progress-tracker.js +437 -0
- package/src/monitoring/continuous-scan-notifications.js +661 -0
- package/src/monitoring/continuous-scanner.js +279 -0
- package/src/monitoring/file-monitor/file-analyzer.js +262 -0
- package/src/monitoring/file-monitor/file-monitor.js +237 -0
- package/src/monitoring/file-monitor/watcher.js +194 -0
- package/src/monitoring/file-monitor.js +17 -0
- package/src/monitoring/notification-manager.js +437 -0
- package/src/monitoring/scanner-core.js +368 -0
- package/src/monitoring/scanner-events.js +214 -0
- package/src/monitoring/violation-notification-system.js +515 -0
- package/src/refactoring/boundaries/cohesion-analyzer.js +316 -0
- package/src/refactoring/boundaries/extraction-result.js +285 -0
- package/src/refactoring/boundaries/extraction-strategies.js +392 -0
- package/src/refactoring/boundaries/module-boundary.js +209 -0
- package/src/refactoring/boundary/boundary-detector.js +741 -0
- package/src/refactoring/boundary/boundary-types.js +405 -0
- package/src/refactoring/boundary/extraction-strategies.js +554 -0
- package/src/refactoring/boundary-extraction-result.js +77 -0
- package/src/refactoring/boundary-extraction-strategies.js +330 -0
- package/src/refactoring/boundary-extractor.js +384 -0
- package/src/refactoring/boundary-types.js +46 -0
- package/src/refactoring/circular/circular-dependency.js +88 -0
- package/src/refactoring/circular/cycle-detection.js +147 -0
- package/src/refactoring/circular/dependency-node.js +82 -0
- package/src/refactoring/circular/dependency-result.js +107 -0
- package/src/refactoring/circular/dependency-types.js +58 -0
- package/src/refactoring/circular/graph-builder.js +213 -0
- package/src/refactoring/circular/resolution-strategy.js +72 -0
- package/src/refactoring/circular/strategy-generator.js +229 -0
- package/src/refactoring/circular-dependency-resolver-original.js +809 -0
- package/src/refactoring/circular-dependency-resolver.js +200 -0
- package/src/refactoring/code-mover.js +761 -0
- package/src/refactoring/file-splitter.js +696 -0
- package/src/refactoring/functionality-validator.js +816 -0
- package/src/refactoring/import-manager.js +774 -0
- package/src/refactoring/module-boundary.js +107 -0
- package/src/refactoring/refactoring-executor.js +672 -0
- package/src/refactoring/refactoring-rollback.js +614 -0
- package/src/refactoring/test-validator.js +631 -0
- package/src/requirement-management/default-requirement-manager.js +321 -0
- package/src/requirement-management/requirement-file-parser.js +159 -0
- package/src/requirement-management/requirement-sequencer.js +221 -0
- package/src/rui/commands/AgentCommandParser.js +600 -0
- package/src/rui/commands/AgentCommands.js +487 -0
- package/src/rui/commands/AgentResponseFormatter.js +832 -0
- package/src/scripts/verify-full-compliance.js +269 -0
- package/src/sync/sync-engine-core.js +1 -0
- package/src/sync/sync-engine-remote-handlers.js +135 -0
- package/src/task-generation/automated-task-generator.js +351 -0
- package/src/task-generation/prioritizer.js +287 -0
- package/src/task-generation/task-list-updater.js +215 -0
- package/src/task-generation/task-management-integration.js +480 -0
- package/src/task-generation/task-manager-integration.js +270 -0
- package/src/task-generation/violation-task-generator.js +474 -0
- package/src/task-management/continuous-scan-integration.js +342 -0
- package/src/timeout-management/index.js +12 -3
- package/src/timeout-management/response-time-tracker.js +167 -0
- package/src/timeout-management/timeout-calculator.js +159 -0
- package/src/timeout-management/timeout-config-manager.js +172 -0
- package/src/utils/ast-analyzer.js +417 -0
- package/src/utils/current-requirement-manager.js +276 -0
- package/src/utils/current-requirement-operations.js +472 -0
- package/src/utils/dependency-mapper.js +456 -0
- package/src/utils/download-with-progress.js +4 -2
- package/src/utils/electron-update-checker.js +4 -1
- package/src/utils/file-size-analyzer.js +272 -0
- package/src/utils/import-updater.js +280 -0
- package/src/utils/refactoring-tools.js +512 -0
- package/src/utils/report-generator.js +569 -0
- package/src/utils/reports/report-analysis.js +218 -0
- package/src/utils/reports/report-types.js +55 -0
- package/src/utils/reports/summary-generators.js +102 -0
- package/src/utils/requirement-file-management.js +157 -0
- package/src/utils/requirement-helpers/requirement-file-ops.js +392 -0
- package/src/utils/requirement-helpers/requirement-mover.js +414 -0
- package/src/utils/requirement-helpers/requirement-parser.js +326 -0
- package/src/utils/requirement-helpers/requirement-status.js +320 -0
- package/src/utils/requirement-helpers-new.js +55 -0
- package/src/utils/requirement-helpers-refactored.js +367 -0
- package/src/utils/requirement-helpers.js +291 -1191
- package/src/utils/requirement-movement-operations.js +450 -0
- package/src/utils/requirement-movement.js +312 -0
- package/src/utils/requirement-parsing-helpers.js +56 -0
- package/src/utils/requirement-statistics.js +200 -0
- package/src/utils/requirement-text-utils.js +58 -0
- package/src/utils/rollback/rollback-handlers.js +125 -0
- package/src/utils/rollback/rollback-operation.js +63 -0
- package/src/utils/rollback/rollback-recorder.js +166 -0
- package/src/utils/rollback/rollback-state-manager.js +175 -0
- package/src/utils/rollback/rollback-types.js +33 -0
- package/src/utils/rollback/rollback-utils.js +110 -0
- package/src/utils/rollback-manager-original.js +569 -0
- package/src/utils/rollback-manager.js +202 -0
- package/src/utils/smoke-test-cli.js +362 -0
- package/src/utils/smoke-test-gui.js +351 -0
- package/src/utils/smoke-test-orchestrator.js +321 -0
- package/src/utils/smoke-test-runner.js +60 -0
- package/src/utils/smoke-test-web.js +347 -0
- package/src/utils/specification-helpers.js +39 -13
- package/src/utils/specification-migration.js +97 -0
- package/src/utils/test-runner.js +579 -0
- package/src/utils/validation-framework.js +518 -0
- package/src/validation/compliance-analyzer.js +197 -0
- package/src/validation/compliance-report-generator.js +343 -0
- package/src/validation/compliance-reporter.js +711 -0
- package/src/validation/compliance-rules.js +127 -0
- package/src/validation/constitution-validator-new.js +196 -0
- package/src/validation/constitution-validator.js +17 -0
- package/src/validation/file-validators.js +170 -0
- package/src/validation/line-limit/file-analyzer.js +201 -0
- package/src/validation/line-limit/line-limit-validator.js +208 -0
- package/src/validation/line-limit/validation-result.js +144 -0
- package/src/validation/line-limit-core.js +225 -0
- package/src/validation/line-limit-reporter.js +134 -0
- package/src/validation/line-limit-result.js +125 -0
- package/src/validation/line-limit-validator.js +41 -0
- package/src/validation/metrics-calculator.js +660 -0
- package/src/sync/sync-engine-backup.js +0 -559
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Addition Service
|
|
3
|
+
*
|
|
4
|
+
* Handles adding new agents to the system.
|
|
5
|
+
* Follows constitutional requirements: <555 lines, test-first approach.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const ConfigValidator = require('./config/ConfigValidator');
|
|
9
|
+
const AgentConfigManager = require('./config/AgentConfigManager');
|
|
10
|
+
const AgentLogger = require('./logging/AgentLogger');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Agent Addition Service class
|
|
14
|
+
*/
|
|
15
|
+
class AgentAdditionService {
|
|
16
|
+
/**
|
|
17
|
+
* Create agent addition service instance
|
|
18
|
+
* @param {Object} options - Service options
|
|
19
|
+
*/
|
|
20
|
+
constructor(options = {}) {
|
|
21
|
+
this.configManager = options.configManager || new AgentConfigManager();
|
|
22
|
+
this.validator = options.validator || new ConfigValidator();
|
|
23
|
+
this.logger = options.logger || new AgentLogger();
|
|
24
|
+
this.configPath = options.configPath || 'config/agents.json';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Add a new agent to the system
|
|
29
|
+
* @param {Object} agentConfig - Agent configuration
|
|
30
|
+
* @returns {Object} - Addition result
|
|
31
|
+
*/
|
|
32
|
+
async addAgent(agentConfig) {
|
|
33
|
+
try {
|
|
34
|
+
this.logger.info(`Adding agent: ${agentConfig.id || 'unknown'}`);
|
|
35
|
+
|
|
36
|
+
// Validate agent configuration
|
|
37
|
+
const validation = this.validator.validateAgent(agentConfig);
|
|
38
|
+
if (!validation.valid) {
|
|
39
|
+
const error = `Agent validation failed: ${validation.errors.join(', ')}`;
|
|
40
|
+
this.logger.error(error);
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
error,
|
|
44
|
+
validation
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Check if agent already exists
|
|
49
|
+
const existingAgents = await this.configManager.loadAgents();
|
|
50
|
+
if (existingAgents[agentConfig.id]) {
|
|
51
|
+
const error = `Agent ${agentConfig.id} already exists`;
|
|
52
|
+
this.logger.error(error);
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
error,
|
|
56
|
+
agentId: agentConfig.id
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Add agent to configuration
|
|
61
|
+
const updatedAgents = {
|
|
62
|
+
...existingAgents,
|
|
63
|
+
[agentConfig.id]: {
|
|
64
|
+
...agentConfig,
|
|
65
|
+
enabled: agentConfig.enabled !== false, // Default to enabled
|
|
66
|
+
status: 'NOT_INSTALLED',
|
|
67
|
+
lastChecked: null,
|
|
68
|
+
lastVerified: null
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Save updated configuration
|
|
73
|
+
await this.configManager.saveAgents(updatedAgents);
|
|
74
|
+
|
|
75
|
+
this.logger.info(`Successfully added agent: ${agentConfig.id}`);
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
success: true,
|
|
79
|
+
agentId: agentConfig.id,
|
|
80
|
+
agent: updatedAgents[agentConfig.id],
|
|
81
|
+
validation
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
} catch (error) {
|
|
85
|
+
this.logger.error(`Failed to add agent: ${error.message}`);
|
|
86
|
+
return {
|
|
87
|
+
success: false,
|
|
88
|
+
error: error.message,
|
|
89
|
+
agentId: agentConfig.id
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Remove an agent from the system
|
|
96
|
+
* @param {string} agentId - Agent ID to remove
|
|
97
|
+
* @returns {Object} - Removal result
|
|
98
|
+
*/
|
|
99
|
+
async removeAgent(agentId) {
|
|
100
|
+
try {
|
|
101
|
+
this.logger.info(`Removing agent: ${agentId}`);
|
|
102
|
+
|
|
103
|
+
// Check if agent exists
|
|
104
|
+
const existingAgents = await this.configManager.loadAgents();
|
|
105
|
+
if (!existingAgents[agentId]) {
|
|
106
|
+
const error = `Agent ${agentId} not found`;
|
|
107
|
+
this.logger.error(error);
|
|
108
|
+
return {
|
|
109
|
+
success: false,
|
|
110
|
+
error,
|
|
111
|
+
agentId
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Remove agent from configuration
|
|
116
|
+
const { [agentId]: removed, ...remainingAgents } = existingAgents;
|
|
117
|
+
|
|
118
|
+
// Save updated configuration
|
|
119
|
+
await this.configManager.saveAgents(remainingAgents);
|
|
120
|
+
|
|
121
|
+
this.logger.info(`Successfully removed agent: ${agentId}`);
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
success: true,
|
|
125
|
+
agentId,
|
|
126
|
+
removedAgent: removed
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
} catch (error) {
|
|
130
|
+
this.logger.error(`Failed to remove agent: ${error.message}`);
|
|
131
|
+
return {
|
|
132
|
+
success: false,
|
|
133
|
+
error: error.message,
|
|
134
|
+
agentId
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Update an existing agent configuration
|
|
141
|
+
* @param {string} agentId - Agent ID to update
|
|
142
|
+
* @param {Object} updates - Configuration updates
|
|
143
|
+
* @returns {Object} - Update result
|
|
144
|
+
*/
|
|
145
|
+
async updateAgent(agentId, updates) {
|
|
146
|
+
try {
|
|
147
|
+
this.logger.info(`Updating agent: ${agentId}`);
|
|
148
|
+
|
|
149
|
+
// Check if agent exists
|
|
150
|
+
const existingAgents = await this.configManager.loadAgents();
|
|
151
|
+
if (!existingAgents[agentId]) {
|
|
152
|
+
const error = `Agent ${agentId} not found`;
|
|
153
|
+
this.logger.error(error);
|
|
154
|
+
return {
|
|
155
|
+
success: false,
|
|
156
|
+
error,
|
|
157
|
+
agentId
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Merge updates with existing configuration
|
|
162
|
+
const updatedConfig = {
|
|
163
|
+
...existingAgents[agentId],
|
|
164
|
+
...updates,
|
|
165
|
+
id: agentId // Preserve ID
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// Validate updated configuration
|
|
169
|
+
const validation = this.validator.validateAgent(updatedConfig);
|
|
170
|
+
if (!validation.valid) {
|
|
171
|
+
const error = `Agent validation failed: ${validation.errors.join(', ')}`;
|
|
172
|
+
this.logger.error(error);
|
|
173
|
+
return {
|
|
174
|
+
success: false,
|
|
175
|
+
error,
|
|
176
|
+
validation
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Update agent in configuration
|
|
181
|
+
const updatedAgents = {
|
|
182
|
+
...existingAgents,
|
|
183
|
+
[agentId]: updatedConfig
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// Save updated configuration
|
|
187
|
+
await this.configManager.saveAgents(updatedAgents);
|
|
188
|
+
|
|
189
|
+
this.logger.info(`Successfully updated agent: ${agentId}`);
|
|
190
|
+
|
|
191
|
+
return {
|
|
192
|
+
success: true,
|
|
193
|
+
agentId,
|
|
194
|
+
agent: updatedConfig,
|
|
195
|
+
validation
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
} catch (error) {
|
|
199
|
+
this.logger.error(`Failed to update agent: ${error.message}`);
|
|
200
|
+
return {
|
|
201
|
+
success: false,
|
|
202
|
+
error: error.message,
|
|
203
|
+
agentId
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Enable or disable an agent
|
|
210
|
+
* @param {string} agentId - Agent ID
|
|
211
|
+
* @param {boolean} enabled - Whether to enable the agent
|
|
212
|
+
* @returns {Object} - Update result
|
|
213
|
+
*/
|
|
214
|
+
async setAgentEnabled(agentId, enabled) {
|
|
215
|
+
return this.updateAgent(agentId, { enabled });
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Get list of available agents
|
|
220
|
+
* @returns {Object} - List of agents
|
|
221
|
+
*/
|
|
222
|
+
async getAgents() {
|
|
223
|
+
try {
|
|
224
|
+
const agents = await this.configManager.loadAgents();
|
|
225
|
+
return {
|
|
226
|
+
success: true,
|
|
227
|
+
agents: Object.keys(agents).map(id => ({
|
|
228
|
+
id,
|
|
229
|
+
...agents[id]
|
|
230
|
+
}))
|
|
231
|
+
};
|
|
232
|
+
} catch (error) {
|
|
233
|
+
this.logger.error(`Failed to get agents: ${error.message}`);
|
|
234
|
+
return {
|
|
235
|
+
success: false,
|
|
236
|
+
error: error.message
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Get specific agent details
|
|
243
|
+
* @param {string} agentId - Agent ID
|
|
244
|
+
* @returns {Object} - Agent details
|
|
245
|
+
*/
|
|
246
|
+
async getAgent(agentId) {
|
|
247
|
+
try {
|
|
248
|
+
const agents = await this.configManager.loadAgents();
|
|
249
|
+
const agent = agents[agentId];
|
|
250
|
+
|
|
251
|
+
if (!agent) {
|
|
252
|
+
return {
|
|
253
|
+
success: false,
|
|
254
|
+
error: `Agent ${agentId} not found`,
|
|
255
|
+
agentId
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
success: true,
|
|
261
|
+
agent: {
|
|
262
|
+
id: agentId,
|
|
263
|
+
...agent
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
} catch (error) {
|
|
267
|
+
this.logger.error(`Failed to get agent: ${error.message}`);
|
|
268
|
+
return {
|
|
269
|
+
success: false,
|
|
270
|
+
error: error.message,
|
|
271
|
+
agentId
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Validate agent configuration without adding it
|
|
278
|
+
* @param {Object} agentConfig - Agent configuration to validate
|
|
279
|
+
* @returns {Object} - Validation result
|
|
280
|
+
*/
|
|
281
|
+
validateAgentConfig(agentConfig) {
|
|
282
|
+
return this.validator.validateAgent(agentConfig);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Check if agent ID is available
|
|
287
|
+
* @param {string} agentId - Agent ID to check
|
|
288
|
+
* @returns {Object} - Availability result
|
|
289
|
+
*/
|
|
290
|
+
async isAgentIdAvailable(agentId) {
|
|
291
|
+
try {
|
|
292
|
+
const agents = await this.configManager.loadAgents();
|
|
293
|
+
const available = !agents[agentId];
|
|
294
|
+
|
|
295
|
+
return {
|
|
296
|
+
success: true,
|
|
297
|
+
available,
|
|
298
|
+
agentId
|
|
299
|
+
};
|
|
300
|
+
} catch (error) {
|
|
301
|
+
this.logger.error(`Failed to check agent ID availability: ${error.message}`);
|
|
302
|
+
return {
|
|
303
|
+
success: false,
|
|
304
|
+
error: error.message,
|
|
305
|
+
agentId
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
module.exports = AgentAdditionService;
|