@dallask/a11y-mcp-srv 1.0.0

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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +9 -0
  3. package/README.md +1328 -0
  4. package/bin/server.js +8 -0
  5. package/dist/core/accessibility-runner.d.ts +123 -0
  6. package/dist/core/accessibility-runner.d.ts.map +1 -0
  7. package/dist/core/accessibility-runner.js +465 -0
  8. package/dist/core/accessibility-runner.js.map +1 -0
  9. package/dist/core/basic-auth.d.ts +35 -0
  10. package/dist/core/basic-auth.d.ts.map +1 -0
  11. package/dist/core/basic-auth.js +52 -0
  12. package/dist/core/basic-auth.js.map +1 -0
  13. package/dist/core/config.d.ts +44 -0
  14. package/dist/core/config.d.ts.map +1 -0
  15. package/dist/core/config.js +163 -0
  16. package/dist/core/config.js.map +1 -0
  17. package/dist/core/error-handler.d.ts +66 -0
  18. package/dist/core/error-handler.d.ts.map +1 -0
  19. package/dist/core/error-handler.js +305 -0
  20. package/dist/core/error-handler.js.map +1 -0
  21. package/dist/core/normalize-audit-result.d.ts +18 -0
  22. package/dist/core/normalize-audit-result.d.ts.map +1 -0
  23. package/dist/core/normalize-audit-result.js +118 -0
  24. package/dist/core/normalize-audit-result.js.map +1 -0
  25. package/dist/core/playwright-bootstrap.d.ts +21 -0
  26. package/dist/core/playwright-bootstrap.d.ts.map +1 -0
  27. package/dist/core/playwright-bootstrap.js +144 -0
  28. package/dist/core/playwright-bootstrap.js.map +1 -0
  29. package/dist/core/progress-streamer.d.ts +44 -0
  30. package/dist/core/progress-streamer.d.ts.map +1 -0
  31. package/dist/core/progress-streamer.js +160 -0
  32. package/dist/core/progress-streamer.js.map +1 -0
  33. package/dist/core/result-processor.d.ts +86 -0
  34. package/dist/core/result-processor.d.ts.map +1 -0
  35. package/dist/core/result-processor.js +475 -0
  36. package/dist/core/result-processor.js.map +1 -0
  37. package/dist/core/session-manager.d.ts +73 -0
  38. package/dist/core/session-manager.d.ts.map +1 -0
  39. package/dist/core/session-manager.js +243 -0
  40. package/dist/core/session-manager.js.map +1 -0
  41. package/dist/server.d.ts +10 -0
  42. package/dist/server.d.ts.map +1 -0
  43. package/dist/server.js +1439 -0
  44. package/dist/server.js.map +1 -0
  45. package/dist/tools/aggregate.d.ts +26 -0
  46. package/dist/tools/aggregate.d.ts.map +1 -0
  47. package/dist/tools/aggregate.js +340 -0
  48. package/dist/tools/aggregate.js.map +1 -0
  49. package/dist/tools/analysis.d.ts +68 -0
  50. package/dist/tools/analysis.d.ts.map +1 -0
  51. package/dist/tools/analysis.js +1199 -0
  52. package/dist/tools/analysis.js.map +1 -0
  53. package/dist/tools/audit.d.ts +38 -0
  54. package/dist/tools/audit.d.ts.map +1 -0
  55. package/dist/tools/audit.js +472 -0
  56. package/dist/tools/audit.js.map +1 -0
  57. package/dist/tools/comparison.d.ts +27 -0
  58. package/dist/tools/comparison.d.ts.map +1 -0
  59. package/dist/tools/comparison.js +499 -0
  60. package/dist/tools/comparison.js.map +1 -0
  61. package/dist/tools/export.d.ts +43 -0
  62. package/dist/tools/export.d.ts.map +1 -0
  63. package/dist/tools/export.js +746 -0
  64. package/dist/tools/export.js.map +1 -0
  65. package/dist/tools/filter.d.ts +26 -0
  66. package/dist/tools/filter.d.ts.map +1 -0
  67. package/dist/tools/filter.js +244 -0
  68. package/dist/tools/filter.js.map +1 -0
  69. package/dist/tools/session.d.ts +26 -0
  70. package/dist/tools/session.d.ts.map +1 -0
  71. package/dist/tools/session.js +228 -0
  72. package/dist/tools/session.js.map +1 -0
  73. package/dist/tools/visualize.d.ts +26 -0
  74. package/dist/tools/visualize.d.ts.map +1 -0
  75. package/dist/tools/visualize.js +942 -0
  76. package/dist/tools/visualize.js.map +1 -0
  77. package/dist/types/index.d.ts +792 -0
  78. package/dist/types/index.d.ts.map +1 -0
  79. package/dist/types/index.js +24 -0
  80. package/dist/types/index.js.map +1 -0
  81. package/package.json +69 -0
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Session Manager - Handles authenticated session storage and management
3
+ * Manages session creation, validation, and cleanup for authenticated audits
4
+ */
5
+ /**
6
+ * SessionManager class - Manages authenticated browser sessions
7
+ */
8
+ export class SessionManager {
9
+ constructor() {
10
+ this.sessions = new Map();
11
+ this.contexts = new Map();
12
+ this.cleanupInterval = null;
13
+ this.defaultSessionDuration = 60 * 60 * 1000; // 1 hour in milliseconds
14
+ // Start cleanup interval to remove expired sessions
15
+ this.startCleanupInterval();
16
+ }
17
+ /**
18
+ * Start periodic cleanup of expired sessions
19
+ */
20
+ startCleanupInterval() {
21
+ // Run cleanup every 5 minutes
22
+ this.cleanupInterval = setInterval(() => {
23
+ this.cleanupExpiredSessions();
24
+ }, 5 * 60 * 1000);
25
+ }
26
+ /**
27
+ * Stop cleanup interval (useful for testing or shutdown)
28
+ */
29
+ stopCleanupInterval() {
30
+ if (this.cleanupInterval) {
31
+ clearInterval(this.cleanupInterval);
32
+ this.cleanupInterval = null;
33
+ }
34
+ }
35
+ /**
36
+ * Generate a unique session ID
37
+ */
38
+ generateSessionId(domain, customId) {
39
+ if (customId) {
40
+ return `${domain}::${customId}`;
41
+ }
42
+ return `${domain}::${Date.now()}::${Math.random().toString(36).substring(7)}`;
43
+ }
44
+ /**
45
+ * Get default login selectors
46
+ */
47
+ getDefaultLoginSelectors() {
48
+ return {
49
+ usernameSelector: 'input[type="email"], input[name="username"], input[name="email"], input[id*="username"], input[id*="email"]',
50
+ passwordSelector: 'input[type="password"]',
51
+ submitSelector: 'button[type="submit"], input[type="submit"], button:has-text("Log in"), button:has-text("Sign in"), button:has-text("Login")',
52
+ successIndicator: 'body' // Default: any page load after submit indicates success
53
+ };
54
+ }
55
+ /**
56
+ * Perform login on a page
57
+ */
58
+ async performLogin(page, username, password, loginSelectors) {
59
+ const selectors = { ...this.getDefaultLoginSelectors(), ...loginSelectors };
60
+ try {
61
+ // Wait for login form to be ready
62
+ await page.waitForSelector(selectors.usernameSelector, { timeout: 10000 });
63
+ await page.waitForSelector(selectors.passwordSelector, { timeout: 10000 });
64
+ // Fill in credentials
65
+ await page.fill(selectors.usernameSelector, username);
66
+ await page.fill(selectors.passwordSelector, password);
67
+ // Submit form
68
+ await page.click(selectors.submitSelector);
69
+ // Wait for login to complete (either navigation or success indicator)
70
+ if (selectors.successIndicator) {
71
+ try {
72
+ await page.waitForSelector(selectors.successIndicator, { timeout: 10000 });
73
+ }
74
+ catch {
75
+ // If success indicator not found, wait for navigation
76
+ await page.waitForLoadState('networkidle', { timeout: 10000 });
77
+ }
78
+ }
79
+ else {
80
+ await page.waitForLoadState('networkidle', { timeout: 10000 });
81
+ }
82
+ console.log('Login successful');
83
+ }
84
+ catch (error) {
85
+ const errorMessage = error instanceof Error ? error.message : String(error);
86
+ // Provide more helpful error messages
87
+ if (errorMessage.includes('timeout')) {
88
+ throw new Error(`Login failed: Timeout waiting for login form. Please check the login selectors or increase timeout.`);
89
+ }
90
+ else if (errorMessage.includes('not found') || errorMessage.includes('selector')) {
91
+ throw new Error(`Login failed: Could not find login form elements. Please verify the login selectors are correct.`);
92
+ }
93
+ throw new Error(`Login failed: ${errorMessage}`);
94
+ }
95
+ }
96
+ /**
97
+ * Create a new authenticated session
98
+ */
99
+ async createSession(context, config) {
100
+ const { domain, loginUrl, username, password, loginSelectors, sessionId: customSessionId } = config;
101
+ // Generate session ID
102
+ const sessionId = this.generateSessionId(domain, customSessionId);
103
+ // Check if session already exists
104
+ if (this.sessions.has(sessionId)) {
105
+ const existingSession = this.sessions.get(sessionId);
106
+ if (existingSession.isActive && new Date(existingSession.expiresAt) > new Date()) {
107
+ return {
108
+ sessionId,
109
+ expiresAt: existingSession.expiresAt,
110
+ testUrl: existingSession.testUrl || domain,
111
+ };
112
+ }
113
+ }
114
+ try {
115
+ // Create a new page for login
116
+ const page = await context.newPage();
117
+ // Determine login URL
118
+ const loginPageUrl = loginUrl || `${domain}/login`;
119
+ // Navigate to login page
120
+ console.log(`Navigating to login page: ${loginPageUrl}`);
121
+ await page.goto(loginPageUrl, {
122
+ waitUntil: 'networkidle',
123
+ timeout: 30000,
124
+ });
125
+ // Perform login
126
+ await this.performLogin(page, username, password, loginSelectors);
127
+ // Get test URL (current page after login)
128
+ const testUrl = page.url();
129
+ // Store browser context (contains cookies/auth state)
130
+ this.contexts.set(sessionId, context);
131
+ // Create session record
132
+ const expiresAt = new Date(Date.now() + this.defaultSessionDuration).toISOString();
133
+ const session = {
134
+ sessionId,
135
+ domain,
136
+ createdAt: new Date().toISOString(),
137
+ expiresAt,
138
+ testUrl,
139
+ isActive: true,
140
+ };
141
+ this.sessions.set(sessionId, session);
142
+ console.log(`Session created: ${sessionId} (expires: ${expiresAt})`);
143
+ return {
144
+ sessionId,
145
+ expiresAt,
146
+ testUrl,
147
+ };
148
+ }
149
+ catch (error) {
150
+ const errorMessage = error instanceof Error ? error.message : String(error);
151
+ // Provide more context for session creation failures
152
+ if (errorMessage.includes('Login failed')) {
153
+ throw error; // Re-throw login errors as-is (they already have context)
154
+ }
155
+ throw new Error(`Failed to create session: ${errorMessage}. Please check your credentials and login URL.`);
156
+ }
157
+ }
158
+ /**
159
+ * Get a session by ID
160
+ */
161
+ getSession(sessionId) {
162
+ const session = this.sessions.get(sessionId);
163
+ if (!session) {
164
+ return null;
165
+ }
166
+ // Check if session is expired
167
+ if (new Date(session.expiresAt) < new Date()) {
168
+ this.invalidateSession(sessionId);
169
+ return null;
170
+ }
171
+ return session;
172
+ }
173
+ /**
174
+ * Get browser context for a session
175
+ */
176
+ getContext(sessionId) {
177
+ const session = this.getSession(sessionId);
178
+ if (!session) {
179
+ return null;
180
+ }
181
+ return this.contexts.get(sessionId) || null;
182
+ }
183
+ /**
184
+ * Validate that a session is active and valid
185
+ */
186
+ validateSession(sessionId) {
187
+ const session = this.getSession(sessionId);
188
+ return session !== null && session.isActive;
189
+ }
190
+ /**
191
+ * Invalidate a session
192
+ */
193
+ invalidateSession(sessionId) {
194
+ const session = this.sessions.get(sessionId);
195
+ if (session) {
196
+ session.isActive = false;
197
+ this.sessions.delete(sessionId);
198
+ }
199
+ this.contexts.delete(sessionId);
200
+ console.log(`Session invalidated: ${sessionId}`);
201
+ }
202
+ /**
203
+ * Clean up expired sessions
204
+ */
205
+ cleanupExpiredSessions() {
206
+ const now = new Date();
207
+ const expiredSessions = [];
208
+ this.sessions.forEach((session, sessionId) => {
209
+ if (new Date(session.expiresAt) < now || !session.isActive) {
210
+ expiredSessions.push(sessionId);
211
+ }
212
+ });
213
+ expiredSessions.forEach((sessionId) => {
214
+ this.invalidateSession(sessionId);
215
+ });
216
+ if (expiredSessions.length > 0) {
217
+ console.log(`Cleaned up ${expiredSessions.length} expired session(s)`);
218
+ }
219
+ }
220
+ /**
221
+ * Get all active sessions
222
+ */
223
+ getActiveSessions() {
224
+ this.cleanupExpiredSessions();
225
+ return Array.from(this.sessions.values()).filter((s) => s.isActive);
226
+ }
227
+ /**
228
+ * Get session count
229
+ */
230
+ getSessionCount() {
231
+ this.cleanupExpiredSessions();
232
+ return this.sessions.size;
233
+ }
234
+ /**
235
+ * Clear all sessions (useful for testing or shutdown)
236
+ */
237
+ clearAllSessions() {
238
+ this.sessions.clear();
239
+ this.contexts.clear();
240
+ console.log('All sessions cleared');
241
+ }
242
+ }
243
+ //# sourceMappingURL=session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Main MCP server entry point
3
+ * Accessibility MCP Server
4
+ */
5
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
6
+ /**
7
+ * Create and configure the MCP server
8
+ */
9
+ export declare function createServer(): Promise<Server>;
10
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AA4ClE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAkjDpD"}