accessflow-mcp-server 2.1.0 → 2.1.1-beta.1

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 (50) hide show
  1. package/dist/http-server.js +5 -1
  2. package/dist/http-server.js.map +1 -1
  3. package/dist/index.js +8 -46
  4. package/dist/index.js.map +1 -1
  5. package/dist/server.d.ts +2 -1
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +17 -14
  8. package/dist/server.js.map +1 -1
  9. package/dist/services/apiSchemas.d.ts +768 -1176
  10. package/dist/services/apiSchemas.d.ts.map +1 -1
  11. package/dist/services/apiSchemas.js +20 -1
  12. package/dist/services/apiSchemas.js.map +1 -1
  13. package/dist/services/apiService.d.ts +3 -3
  14. package/dist/services/apiService.d.ts.map +1 -1
  15. package/dist/services/apiService.js +15 -5
  16. package/dist/services/apiService.js.map +1 -1
  17. package/dist/services/loggerService.d.ts.map +1 -1
  18. package/dist/services/loggerService.js +31 -8
  19. package/dist/services/loggerService.js.map +1 -1
  20. package/dist/tools/getIssueRemediation.d.ts +6 -5
  21. package/dist/tools/getIssueRemediation.d.ts.map +1 -1
  22. package/dist/tools/getIssueRemediation.js +36 -18
  23. package/dist/tools/getIssueRemediation.js.map +1 -1
  24. package/dist/tools/getMostUrgentIssues.d.ts +11 -1
  25. package/dist/tools/getMostUrgentIssues.d.ts.map +1 -1
  26. package/dist/tools/getMostUrgentIssues.js +39 -19
  27. package/dist/tools/getMostUrgentIssues.js.map +1 -1
  28. package/dist/tools/index.d.ts +10 -1
  29. package/dist/tools/index.d.ts.map +1 -1
  30. package/dist/tools/index.js +85 -12
  31. package/dist/tools/index.js.map +1 -1
  32. package/dist/tools/resolveIssue.d.ts +1 -5
  33. package/dist/tools/resolveIssue.d.ts.map +1 -1
  34. package/dist/tools/resolveIssue.js +12 -0
  35. package/dist/tools/resolveIssue.js.map +1 -1
  36. package/dist/tools/submitFeedback.d.ts +17 -0
  37. package/dist/tools/submitFeedback.d.ts.map +1 -0
  38. package/dist/tools/submitFeedback.js +73 -0
  39. package/dist/tools/submitFeedback.js.map +1 -0
  40. package/dist/tools/toolRegistry.d.ts +16 -11
  41. package/dist/tools/toolRegistry.d.ts.map +1 -1
  42. package/dist/types/issues.d.ts +7 -1
  43. package/dist/types/issues.d.ts.map +1 -1
  44. package/dist/types/remediation.d.ts +1 -1
  45. package/dist/types/remediation.d.ts.map +1 -1
  46. package/dist/utils/remediation.d.ts +5 -3
  47. package/dist/utils/remediation.d.ts.map +1 -1
  48. package/dist/utils/remediation.js +22 -8
  49. package/dist/utils/remediation.js.map +1 -1
  50. package/package.json +8 -4
@@ -1,20 +1,93 @@
1
1
  import { createToolRegistry } from './toolRegistry.js';
2
2
  import { withCredentialCheck } from '../utils/middleware.js';
3
3
  import { logger } from '../services/loggerService.js';
