@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.
- package/LICENSE +21 -0
- package/NOTICE +9 -0
- package/README.md +1328 -0
- package/bin/server.js +8 -0
- package/dist/core/accessibility-runner.d.ts +123 -0
- package/dist/core/accessibility-runner.d.ts.map +1 -0
- package/dist/core/accessibility-runner.js +465 -0
- package/dist/core/accessibility-runner.js.map +1 -0
- package/dist/core/basic-auth.d.ts +35 -0
- package/dist/core/basic-auth.d.ts.map +1 -0
- package/dist/core/basic-auth.js +52 -0
- package/dist/core/basic-auth.js.map +1 -0
- package/dist/core/config.d.ts +44 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +163 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/error-handler.d.ts +66 -0
- package/dist/core/error-handler.d.ts.map +1 -0
- package/dist/core/error-handler.js +305 -0
- package/dist/core/error-handler.js.map +1 -0
- package/dist/core/normalize-audit-result.d.ts +18 -0
- package/dist/core/normalize-audit-result.d.ts.map +1 -0
- package/dist/core/normalize-audit-result.js +118 -0
- package/dist/core/normalize-audit-result.js.map +1 -0
- package/dist/core/playwright-bootstrap.d.ts +21 -0
- package/dist/core/playwright-bootstrap.d.ts.map +1 -0
- package/dist/core/playwright-bootstrap.js +144 -0
- package/dist/core/playwright-bootstrap.js.map +1 -0
- package/dist/core/progress-streamer.d.ts +44 -0
- package/dist/core/progress-streamer.d.ts.map +1 -0
- package/dist/core/progress-streamer.js +160 -0
- package/dist/core/progress-streamer.js.map +1 -0
- package/dist/core/result-processor.d.ts +86 -0
- package/dist/core/result-processor.d.ts.map +1 -0
- package/dist/core/result-processor.js +475 -0
- package/dist/core/result-processor.js.map +1 -0
- package/dist/core/session-manager.d.ts +73 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +243 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1439 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/aggregate.d.ts +26 -0
- package/dist/tools/aggregate.d.ts.map +1 -0
- package/dist/tools/aggregate.js +340 -0
- package/dist/tools/aggregate.js.map +1 -0
- package/dist/tools/analysis.d.ts +68 -0
- package/dist/tools/analysis.d.ts.map +1 -0
- package/dist/tools/analysis.js +1199 -0
- package/dist/tools/analysis.js.map +1 -0
- package/dist/tools/audit.d.ts +38 -0
- package/dist/tools/audit.d.ts.map +1 -0
- package/dist/tools/audit.js +472 -0
- package/dist/tools/audit.js.map +1 -0
- package/dist/tools/comparison.d.ts +27 -0
- package/dist/tools/comparison.d.ts.map +1 -0
- package/dist/tools/comparison.js +499 -0
- package/dist/tools/comparison.js.map +1 -0
- package/dist/tools/export.d.ts +43 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +746 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/filter.d.ts +26 -0
- package/dist/tools/filter.d.ts.map +1 -0
- package/dist/tools/filter.js +244 -0
- package/dist/tools/filter.js.map +1 -0
- package/dist/tools/session.d.ts +26 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +228 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/visualize.d.ts +26 -0
- package/dist/tools/visualize.d.ts.map +1 -0
- package/dist/tools/visualize.js +942 -0
- package/dist/tools/visualize.js.map +1 -0
- package/dist/types/index.d.ts +792 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- 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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"}
|
package/dist/server.d.ts
ADDED
|
@@ -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"}
|