@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 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/tools/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filtering and search tools for audit results
|
|
3
|
+
* Implements: filter_issues, search_issues
|
|
4
|
+
*/
|
|
5
|
+
import type { FilterIssuesInput, FilterIssuesResult, SearchIssuesInput, SearchIssuesResult } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* filter_issues - Filter issues from audit results by various criteria
|
|
8
|
+
*
|
|
9
|
+
* Filters issues from audit results based on rule IDs, categories, impact levels,
|
|
10
|
+
* WCAG levels, minimum count, and element types. Supports include/exclude modes.
|
|
11
|
+
*
|
|
12
|
+
* @param input - Filter configuration
|
|
13
|
+
* @returns Filtered audit result object
|
|
14
|
+
*/
|
|
15
|
+
export declare function filterIssues(input: FilterIssuesInput): FilterIssuesResult;
|
|
16
|
+
/**
|
|
17
|
+
* search_issues - Search issues by text content, selector, or XPath
|
|
18
|
+
*
|
|
19
|
+
* Searches issues by text content, selector, XPath, or description.
|
|
20
|
+
* Supports case-sensitive and case-insensitive search.
|
|
21
|
+
*
|
|
22
|
+
* @param input - Search configuration
|
|
23
|
+
* @returns Array of matching issues
|
|
24
|
+
*/
|
|
25
|
+
export declare function searchIssues(input: SearchIssuesInput): SearchIssuesResult;
|
|
26
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/tools/filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAGV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAgLpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAkGpB"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filtering and search tools for audit results
|
|
3
|
+
* Implements: filter_issues, search_issues
|
|
4
|
+
*/
|
|
5
|
+
import { normalizeAuditResult } from '../core/normalize-audit-result.js';
|
|
6
|
+
import { wcagLevelMatches } from '../core/result-processor.js';
|
|
7
|
+
/**
|
|
8
|
+
* filter_issues - Filter issues from audit results by various criteria
|
|
9
|
+
*
|
|
10
|
+
* Filters issues from audit results based on rule IDs, categories, impact levels,
|
|
11
|
+
* WCAG levels, minimum count, and element types. Supports include/exclude modes.
|
|
12
|
+
*
|
|
13
|
+
* @param input - Filter configuration
|
|
14
|
+
* @returns Filtered audit result object
|
|
15
|
+
*/
|
|
16
|
+
export function filterIssues(input) {
|
|
17
|
+
const { results, filters, mode = 'include', } = input;
|
|
18
|
+
// Normalize: accept result object, JSON string, or MCP wrapper
|
|
19
|
+
const normalized = normalizeAuditResult(results);
|
|
20
|
+
const auditResult = normalized ?? (results != null && typeof results === 'object' ? results : {});
|
|
21
|
+
const prioritizedIssues = Array.isArray(auditResult.prioritizedIssues)
|
|
22
|
+
? auditResult.prioritizedIssues
|
|
23
|
+
: [];
|
|
24
|
+
let filteredIssues = [...prioritizedIssues];
|
|
25
|
+
// Apply filters
|
|
26
|
+
if (filters.ruleIds && filters.ruleIds.length > 0) {
|
|
27
|
+
if (mode === 'include') {
|
|
28
|
+
filteredIssues = filteredIssues.filter((issue) => filters.ruleIds.includes(issue.ruleId));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
filteredIssues = filteredIssues.filter((issue) => !filters.ruleIds.includes(issue.ruleId));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (filters.categories && filters.categories.length > 0) {
|
|
35
|
+
if (mode === 'include') {
|
|
36
|
+
filteredIssues = filteredIssues.filter((issue) => issue.category && filters.categories.includes(issue.category));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
filteredIssues = filteredIssues.filter((issue) => !issue.category || !filters.categories.includes(issue.category));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (filters.impactLevels && filters.impactLevels.length > 0) {
|
|
43
|
+
if (mode === 'include') {
|
|
44
|
+
filteredIssues = filteredIssues.filter((issue) => filters.impactLevels.includes(issue.impact));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
filteredIssues = filteredIssues.filter((issue) => !filters.impactLevels.includes(issue.impact));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (filters.wcagLevels && filters.wcagLevels.length > 0) {
|
|
51
|
+
const matchesWcag = (issue) => filters.wcagLevels.some((level) => wcagLevelMatches(issue.wcagLevel, level));
|
|
52
|
+
if (mode === 'include') {
|
|
53
|
+
filteredIssues = filteredIssues.filter(matchesWcag);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
filteredIssues = filteredIssues.filter((issue) => !matchesWcag(issue));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (filters.minCount !== undefined) {
|
|
60
|
+
// Group by rule ID and count occurrences
|
|
61
|
+
const ruleCounts = new Map();
|
|
62
|
+
filteredIssues.forEach((issue) => {
|
|
63
|
+
ruleCounts.set(issue.ruleId, (ruleCounts.get(issue.ruleId) || 0) + 1);
|
|
64
|
+
});
|
|
65
|
+
filteredIssues = filteredIssues.filter((issue) => {
|
|
66
|
+
const count = ruleCounts.get(issue.ruleId) || 0;
|
|
67
|
+
return count >= filters.minCount;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (filters.elementTypes && filters.elementTypes.length > 0) {
|
|
71
|
+
if (mode === 'include') {
|
|
72
|
+
filteredIssues = filteredIssues.filter((issue) => {
|
|
73
|
+
const elementTag = issue.element.split(/[#.]/)[0].toLowerCase();
|
|
74
|
+
return filters.elementTypes.some((type) => elementTag.includes(type.toLowerCase()));
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
filteredIssues = filteredIssues.filter((issue) => {
|
|
79
|
+
const elementTag = issue.element.split(/[#.]/)[0].toLowerCase();
|
|
80
|
+
return !filters.elementTypes.some((type) => elementTag.includes(type.toLowerCase()));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Recalculate summary statistics for filtered results
|
|
85
|
+
const byCategory = {};
|
|
86
|
+
const byImpact = {};
|
|
87
|
+
const wcagCompliance = { A: 0, AA: 0, AAA: 0 };
|
|
88
|
+
filteredIssues.forEach((issue) => {
|
|
89
|
+
// Count by category
|
|
90
|
+
const category = issue.category || 'unknown';
|
|
91
|
+
byCategory[category] = (byCategory[category] || 0) + 1;
|
|
92
|
+
// Count by impact
|
|
93
|
+
byImpact[issue.impact] = (byImpact[issue.impact] || 0) + 1;
|
|
94
|
+
});
|
|
95
|
+
// Calculate WCAG compliance (simplified - based on issues found)
|
|
96
|
+
const totalIssues = filteredIssues.length;
|
|
97
|
+
const levelA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'A')).length;
|
|
98
|
+
const levelAA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'AA')).length;
|
|
99
|
+
const levelAAA = filteredIssues.filter((i) => wcagLevelMatches(i.wcagLevel, 'AAA')).length;
|
|
100
|
+
wcagCompliance.A = totalIssues > 0
|
|
101
|
+
? Math.max(0, Math.round(100 - (levelA / totalIssues) * 100))
|
|
102
|
+
: 100;
|
|
103
|
+
wcagCompliance.AA = totalIssues > 0
|
|
104
|
+
? Math.max(0, Math.round(100 - (levelAA / totalIssues) * 100))
|
|
105
|
+
: 100;
|
|
106
|
+
wcagCompliance.AAA = totalIssues > 0
|
|
107
|
+
? Math.max(0, Math.round(100 - (levelAAA / totalIssues) * 100))
|
|
108
|
+
: 100;
|
|
109
|
+
// Calculate score (simplified calculation)
|
|
110
|
+
let score = 100;
|
|
111
|
+
filteredIssues.forEach((issue) => {
|
|
112
|
+
switch (issue.impact) {
|
|
113
|
+
case 'violation':
|
|
114
|
+
score -= 5;
|
|
115
|
+
break;
|
|
116
|
+
case 'needs-review':
|
|
117
|
+
score -= 3;
|
|
118
|
+
break;
|
|
119
|
+
case 'recommendation':
|
|
120
|
+
score -= 1;
|
|
121
|
+
break;
|
|
122
|
+
case 'minor':
|
|
123
|
+
score -= 0.5;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
score = Math.max(0, Math.round(score));
|
|
128
|
+
const quickWins = Array.isArray(auditResult.quickWins) ? auditResult.quickWins : [];
|
|
129
|
+
const criticalBlockers = Array.isArray(auditResult.criticalBlockers) ? auditResult.criticalBlockers : [];
|
|
130
|
+
const originalTotalIssues = auditResult.summary?.totalIssues ?? prioritizedIssues.length;
|
|
131
|
+
// Create filtered audit result
|
|
132
|
+
const filteredResult = {
|
|
133
|
+
...auditResult,
|
|
134
|
+
summary: {
|
|
135
|
+
totalIssues: filteredIssues.length,
|
|
136
|
+
score,
|
|
137
|
+
wcagCompliance,
|
|
138
|
+
byCategory,
|
|
139
|
+
byImpact,
|
|
140
|
+
},
|
|
141
|
+
prioritizedIssues: filteredIssues,
|
|
142
|
+
quickWins: quickWins.filter((qw) => filteredIssues.some((issue) => issue.ruleId === qw.ruleId)),
|
|
143
|
+
criticalBlockers: criticalBlockers.filter((cb) => filteredIssues.some((issue) => issue.ruleId === cb.ruleId)),
|
|
144
|
+
};
|
|
145
|
+
return {
|
|
146
|
+
filtered: filteredResult,
|
|
147
|
+
originalCount: originalTotalIssues,
|
|
148
|
+
filteredCount: filteredIssues.length,
|
|
149
|
+
filtersApplied: filters,
|
|
150
|
+
mode,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* search_issues - Search issues by text content, selector, or XPath
|
|
155
|
+
*
|
|
156
|
+
* Searches issues by text content, selector, XPath, or description.
|
|
157
|
+
* Supports case-sensitive and case-insensitive search.
|
|
158
|
+
*
|
|
159
|
+
* @param input - Search configuration
|
|
160
|
+
* @returns Array of matching issues
|
|
161
|
+
*/
|
|
162
|
+
export function searchIssues(input) {
|
|
163
|
+
const { results, query, fields = ['all'], caseSensitive = false, } = input;
|
|
164
|
+
if (!query || query.trim().length === 0) {
|
|
165
|
+
return {
|
|
166
|
+
matches: [],
|
|
167
|
+
query,
|
|
168
|
+
totalMatches: 0,
|
|
169
|
+
fields,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Normalize: accept result object, JSON string, or MCP wrapper
|
|
173
|
+
const normalized = normalizeAuditResult(results);
|
|
174
|
+
const auditResult = normalized ?? results;
|
|
175
|
+
const issuesToSearch = Array.isArray(auditResult?.prioritizedIssues)
|
|
176
|
+
? auditResult.prioritizedIssues
|
|
177
|
+
: [];
|
|
178
|
+
const searchQuery = caseSensitive ? query : query.toLowerCase();
|
|
179
|
+
const matches = [];
|
|
180
|
+
issuesToSearch.forEach((issue) => {
|
|
181
|
+
let found = false;
|
|
182
|
+
// Search in specified fields
|
|
183
|
+
if (fields.includes('all') || fields.includes('description')) {
|
|
184
|
+
const description = caseSensitive
|
|
185
|
+
? issue.description
|
|
186
|
+
: issue.description.toLowerCase();
|
|
187
|
+
if (description.includes(searchQuery)) {
|
|
188
|
+
found = true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (fields.includes('all') || fields.includes('element')) {
|
|
192
|
+
const element = caseSensitive ? issue.element : issue.element.toLowerCase();
|
|
193
|
+
if (element.includes(searchQuery)) {
|
|
194
|
+
found = true;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (fields.includes('all') || fields.includes('xpath')) {
|
|
198
|
+
const xpath = caseSensitive ? issue.xpath : issue.xpath.toLowerCase();
|
|
199
|
+
if (xpath.includes(searchQuery)) {
|
|
200
|
+
found = true;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (fields.includes('all') || fields.includes('selector')) {
|
|
204
|
+
// Use xpath as selector since selector field doesn't exist in PrioritizedIssue
|
|
205
|
+
const selector = issue.xpath || '';
|
|
206
|
+
const selectorLower = caseSensitive ? selector : selector.toLowerCase();
|
|
207
|
+
if (selectorLower.includes(searchQuery)) {
|
|
208
|
+
found = true;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (fields.includes('all') || fields.includes('ruleId')) {
|
|
212
|
+
const ruleId = caseSensitive ? issue.ruleId : issue.ruleId.toLowerCase();
|
|
213
|
+
if (ruleId.includes(searchQuery)) {
|
|
214
|
+
found = true;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (fields.includes('all') || fields.includes('userImpact')) {
|
|
218
|
+
const userImpact = caseSensitive
|
|
219
|
+
? issue.userImpact
|
|
220
|
+
: issue.userImpact.toLowerCase();
|
|
221
|
+
if (userImpact.includes(searchQuery)) {
|
|
222
|
+
found = true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (fields.includes('all') || fields.includes('fix')) {
|
|
226
|
+
const fixExplanation = caseSensitive
|
|
227
|
+
? issue.fix.explanation
|
|
228
|
+
: issue.fix.explanation.toLowerCase();
|
|
229
|
+
if (fixExplanation.includes(searchQuery)) {
|
|
230
|
+
found = true;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (found) {
|
|
234
|
+
matches.push(issue);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
return {
|
|
238
|
+
matches,
|
|
239
|
+
query,
|
|
240
|
+
totalMatches: matches.length,
|
|
241
|
+
fields,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/tools/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session management tools
|
|
3
|
+
* Implements: create_session, audit_with_session
|
|
4
|
+
*/
|
|
5
|
+
import type { SessionConfig, SessionResult, AuditWithSessionInput, AuditResult } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* create_session - Create reusable authenticated session
|
|
8
|
+
*
|
|
9
|
+
* Creates an authenticated browser session by logging into a website.
|
|
10
|
+
* The session can be reused for multiple audits of protected pages.
|
|
11
|
+
*
|
|
12
|
+
* @param config - Session configuration including domain, credentials, and optional login selectors
|
|
13
|
+
* @returns Session information including sessionId, expiration time, and test URL
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSession(config: SessionConfig): Promise<SessionResult>;
|
|
16
|
+
/**
|
|
17
|
+
* audit_with_session - Run audit using existing authenticated session
|
|
18
|
+
*
|
|
19
|
+
* Runs an accessibility audit on a URL using an existing authenticated session.
|
|
20
|
+
* This allows testing protected pages without re-authenticating for each audit.
|
|
21
|
+
*
|
|
22
|
+
* @param input - Audit configuration with session ID
|
|
23
|
+
* @returns Structured audit results with prioritized issues, quick wins, and conversational summary
|
|
24
|
+
*/
|
|
25
|
+
export declare function auditWithSession(input: AuditWithSessionInput): Promise<AuditResult>;
|
|
26
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,WAAW,EAGZ,MAAM,mBAAmB,CAAA;AAe1B;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CAwGxB;AAwBD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAgItB"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session management tools
|
|
3
|
+
* Implements: create_session, audit_with_session
|
|
4
|
+
*/
|
|
5
|
+
import { launchChromium } from '../core/playwright-bootstrap.js';
|
|
6
|
+
import { SessionManager } from '../core/session-manager.js';
|
|
7
|
+
import { AccessibilityRunner } from '../core/accessibility-runner.js';
|
|
8
|
+
import { ResultProcessor, getWcagLabelFromTags } from '../core/result-processor.js';
|
|
9
|
+
import { retryWithBackoff, handleErrorGracefully, formatErrorMessage, } from '../core/error-handler.js';
|
|
10
|
+
// Global session manager instance (singleton)
|
|
11
|
+
let sessionManager = null;
|
|
12
|
+
/**
|
|
13
|
+
* Get or create the global session manager instance
|
|
14
|
+
*/
|
|
15
|
+
function getSessionManager() {
|
|
16
|
+
if (!sessionManager) {
|
|
17
|
+
sessionManager = new SessionManager();
|
|
18
|
+
}
|
|
19
|
+
return sessionManager;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* create_session - Create reusable authenticated session
|
|
23
|
+
*
|
|
24
|
+
* Creates an authenticated browser session by logging into a website.
|
|
25
|
+
* The session can be reused for multiple audits of protected pages.
|
|
26
|
+
*
|
|
27
|
+
* @param config - Session configuration including domain, credentials, and optional login selectors
|
|
28
|
+
* @returns Session information including sessionId, expiration time, and test URL
|
|
29
|
+
*/
|
|
30
|
+
export async function createSession(config) {
|
|
31
|
+
const { domain, username, password } = config;
|
|
32
|
+
// Validate required fields
|
|
33
|
+
if (!domain) {
|
|
34
|
+
throw new Error('Domain is required');
|
|
35
|
+
}
|
|
36
|
+
if (!username) {
|
|
37
|
+
throw new Error('Username is required');
|
|
38
|
+
}
|
|
39
|
+
if (!password) {
|
|
40
|
+
throw new Error('Password is required');
|
|
41
|
+
}
|
|
42
|
+
// Normalize domain (ensure it has protocol)
|
|
43
|
+
const normalizedDomain = domain.startsWith('http://') || domain.startsWith('https://')
|
|
44
|
+
? domain
|
|
45
|
+
: `https://${domain}`;
|
|
46
|
+
let browser = null;
|
|
47
|
+
let context = null;
|
|
48
|
+
try {
|
|
49
|
+
// Launch browser with retry logic
|
|
50
|
+
console.log(`Launching browser for session creation: ${normalizedDomain}`);
|
|
51
|
+
browser = await retryWithBackoff(async () => {
|
|
52
|
+
return await launchChromium({
|
|
53
|
+
headless: true,
|
|
54
|
+
args: [
|
|
55
|
+
'--disable-dev-shm-usage',
|
|
56
|
+
'--no-sandbox',
|
|
57
|
+
'--disable-setuid-sandbox',
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
}, {
|
|
61
|
+
maxRetries: 2,
|
|
62
|
+
initialDelay: 1000,
|
|
63
|
+
});
|
|
64
|
+
// Create browser context (this will store cookies/auth state)
|
|
65
|
+
context = await browser.newContext({
|
|
66
|
+
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
67
|
+
});
|
|
68
|
+
// Set extra HTTP headers
|
|
69
|
+
await context.setExtraHTTPHeaders({
|
|
70
|
+
'Accept-Language': 'en-US,en;q=0.9',
|
|
71
|
+
});
|
|
72
|
+
// Get session manager
|
|
73
|
+
const manager = getSessionManager();
|
|
74
|
+
// Create session with normalized domain and retry logic
|
|
75
|
+
const sessionConfig = {
|
|
76
|
+
...config,
|
|
77
|
+
domain: normalizedDomain,
|
|
78
|
+
};
|
|
79
|
+
const sessionResult = await retryWithBackoff(async () => {
|
|
80
|
+
return await manager.createSession(context, sessionConfig);
|
|
81
|
+
}, {
|
|
82
|
+
maxRetries: 1, // Only retry once for session creation
|
|
83
|
+
initialDelay: 2000,
|
|
84
|
+
});
|
|
85
|
+
console.log(`Session created successfully: ${sessionResult.sessionId} (expires: ${sessionResult.expiresAt})`);
|
|
86
|
+
// Note: We don't close the browser/context here because the session manager
|
|
87
|
+
// needs to keep the context alive for future audits. The context will be
|
|
88
|
+
// cleaned up when the session expires or is invalidated.
|
|
89
|
+
return sessionResult;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
const errorInfo = handleErrorGracefully(error, `create_session: ${normalizedDomain}`);
|
|
93
|
+
console.error(`Error creating session: ${formatErrorMessage(error, `create_session: ${normalizedDomain}`)}`);
|
|
94
|
+
// Cleanup on error
|
|
95
|
+
if (context) {
|
|
96
|
+
await context.close().catch((err) => {
|
|
97
|
+
console.warn(`Warning: Error closing context: ${err}`);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (browser) {
|
|
101
|
+
await browser.close().catch((err) => {
|
|
102
|
+
console.warn(`Warning: Error closing browser: ${err}`);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
throw new Error(errorInfo.error);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Normalize URL - handles relative URLs and adds domain if needed
|
|
110
|
+
*/
|
|
111
|
+
function normalizeUrl(url, domain) {
|
|
112
|
+
// If URL is already absolute, return as-is
|
|
113
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
114
|
+
return url;
|
|
115
|
+
}
|
|
116
|
+
// If domain is provided, construct full URL
|
|
117
|
+
if (domain) {
|
|
118
|
+
const baseDomain = domain.replace(/\/$/, ''); // Remove trailing slash
|
|
119
|
+
const path = url.startsWith('/') ? url : `/${url}`;
|
|
120
|
+
return `${baseDomain}${path}`;
|
|
121
|
+
}
|
|
122
|
+
// If no domain and URL is relative, throw error
|
|
123
|
+
throw new Error('URL must be absolute (start with http:// or https://) or domain must be provided for relative URLs');
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* audit_with_session - Run audit using existing authenticated session
|
|
127
|
+
*
|
|
128
|
+
* Runs an accessibility audit on a URL using an existing authenticated session.
|
|
129
|
+
* This allows testing protected pages without re-authenticating for each audit.
|
|
130
|
+
*
|
|
131
|
+
* @param input - Audit configuration with session ID
|
|
132
|
+
* @returns Structured audit results with prioritized issues, quick wins, and conversational summary
|
|
133
|
+
*/
|
|
134
|
+
export async function auditWithSession(input) {
|
|
135
|
+
const { sessionId, url, domain, tags } = input;
|
|
136
|
+
// Validate required fields
|
|
137
|
+
if (!sessionId) {
|
|
138
|
+
throw new Error('Session ID is required');
|
|
139
|
+
}
|
|
140
|
+
if (!url) {
|
|
141
|
+
throw new Error('URL is required');
|
|
142
|
+
}
|
|
143
|
+
// Get session manager
|
|
144
|
+
const manager = getSessionManager();
|
|
145
|
+
// Validate session exists and is active
|
|
146
|
+
if (!manager.validateSession(sessionId)) {
|
|
147
|
+
throw new Error(`Session ${sessionId} is not valid or has expired. Please create a new session.`);
|
|
148
|
+
}
|
|
149
|
+
// Get browser context from session
|
|
150
|
+
const context = manager.getContext(sessionId);
|
|
151
|
+
if (!context) {
|
|
152
|
+
throw new Error(`Failed to get browser context for session ${sessionId}`);
|
|
153
|
+
}
|
|
154
|
+
// Get session info to determine domain if not provided
|
|
155
|
+
const session = manager.getSession(sessionId);
|
|
156
|
+
if (!session) {
|
|
157
|
+
throw new Error(`Session ${sessionId} not found`);
|
|
158
|
+
}
|
|
159
|
+
// Use provided domain or fall back to session domain
|
|
160
|
+
const auditDomain = domain || session.domain;
|
|
161
|
+
// Normalize URL
|
|
162
|
+
const fullUrl = normalizeUrl(url, auditDomain);
|
|
163
|
+
// Validate tags if provided
|
|
164
|
+
if (tags && tags.length > 0) {
|
|
165
|
+
const validTags = [
|
|
166
|
+
'wcag2a',
|
|
167
|
+
'wcag2aa',
|
|
168
|
+
'wcag2aaa',
|
|
169
|
+
'wcag21a',
|
|
170
|
+
'wcag21aa',
|
|
171
|
+
'wcag21aaa',
|
|
172
|
+
'best-practice',
|
|
173
|
+
];
|
|
174
|
+
const invalidTags = tags.filter((tag) => !validTags.includes(tag));
|
|
175
|
+
if (invalidTags.length > 0) {
|
|
176
|
+
throw new Error(`Invalid tags: ${invalidTags.join(', ')}. Valid tags are: ${validTags.join(', ')}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
let page = null;
|
|
180
|
+
try {
|
|
181
|
+
// Create a new page from the authenticated context
|
|
182
|
+
// This page will have all the cookies and authentication state
|
|
183
|
+
console.log(`Creating authenticated page for audit: ${fullUrl}`);
|
|
184
|
+
page = await context.newPage();
|
|
185
|
+
// Set extra HTTP headers (same as in createSession)
|
|
186
|
+
await page.setExtraHTTPHeaders({
|
|
187
|
+
'Accept-Language': 'en-US,en;q=0.9',
|
|
188
|
+
});
|
|
189
|
+
// Initialize AccessibilityRunner
|
|
190
|
+
const accessibilityRunner = new AccessibilityRunner();
|
|
191
|
+
// Run accessibility test with default wait strategy and timeout
|
|
192
|
+
// Using authenticated page context with retry logic
|
|
193
|
+
console.log(`Running accessibility test on authenticated page: ${fullUrl}`);
|
|
194
|
+
const accessibilityResult = await retryWithBackoff(async () => {
|
|
195
|
+
return await accessibilityRunner.run(page, {
|
|
196
|
+
url: fullUrl,
|
|
197
|
+
waitForLoad: 'networkidle',
|
|
198
|
+
timeout: 30000, // 30 seconds
|
|
199
|
+
tags: tags,
|
|
200
|
+
});
|
|
201
|
+
}, {
|
|
202
|
+
maxRetries: 2,
|
|
203
|
+
initialDelay: 2000,
|
|
204
|
+
});
|
|
205
|
+
// Process results
|
|
206
|
+
const resultProcessor = new ResultProcessor();
|
|
207
|
+
// Use filtered results if tags were applied, otherwise use original
|
|
208
|
+
const resultsToProcess = accessibilityResult.filteredResults || accessibilityResult.accessibilityResults;
|
|
209
|
+
const auditWcagLabel = getWcagLabelFromTags((tags || []));
|
|
210
|
+
const auditResult = resultProcessor.process(resultsToProcess, accessibilityResult.appliedFilters, { auditWcagLabel: auditWcagLabel !== 'N/A' ? auditWcagLabel : undefined });
|
|
211
|
+
console.log(`Authenticated audit complete: ${auditResult.summary.totalIssues} issues found, score: ${auditResult.summary.score}/100`);
|
|
212
|
+
return auditResult;
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
const errorInfo = handleErrorGracefully(error, `audit_with_session: ${fullUrl}`);
|
|
216
|
+
console.error(`Error during authenticated audit: ${formatErrorMessage(error, `audit_with_session: ${fullUrl}`)}`);
|
|
217
|
+
throw new Error(errorInfo.error);
|
|
218
|
+
}
|
|
219
|
+
finally {
|
|
220
|
+
// Cleanup: close the page but keep the context alive for future audits
|
|
221
|
+
if (page) {
|
|
222
|
+
await page.close().catch((err) => {
|
|
223
|
+
console.warn(`Warning: Error closing page: ${err}`);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visualization & dashboard tools
|
|
3
|
+
* Implements: generate_dashboard, generate_summary_report
|
|
4
|
+
*/
|
|
5
|
+
import type { GenerateDashboardInput, GenerateDashboardResult, GenerateSummaryReportInput, GenerateSummaryReportResult } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* generate_dashboard - Create visual dashboard summary of audit results
|
|
8
|
+
*
|
|
9
|
+
* Generates a visual dashboard with key metrics, charts, and summaries
|
|
10
|
+
* in various formats (text, markdown, HTML, JSON).
|
|
11
|
+
*
|
|
12
|
+
* @param input - Dashboard input (results or URL/array, format, includeCharts)
|
|
13
|
+
* @returns Formatted dashboard with key metrics, charts, and summaries
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateDashboard(input: GenerateDashboardInput): Promise<GenerateDashboardResult>;
|
|
16
|
+
/**
|
|
17
|
+
* generate_summary_report - Generate executive summary report
|
|
18
|
+
*
|
|
19
|
+
* Generates an executive summary report with key findings and recommendations
|
|
20
|
+
* in various formats (text, markdown, HTML) and detail levels.
|
|
21
|
+
*
|
|
22
|
+
* @param input - Summary report input (results or URL/array, format, level)
|
|
23
|
+
* @returns Summary report with key findings and recommendations
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateSummaryReport(input: GenerateSummaryReportInput): Promise<GenerateSummaryReportResult>;
|
|
26
|
+
//# sourceMappingURL=visualize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualize.d.ts","sourceRoot":"","sources":["../../src/tools/visualize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAEV,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AA+lB1B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAoFlC;AAgaD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CA+DtC"}
|