@browserstack/mcp-server 1.0.15 → 1.1.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/dist/config.js +6 -2
- package/dist/index.js +34 -29
- package/dist/lib/api.js +9 -3
- package/dist/lib/constants.js +6 -3
- package/dist/lib/device-cache.js +21 -14
- package/dist/lib/error.js +6 -3
- package/dist/lib/fuzzy.js +4 -1
- package/dist/lib/inmemory-store.js +4 -1
- package/dist/lib/instrumentation.js +18 -12
- package/dist/lib/local.js +35 -27
- package/dist/lib/utils.js +15 -6
- package/dist/logger.js +6 -4
- package/dist/tools/accessibility.js +16 -13
- package/dist/tools/accessiblity-utils/report-fetcher.js +14 -7
- package/dist/tools/accessiblity-utils/report-parser.js +11 -5
- package/dist/tools/accessiblity-utils/scanner.js +16 -9
- package/dist/tools/appautomate-utils/appautomate.js +27 -17
- package/dist/tools/appautomate.js +35 -29
- package/dist/tools/applive-utils/fuzzy-search.js +6 -3
- package/dist/tools/applive-utils/start-session.js +20 -14
- package/dist/tools/applive-utils/upload-app.js +51 -12
- package/dist/tools/applive.js +25 -18
- package/dist/tools/automate-utils/fetch-screenshots.js +14 -8
- package/dist/tools/automate.js +21 -14
- package/dist/tools/bstack-sdk.js +18 -14
- package/dist/tools/failurelogs-utils/app-automate.js +26 -15
- package/dist/tools/failurelogs-utils/automate.js +23 -13
- package/dist/tools/getFailureLogs.js +49 -42
- package/dist/tools/live-utils/desktop-filter.js +11 -8
- package/dist/tools/live-utils/mobile-filter.js +10 -7
- package/dist/tools/live-utils/start-session.js +23 -17
- package/dist/tools/live-utils/types.js +5 -2
- package/dist/tools/live-utils/version-resolver.js +4 -1
- package/dist/tools/live.js +29 -23
- package/dist/tools/observability.js +19 -12
- package/dist/tools/sdk-utils/constants.js +9 -3
- package/dist/tools/sdk-utils/instructions.js +9 -4
- package/dist/tools/sdk-utils/types.js +2 -1
- package/dist/tools/testmanagement-utils/TCG-utils/api.js +38 -26
- package/dist/tools/testmanagement-utils/TCG-utils/config.js +10 -5
- package/dist/tools/testmanagement-utils/TCG-utils/helpers.js +8 -3
- package/dist/tools/testmanagement-utils/TCG-utils/types.js +8 -5
- package/dist/tools/testmanagement-utils/add-test-result.js +24 -17
- package/dist/tools/testmanagement-utils/create-project-folder.js +28 -21
- package/dist/tools/testmanagement-utils/create-testcase.js +38 -30
- package/dist/tools/testmanagement-utils/create-testrun.js +30 -23
- package/dist/tools/testmanagement-utils/list-testcases.js +22 -15
- package/dist/tools/testmanagement-utils/list-testruns.js +19 -12
- package/dist/tools/testmanagement-utils/testcase-from-file.js +22 -16
- package/dist/tools/testmanagement-utils/update-testrun.js +22 -15
- package/dist/tools/testmanagement-utils/upload-file.js +29 -22
- package/dist/tools/testmanagement.js +76 -61
- package/package.json +1 -1
|
@@ -1,28 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createProjectOrFolderTool = createProjectOrFolderTool;
|
|
7
|
+
exports.createTestCaseTool = createTestCaseTool;
|
|
8
|
+
exports.listTestCasesTool = listTestCasesTool;
|
|
9
|
+
exports.createTestRunTool = createTestRunTool;
|
|
10
|
+
exports.listTestRunsTool = listTestRunsTool;
|
|
11
|
+
exports.updateTestRunTool = updateTestRunTool;
|
|
12
|
+
exports.addTestResultTool = addTestResultTool;
|
|
13
|
+
exports.uploadProductRequirementFileTool = uploadProductRequirementFileTool;
|
|
14
|
+
exports.createTestCasesFromFileTool = createTestCasesFromFileTool;
|
|
15
|
+
exports.default = addTestManagementTools;
|
|
16
|
+
const instrumentation_js_1 = require("../lib/instrumentation.js");
|
|
17
|
+
const logger_js_1 = __importDefault(require("../logger.js"));
|
|
18
|
+
const create_project_folder_js_1 = require("./testmanagement-utils/create-project-folder.js");
|
|
19
|
+
const create_testcase_js_1 = require("./testmanagement-utils/create-testcase.js");
|
|
5
20
|
let serverInstance;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
21
|
+
const list_testcases_js_1 = require("./testmanagement-utils/list-testcases.js");
|
|
22
|
+
const create_testrun_js_1 = require("./testmanagement-utils/create-testrun.js");
|
|
23
|
+
const list_testruns_js_1 = require("./testmanagement-utils/list-testruns.js");
|
|
24
|
+
const update_testrun_js_1 = require("./testmanagement-utils/update-testrun.js");
|
|
25
|
+
const add_test_result_js_1 = require("./testmanagement-utils/add-test-result.js");
|
|
26
|
+
const upload_file_js_1 = require("./testmanagement-utils/upload-file.js");
|
|
27
|
+
const testcase_from_file_js_1 = require("./testmanagement-utils/testcase-from-file.js");
|
|
28
|
+
const types_js_1 = require("./testmanagement-utils/TCG-utils/types.js");
|
|
14
29
|
//TODO: Moving the traceMCP and catch block to the parent(server) function
|
|
15
30
|
/**
|
|
16
31
|
* Wrapper to call createProjectOrFolder util.
|
|
17
32
|
*/
|
|
18
|
-
|
|
33
|
+
async function createProjectOrFolderTool(args) {
|
|
19
34
|
try {
|
|
20
|
-
trackMCP("createProjectOrFolder", serverInstance.server.getClientVersion());
|
|
21
|
-
return await createProjectOrFolder(args);
|
|
35
|
+
(0, instrumentation_js_1.trackMCP)("createProjectOrFolder", serverInstance.server.getClientVersion());
|
|
36
|
+
return await (0, create_project_folder_js_1.createProjectOrFolder)(args);
|
|
22
37
|
}
|
|
23
38
|
catch (err) {
|
|
24
|
-
|
|
25
|
-
trackMCP("createProjectOrFolder", serverInstance.server.getClientVersion(), err);
|
|
39
|
+
logger_js_1.default.error("Failed to create project/folder: %s", err);
|
|
40
|
+
(0, instrumentation_js_1.trackMCP)("createProjectOrFolder", serverInstance.server.getClientVersion(), err);
|
|
26
41
|
return {
|
|
27
42
|
content: [
|
|
28
43
|
{
|
|
@@ -38,16 +53,16 @@ export async function createProjectOrFolderTool(args) {
|
|
|
38
53
|
/**
|
|
39
54
|
* Creates a test case in BrowserStack Test Management.
|
|
40
55
|
*/
|
|
41
|
-
|
|
56
|
+
async function createTestCaseTool(args) {
|
|
42
57
|
// Sanitize input arguments
|
|
43
|
-
const cleanedArgs = sanitizeArgs(args);
|
|
58
|
+
const cleanedArgs = (0, create_testcase_js_1.sanitizeArgs)(args);
|
|
44
59
|
try {
|
|
45
|
-
trackMCP("createTestCase", serverInstance.server.getClientVersion());
|
|
46
|
-
return await
|
|
60
|
+
(0, instrumentation_js_1.trackMCP)("createTestCase", serverInstance.server.getClientVersion());
|
|
61
|
+
return await (0, create_testcase_js_1.createTestCase)(cleanedArgs);
|
|
47
62
|
}
|
|
48
63
|
catch (err) {
|
|
49
|
-
|
|
50
|
-
trackMCP("createTestCase", serverInstance.server.getClientVersion(), err);
|
|
64
|
+
logger_js_1.default.error("Failed to create test case: %s", err);
|
|
65
|
+
(0, instrumentation_js_1.trackMCP)("createTestCase", serverInstance.server.getClientVersion(), err);
|
|
51
66
|
return {
|
|
52
67
|
content: [
|
|
53
68
|
{
|
|
@@ -63,13 +78,13 @@ export async function createTestCaseTool(args) {
|
|
|
63
78
|
/**
|
|
64
79
|
* Lists test cases in a project with optional filters (status, priority, custom fields, etc.)
|
|
65
80
|
*/
|
|
66
|
-
|
|
81
|
+
async function listTestCasesTool(args) {
|
|
67
82
|
try {
|
|
68
|
-
trackMCP("listTestCases", serverInstance.server.getClientVersion());
|
|
69
|
-
return await listTestCases(args);
|
|
83
|
+
(0, instrumentation_js_1.trackMCP)("listTestCases", serverInstance.server.getClientVersion());
|
|
84
|
+
return await (0, list_testcases_js_1.listTestCases)(args);
|
|
70
85
|
}
|
|
71
86
|
catch (err) {
|
|
72
|
-
trackMCP("listTestCases", serverInstance.server.getClientVersion(), err);
|
|
87
|
+
(0, instrumentation_js_1.trackMCP)("listTestCases", serverInstance.server.getClientVersion(), err);
|
|
73
88
|
return {
|
|
74
89
|
content: [
|
|
75
90
|
{
|
|
@@ -85,13 +100,13 @@ export async function listTestCasesTool(args) {
|
|
|
85
100
|
/**
|
|
86
101
|
* Creates a test run in BrowserStack Test Management.
|
|
87
102
|
*/
|
|
88
|
-
|
|
103
|
+
async function createTestRunTool(args) {
|
|
89
104
|
try {
|
|
90
|
-
trackMCP("createTestRun", serverInstance.server.getClientVersion());
|
|
91
|
-
return await createTestRun(args);
|
|
105
|
+
(0, instrumentation_js_1.trackMCP)("createTestRun", serverInstance.server.getClientVersion());
|
|
106
|
+
return await (0, create_testrun_js_1.createTestRun)(args);
|
|
92
107
|
}
|
|
93
108
|
catch (err) {
|
|
94
|
-
trackMCP("createTestRun", serverInstance.server.getClientVersion(), err);
|
|
109
|
+
(0, instrumentation_js_1.trackMCP)("createTestRun", serverInstance.server.getClientVersion(), err);
|
|
95
110
|
return {
|
|
96
111
|
content: [
|
|
97
112
|
{
|
|
@@ -107,13 +122,13 @@ export async function createTestRunTool(args) {
|
|
|
107
122
|
/**
|
|
108
123
|
* Lists test runs in a project with optional filters (date ranges, assignee, state, etc.)
|
|
109
124
|
*/
|
|
110
|
-
|
|
125
|
+
async function listTestRunsTool(args) {
|
|
111
126
|
try {
|
|
112
|
-
trackMCP("listTestRuns", serverInstance.server.getClientVersion());
|
|
113
|
-
return await listTestRuns(args);
|
|
127
|
+
(0, instrumentation_js_1.trackMCP)("listTestRuns", serverInstance.server.getClientVersion());
|
|
128
|
+
return await (0, list_testruns_js_1.listTestRuns)(args);
|
|
114
129
|
}
|
|
115
130
|
catch (err) {
|
|
116
|
-
trackMCP("listTestRuns", serverInstance.server.getClientVersion(), err);
|
|
131
|
+
(0, instrumentation_js_1.trackMCP)("listTestRuns", serverInstance.server.getClientVersion(), err);
|
|
117
132
|
return {
|
|
118
133
|
content: [
|
|
119
134
|
{
|
|
@@ -131,13 +146,13 @@ export async function listTestRunsTool(args) {
|
|
|
131
146
|
* This function allows for partial updates to an existing test run.
|
|
132
147
|
* It takes the project identifier and test run ID as parameters.
|
|
133
148
|
*/
|
|
134
|
-
|
|
149
|
+
async function updateTestRunTool(args) {
|
|
135
150
|
try {
|
|
136
|
-
trackMCP("updateTestRun", serverInstance.server.getClientVersion());
|
|
137
|
-
return await updateTestRun(args);
|
|
151
|
+
(0, instrumentation_js_1.trackMCP)("updateTestRun", serverInstance.server.getClientVersion());
|
|
152
|
+
return await (0, update_testrun_js_1.updateTestRun)(args);
|
|
138
153
|
}
|
|
139
154
|
catch (err) {
|
|
140
|
-
trackMCP("updateTestRun", serverInstance.server.getClientVersion(), err);
|
|
155
|
+
(0, instrumentation_js_1.trackMCP)("updateTestRun", serverInstance.server.getClientVersion(), err);
|
|
141
156
|
return {
|
|
142
157
|
content: [
|
|
143
158
|
{
|
|
@@ -153,13 +168,13 @@ export async function updateTestRunTool(args) {
|
|
|
153
168
|
/**
|
|
154
169
|
* Adds a test result to a specific test run via BrowserStack Test Management API.
|
|
155
170
|
*/
|
|
156
|
-
|
|
171
|
+
async function addTestResultTool(args) {
|
|
157
172
|
try {
|
|
158
|
-
trackMCP("addTestResult", serverInstance.server.getClientVersion());
|
|
159
|
-
return await addTestResult(args);
|
|
173
|
+
(0, instrumentation_js_1.trackMCP)("addTestResult", serverInstance.server.getClientVersion());
|
|
174
|
+
return await (0, add_test_result_js_1.addTestResult)(args);
|
|
160
175
|
}
|
|
161
176
|
catch (err) {
|
|
162
|
-
trackMCP("addTestResult", serverInstance.server.getClientVersion(), err);
|
|
177
|
+
(0, instrumentation_js_1.trackMCP)("addTestResult", serverInstance.server.getClientVersion(), err);
|
|
163
178
|
return {
|
|
164
179
|
content: [
|
|
165
180
|
{
|
|
@@ -175,13 +190,13 @@ export async function addTestResultTool(args) {
|
|
|
175
190
|
/**
|
|
176
191
|
* Uploads files such as PDRs or screenshots to BrowserStack Test Management and get file mapping ID back.
|
|
177
192
|
*/
|
|
178
|
-
|
|
193
|
+
async function uploadProductRequirementFileTool(args) {
|
|
179
194
|
try {
|
|
180
|
-
trackMCP("uploadProductRequirementFile", serverInstance.server.getClientVersion());
|
|
181
|
-
return await uploadFile(args);
|
|
195
|
+
(0, instrumentation_js_1.trackMCP)("uploadProductRequirementFile", serverInstance.server.getClientVersion());
|
|
196
|
+
return await (0, upload_file_js_1.uploadFile)(args);
|
|
182
197
|
}
|
|
183
198
|
catch (err) {
|
|
184
|
-
trackMCP("uploadProductRequirementFile", serverInstance.server.getClientVersion(), err);
|
|
199
|
+
(0, instrumentation_js_1.trackMCP)("uploadProductRequirementFile", serverInstance.server.getClientVersion(), err);
|
|
185
200
|
return {
|
|
186
201
|
content: [
|
|
187
202
|
{
|
|
@@ -197,13 +212,13 @@ export async function uploadProductRequirementFileTool(args) {
|
|
|
197
212
|
/**
|
|
198
213
|
* Creates test cases from a file in BrowserStack Test Management.
|
|
199
214
|
*/
|
|
200
|
-
|
|
215
|
+
async function createTestCasesFromFileTool(args, context) {
|
|
201
216
|
try {
|
|
202
|
-
trackMCP("createTestCasesFromFile", serverInstance.server.getClientVersion());
|
|
203
|
-
return await createTestCasesFromFile(args, context);
|
|
217
|
+
(0, instrumentation_js_1.trackMCP)("createTestCasesFromFile", serverInstance.server.getClientVersion());
|
|
218
|
+
return await (0, testcase_from_file_js_1.createTestCasesFromFile)(args, context);
|
|
204
219
|
}
|
|
205
220
|
catch (err) {
|
|
206
|
-
trackMCP("createTestCasesFromFile", serverInstance.server.getClientVersion(), err);
|
|
221
|
+
(0, instrumentation_js_1.trackMCP)("createTestCasesFromFile", serverInstance.server.getClientVersion(), err);
|
|
207
222
|
return {
|
|
208
223
|
content: [
|
|
209
224
|
{
|
|
@@ -219,15 +234,15 @@ export async function createTestCasesFromFileTool(args, context) {
|
|
|
219
234
|
/**
|
|
220
235
|
* Registers both project/folder and test-case tools.
|
|
221
236
|
*/
|
|
222
|
-
|
|
237
|
+
function addTestManagementTools(server) {
|
|
223
238
|
serverInstance = server;
|
|
224
|
-
server.tool("createProjectOrFolder", "Create a project and/or folder in BrowserStack Test Management.", CreateProjFoldSchema.shape, createProjectOrFolderTool);
|
|
225
|
-
server.tool("createTestCase", "Use this tool to create a test case in BrowserStack Test Management.", CreateTestCaseSchema.shape, createTestCaseTool);
|
|
226
|
-
server.tool("listTestCases", "List test cases in a project with optional filters (status, priority, custom fields, etc.)", ListTestCasesSchema.shape, listTestCasesTool);
|
|
227
|
-
server.tool("createTestRun", "Create a test run in BrowserStack Test Management.", CreateTestRunSchema.shape, createTestRunTool);
|
|
228
|
-
server.tool("listTestRuns", "List test runs in a project with optional filters (date ranges, assignee, state, etc.)", ListTestRunsSchema.shape, listTestRunsTool);
|
|
229
|
-
server.tool("updateTestRun", "Update a test run in BrowserStack Test Management.", UpdateTestRunSchema.shape, updateTestRunTool);
|
|
230
|
-
server.tool("addTestResult", "Add a test result to a specific test run via BrowserStack Test Management API.", AddTestResultSchema.shape, addTestResultTool);
|
|
231
|
-
server.tool("uploadProductRequirementFile", "Upload files such as PDRs or PDFs to BrowserStack Test Management and get file mapping ID back. Its Used for generating test cases from file.", UploadFileSchema.shape, uploadProductRequirementFileTool);
|
|
232
|
-
server.tool("createTestCasesFromFile", "Create test cases from a file in BrowserStack Test Management.", CreateTestCasesFromFileSchema.shape, createTestCasesFromFileTool);
|
|
239
|
+
server.tool("createProjectOrFolder", "Create a project and/or folder in BrowserStack Test Management.", create_project_folder_js_1.CreateProjFoldSchema.shape, createProjectOrFolderTool);
|
|
240
|
+
server.tool("createTestCase", "Use this tool to create a test case in BrowserStack Test Management.", create_testcase_js_1.CreateTestCaseSchema.shape, createTestCaseTool);
|
|
241
|
+
server.tool("listTestCases", "List test cases in a project with optional filters (status, priority, custom fields, etc.)", list_testcases_js_1.ListTestCasesSchema.shape, listTestCasesTool);
|
|
242
|
+
server.tool("createTestRun", "Create a test run in BrowserStack Test Management.", create_testrun_js_1.CreateTestRunSchema.shape, createTestRunTool);
|
|
243
|
+
server.tool("listTestRuns", "List test runs in a project with optional filters (date ranges, assignee, state, etc.)", list_testruns_js_1.ListTestRunsSchema.shape, listTestRunsTool);
|
|
244
|
+
server.tool("updateTestRun", "Update a test run in BrowserStack Test Management.", update_testrun_js_1.UpdateTestRunSchema.shape, updateTestRunTool);
|
|
245
|
+
server.tool("addTestResult", "Add a test result to a specific test run via BrowserStack Test Management API.", add_test_result_js_1.AddTestResultSchema.shape, addTestResultTool);
|
|
246
|
+
server.tool("uploadProductRequirementFile", "Upload files such as PDRs or PDFs to BrowserStack Test Management and get file mapping ID back. Its Used for generating test cases from file.", upload_file_js_1.UploadFileSchema.shape, uploadProductRequirementFileTool);
|
|
247
|
+
server.tool("createTestCasesFromFile", "Create test cases from a file in BrowserStack Test Management.", types_js_1.CreateTestCasesFromFileSchema.shape, createTestCasesFromFileTool);
|
|
233
248
|
}
|