4
- export const registerTools = (server, apiService) => {
5
- const toolRegistry = createToolRegistry(apiService);
6
- for (const [toolName, tool] of Object.entries(toolRegistry)) {
7
- try {
4
+ import { createGetMostUrgentIssues } from './getMostUrgentIssues.js';
5
+ import { createGetIssueRemediation } from './getIssueRemediation.js';
6
+ import { createResolveIssue } from './resolveIssue.js';
7
+ /**
8
+ * Creates a dynamic tool that creates an ApiService per-request from session data
9
+ */
10
+ function createDynamicTool(factory, config) {
11
+ // Get the base tool definition using a temporary ApiService
12
+ // We only use this to get the tool schema (name, description, parameters)
13
+ const tempApiService = config.createApiService({
14
+ apiKey: 'temp',
15
+ domain: 'temp',
16
+ });
17
+ const baseTool = factory(tempApiService);
18
+ return {
19
+ name: baseTool.name,
20
+ description: baseTool.description || '',
21
+ parameters: baseTool.parameters || {},
22
+ execute: async (args, context) => {
23
+ // Create ApiService from session data for this request
24
+ const session = context.session;
25
+ if (!session?.apiKey || !session?.domain) {
26
+ logger.error({ session }, 'Session data not available or incomplete');
27
+ throw new Error('Session data not available or incomplete');
28
+ }
29
+ logger.debug({ domain: session.domain }, 'Creating ApiService from session for tool execution');
30
+ // Create the actual ApiService with real credentials
31
+ const apiService = config.createApiService(session);
32
+ const tool = factory(apiService);
33
+ // Execute with credentials check
8
34
  const wrappedTool = withCredentialCheck(apiService.domain, apiService.apiKey, tool);
9
- server.addTool(wrappedTool);
35
+ if (!wrappedTool.execute) {
36
+ throw new Error('Tool execute function not available');
37
+ }
38
+ return wrappedTool.execute(args, context);
39
+ },
40
+ };
41
+ }
42
+ export const registerTools = (server, config) => {
43
+ if (config.mode === 'stdio') {
44
+ // stdio mode: Use pre-created ApiService
45
+ const toolRegistry = createToolRegistry(config.apiService);
46
+ for (const [toolName, tool] of Object.entries(toolRegistry)) {
47
+ try {
48
+ const wrappedTool = withCredentialCheck(config.apiService.domain, config.apiService.apiKey, tool);
49
+ server.addTool(wrappedTool);
50
+ }
51
+ catch (error) {
52
+ logger.error({
53
+ toolName,
54
+ error: error instanceof Error ? error.message : 'Unknown error',
55
+ stack: error instanceof Error ? error.stack : undefined,
56
+ }, 'Failed to register tool');
57
+ }
10
58
  }
11
- catch (error) {
12
- logger.error({
13
- toolName,
14
- error: error instanceof Error ? error.message : 'Unknown error',
15
- stack: error instanceof Error ? error.stack : undefined,
16
- }, 'Failed to register tool');
17
- continue;
59
+ }
60
+ else {
61
+ // HTTP mode: Create ApiService per-request from session
62
+ // Get tool factories (already imported at the top)
63
+ const toolFactories = [
64
+ {
65
+ name: 'get_most_urgent_issues',
66
+ factory: createGetMostUrgentIssues,
67
+ },
68
+ {
69
+ name: 'get_issue_remediation',
70
+ factory: createGetIssueRemediation,
71
+ },
72
+ {
73
+ name: 'resolve_issue',
74
+ factory: createResolveIssue,
75
+ },
76
+ ];
77
+ // Register each tool with dynamic execute wrapper
78
+ for (const { name, factory } of toolFactories) {
79
+ try {
80
+ const dynamicTool = createDynamicTool(factory, config);
81
+ server.addTool(dynamicTool);
82
+ logger.info({ toolName: name }, 'Registered HTTP mode tool');
83
+ }
84
+ catch (error) {
85
+ logger.error({
86
+ toolName: name,
87
+ error: error instanceof Error ? error.message : 'Unknown error',
88
+ stack: error instanceof Error ? error.stack : undefined,
89
+ }, 'Failed to register HTTP mode tool');
90
+ }
18
91
  }
19
92
  }
20
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,UAAsB,EAAE,EAAE;IACvE,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEpD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,mBAAmB,CACrC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,MAAM,EACjB,IAAI,CACL,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,WAAwC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV;gBACE,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,EACD,yBAAyB,CAC1B,CAAC;YAEF,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,7 @@ import { z } from 'zod';
3
3
  import { ApiService } from '../services/apiService.js';
4
4
  declare const parameters: z.ZodObject<{
5
5
  issueDisplayName: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
7
- issueDisplayName: string;
8
- }, {
9
- issueDisplayName: string;
10
- }>;
6
+ }, z.core.$strip>;
11
7
  /**
12
8
  * Creates the resolveIssue tool for FastMCP
13
9
  */
@@ -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,CA2E7B,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;;iBAOd,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CAkG7B,CAAC"}
@@ -18,14 +18,26 @@ export const createResolveIssue = (apiService) => {
18
18
  execute: async (args, context) => {
19
19
  const typedArgs = parameters.parse(args);
20
20
  try {
21
+ logger.info({
22
+ domain: apiService.domain,
23
+ issueDisplayName: typedArgs.issueDisplayName,
24
+ }, 'resolveIssue started');
21
25
  const result = await resolveIssueInAccessFlow(apiService, typedArgs.issueDisplayName);
22
26
  if (!result) {
27
+ logger.info({
28
+ domain: apiService.domain,
29
+ issueDisplayName: typedArgs.issueDisplayName,
30
+ }, 'resolveIssue: issue not found');
23
31
  return `**Issue Not Found**
24
32
 
25
33
  No accessibility issue found with display name: ${typedArgs.issueDisplayName}
26
34
 
27
35
  Please verify the issue display name and try again.`;
28
36
  }
37
+ logger.info({
38
+ domain: apiService.domain,
39
+ issueDisplayName: typedArgs.issueDisplayName,
40
+ }, 'resolveIssue completed');
29
41
  return `**Issue Resolved Successfully**
30
42
 
31
43
  The accessibility issue "${typedArgs.issueDisplayName}" has been marked as resolved in accessFlow.
@@ -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;;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
+ {"version":3,"file":"resolveIssue.js","sourceRoot":"","sources":["../../src/tools/resolveIssue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Tool } from 'fastmcp';
2
+ import { z } from 'zod';
3
+ import { ApiService } from '../services/apiService.js';
4
+ declare const parameters: z.ZodObject<{
5
+ feedbackRating: z.ZodOptional<z.ZodEnum<{
6
+ very_helpful: "very_helpful";
7
+ partially_helpful: "partially_helpful";
8
+ not_helpful: "not_helpful";
9
+ }>>;
10
+ suggestion: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ /**
13
+ * Creates the submitFeedback tool for FastMCP
14
+ */
15
+ export declare const createSubmitFeedback: (apiService: ApiService) => Tool<any, typeof parameters>;
16
+ export {};
17
+ //# sourceMappingURL=submitFeedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitFeedback.d.ts","sourceRoot":"","sources":["../../src/tools/submitFeedback.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;AAIjE,QAAA,MAAM,UAAU;;;;;;;iBAQd,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CAsF7B,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+ import { ApiService, ApiError } from '../services/apiService.js';
3
+ import { logger } from '../services/loggerService.js';
4
+ import { FeedbackRating } from '../services/apiSchemas.js';
5
+ const parameters = z.object({
6
+ feedbackRating: FeedbackRating.optional().describe('Rating of the response helpfulness: very_helpful, partially_helpful, or not_helpful'),
7
+ suggestion: z
8
+ .string()
9
+ .optional()
10
+ .describe('Optional suggestion for improvement'),
11
+ });
12
+ /**
13
+ * Creates the submitFeedback tool for FastMCP
14
+ */
15
+ export const createSubmitFeedback = (apiService) => {
16
+ return {
17
+ name: 'submitFeedback',
18
+ description: 'Submit user feedback for MCP responses. Use this after receiving any MCP tool response to provide feedback on its helpfulness. Feedback is optional and helps improve the MCP experience.',
19
+ parameters,
20
+ execute: async (args, context) => {
21
+ const typedArgs = parameters.parse(args);
22
+ if (!typedArgs.feedbackRating && !typedArgs.suggestion) {
23
+ throw new Error('Please provide either a feedback rating or a suggestion.');
24
+ }
25
+ try {
26
+ logger.info({
27
+ domain: apiService.domain,
28
+ feedbackRating: typedArgs.feedbackRating,
29
+ hasSuggestion: !!typedArgs.suggestion,
30
+ }, 'submitFeedback started');
31
+ // Validate and submit feedback
32
+ const response = await apiService.submitFeedback(typedArgs.feedbackRating, typedArgs.suggestion);
33
+ logger.info({
34
+ domain: apiService.domain,
35
+ success: response.success,
36
+ }, 'submitFeedback completed');
37
+ return JSON.stringify({
38
+ success: true,
39
+ message: 'Thank you for your feedback! Your input helps us improve the MCP experience.',
40
+ feedbackRating: typedArgs.feedbackRating,
41
+ ...(typedArgs.suggestion && { suggestion: typedArgs.suggestion }),
42
+ }, null, 2);
43
+ }
44
+ catch (error) {
45
+ let errorMessage;
46
+ let errorDetails = '';
47
+ if (error instanceof ApiError) {
48
+ errorMessage = error.message;
49
+ errorDetails = ` Status: ${error.statusCode} ${error.statusText}.`;
50
+ logger.error({
51
+ message: error.message,
52
+ statusCode: error.statusCode,
53
+ statusText: error.statusText,
54
+ }, 'Error in submitFeedback');
55
+ }
56
+ else if (error instanceof Error) {
57
+ errorMessage = error.message;
58
+ errorDetails = error.stack ? ` Stack: ${error.stack}` : '';
59
+ logger.error({
60
+ message: error.message,
61
+ stack: error.stack,
62
+ }, 'Error in submitFeedback');
63
+ }
64
+ else {
65
+ errorMessage = 'Unknown error occurred';
66
+ logger.error({ error }, 'Unknown error in submitFeedback');
67
+ }
68
+ throw new Error(`Failed to submit feedback: ${errorMessage}.${errorDetails} This may be due to a network issue or server error.`);
69
+ }
70
+ },
71
+ };
72
+ };
73
+ //# sourceMappingURL=submitFeedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitFeedback.js","sourceRoot":"","sources":["../../src/tools/submitFeedback.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,24 @@
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<{}, import("zod").UnknownKeysParam, import("zod").ZodTypeAny, {}, {}>>;
3
+ get_most_urgent_issues: import("fastmcp").Tool<any, import("zod").ZodObject<{
4
+ auditSource: import("zod").ZodDefault<import("zod").ZodEnum<{
5
+ PLATFORM: "PLATFORM";
6
+ SDK: "SDK";
7
+ }>>;
8
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
9
+ commitId: import("zod").ZodOptional<import("zod").ZodString>;
10
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
11
+ }, import("zod/v4/core").$strip>>;
4
12
  get_issue_remediation: import("fastmcp").Tool<any, import("zod").ZodObject<{
13
+ auditSource: import("zod").ZodDefault<import("zod").ZodEnum<{
14
+ PLATFORM: "PLATFORM";
15
+ SDK: "SDK";
16
+ }>>;
17
+ commitId: import("zod").ZodOptional<import("zod").ZodString>;
5
18
  issueDisplayName: import("zod").ZodString;
6
- }, "strip", import("zod").ZodTypeAny, {
7
- issueDisplayName: string;
8
- }, {
9
- issueDisplayName: string;
10
- }>>;
19
+ }, import("zod/v4/core").$strip>>;
11
20
  resolve_issue: import("fastmcp").Tool<any, import("zod").ZodObject<{
12
21
  issueDisplayName: import("zod").ZodString;
13
- }, "strip", import("zod").ZodTypeAny, {
14
- issueDisplayName: string;
15
- }, {
16
- issueDisplayName: string;
17
- }>>;
22
+ }, import("zod/v4/core").$strip>>;
18
23
  };
19
24
  //# sourceMappingURL=toolRegistry.d.ts.map
@@ -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"}
@@ -2,7 +2,7 @@
2
2
  * Output type definitions for formatted responses
3
3
  * (Input types are inferred from Zod schemas in apiSchemas.ts)
4
4
  */
5
- export type { Severity, WCAGLevelType as WCAGLevel, ApiIssue, ApiUrgentIssuesResponse, ApiIssueRemediation, } from '../services/apiSchemas.js';
5
+ export type { Severity, WCAGLevelType as WCAGLevel, ApiIssue, ApiAuditIssue, ApiSdkIssueContext, AuditSourceType, ApiUrgentIssuesResponse, ApiIssueRemediation, } from '../services/apiSchemas.js';
6
6
  /**
7
7
  * Formatted issue for display (output type - created by our code)
8
8
  */
@@ -14,6 +14,12 @@ export interface FormattedIssue {
14
14
  criteria: string;
15
15
  siteOccurrences: number;
16
16
  pageOccurrences: number;
17
+ sdkContext?: {
18
+ filePath: string | null;
19
+ lineNumber: number | null;
20
+ componentName: string | null;
21
+ snippet: string | null;
22
+ } | null;
17
23
  }
18
24
  /**
19
25
  * Response structure for urgent issues (output type - created by our code)
@@ -1 +1 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/types/issues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,QAAQ,EACR,aAAa,IAAI,SAAS,EAC1B,QAAQ,EACR,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH"}
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/types/issues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,QAAQ,EACR,aAAa,IAAI,SAAS,EAC1B,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,GAAG,IAAI,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH"}
@@ -2,5 +2,5 @@
2
2
  * Type definitions for issue remediation
3
3
  * (All types are inferred from Zod schemas in apiSchemas.ts)
4
4
  */
5
- export type { ApiIssueRemediation, ApiRule, } from '../services/apiSchemas.js';
5
+ export type { ApiIssueRemediation, ApiAuditIssueRemediation, ApiSdkIssueContext, AuditSourceType, ApiRule, } from '../services/apiSchemas.js';
6
6
  //# sourceMappingURL=remediation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remediation.d.ts","sourceRoot":"","sources":["../../src/types/remediation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,mBAAmB,EACnB,OAAO,GACR,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"remediation.d.ts","sourceRoot":"","sources":["../../src/types/remediation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,OAAO,GACR,MAAM,2BAA2B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Utility functions for formatting remediation responses
3
3
  */
4
- import type { ApiIssueRemediation } from '../types/remediation.js';
4
+ import type { ApiAuditIssueRemediation } from '../types/remediation.js';
5
5
  /**
6
6
  * Extracts date from various formats
7
7
  */
@@ -13,7 +13,9 @@ export declare function extractDate(date?: {
13
13
  */
14
14
  export declare function extractCodeBlocks(htmlResolution: string): string[];
15
15
  /**
16
- * Formats the remediation response as markdown
16
+ * Formats the remediation response as markdown.
17
+ * When the issue carries sdkContext, a code-location section is prepended
18
+ * so the developer can find the finding in their editor immediately.
17
19
  */
18
- export declare function formatRemediationResponse(issue: ApiIssueRemediation): string;
20
+ export declare function formatRemediationResponse(issue: ApiAuditIssueRemediation): string;
19
21
  //# sourceMappingURL=remediation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remediation.d.ts","sourceRoot":"","sources":["../../src/utils/remediation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAclE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAsG5E"}
1
+ {"version":3,"file":"remediation.d.ts","sourceRoot":"","sources":["../../src/utils/remediation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAW,MAAM,yBAAyB,CAAC;AAEjF;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAclE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAoHjF"}
@@ -33,7 +33,9 @@ export function extractCodeBlocks(htmlResolution) {
33
33
  });
34
34
  }
35
35
  /**
36
- * Formats the remediation response as markdown
36
+ * Formats the remediation response as markdown.
37
+ * When the issue carries sdkContext, a code-location section is prepended
38
+ * so the developer can find the finding in their editor immediately.
37
39
  */
38
40
  export function formatRemediationResponse(issue) {
39
41
  const { rule } = issue;
@@ -45,17 +47,30 @@ export function formatRemediationResponse(issue) {
45
47
  const severity = issue.severity?.toUpperCase() || 'Unknown';
46
48
  const criteria = issue.criteria || 'Unknown';
47
49
  const wcagLink = rule?.issueWCAGLink || '';
48
- // 3. Code-level fix suggestions
50
+ // 3. SDK code-location context (only present for SDK audits)
51
+ let sdkSection = '';
52
+ const sdk = issue.sdkContext;
53
+ if (sdk && (sdk.filePath || sdk.componentName || sdk.lineNumber !== null)) {
54
+ sdkSection = '\n## Code Location\n\n';
55
+ if (sdk.filePath) {
56
+ sdkSection += `- **File:** \`${sdk.filePath}\`${sdk.lineNumber !== null ? `:${sdk.lineNumber}` : ''}\n`;
57
+ }
58
+ if (sdk.componentName) {
59
+ sdkSection += `- **Component:** \`${sdk.componentName}\`\n`;
60
+ }
61
+ if (sdk.snippet) {
62
+ sdkSection += `\n**Relevant code:**\n\`\`\`\n${sdk.snippet}\n\`\`\`\n`;
63
+ }
64
+ }
65
+ // 4. Code-level fix suggestions
49
66
  let codeFix = '\n## Code-Level Fix\n\n';
50
67
  if (rule) {
51
68
  codeFix += rule.shortDescription
52
69
  ? `**Solution:** ${rule.shortDescription}\n\n`
53
70
  : '';
54
- // Show the current problematic code
55
71
  if (issue.HTML) {
56
72
  codeFix += '**Current code:**\n```html\n' + issue.HTML + '\n```\n\n';
57
73
  }
58
- // Extract code examples from the HTML resolution if available
59
74
  if (rule.issueResolution) {
60
75
  const codeBlocks = extractCodeBlocks(rule.issueResolution);
61
76
  if (codeBlocks.length > 0) {
@@ -64,7 +79,6 @@ export function formatRemediationResponse(issue) {
64
79
  });
65
80
  }
66
81
  }
67
- // Add suggested fix details if available
68
82
  if (rule.suggestedFix && rule.suggestedFix.length > 0) {
69
83
  codeFix += '**Quick Fix Suggestions:**\n';
70
84
  rule.suggestedFix.forEach((fix, index) => {
@@ -82,7 +96,7 @@ export function formatRemediationResponse(issue) {
82
96
  else {
83
97
  codeFix += 'No specific rule found for this issue.\n\n';
84
98
  }
85
- // 4. Links back to remediation panel
99
+ // 5. Additional resources
86
100
  const issueDate = extractDate(issue.date ||
87
101
  issue.modified);
88
102
  const confidence = issue.confidence ?? 0;
@@ -90,7 +104,7 @@ export function formatRemediationResponse(issue) {
90
104
  const siteOccurrences = issue.siteOccurrences ?? 0;
91
105
  const webpath = issue.webpage?.webpath || 'N/A';
92
106
  const webpages = issue.webpages || [];
93
- const selector = issue.selector || 'N/A';
107
+ const selector = issue.selector || sdk?.filePath || 'N/A';
94
108
  const remediationLinks = `
95
109
  ## 📚 Additional Resources
96
110
 
@@ -113,7 +127,7 @@ ${selector !== 'N/A' ? `- **The Selector for the issue is: ${selector}.` : ''}
113
127
  - **Severity:** ${severity}
114
128
  - **WCAG Level:** ${wcagLevel}
115
129
  - **Criteria:** ${criteria}
116
-
130
+ ${sdkSection}
117
131
  ${codeFix}
118
132
 
119
133
  ${remediationLinks}
@@ -1 +1 @@
1
- {"version":3,"file":"remediation.js","sourceRoot":"","sources":["../../src/utils/remediation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remediation.js","sourceRoot":"","sources":["../../src/utils/remediation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAA0C;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,MAAM,UAAU,GACd,cAAc,CAAC,KAAK,CAAC,6CAA6C,CAAC,IAAI,EAAE,CAAC;IAE5E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,KAAK;aACT,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;aACtB,IAAI,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA+B;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,kCAAkC;IAClC,MAAM,OAAO,GACX,IAAI,EAAE,gBAAgB;QACtB,iCAAiC,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvD,+BAA+B;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC;IAE3C,6DAA6D;IAC7D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,UAAU,GAAG,wBAAwB,CAAC;QACtC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,UAAU,IAAI,iBAAiB,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1G,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,UAAU,IAAI,sBAAsB,GAAG,CAAC,aAAa,MAAM,CAAC;QAC9D,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,UAAU,IAAI,iCAAiC,GAAG,CAAC,OAAO,YAAY,CAAC;QACzE,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,GAAG,yBAAyB,CAAC;IAExC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,IAAI,CAAC,gBAAgB;YAC9B,CAAC,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,MAAM;YAC9C,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,8BAA8B,GAAG,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;oBACtD,OAAO,IAAI,mBAAmB,KAAK,GAAG,CAAC,oBAAoB,SAAS,cAAc,CAAC;gBACrF,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,8BAA8B,CAAC;YACzC,IAAgB,CAAC,YAAY,CAAC,OAAO,CACpC,CACE,GAAqF,EACrF,KAAa,EACb,EAAE;gBACF,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,gBAAgB,IAAI,KAAK,MAAM,CAAC;gBAClE,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;oBACxB,OAAO,IAAI,mBAAmB,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,iBAAiB,OAAO,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,GAAG,GAAG,CAAC,iBAAiB,IAAI,KAAK,IAAI,CAAC;gBACnD,CAAC;YACH,CAAC,CACF,CAAC;YACF,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,4CAA4C,CAAC;IAC1D,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,WAAW,CAC1B,KAAwD,CAAC,IAAI;QAC5D,KAAK,CAAC,QAAQ,CACjB,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC;IAE1D,MAAM,gBAAgB,GAAG;;;wBAIvB,QAAQ;QACN,CAAC,CAAC,IAAI,SAAS,MAAM,QAAQ,KAAK,QAAQ,GAAG;QAC7C,CAAC,CAAC,GAAG,SAAS,MAAM,QAAQ,EAChC;kBACgB,IAAI,EAAE,iBAAiB,IAAI,uCAAuC;EAClF,eAAe,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,eAAe,4CAA4C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;EAEhN,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,WAAW,6BAA6B,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;;EAE7F,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE;;;gBAG7D,KAAK,CAAC,WAAW,oBAAoB,SAAS,CAAC,kBAAkB,EAAE,sBAAsB,UAAU,GAAG,CAAC;IAErH,OAAO,KAAK,OAAO;;;;kBAIH,QAAQ;oBACN,SAAS;kBACX,QAAQ;EACxB,UAAU;EACV,OAAO;;EAEP,gBAAgB;;gHAE8F,CAAC;AACjH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accessflow-mcp-server",
3
- "version": "2.1.0",
3
+ "version": "2.1.1-beta.1",
4
4
  "type": "module",
5
5
  "description": "AccessFlow MCP Server for accessibility issue remediation",
6
6
  "main": "./dist/index.js",
@@ -13,7 +13,8 @@
13
13
  }
14
14
  },
15
15
  "bin": {
16
- "accessflow-mcp-server": "./dist/index.js"
16
+ "accessflow-mcp-server": "./dist/index.js",
17
+ "accessflow-mcp-http": "./dist/http-server.js"
17
18
  },
18
19
  "files": [
19
20
  "dist",
@@ -21,12 +22,14 @@
21
22
  "LICENSE"
22
23
  ],
23
24
  "engines": {
24
- "node": ">=18.0.0"
25
+ "node": ">=20.0.0"
25
26
  },
26
27
  "scripts": {
27
28
  "dev": "tsx src/index.ts",
28
- "build": "tsc && rm -rf dist/data && cp -r src/data dist/data 2>/dev/null || true && rm -rf dist/**/__tests__ dist/**/*.test.js dist/**/*.test.d.ts dist/**/*.test.js.map dist/**/*.test.d.ts.map 2>/dev/null || true && chmod +x dist/index.js",
29
+ "dev:http": "tsx src/http-server.ts",
30
+ "build": "bash scripts/build.sh",
29
31
  "start": "node dist/index.js",
32
+ "start:http": "node dist/http-server.js",
30
33
  "prepublishOnly": "npm run build",
31
34
  "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
32
35
  "test": "vitest run",
@@ -48,6 +51,7 @@
48
51
  "@typescript-eslint/eslint-plugin": "^8.46.4",
49
52
  "@typescript-eslint/parser": "^8.46.4",
50
53
  "@vitest/coverage-v8": "^2.1.8",
54
+ "conventional-changelog-conventionalcommits": "^9.1.0",
51
55
  "eslint": "^9.39.1",
52
56
  "eslint-config-prettier": "^10.1.8",
53
57
  "pino-pretty": "^13.1.2",