accessflow-mcp-server 2.2.2 → 2.3.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/README.md +0 -18
- package/dist/http-server.js +1 -1
- package/dist/http-server.js.map +1 -1
- package/dist/services/rulesService.d.ts +10 -0
- package/dist/services/rulesService.d.ts.map +1 -0
- package/dist/services/rulesService.js +70 -0
- package/dist/services/rulesService.js.map +1 -0
- package/dist/tools/submitFeedback.d.ts +22 -0
- package/dist/tools/submitFeedback.d.ts.map +1 -0
- package/dist/tools/submitFeedback.js +61 -0
- package/dist/tools/submitFeedback.js.map +1 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +14 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -78,24 +78,6 @@ Add the following configuration to your MCP client (e.g., VS Code Copilot Agent)
|
|
|
78
78
|
|
|
79
79
|
- **`API_KEY`** (required): Your accessFlow API key for authentication
|
|
80
80
|
- **`DOMAIN`** (required): The domain of your application being analyzed (e.g., `example.com` - without protocol)
|
|
81
|
-
- **`ENVIRONMENT`** (optional): API environment URL (defaults to `https://accessflow.accessibe.com`)
|
|
82
|
-
|
|
83
|
-
#### Environment Setup
|
|
84
|
-
|
|
85
|
-
For local development, create a `.env` file in the project root:
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
# Required: Your domain name (without protocol)
|
|
89
|
-
DOMAIN=your-domain.com
|
|
90
|
-
|
|
91
|
-
# Required: Your accessFlow API key
|
|
92
|
-
API_KEY=your-api-key-here
|
|
93
|
-
|
|
94
|
-
# Optional: Environment URL (defaults to production)
|
|
95
|
-
ENVIRONMENT=https://accessflow.accessibe.com
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Important**: Replace `your-domain.com` and `your-api-key-here` with your actual values before running the server.
|
|
99
81
|
|
|
100
82
|
### 3. Example Usage
|
|
101
83
|
|
package/dist/http-server.js
CHANGED
|
@@ -30,7 +30,7 @@ async function startServer() {
|
|
|
30
30
|
process.exit(0);
|
|
31
31
|
});
|
|
32
32
|
console.log('Initializing server...');
|
|
33
|
-
// Start server with HTTP transport
|
|
33
|
+
// Start server with HTTP transport.
|
|
34
34
|
await server.init();
|
|
35
35
|
logger.info(`HTTP server is running at http://${transportConfig.host}:${port}/mcp`);
|
|
36
36
|
console.log(`HTTP server is running at http://${transportConfig.host}:${port}/mcp`);
|
package/dist/http-server.js.map
CHANGED
|
@@ -1 +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,IAAI,EAAE,SAAS,EAAE,mCAAmC;YACpD,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,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ApiRule } from '../types/remediation.js';
|
|
2
|
+
/**
|
|
3
|
+
* Finds a rule by its ID (handles various ID formats)
|
|
4
|
+
*/
|
|
5
|
+
export declare function findRuleById(ruleId: string | null | undefined): ApiRule | null;
|
|
6
|
+
/**
|
|
7
|
+
* Gets all rules (useful for debugging or other purposes)
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAllRules(): ApiRule[];
|
|
10
|
+
//# sourceMappingURL=rulesService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rulesService.d.ts","sourceRoot":"","sources":["../../src/services/rulesService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAmCvD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,GAAG,IAAI,CAchB;AA6BD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAEvC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import { dirname, join } from 'path';
|
|
4
|
+
import { logger } from './loggerService.js';
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = dirname(__filename);
|
|
7
|
+
let rulesCache = null;
|
|
8
|
+
/**
|
|
9
|
+
* Loads rules from the JSON file
|
|
10
|
+
*/
|
|
11
|
+
function loadRules() {
|
|
12
|
+
if (rulesCache) {
|
|
13
|
+
return rulesCache;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const rulesPath = join(__dirname, '../data/rules.json');
|
|
17
|
+
const rulesData = readFileSync(rulesPath, 'utf-8');
|
|
18
|
+
rulesCache = JSON.parse(rulesData);
|
|
19
|
+
return rulesCache;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
logger.error({
|
|
23
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
24
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
25
|
+
}, 'Failed to load rules from file');
|
|
26
|
+
// Return empty array as fallback
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Finds a rule by its ID (handles various ID formats)
|
|
32
|
+
*/
|
|
33
|
+
export function findRuleById(ruleId) {
|
|
34
|
+
if (!ruleId) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const rules = loadRules();
|
|
38
|
+
const normalizedRuleId = normalizeRuleId(ruleId);
|
|
39
|
+
return (rules.find((rule) => {
|
|
40
|
+
const ruleIdStr = normalizeRuleId(rule._id);
|
|
41
|
+
return ruleIdStr === normalizedRuleId;
|
|
42
|
+
}) || null);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Normalizes rule ID from various formats to a string
|
|
46
|
+
*/
|
|
47
|
+
function normalizeRuleId(id) {
|
|
48
|
+
if (!id) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
if (typeof id === 'string') {
|
|
52
|
+
return id;
|
|
53
|
+
}
|
|
54
|
+
if (typeof id === 'object') {
|
|
55
|
+
if ('$oid' in id) {
|
|
56
|
+
return id.$oid;
|
|
57
|
+
}
|
|
58
|
+
if ('toString' in id && typeof id.toString === 'function') {
|
|
59
|
+
return id.toString();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Gets all rules (useful for debugging or other purposes)
|
|
66
|
+
*/
|
|
67
|
+
export function getAllRules() {
|
|
68
|
+
return loadRules();
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=rulesService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rulesService.js","sourceRoot":"","sources":["../../src/services/rulesService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,IAAI,UAAU,GAAqB,IAAI,CAAC;AAExC;;GAEG;AACH,SAAS,SAAS;IAChB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAc,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,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,gCAAgC,CACjC,CAAC;QAEF,iCAAiC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAiC;IAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,SAAS,KAAK,gBAAgB,CAAC;IACxC,CAAC,CAAC,IAAI,IAAI,CACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,EAA2D;IAE3D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,UAAU,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
toolUsed: z.ZodString;
|
|
6
|
+
rating: z.ZodNumber;
|
|
7
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
toolUsed: string;
|
|
10
|
+
rating: number;
|
|
11
|
+
sessionId?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
toolUsed: string;
|
|
14
|
+
rating: number;
|
|
15
|
+
sessionId?: string | undefined;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Creates the submitFeedback tool for FastMCP
|
|
19
|
+
*/
|
|
20
|
+
export declare const createSubmitFeedback: (apiService: ApiService) => Tool<any, typeof parameters>;
|
|
21
|
+
export {};
|
|
22
|
+
//# 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,EAAE,MAAM,2BAA2B,CAAC;AAGvD,QAAA,MAAM,UAAU;;;;;;;;;;;;EAUd,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,KACrB,IAAI,CAAC,GAAG,EAAE,OAAO,UAAU,CAwD7B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiService } from '../services/apiService.js';
|
|
3
|
+
import { logger } from '../services/loggerService.js';
|
|
4
|
+
const parameters = z.object({
|
|
5
|
+
toolUsed: z
|
|
6
|
+
.string()
|
|
7
|
+
.describe('The tool that was used (e.g., getMostUrgentIssues)'),
|
|
8
|
+
rating: z
|
|
9
|
+
.number()
|
|
10
|
+
.min(1)
|
|
11
|
+
.max(4)
|
|
12
|
+
.describe('User rating: 1=Very helpful, 2=Somewhat helpful, 3=Not helpful, 4=Buggy/incorrect'),
|
|
13
|
+
sessionId: z.string().optional().describe('Optional session identifier'),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Creates the submitFeedback tool for FastMCP
|
|
17
|
+
*/
|
|
18
|
+
export const createSubmitFeedback = (apiService) => {
|
|
19
|
+
return {
|
|
20
|
+
name: 'submitFeedback',
|
|
21
|
+
description: 'Submit user feedback about their experience using flow-mcp tools',
|
|
22
|
+
parameters,
|
|
23
|
+
execute: async (args, context) => {
|
|
24
|
+
const typedArgs = parameters.parse(args);
|
|
25
|
+
try {
|
|
26
|
+
const ratingLabels = {
|
|
27
|
+
1: 'Very helpful',
|
|
28
|
+
2: 'Somewhat helpful',
|
|
29
|
+
3: 'Not helpful',
|
|
30
|
+
4: 'Buggy/incorrect',
|
|
31
|
+
};
|
|
32
|
+
const ratingEmojis = {
|
|
33
|
+
1: '⭐⭐⭐⭐',
|
|
34
|
+
2: '⭐⭐⭐',
|
|
35
|
+
3: '⭐',
|
|
36
|
+
4: '🐛',
|
|
37
|
+
};
|
|
38
|
+
logger.info({
|
|
39
|
+
domain: apiService.domain,
|
|
40
|
+
toolUsed: typedArgs.toolUsed,
|
|
41
|
+
rating: typedArgs.rating,
|
|
42
|
+
ratingLabel: ratingLabels[typedArgs.rating],
|
|
43
|
+
sessionId: typedArgs.sessionId,
|
|
44
|
+
}, 'Feedback submitted');
|
|
45
|
+
// For now, just log the feedback
|
|
46
|
+
// Later you can send this to your analytics backend
|
|
47
|
+
const emoji = ratingEmojis[typedArgs.rating];
|
|
48
|
+
const label = ratingLabels[typedArgs.rating];
|
|
49
|
+
return `Thank you for your feedback! ${emoji}\n\nYou rated "${typedArgs.toolUsed}" as: ${label}\n\nYour feedback has been recorded and will help us improve accessFlow MCP.`;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
logger.error({
|
|
53
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
54
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
55
|
+
}, 'Error in submitFeedback');
|
|
56
|
+
throw new Error(`Failed to submit feedback: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=submitFeedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitFeedback.js","sourceRoot":"","sources":["../../src/tools/submitFeedback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,oDAAoD,CAAC;IACjE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mFAAmF,CAAC;IAChG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACzE,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAsB,EACQ,EAAE;IAChC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,kEAAkE;QACpE,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,YAAY,GAAG;oBACnB,CAAC,EAAE,cAAc;oBACjB,CAAC,EAAE,kBAAkB;oBACrB,CAAC,EAAE,aAAa;oBAChB,CAAC,EAAE,iBAAiB;iBACrB,CAAC;gBAEF,MAAM,YAAY,GAAG;oBACnB,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,KAAK;oBACR,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE,IAAI;iBACR,CAAC;gBAEF,MAAM,CAAC,IAAI,CACT;oBACE,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,MAAmC,CAAC;oBACxE,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,EACD,oBAAoB,CACrB,CAAC;gBAEF,iCAAiC;gBACjC,oDAAoD;gBACpD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAmC,CAAC,CAAC;gBAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAmC,CAAC,CAAC;gBAE1E,OAAO,gCAAgC,KAAK,kBAAkB,SAAS,CAAC,QAAQ,SAAS,KAAK,8EAA8E,CAAC;YAC/K,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV;oBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;oBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACxD,EACD,yBAAyB,CAC1B,CAAC;gBAEF,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,MAiB/C,CAAC"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const sanitizeDomain = (domain) => {
|
|
2
|
+
if (!domain)
|
|
3
|
+
return '';
|
|
4
|
+
domain = domain.trim();
|
|
5
|
+
domain = domain.replace(/^https?:\/\//, '');
|
|
6
|
+
domain = domain.replace(/^www\./, '');
|
|
7
|
+
const slashIndex = domain.indexOf('/');
|
|
8
|
+
if (slashIndex !== -1) {
|
|
9
|
+
domain = domain.slice(0, slashIndex);
|
|
10
|
+
}
|
|
11
|
+
domain = domain.replace(/\.+$/, '');
|
|
12
|
+
return domain;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAU,EAAE;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAEvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|