accessflow-mcp-server 1.5.0-beta.0 → 1.6.0-beta.2

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.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ //# sourceMappingURL=http-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import { FlowMcpServer } from './server.js';
4
+ import { logger } from './services/loggerService.js';
5
+ async function startServer() {
6
+ try {
7
+ console.log('Starting HTTP server...');
8
+ // Get port from environment variable or use default
9
+ const port = process.env.PORT ? parseInt(process.env.PORT, 10) : 8080;
10
+ const stateless = process.env.STATELESS === 'true';
11
+ const transportConfig = {
12
+ type: 'httpStream',
13
+ port,
14
+ stateless,
15
+ };
16
+ console.log('Creating server instance...');
17
+ const server = new FlowMcpServer(transportConfig);
18
+ // Handle graceful shutdown
19
+ process.on('SIGINT', async () => {
20
+ await server.stop();
21
+ process.exit(0);
22
+ });
23
+ process.on('SIGTERM', async () => {
24
+ await server.stop();
25
+ process.exit(0);
26
+ });
27
+ console.log('Initializing server...');
28
+ // Start server with HTTP transport
29
+ await server.init(transportConfig);
30
+ logger.info(`HTTP server is running at http://localhost:${port}/mcp`);
31
+ console.log(`HTTP server is running at http://localhost:${port}/mcp`);
32
+ }
33
+ catch (error) {
34
+ console.error('Error starting HTTP server:', error);
35
+ logger.error({
36
+ error: error instanceof Error ? error.message : 'Unknown error',
37
+ stack: error instanceof Error ? error.stack : undefined,
38
+ }, 'Failed to start Flow MCP HTTP Server');
39
+ // Exit code 1 will indicate failure to the parent process
40
+ process.exit(1);
41
+ }
42
+ }
43
+ // Add top-level error handlers
44
+ process.on('uncaughtException', (error) => {
45
+ console.error('Uncaught exception:', error);
46
+ process.exit(1);
47
+ });
48
+ process.on('unhandledRejection', (reason, promise) => {
49
+ console.error('Unhandled rejection at:', promise, 'reason:', reason);
50
+ process.exit(1);
51
+ });
52
+ startServer();
53
+ //# sourceMappingURL=http-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,oDAAoD;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;QAEnD,MAAM,eAAe,GAAG;YACtB,IAAI,EAAE,YAAqB;YAC3B,IAAI;YACJ,SAAS;SACV,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;QAElD,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,mCAAmC;QACnC,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,8CAA8C,IAAI,MAAM,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CACV;YACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACxD,EACD,sCAAsC,CACvC,CAAC;QAEF,0DAA0D;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+BAA+B;AAC/B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,WAAW,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import 'dotenv/config';
2
+ export type TransportConfig = {
3
+ type: 'stdio';
4
+ } | {
5
+ type: 'httpStream';
6
+ port: number;
7
+ stateless?: boolean;
8
+ };
9
+ export interface SessionData {
10
+ apiKey: string;
11
+ domain: string;
12
+ [key: string]: unknown;
13
+ }
14
+ export declare class FlowMcpServer {
15
+ private readonly options;
16
+ private readonly server;
17
+ private readonly environment;
18
+ private stdioApiService?;
19
+ constructor(transportConfig: TransportConfig);
20
+ init(transportConfig: TransportConfig): Promise<this>;
21
+ stop(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAQvB,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAGrC,OAAO,CAAC,eAAe,CAAC,CAAa;gBAEzB,eAAe,EAAE,eAAe;IA6DtC,IAAI,CAAC,eAAe,EAAE,eAAe;IAqErC,IAAI;CAGX"}
package/dist/server.js ADDED
@@ -0,0 +1,118 @@
1
+ import 'dotenv/config';
2
+ import { FastMCP } from 'fastmcp';
3
+ import packageJson from '../package.json' with { type: 'json' };
4
+ import { registerTools } from './tools/index.js';
5
+ import { sanitizeDomain } from './utils/domains.js';
6
+ import { ApiService } from './services/apiService.js';
7
+ import { logger } from './services/loggerService.js';
8
+ export class FlowMcpServer {
9
+ options;
10
+ server;
11
+ environment;
12
+ // For stdio mode only
13
+ stdioApiService;
14
+ constructor(transportConfig) {
15
+ this.environment =
16
+ process.env.ENVIRONMENT || 'https://accessflow.accessibe.com';
17
+ const nonProdUserName = process.env.NON_PROD_USER_NAME;
18
+ const nonProdPassword = process.env.NON_PROD_PASSWORD;
19
+ // Configure server options based on transport type
20
+ if (transportConfig.type === 'httpStream') {
21
+ // HTTP mode: Extract credentials from headers per-request
22
+ this.options = {
23
+ name: 'accessFlow MCP Server',
24
+ version: packageJson.version,
25
+ authenticate: async (request) => {
26
+ // Extract Authorization header (Bearer token)
27
+ const authHeader = request.headers['authorization'];
28
+ const apiKey = authHeader?.replace(/^Bearer\s+/i, '') || '';
29
+ // Extract X-Domain header
30
+ const domain = sanitizeDomain(request.headers['x-domain'] || '');
31
+ if (!apiKey || !domain) {
32
+ throw new Response(null, {
33
+ status: 401,
34
+ statusText: 'Unauthorized: Missing Authorization or X-Domain header',
35
+ });
36
+ }
37
+ logger.debug({ domain }, 'HTTP request authenticated');
38
+ return {
39
+ apiKey,
40
+ domain,
41
+ };
42
+ },
43
+ };
44
+ }
45
+ else {
46
+ // stdio mode: Use environment variables (backward compatible)
47
+ const domain = sanitizeDomain(process.env.DOMAIN || '');
48
+ const apiKey = process.env.API_KEY || '';
49
+ this.stdioApiService = new ApiService(this.environment, domain, apiKey, nonProdUserName, nonProdPassword);
50
+ this.options = {
51
+ name: 'accessFlow MCP Server',
52
+ version: packageJson.version,
53
+ };
54
+ }
55
+ this.server = new FastMCP(this.options);
56
+ }
57
+ async init(transportConfig) {
58
+ const transportType = transportConfig.type === 'stdio' ? 'stdio' : 'HTTP';
59
+ logger.info(`Initializing Flow MCP Server (${transportType} mode)...`);
60
+ const nonProdUserName = process.env.NON_PROD_USER_NAME;
61
+ const nonProdPassword = process.env.NON_PROD_PASSWORD;
62
+ // Register tools with appropriate configuration
63
+ if (transportConfig.type === 'stdio') {
64
+ // stdio mode: Use pre-created ApiService
65
+ if (!this.stdioApiService) {
66
+ throw new Error('ApiService not initialized for stdio mode');
67
+ }
68
+ registerTools(this.server, {
69
+ mode: 'stdio',
70
+ apiService: this.stdioApiService,
71
+ });
72
+ }
73
+ else {
74
+ // HTTP mode: Create ApiService per-request from session
75
+ registerTools(this.server, {
76
+ mode: 'http',
77
+ createApiService: (session) => {
78
+ return new ApiService(this.environment, session.domain, session.apiKey, nonProdUserName, nonProdPassword);
79
+ },
80
+ });
81
+ }
82
+ // Start the FastMCP server with the specified transport
83
+ if (transportConfig.type === 'stdio') {
84
+ await this.server.start({
85
+ transportType: 'stdio',
86
+ });
87
+ }
88
+ else {
89
+ const httpStreamConfig = {
90
+ port: transportConfig.port,
91
+ };
92
+ if (transportConfig.stateless !== undefined) {
93
+ httpStreamConfig.stateless = transportConfig.stateless;
94
+ }
95
+ await this.server.start({
96
+ transportType: 'httpStream',
97
+ httpStream: httpStreamConfig,
98
+ });
99
+ }
100
+ logger.info({
101
+ environment: this.environment,
102
+ transport: transportType,
103
+ ...(transportConfig.type === 'httpStream' && {
104
+ port: transportConfig.port,
105
+ }),
106
+ ...(transportConfig.type === 'stdio' &&
107
+ this.stdioApiService && {
108
+ domain: this.stdioApiService.domain,
109
+ }),
110
+ }, 'Flow MCP Server started successfully');
111
+ return this;
112
+ }
113
+ async stop() {
114
+ if (this.server)
115
+ await this.server.stop();
116
+ }
117
+ }
118
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAsB,MAAM,SAAS,CAAC;AACtD,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAYrD,MAAM,OAAO,aAAa;IACP,OAAO,CAA6B;IACpC,MAAM,CAAU;IAChB,WAAW,CAAS;IAErC,sBAAsB;IACd,eAAe,CAAc;IAErC,YAAY,eAAgC;QAC1C,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kCAAkC,CAAC;QAEhE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAEtD,mDAAmD;QACnD,IAAI,eAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1C,0DAA0D;YAC1D,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,WAAW,CAAC,OAA0C;gBAC/D,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC9B,8CAA8C;oBAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACpD,MAAM,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;oBAE5D,0BAA0B;oBAC1B,MAAM,MAAM,GAAG,cAAc,CAC1B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAY,IAAI,EAAE,CAC9C,CAAC;oBAEF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBACvB,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACvB,MAAM,EAAE,GAAG;4BACX,UAAU,EACR,wDAAwD;yBAC3D,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;oBAEvD,OAAO;wBACL,MAAM;wBACN,MAAM;qBACP,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAEzC,IAAI,CAAC,eAAe,GAAG,IAAI,UAAU,CACnC,IAAI,CAAC,WAAW,EAChB,MAAM,EACN,MAAM,EACN,eAAe,EACf,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,WAAW,CAAC,OAA0C;aAChE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAgC;QACzC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,iCAAiC,aAAa,WAAW,CAAC,CAAC;QAEvE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAEtD,gDAAgD;QAChD,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrC,yCAAyC;YACzC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAI,CAAC,eAAe;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,MAAM;gBACZ,gBAAgB,EAAE,CAAC,OAAoB,EAAE,EAAE;oBACzC,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,WAAW,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,eAAe,EACf,eAAe,CAChB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,aAAa,EAAE,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAA0C;gBAC9D,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YACF,IAAI,eAAe,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5C,gBAAgB,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,aAAa,EAAE,YAAY;gBAC3B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CACT;YACE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,aAAa;YACxB,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,YAAY,IAAI;gBAC3C,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YACF,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO;gBAClC,IAAI,CAAC,eAAe,IAAI;gBACtB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;aACpC,CAAC;SACL,EACD,sCAAsC,CACvC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getIssueRemediation.d.ts","sourceRoot":"","sources":["../../src/tools/getIssueRemediation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AASjE,QAAA,MAAM,UAAU;;;;;;EAOd,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CA0E7B,CAAC"}
1
+ {"version":3,"file":"getIssueRemediation.d.ts","sourceRoot":"","sources":["../../src/tools/getIssueRemediation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AASjE,QAAA,MAAM,UAAU;;;;;;EAOd,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CA6E7B,CAAC"}
@@ -24,6 +24,9 @@ export const createGetIssueRemediation = (apiService) => {
24
24
  if (!issue) {
25
25
  return `**Issue Not Found**\n\nNo accessibility issue found with display name: ${typedArgs.issueDisplayName}\n\nPlease verify the issue display name and try again.`;
26
26
  }
27
+ if (issue.resolution === 'manual') {
28
+ return `This issue has been manually resolved and is pending confirmation in the next scan.`;
29
+ }
27
30
  // Find related rule from local rules.json
28
31
  const ruleId = extractRuleId(issue.relatedRuleId);
29
32
  const rule = ruleId ? findRuleById(ruleId) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"getIssueRemediation.js","sourceRoot":"","sources":["../../src/tools/getIssueRemediation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getIssueRemediation.js","sourceRoot":"","sources":["../../src/tools/getIssueRemediation.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
1
  import type { Tool } from 'fastmcp';
2
2
  import { z } from 'zod';
3
3
  import { ApiService } from '../services/apiService.js';
4
- declare const parameters: z.ZodObject<{
5
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
- }, "strip", z.ZodTypeAny, {
7
- limit: number;
8
- }, {
9
- limit?: number | undefined;
10
- }>;
11
4
  /**
12
5
  * Creates the getMostUrgentIssues tool for FastMCP
13
6
  */
14
- export declare const createGetMostUrgentIssues: (apiService: ApiService) => Tool<any, typeof parameters>;
15
- export {};
7
+ export declare const createGetMostUrgentIssues: (apiService: ApiService) => Tool<any, z.ZodObject<{}>>;
16
8
  //# sourceMappingURL=getMostUrgentIssues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMostUrgentIssues.d.ts","sourceRoot":"","sources":["../../src/tools/getMostUrgentIssues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AAgBjE,QAAA,MAAM,UAAU;;;;;;EAEd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CAoD7B,CAAC"}
1
+ {"version":3,"file":"getMostUrgentIssues.d.ts","sourceRoot":"","sources":["../../src/tools/getMostUrgentIssues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AAgBjE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAsD3B,CAAC"}
@@ -3,9 +3,6 @@ import { ApiService, ApiError } from '../services/apiService.js';
3
3
  import { logger } from '../services/loggerService.js';
4
4
  import { normalizeSeverity, normalizeWCAGLevel, normalizeCriteria, } from '../utils/issues.js';
5
5
  const DEFAULT_ISSUE_LIMIT = 5;
6
- const parameters = z.object({
7
- limit: z.number().min(1).max(100).optional().default(DEFAULT_ISSUE_LIMIT),
8
- });
9
6
  /**
10
7
  * Creates the getMostUrgentIssues tool for FastMCP
11
8
  */
@@ -13,12 +10,11 @@ export const createGetMostUrgentIssues = (apiService) => {
13
10
  return {
14
11
  name: 'getMostUrgentIssues',
15
12
  description: 'Get the most urgent accessibility issues as structured JSON data, ordered by severity (extreme > high > medium > low), then by site occurrences, then by page occurrences. Use the formatUrgentIssues prompt to format the JSON response into user-friendly markdown.',
16
- parameters,
13
+ parameters: z.object({}),
17
14
  execute: async (args, context) => {
18
15
  try {
19
- const typedArgs = parameters.parse(args);
20
- const issues = await fetchUrgentIssues(apiService, typedArgs.limit);
21
- const response = formatUrgentIssuesResponse(issues, typedArgs.limit);
16
+ const issues = await fetchUrgentIssues(apiService, DEFAULT_ISSUE_LIMIT);
17
+ const response = formatUrgentIssuesResponse(issues, DEFAULT_ISSUE_LIMIT);
22
18
  return JSON.stringify(response, null, 2);
23
19
  }
24
20
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"getMostUrgentIssues.js","sourceRoot":"","sources":["../../src/tools/getMostUrgentIssues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getMostUrgentIssues.js","sourceRoot":"","sources":["../../src/tools/getMostUrgentIssues.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveIssue.d.ts","sourceRoot":"","sources":["../../src/tools/resolveIssue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AAGjE,QAAA,MAAM,UAAU;;;;;;EAOd,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CAyE7B,CAAC"}
1
+ {"version":3,"file":"resolveIssue.d.ts","sourceRoot":"","sources":["../../src/tools/resolveIssue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAY,MAAM,2BAA2B,CAAC;AAGjE,QAAA,MAAM,UAAU;;;;;;EAOd,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CA2E7B,CAAC"}
@@ -28,7 +28,9 @@ Please verify the issue display name and try again.`;
28
28
  }
29
29
  return `**Issue Resolved Successfully**
30
30
 
31
- The accessibility issue "${typedArgs.issueDisplayName}" has been marked as resolved in accessFlow.`;
31
+ The accessibility issue "${typedArgs.issueDisplayName}" has been marked as resolved in accessFlow.
32
+ Note: This issue will be fully resolved after the next scan.
33
+ If the next scan still detects the issue, it will be reopened automatically.`;
32
34
  }
33
35
  catch (error) {
34
36
  let errorMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveIssue.js","sourceRoot":"","sources":["../../src/tools/resolveIssue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,QAAQ,CACP,uFAAuF,CACxF;CACJ,CAAC,CAAC;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAAsB,EACQ,EAAE;IAChC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2EAA2E;QAC7E,UAAU;QACV,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,OAAqB,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,UAAU,EACV,SAAS,CAAC,gBAAgB,CAC3B,CAAC;gBAEF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;;kDAEiC,SAAS,CAAC,gBAAgB;;oDAExB,CAAC;gBAC7C,CAAC;gBAED,OAAO;;2BAEY,SAAS,CAAC,gBAAgB,8CAA8C,CAAC;YAC9F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAoB,CAAC;gBACzB,IAAI,YAAY,GAAW,EAAE,CAAC;gBAE9B,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,YAAY,GAAG,YAAY,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;oBAEnE,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,EACD,2BAA2B,CAC5B,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAClC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3D,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,EACD,uBAAuB,CACxB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,wBAAwB,CAAC;oBAExC,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,KAAK;qBACN,EACD,+BAA+B,CAChC,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,IAAI,YAAY,6HAA6H,CACtL,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,UAAsB,EACtB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"resolveIssue.js","sourceRoot":"","sources":["../../src/tools/resolveIssue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,QAAQ,CACP,uFAAuF,CACxF;CACJ,CAAC,CAAC;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAAsB,EACQ,EAAE;IAChC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2EAA2E;QAC7E,UAAU;QACV,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,OAAqB,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,UAAU,EACV,SAAS,CAAC,gBAAgB,CAC3B,CAAC;gBAEF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;;kDAEiC,SAAS,CAAC,gBAAgB;;oDAExB,CAAC;gBAC7C,CAAC;gBAED,OAAO;;2BAEY,SAAS,CAAC,gBAAgB;;8EAEyB,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAoB,CAAC;gBACzB,IAAI,YAAY,GAAW,EAAE,CAAC;gBAE9B,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,YAAY,GAAG,YAAY,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;oBAEnE,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,EACD,2BAA2B,CAC5B,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAClC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3D,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,EACD,uBAAuB,CACxB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,wBAAwB,CAAC;oBAExC,MAAM,CAAC,KAAK,CACV;wBACE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;wBAC5C,KAAK;qBACN,EACD,+BAA+B,CAChC,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,IAAI,YAAY,6HAA6H,CACtL,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,UAAsB,EACtB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,12 +1,6 @@
1
1
  import type { ApiService } from '../services/apiService.js';
2
2
  export declare const createToolRegistry: (apiService: ApiService) => {
3
- get_most_urgent_issues: import("fastmcp").Tool<any, import("zod").ZodObject<{
4
- limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
5
- }, "strip", import("zod").ZodTypeAny, {
6
- limit: number;
7
- }, {
8
- limit?: number | undefined;
9
- }>>;
3
+ get_most_urgent_issues: import("fastmcp").Tool<any, import("zod").ZodObject<{}, import("zod").UnknownKeysParam, import("zod").ZodTypeAny, {}, {}>>;
10
4
  get_issue_remediation: import("fastmcp").Tool<any, import("zod").ZodObject<{
11
5
  issueDisplayName: import("zod").ZodString;
12
6
  }, "strip", import("zod").ZodTypeAny, {
@@ -1 +1 @@
1
- {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAAI,YAAY,UAAU;;;;;;;;;;;;;;;;;;;;;;CAIvD,CAAC"}
1
+ {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,kBAAkB,GAAI,YAAY,UAAU;;;;;;;;;;;;;;;;CAIvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accessflow-mcp-server",
3
- "version": "1.5.0-beta.0",
3
+ "version": "1.6.0-beta.2",
4
4
  "type": "module",
5
5
  "description": "AccessFlow MCP Server for accessibility issue remediation",
6
6
  "main": "./dist/index.js",
@@ -50,14 +50,15 @@
50
50
  "@vitest/coverage-v8": "^2.1.8",
51
51
  "eslint": "^9.39.1",
52
52
  "eslint-config-prettier": "^10.1.8",
53
+ "pino-pretty": "^13.1.2",
53
54
  "prettier": "^3.6.2",
54
55
  "ts-node": "^10.9.2",
55
56
  "tsx": "^4.20.6",
56
57
  "typescript": "^5.9.3",
57
- "vitest": "^2.1.8",
58
- "pino-pretty": "^13.1.2"
58
+ "vitest": "^2.1.8"
59
59
  },
60
60
  "dependencies": {
61
+ "ajv": "^8.17.1",
61
62
  "dotenv": "^17.2.3",
62
63
  "fastmcp": "^3.23.0",
63
64
  "pino": "^10.1.0"