@syn7xx/testops-mcp-server 0.1.2 → 0.1.5
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/CHANGELOG.md +55 -0
- package/README.md +147 -89
- package/dist/args.d.ts +2 -3
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +57 -19
- package/dist/args.js.map +1 -1
- package/dist/domain/project/service.d.ts.map +1 -1
- package/dist/domain/project/service.js +1 -1
- package/dist/domain/project/service.js.map +1 -1
- package/dist/domain/project/types.d.ts.map +1 -1
- package/dist/domain/test-case/service.d.ts +13 -1
- package/dist/domain/test-case/service.d.ts.map +1 -1
- package/dist/domain/test-case/service.js +22 -6
- package/dist/domain/test-case/service.js.map +1 -1
- package/dist/domain/test-case/types.d.ts +17 -0
- package/dist/domain/test-case/types.d.ts.map +1 -1
- package/dist/domain/test-plan/service.d.ts.map +1 -1
- package/dist/domain/test-plan/service.js +1 -1
- package/dist/domain/test-plan/service.js.map +1 -1
- package/dist/domain/test-plan/types.d.ts.map +1 -1
- package/dist/presentation/project/tools.d.ts +2 -1
- package/dist/presentation/project/tools.d.ts.map +1 -1
- package/dist/presentation/project/tools.js +30 -8
- package/dist/presentation/project/tools.js.map +1 -1
- package/dist/presentation/test-case/tools.d.ts +2 -1
- package/dist/presentation/test-case/tools.d.ts.map +1 -1
- package/dist/presentation/test-case/tools.js +138 -32
- package/dist/presentation/test-case/tools.js.map +1 -1
- package/dist/presentation/test-plan/tools.d.ts +2 -1
- package/dist/presentation/test-plan/tools.d.ts.map +1 -1
- package/dist/presentation/test-plan/tools.js +17 -5
- package/dist/presentation/test-plan/tools.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -5
- package/dist/server.js.map +1 -1
- package/dist/shared/api.d.ts +2 -4
- package/dist/shared/api.d.ts.map +1 -1
- package/dist/shared/api.js +34 -31
- package/dist/shared/api.js.map +1 -1
- package/dist/shared/pagination.d.ts.map +1 -1
- package/dist/shared/pagination.js.map +1 -1
- package/dist/shared/result.d.ts.map +1 -1
- package/dist/shared/result.js +7 -4
- package/dist/shared/result.js.map +1 -1
- package/package.json +18 -4
- package/dist/services/config.d.ts +0 -43
- package/dist/services/config.d.ts.map +0 -1
- package/dist/services/config.js +0 -99
- package/dist/services/config.js.map +0 -1
- package/dist/services/index.d.ts +0 -8
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -8
- package/dist/services/index.js.map +0 -1
- package/dist/services/project.d.ts +0 -17
- package/dist/services/project.d.ts.map +0 -1
- package/dist/services/project.js +0 -27
- package/dist/services/project.js.map +0 -1
- package/dist/services/test-case.d.ts +0 -59
- package/dist/services/test-case.d.ts.map +0 -1
- package/dist/services/test-case.js +0 -138
- package/dist/services/test-case.js.map +0 -1
- package/dist/services/test-plan.d.ts +0 -20
- package/dist/services/test-plan.d.ts.map +0 -1
- package/dist/services/test-plan.js +0 -18
- package/dist/services/test-plan.js.map +0 -1
- package/dist/services/testops-client.d.ts +0 -96
- package/dist/services/testops-client.d.ts.map +0 -1
- package/dist/services/testops-client.js +0 -392
- package/dist/services/testops-client.js.map +0 -1
- package/dist/services/testops-types.d.ts +0 -62
- package/dist/services/testops-types.d.ts.map +0 -1
- package/dist/services/testops-types.js +0 -3
- package/dist/services/testops-types.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -8
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/project.d.ts +0 -5
- package/dist/tools/project.d.ts.map +0 -1
- package/dist/tools/project.js +0 -62
- package/dist/tools/project.js.map +0 -1
- package/dist/tools/test-case.d.ts +0 -5
- package/dist/tools/test-case.d.ts.map +0 -1
- package/dist/tools/test-case.js +0 -185
- package/dist/tools/test-case.js.map +0 -1
- package/dist/tools/test-plan.d.ts +0 -5
- package/dist/tools/test-plan.d.ts.map +0 -1
- package/dist/tools/test-plan.js +0 -57
- package/dist/tools/test-plan.js.map +0 -1
- package/dist/tools/testops.d.ts +0 -6
- package/dist/tools/testops.d.ts.map +0 -1
- package/dist/tools/testops.js +0 -302
- package/dist/tools/testops.js.map +0 -1
|
@@ -48,4 +48,21 @@ export interface TestCaseSearchResult {
|
|
|
48
48
|
page: number;
|
|
49
49
|
size: number;
|
|
50
50
|
}
|
|
51
|
+
/** Page of tree nodes (groups and leaves) from v2 tree-node API */
|
|
52
|
+
export interface PageTestCaseTreeNode {
|
|
53
|
+
content?: TestCaseTreeNodeItem[];
|
|
54
|
+
totalElements?: number;
|
|
55
|
+
number?: number;
|
|
56
|
+
size?: number;
|
|
57
|
+
}
|
|
58
|
+
/** Group or leaf node; leaves expose `testCaseId` (see OpenAPI TestCaseTreeLeafDtoV2) */
|
|
59
|
+
export type TestCaseTreeNodeItem = Record<string, unknown>;
|
|
60
|
+
/** Response of GET .../test-case/tree/tree-node (TestCaseFullTreeNodeDto) */
|
|
61
|
+
export interface TestCaseFullTreeNode {
|
|
62
|
+
id?: number;
|
|
63
|
+
name?: string;
|
|
64
|
+
parentNodeId?: number;
|
|
65
|
+
customFieldValueId?: number;
|
|
66
|
+
children?: PageTestCaseTreeNode;
|
|
67
|
+
}
|
|
51
68
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/test-case/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/test-case/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yFAAyF;AACzF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/domain/test-plan/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAO,MAAM,wBAAwB,CAAC;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/domain/test-plan/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAO,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,UAAU,EAEV,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS7D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,IAAI,MAAM,KACT,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAEjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,EAClB,SAAS,UAAU,KAClB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAgBpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,MAAM,KACjB,OAAO,CACR,MAAM,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,CAAC,CAGjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACvB,YAAY,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAEjC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { apiGet } from '../../shared/api.js';
|
|
2
2
|
import { map } from '../../shared/result.js';
|
|
3
3
|
import { createPaginated } from '../../shared/pagination.js';
|
|
4
|
-
import { normalizePageParams } from '../../shared/pagination.js';
|
|
4
|
+
import { normalizePageParams, } from '../../shared/pagination.js';
|
|
5
5
|
/**
|
|
6
6
|
* Get a test plan by ID
|
|
7
7
|
* @param id - Test plan ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/test-plan/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAU,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/test-plan/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAU,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAEL,mBAAmB,GAEpB,MAAM,4BAA4B,CAAC;AAUpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,EAAU,EACwB,EAAE;IACpC,OAAO,MAAM,CAAW,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,UAAkB,EAClB,MAAmB,EACkC,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B,iBAAiB,UAAU,YAAY,EACvC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,UAAU,EAAE,CACzC,CAAC;IAEF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5B,eAAe,CACb,IAAI,CAAC,OAAO,IAAI,EAAE,EAClB,IAAI,CAAC,MAAM,IAAI,IAAI,EACnB,IAAI,CAAC,IAAI,IAAI,IAAI,EACjB,IAAI,CAAC,aAAa,CACnB,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,UAAkB,EAGlB,EAAE;IACF,OAAO,MAAM,CAAC,iBAAiB,UAAU,OAAO,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,UAAkB,EACgB,EAAE;IACpC,OAAO,MAAM,CAAW,iBAAiB,UAAU,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/test-plan/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/test-plan/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/project/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/project/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAS9D,eAAO,MAAM,oBAAoB,GAAI,QAAQ,SAAS,SAuGrD,CAAC"}
|
|
@@ -13,10 +13,14 @@ export const registerProjectTools = (server) => {
|
|
|
13
13
|
}, async (args) => {
|
|
14
14
|
const result = await findProjects(args);
|
|
15
15
|
if (!isSuccess(result)) {
|
|
16
|
-
return {
|
|
16
|
+
return {
|
|
17
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
18
|
+
isError: true,
|
|
19
|
+
};
|
|
17
20
|
}
|
|
18
21
|
return {
|
|
19
|
-
content: [
|
|
22
|
+
content: [
|
|
23
|
+
{
|
|
20
24
|
type: 'text',
|
|
21
25
|
text: JSON.stringify({
|
|
22
26
|
items: result.value.items,
|
|
@@ -25,7 +29,8 @@ export const registerProjectTools = (server) => {
|
|
|
25
29
|
totalElements: result.value.totalElements,
|
|
26
30
|
hasNext: result.value.hasNext,
|
|
27
31
|
}, null, 2),
|
|
28
|
-
}
|
|
32
|
+
},
|
|
33
|
+
],
|
|
29
34
|
};
|
|
30
35
|
});
|
|
31
36
|
server.registerTool('project_find_by_name', {
|
|
@@ -37,12 +42,22 @@ export const registerProjectTools = (server) => {
|
|
|
37
42
|
}, async (args) => {
|
|
38
43
|
const result = await findProjectByName(args.name);
|
|
39
44
|
if (!isSuccess(result)) {
|
|
40
|
-
return {
|
|
45
|
+
return {
|
|
46
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
47
|
+
isError: true,
|
|
48
|
+
};
|
|
41
49
|
}
|
|
42
50
|
if (!result.value) {
|
|
43
|
-
return {
|
|
51
|
+
return {
|
|
52
|
+
content: [{ type: 'text', text: `Project "${args.name}" not found` }],
|
|
53
|
+
isError: true,
|
|
54
|
+
};
|
|
44
55
|
}
|
|
45
|
-
return {
|
|
56
|
+
return {
|
|
57
|
+
content: [
|
|
58
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
59
|
+
],
|
|
60
|
+
};
|
|
46
61
|
});
|
|
47
62
|
server.registerTool('project_get_by_id', {
|
|
48
63
|
title: 'Get Project by ID',
|
|
@@ -53,9 +68,16 @@ export const registerProjectTools = (server) => {
|
|
|
53
68
|
}, async (args) => {
|
|
54
69
|
const result = await getProjectById(args.id);
|
|
55
70
|
if (!isSuccess(result)) {
|
|
56
|
-
return {
|
|
71
|
+
return {
|
|
72
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
73
|
+
isError: true,
|
|
74
|
+
};
|
|
57
75
|
}
|
|
58
|
-
return {
|
|
76
|
+
return {
|
|
77
|
+
content: [
|
|
78
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
79
|
+
],
|
|
80
|
+
};
|
|
59
81
|
});
|
|
60
82
|
};
|
|
61
83
|
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/project/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/project/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAiB,EAAE,EAAE;IACxD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChE,CAAC;KACH,EACD,KAAK,EAAE,IAAqD,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;wBACzB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;wBACzC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;qBAC9B,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACpD,CAAC;KACH,EACD,KAAK,EAAE,IAAsB,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;gBACrE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC9D;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;SACtC,CAAC;KACH,EACD,KAAK,EAAE,IAAoB,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC9D;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/test-case/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/test-case/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAuC9D,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,SAwTtD,CAAC"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
2
|
import { isSuccess } from '../../shared/result.js';
|
|
3
|
-
import { getTestCase, getTestCaseDetail, getTestCaseScenario, updateScenarioStep, setTestCaseScenario, getTestCaseCustomFields, updateTestCaseCustomFields, searchTestCasesByAQL, } from '../../domain/test-case/index.js';
|
|
3
|
+
import { getTestCase, getTestCaseDetail, getTestCaseScenario, updateScenarioStep, setTestCaseScenario, getTestCaseCustomFields, updateTestCaseCustomFields, searchTestCasesByAQL, listTestCasesInTree, } from '../../domain/test-case/index.js';
|
|
4
|
+
const testCaseIdOnly = z.object({
|
|
5
|
+
id: z.number().describe('Allure test case ID (same as in TestOps UI / URL)'),
|
|
6
|
+
});
|
|
7
|
+
async function handleGetTestCaseScenario(args) {
|
|
8
|
+
const result = await getTestCaseScenario(args.id);
|
|
9
|
+
if (!isSuccess(result)) {
|
|
10
|
+
return {
|
|
11
|
+
content: [
|
|
12
|
+
{ type: 'text', text: `Error: ${result.error.message}` },
|
|
13
|
+
],
|
|
14
|
+
isError: true,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
content: [
|
|
19
|
+
{
|
|
20
|
+
type: 'text',
|
|
21
|
+
text: JSON.stringify(result.value, null, 2),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
4
26
|
export const registerTestCaseTools = (server) => {
|
|
5
27
|
server.registerTool('testcase_get', {
|
|
6
28
|
title: 'Get Test Case',
|
|
@@ -11,36 +33,50 @@ export const registerTestCaseTools = (server) => {
|
|
|
11
33
|
}, async (args) => {
|
|
12
34
|
const result = await getTestCase(args.id);
|
|
13
35
|
if (!isSuccess(result)) {
|
|
14
|
-
return {
|
|
36
|
+
return {
|
|
37
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
38
|
+
isError: true,
|
|
39
|
+
};
|
|
15
40
|
}
|
|
16
|
-
return {
|
|
41
|
+
return {
|
|
42
|
+
content: [
|
|
43
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
44
|
+
],
|
|
45
|
+
};
|
|
17
46
|
});
|
|
18
47
|
server.registerTool('testcase_get_detail', {
|
|
19
48
|
title: 'Get Test Case Detail',
|
|
20
|
-
description: '
|
|
49
|
+
description: 'Aggregated card: name, description, tags, custom fields, and step texts as a simple list. For the raw scenario graph (step actions + expected results per step from /step), use testcase_get_scenario or testcase_get_step instead — not this tool.',
|
|
50
|
+
annotations: { readOnlyHint: true },
|
|
21
51
|
inputSchema: z.object({
|
|
22
52
|
id: z.number().describe('Test case ID'),
|
|
23
53
|
}),
|
|
24
54
|
}, async (args) => {
|
|
25
55
|
const result = await getTestCaseDetail(args.id);
|
|
26
56
|
if (!isSuccess(result)) {
|
|
27
|
-
return {
|
|
57
|
+
return {
|
|
58
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
59
|
+
isError: true,
|
|
60
|
+
};
|
|
28
61
|
}
|
|
29
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
content: [
|
|
64
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
65
|
+
],
|
|
66
|
+
};
|
|
30
67
|
});
|
|
31
68
|
server.registerTool('testcase_get_scenario', {
|
|
32
69
|
title: 'Get Test Case Scenario',
|
|
33
|
-
description: '
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
});
|
|
70
|
+
description: 'Normalized scenario from GET /api/testcase/{id}/step (scenarioSteps, step bodies, expected results). For steps + expected results use this or testcase_get_step only — call by this exact name from tools/list.',
|
|
71
|
+
annotations: { readOnlyHint: true },
|
|
72
|
+
inputSchema: testCaseIdOnly,
|
|
73
|
+
}, handleGetTestCaseScenario);
|
|
74
|
+
server.registerTool('testcase_get_step', {
|
|
75
|
+
title: 'Get Test Case Steps',
|
|
76
|
+
description: 'Same as testcase_get_scenario (alias). Use either name from tools/list for scenario JSON; do not invent variants (e.g. get_steps).',
|
|
77
|
+
annotations: { readOnlyHint: true },
|
|
78
|
+
inputSchema: testCaseIdOnly,
|
|
79
|
+
}, handleGetTestCaseScenario);
|
|
44
80
|
server.registerTool('testcase_update_step', {
|
|
45
81
|
title: 'Update Scenario Step',
|
|
46
82
|
description: 'Update a step in a test case scenario',
|
|
@@ -56,26 +92,42 @@ export const registerTestCaseTools = (server) => {
|
|
|
56
92
|
expectedResult: args.expectedResult,
|
|
57
93
|
});
|
|
58
94
|
if (!isSuccess(result)) {
|
|
59
|
-
return {
|
|
95
|
+
return {
|
|
96
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
97
|
+
isError: true,
|
|
98
|
+
};
|
|
60
99
|
}
|
|
61
|
-
return {
|
|
100
|
+
return {
|
|
101
|
+
content: [
|
|
102
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
103
|
+
],
|
|
104
|
+
};
|
|
62
105
|
});
|
|
63
106
|
server.registerTool('testcase_set_scenario', {
|
|
64
107
|
title: 'Set Test Case Scenario',
|
|
65
108
|
description: 'Replace all steps in a test case scenario',
|
|
66
109
|
inputSchema: z.object({
|
|
67
110
|
id: z.number().describe('Test case ID'),
|
|
68
|
-
steps: z
|
|
111
|
+
steps: z
|
|
112
|
+
.array(z.object({
|
|
69
113
|
action: z.string().describe('Step action'),
|
|
70
114
|
expectedResult: z.string().optional().describe('Expected result'),
|
|
71
|
-
}))
|
|
115
|
+
}))
|
|
116
|
+
.describe('Steps to set'),
|
|
72
117
|
}),
|
|
73
118
|
}, async (args) => {
|
|
74
119
|
const result = await setTestCaseScenario(args.id, args.steps);
|
|
75
120
|
if (!isSuccess(result)) {
|
|
76
|
-
return {
|
|
121
|
+
return {
|
|
122
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
123
|
+
isError: true,
|
|
124
|
+
};
|
|
77
125
|
}
|
|
78
|
-
return {
|
|
126
|
+
return {
|
|
127
|
+
content: [
|
|
128
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
129
|
+
],
|
|
130
|
+
};
|
|
79
131
|
});
|
|
80
132
|
server.registerTool('testcase_get_custom_fields', {
|
|
81
133
|
title: 'Get Test Case Custom Fields',
|
|
@@ -86,26 +138,75 @@ export const registerTestCaseTools = (server) => {
|
|
|
86
138
|
}, async (args) => {
|
|
87
139
|
const result = await getTestCaseCustomFields(args.id);
|
|
88
140
|
if (!isSuccess(result)) {
|
|
89
|
-
return {
|
|
141
|
+
return {
|
|
142
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
143
|
+
isError: true,
|
|
144
|
+
};
|
|
90
145
|
}
|
|
91
|
-
return {
|
|
146
|
+
return {
|
|
147
|
+
content: [
|
|
148
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
149
|
+
],
|
|
150
|
+
};
|
|
92
151
|
});
|
|
93
152
|
server.registerTool('testcase_update_custom_fields', {
|
|
94
153
|
title: 'Update Test Case Custom Fields',
|
|
95
154
|
description: 'Update custom field values for a test case',
|
|
96
155
|
inputSchema: z.object({
|
|
97
156
|
id: z.number().describe('Test case ID'),
|
|
98
|
-
fields: z
|
|
157
|
+
fields: z
|
|
158
|
+
.array(z.object({
|
|
99
159
|
customFieldId: z.number().describe('Custom field ID'),
|
|
100
160
|
valueIds: z.array(z.number()).describe('Value IDs to set'),
|
|
101
|
-
}))
|
|
161
|
+
}))
|
|
162
|
+
.describe('Custom fields to update'),
|
|
102
163
|
}),
|
|
103
164
|
}, async (args) => {
|
|
104
165
|
const result = await updateTestCaseCustomFields(args.id, args.fields);
|
|
105
166
|
if (!isSuccess(result)) {
|
|
106
|
-
return {
|
|
167
|
+
return {
|
|
168
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
169
|
+
isError: true,
|
|
170
|
+
};
|
|
107
171
|
}
|
|
108
|
-
return {
|
|
172
|
+
return {
|
|
173
|
+
content: [{ type: 'text', text: 'Custom fields updated successfully' }],
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
server.registerTool('testcase_list_in_tree', {
|
|
177
|
+
title: 'List Test Cases in Tree',
|
|
178
|
+
description: 'List test cases for a project tree (Allure TestOps GET /api/v2/project/{projectId}/test-case/tree/tree-node). Requires treeId. Returns a tree node with paginated children; leaf nodes include testCaseId. Use parentNodeId to page into a folder.',
|
|
179
|
+
inputSchema: z.object({
|
|
180
|
+
projectId: z.number().describe('Project ID'),
|
|
181
|
+
treeId: z.number().describe('Test case tree ID'),
|
|
182
|
+
parentNodeId: z
|
|
183
|
+
.number()
|
|
184
|
+
.optional()
|
|
185
|
+
.describe('Parent folder node ID (omit for tree root)'),
|
|
186
|
+
search: z.string().optional().describe('Search filter'),
|
|
187
|
+
filterId: z.number().optional().describe('Saved filter ID'),
|
|
188
|
+
query: z.string().optional().describe('Query string (API `query`)'),
|
|
189
|
+
baseAql: z
|
|
190
|
+
.string()
|
|
191
|
+
.optional()
|
|
192
|
+
.describe('Base AQL applied on the server'),
|
|
193
|
+
page: z.number().optional().describe('Page index (0-based)'),
|
|
194
|
+
size: z.number().optional().describe('Page size'),
|
|
195
|
+
sort: z.string().optional().describe('Sort, e.g. name,ASC'),
|
|
196
|
+
}),
|
|
197
|
+
}, async (args) => {
|
|
198
|
+
const result = await listTestCasesInTree(args.projectId, args.treeId, args);
|
|
199
|
+
if (!isSuccess(result)) {
|
|
200
|
+
return {
|
|
201
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
202
|
+
isError: true,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
content: [
|
|
207
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
208
|
+
],
|
|
209
|
+
};
|
|
109
210
|
});
|
|
110
211
|
server.registerTool('testcase_search_by_aql', {
|
|
111
212
|
title: 'Search Test Cases by AQL',
|
|
@@ -121,10 +222,14 @@ export const registerTestCaseTools = (server) => {
|
|
|
121
222
|
}, async (args) => {
|
|
122
223
|
const result = await searchTestCasesByAQL(args.projectId, args.rql, args);
|
|
123
224
|
if (!isSuccess(result)) {
|
|
124
|
-
return {
|
|
225
|
+
return {
|
|
226
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
227
|
+
isError: true,
|
|
228
|
+
};
|
|
125
229
|
}
|
|
126
230
|
return {
|
|
127
|
-
content: [
|
|
231
|
+
content: [
|
|
232
|
+
{
|
|
128
233
|
type: 'text',
|
|
129
234
|
text: JSON.stringify({
|
|
130
235
|
testCases: result.value.testCases,
|
|
@@ -132,7 +237,8 @@ export const registerTestCaseTools = (server) => {
|
|
|
132
237
|
page: result.value.page,
|
|
133
238
|
size: result.value.size,
|
|
134
239
|
}, null, 2),
|
|
135
|
-
}
|
|
240
|
+
},
|
|
241
|
+
],
|
|
136
242
|
};
|
|
137
243
|
});
|
|
138
244
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/test-case/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/test-case/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/test-plan/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/presentation/test-plan/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,SA2EtD,CAAC"}
|
|
@@ -11,9 +11,16 @@ export const registerTestPlanTools = (server) => {
|
|
|
11
11
|
}, async (args) => {
|
|
12
12
|
const result = await getTestPlan(args.id);
|
|
13
13
|
if (!isSuccess(result)) {
|
|
14
|
-
return {
|
|
14
|
+
return {
|
|
15
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
16
|
+
isError: true,
|
|
17
|
+
};
|
|
15
18
|
}
|
|
16
|
-
return {
|
|
19
|
+
return {
|
|
20
|
+
content: [
|
|
21
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
17
24
|
});
|
|
18
25
|
server.registerTool('testplan_get_test_cases', {
|
|
19
26
|
title: 'Get Test Plan Test Cases',
|
|
@@ -27,10 +34,14 @@ export const registerTestPlanTools = (server) => {
|
|
|
27
34
|
}, async (args) => {
|
|
28
35
|
const result = await getTestPlanTestCases(args.id, args);
|
|
29
36
|
if (!isSuccess(result)) {
|
|
30
|
-
return {
|
|
37
|
+
return {
|
|
38
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
39
|
+
isError: true,
|
|
40
|
+
};
|
|
31
41
|
}
|
|
32
42
|
return {
|
|
33
|
-
content: [
|
|
43
|
+
content: [
|
|
44
|
+
{
|
|
34
45
|
type: 'text',
|
|
35
46
|
text: JSON.stringify({
|
|
36
47
|
items: result.value.items,
|
|
@@ -39,7 +50,8 @@ export const registerTestPlanTools = (server) => {
|
|
|
39
50
|
totalElements: result.value.totalElements,
|
|
40
51
|
hasNext: result.value.hasNext,
|
|
41
52
|
}, null, 2),
|
|
42
|
-
}
|
|
53
|
+
},
|
|
54
|
+
],
|
|
43
55
|
};
|
|
44
56
|
});
|
|
45
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/test-plan/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/presentation/test-plan/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAiB,EAAE,EAAE;IACzD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SACxC,CAAC;KACH,EACD,KAAK,EAAE,IAAoB,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC9D;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChE,CAAC;KACH,EACD,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;wBACzB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;wBACzC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;qBAC9B,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,8BAA8B,CAAC;AAa/E,wBAAsB,mBAAmB,uBA+BxC;AAED,wBAAsB,WAAW,kBAKhC"}
|
package/dist/server.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
import { McpServer, StdioServerTransport } from '@modelcontextprotocol/server';
|
|
2
3
|
import * as z from 'zod';
|
|
3
4
|
import { registerProjectTools, registerTestPlanTools, registerTestCaseTools, } from './presentation/index.js';
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const { version: packageVersion } = require('../package.json');
|
|
4
7
|
export async function createTestOpsServer() {
|
|
5
8
|
const server = new McpServer({
|
|
6
9
|
name: 'testops-mcp-server',
|
|
7
|
-
version:
|
|
10
|
+
version: packageVersion,
|
|
8
11
|
}, {
|
|
9
12
|
capabilities: {
|
|
10
13
|
resources: {},
|
|
11
|
-
tools: {}
|
|
12
|
-
}
|
|
14
|
+
tools: {},
|
|
15
|
+
},
|
|
13
16
|
});
|
|
14
17
|
registerProjectTools(server);
|
|
15
18
|
registerTestPlanTools(server);
|
|
@@ -17,9 +20,9 @@ export async function createTestOpsServer() {
|
|
|
17
20
|
server.registerTool('ping', {
|
|
18
21
|
title: 'Ping',
|
|
19
22
|
description: 'Test tool to verify server connectivity',
|
|
20
|
-
inputSchema: z.object({})
|
|
23
|
+
inputSchema: z.object({}),
|
|
21
24
|
}, async () => ({
|
|
22
|
-
content: [{ type: 'text', text: 'Pong! Server is running.' }]
|
|
25
|
+
content: [{ type: 'text', text: 'Pong! Server is running.' }],
|
|
23
26
|
}));
|
|
24
27
|
return server;
|
|
25
28
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAE5D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,cAAc;KACxB,EACD;QACE,YAAY,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;KAC9D,CAAC,CACH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/shared/api.d.ts
CHANGED
|
@@ -22,10 +22,8 @@ export declare const clearJwtCache: () => void;
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const getJwt: () => Promise<string>;
|
|
24
24
|
/**
|
|
25
|
-
* Base HTTP client with automatic JWT auth
|
|
26
|
-
*
|
|
27
|
-
* @param config - Request configuration
|
|
28
|
-
* @returns Result containing response data or error
|
|
25
|
+
* Base HTTP client with automatic JWT auth.
|
|
26
|
+
* On HTTP 401, clears the cached JWT and retries the request once (e.g. expired access token).
|
|
29
27
|
*/
|
|
30
28
|
export declare const apiFetch: <T = unknown>(endpoint: string, config: RequestConfig) => Promise<Result<T, Error>>;
|
|
31
29
|
/** GET request helper */
|