Spaces:
Paused
Paused
Download backend/interfaces/IAnalysisService.js from AUXteam/UX-agent: direct link, hf CLI and curl.
- Browser
- Download file 2.7 kB
-
https://huggingface.co/spaces/AUXteam/UX-agent/resolve/main/backend/interfaces/IAnalysisService.js
- Command line
-
hf download hf://spaces/AUXteam/UX-agent/backend/interfaces/IAnalysisService.js
-
curl -L -o IAnalysisService.js https://huggingface.co/spaces/AUXteam/UX-agent/resolve/main/backend/interfaces/IAnalysisService.js
2.7 kB
| /** | |
| * Interface for Analysis Service | |
| * Defines the contract for website analysis operations | |
| */ | |
| class IAnalysisService { | |
| constructor() { | |
| if (new.target === IAnalysisService) { | |
| throw new Error('Cannot instantiate interface directly'); | |
| } | |
| } | |
| /** | |
| * Analyze a website with given options | |
| * @param {string} url - Website URL to analyze | |
| * @param {Object} options - Analysis options | |
| * @param {Array<string>} options.viewports - Viewports to analyze (desktop, tablet, mobile) | |
| * @param {string} options.analysisType - Type of analysis (quick, comprehensive) | |
| * @param {boolean} options.includeAccessibility - Include accessibility analysis | |
| * @param {boolean} options.includeVisualAnalysis - Include visual design analysis | |
| * @param {boolean} options.includeAICritique - Include AI-powered critique | |
| * @returns {Promise<Object>} Analysis result object | |
| */ | |
| async analyzeWebsite(url, options = {}) { | |
| throw new Error('analyzeWebsite method must be implemented'); | |
| } | |
| /** | |
| * Get analysis result by ID | |
| * @param {string} analysisId - Analysis ID | |
| * @returns {Promise<Object>} Analysis result | |
| */ | |
| async getAnalysisResult(analysisId) { | |
| throw new Error('getAnalysisResult method must be implemented'); | |
| } | |
| /** | |
| * Update analysis progress | |
| * @param {string} analysisId - Analysis ID | |
| * @param {number} progress - Progress percentage (0-100) | |
| * @param {string} stage - Current stage description | |
| * @returns {Promise<void>} | |
| */ | |
| async updateProgress(analysisId, progress, stage) { | |
| throw new Error('updateProgress method must be implemented'); | |
| } | |
| /** | |
| * Cancel an ongoing analysis | |
| * @param {string} analysisId - Analysis ID to cancel | |
| * @returns {Promise<boolean>} Success status | |
| */ | |
| async cancelAnalysis(analysisId) { | |
| throw new Error('cancelAnalysis method must be implemented'); | |
| } | |
| /** | |
| * Get list of active analyses | |
| * @returns {Promise<Array>} List of active analysis objects | |
| */ | |
| async getActiveAnalyses() { | |
| throw new Error('getActiveAnalyses method must be implemented'); | |
| } | |
| /** | |
| * Cleanup stuck or expired analyses | |
| * @returns {Promise<number>} Number of analyses cleaned up | |
| */ | |
| async cleanupStuckAnalyses() { | |
| throw new Error('cleanupStuckAnalyses method must be implemented'); | |
| } | |
| /** | |
| * Get service health status | |
| * @returns {Promise<Object>} Health status object | |
| */ | |
| async getHealthStatus() { | |
| throw new Error('getHealthStatus method must be implemented'); | |
| } | |
| /** | |
| * Shutdown the service gracefully | |
| * @returns {Promise<void>} | |
| */ | |
| async shutdown() { | |
| throw new Error('shutdown method must be implemented'); | |
| } | |
| } | |
| module.exports = IAnalysisService; |