@syn7xx/testops-mcp-server 0.1.2 → 0.1.4
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 +45 -0
- package/README.md +143 -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.map +1 -1
- package/dist/domain/test-case/service.js +3 -1
- package/dist/domain/test-case/service.js.map +1 -1
- 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 +77 -21
- 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
|
@@ -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":"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"}
|
|
@@ -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;AAc9D,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,SA+PtD,CAAC"}
|
|
@@ -11,9 +11,16 @@ export const registerTestCaseTools = (server) => {
|
|
|
11
11
|
}, async (args) => {
|
|
12
12
|
const result = await getTestCase(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('testcase_get_detail', {
|
|
19
26
|
title: 'Get Test Case Detail',
|
|
@@ -24,9 +31,16 @@ export const registerTestCaseTools = (server) => {
|
|
|
24
31
|
}, async (args) => {
|
|
25
32
|
const result = await getTestCaseDetail(args.id);
|
|
26
33
|
if (!isSuccess(result)) {
|
|
27
|
-
return {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
36
|
+
isError: true,
|
|
37
|
+
};
|
|
28
38
|
}
|
|
29
|
-
return {
|
|
39
|
+
return {
|
|
40
|
+
content: [
|
|
41
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
42
|
+
],
|
|
43
|
+
};
|
|
30
44
|
});
|
|
31
45
|
server.registerTool('testcase_get_scenario', {
|
|
32
46
|
title: 'Get Test Case Scenario',
|
|
@@ -37,9 +51,16 @@ export const registerTestCaseTools = (server) => {
|
|
|
37
51
|
}, async (args) => {
|
|
38
52
|
const result = await getTestCaseScenario(args.id);
|
|
39
53
|
if (!isSuccess(result)) {
|
|
40
|
-
return {
|
|
54
|
+
return {
|
|
55
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
56
|
+
isError: true,
|
|
57
|
+
};
|
|
41
58
|
}
|
|
42
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
content: [
|
|
61
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
62
|
+
],
|
|
63
|
+
};
|
|
43
64
|
});
|
|
44
65
|
server.registerTool('testcase_update_step', {
|
|
45
66
|
title: 'Update Scenario Step',
|
|
@@ -56,26 +77,42 @@ export const registerTestCaseTools = (server) => {
|
|
|
56
77
|
expectedResult: args.expectedResult,
|
|
57
78
|
});
|
|
58
79
|
if (!isSuccess(result)) {
|
|
59
|
-
return {
|
|
80
|
+
return {
|
|
81
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
82
|
+
isError: true,
|
|
83
|
+
};
|
|
60
84
|
}
|
|
61
|
-
return {
|
|
85
|
+
return {
|
|
86
|
+
content: [
|
|
87
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
88
|
+
],
|
|
89
|
+
};
|
|
62
90
|
});
|
|
63
91
|
server.registerTool('testcase_set_scenario', {
|
|
64
92
|
title: 'Set Test Case Scenario',
|
|
65
93
|
description: 'Replace all steps in a test case scenario',
|
|
66
94
|
inputSchema: z.object({
|
|
67
95
|
id: z.number().describe('Test case ID'),
|
|
68
|
-
steps: z
|
|
96
|
+
steps: z
|
|
97
|
+
.array(z.object({
|
|
69
98
|
action: z.string().describe('Step action'),
|
|
70
99
|
expectedResult: z.string().optional().describe('Expected result'),
|
|
71
|
-
}))
|
|
100
|
+
}))
|
|
101
|
+
.describe('Steps to set'),
|
|
72
102
|
}),
|
|
73
103
|
}, async (args) => {
|
|
74
104
|
const result = await setTestCaseScenario(args.id, args.steps);
|
|
75
105
|
if (!isSuccess(result)) {
|
|
76
|
-
return {
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
108
|
+
isError: true,
|
|
109
|
+
};
|
|
77
110
|
}
|
|
78
|
-
return {
|
|
111
|
+
return {
|
|
112
|
+
content: [
|
|
113
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
114
|
+
],
|
|
115
|
+
};
|
|
79
116
|
});
|
|
80
117
|
server.registerTool('testcase_get_custom_fields', {
|
|
81
118
|
title: 'Get Test Case Custom Fields',
|
|
@@ -86,26 +123,40 @@ export const registerTestCaseTools = (server) => {
|
|
|
86
123
|
}, async (args) => {
|
|
87
124
|
const result = await getTestCaseCustomFields(args.id);
|
|
88
125
|
if (!isSuccess(result)) {
|
|
89
|
-
return {
|
|
126
|
+
return {
|
|
127
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
128
|
+
isError: true,
|
|
129
|
+
};
|
|
90
130
|
}
|
|
91
|
-
return {
|
|
131
|
+
return {
|
|
132
|
+
content: [
|
|
133
|
+
{ type: 'text', text: JSON.stringify(result.value, null, 2) },
|
|
134
|
+
],
|
|
135
|
+
};
|
|
92
136
|
});
|
|
93
137
|
server.registerTool('testcase_update_custom_fields', {
|
|
94
138
|
title: 'Update Test Case Custom Fields',
|
|
95
139
|
description: 'Update custom field values for a test case',
|
|
96
140
|
inputSchema: z.object({
|
|
97
141
|
id: z.number().describe('Test case ID'),
|
|
98
|
-
fields: z
|
|
142
|
+
fields: z
|
|
143
|
+
.array(z.object({
|
|
99
144
|
customFieldId: z.number().describe('Custom field ID'),
|
|
100
145
|
valueIds: z.array(z.number()).describe('Value IDs to set'),
|
|
101
|
-
}))
|
|
146
|
+
}))
|
|
147
|
+
.describe('Custom fields to update'),
|
|
102
148
|
}),
|
|
103
149
|
}, async (args) => {
|
|
104
150
|
const result = await updateTestCaseCustomFields(args.id, args.fields);
|
|
105
151
|
if (!isSuccess(result)) {
|
|
106
|
-
return {
|
|
152
|
+
return {
|
|
153
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
154
|
+
isError: true,
|
|
155
|
+
};
|
|
107
156
|
}
|
|
108
|
-
return {
|
|
157
|
+
return {
|
|
158
|
+
content: [{ type: 'text', text: 'Custom fields updated successfully' }],
|
|
159
|
+
};
|
|
109
160
|
});
|
|
110
161
|
server.registerTool('testcase_search_by_aql', {
|
|
111
162
|
title: 'Search Test Cases by AQL',
|
|
@@ -121,10 +172,14 @@ export const registerTestCaseTools = (server) => {
|
|
|
121
172
|
}, async (args) => {
|
|
122
173
|
const result = await searchTestCasesByAQL(args.projectId, args.rql, args);
|
|
123
174
|
if (!isSuccess(result)) {
|
|
124
|
-
return {
|
|
175
|
+
return {
|
|
176
|
+
content: [{ type: 'text', text: `Error: ${result.error.message}` }],
|
|
177
|
+
isError: true,
|
|
178
|
+
};
|
|
125
179
|
}
|
|
126
180
|
return {
|
|
127
|
-
content: [
|
|
181
|
+
content: [
|
|
182
|
+
{
|
|
128
183
|
type: 'text',
|
|
129
184
|
text: JSON.stringify({
|
|
130
185
|
testCases: result.value.testCases,
|
|
@@ -132,7 +187,8 @@ export const registerTestCaseTools = (server) => {
|
|
|
132
187
|
page: result.value.page,
|
|
133
188
|
size: result.value.size,
|
|
134
189
|
}, null, 2),
|
|
135
|
-
}
|
|
190
|
+
},
|
|
191
|
+
],
|
|
136
192
|
};
|
|
137
193
|
});
|
|
138
194
|
};
|
|
@@ -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 */
|
package/dist/shared/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/shared/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,0CAA0C;AAC1C,MAAM,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/shared/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAKD;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,IAG1D,CAAC;AAWF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,QAAO,IAEhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,MAAM,CA2B7C,CAAC;AA4CF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAU,CAAC,GAAG,OAAO,EACxC,UAAU,MAAM,EAChB,QAAQ,aAAa,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAE1B,CAAC;AAEF,yBAAyB;AACzB,eAAO,MAAM,MAAM,GAAI,CAAC,GAAG,OAAO,EAChC,UAAU,MAAM,EAChB,cAAc,aAAa,CAAC,aAAa,CAAC,KACzC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAC4B,CAAC;AAExD,0BAA0B;AAC1B,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,OAAO,EACjC,UAAU,MAAM,EAChB,OAAO,OAAO,EACd,cAAc,aAAa,CAAC,aAAa,CAAC,KACzC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CACmC,CAAC;AAE/D,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,OAAO,EAClC,UAAU,MAAM,EAChB,OAAO,OAAO,EACd,cAAc,aAAa,CAAC,aAAa,CAAC,KACzC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CACoC,CAAC;AAEhE,4BAA4B;AAC5B,eAAO,MAAM,SAAS,GAAI,CAAC,GAAG,OAAO,EACnC,UAAU,MAAM,EAChB,cAAc,aAAa,CAAC,aAAa,CAAC,KACzC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAC+B,CAAC"}
|
package/dist/shared/api.js
CHANGED
|
@@ -45,43 +45,46 @@ export const getJwt = async () => {
|
|
|
45
45
|
if (!response.ok) {
|
|
46
46
|
throw new Error(`Auth failed: ${response.status} ${response.statusText}`);
|
|
47
47
|
}
|
|
48
|
-
const data = await response.json();
|
|
48
|
+
const data = (await response.json());
|
|
49
49
|
jwtToken = data.access_token;
|
|
50
50
|
return jwtToken;
|
|
51
51
|
};
|
|
52
|
+
async function executeRequest(endpoint, config, retryOnUnauthorized) {
|
|
53
|
+
const { baseUrl: root } = getConfig();
|
|
54
|
+
const jwt = await getJwt();
|
|
55
|
+
const url = new URL(`${root}${endpoint}`);
|
|
56
|
+
if (config.queryParams) {
|
|
57
|
+
Object.entries(config.queryParams).forEach(([key, value]) => {
|
|
58
|
+
if (value !== undefined) {
|
|
59
|
+
url.searchParams.set(key, String(value));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
const response = await fetch(url.toString(), {
|
|
64
|
+
method: config.method,
|
|
65
|
+
headers: {
|
|
66
|
+
Accept: 'application/json',
|
|
67
|
+
'Content-Type': 'application/json',
|
|
68
|
+
Authorization: `Bearer ${jwt}`,
|
|
69
|
+
...config.headers,
|
|
70
|
+
},
|
|
71
|
+
body: config.body ? JSON.stringify(config.body) : undefined,
|
|
72
|
+
});
|
|
73
|
+
if (response.status === 401 && retryOnUnauthorized) {
|
|
74
|
+
clearJwtCache();
|
|
75
|
+
return executeRequest(endpoint, config, false);
|
|
76
|
+
}
|
|
77
|
+
if (!response.ok) {
|
|
78
|
+
throw new Error(`${config.method} ${endpoint} failed: ${response.status} ${response.statusText}`);
|
|
79
|
+
}
|
|
80
|
+
return response.json();
|
|
81
|
+
}
|
|
52
82
|
/**
|
|
53
|
-
* Base HTTP client with automatic JWT auth
|
|
54
|
-
*
|
|
55
|
-
* @param config - Request configuration
|
|
56
|
-
* @returns Result containing response data or error
|
|
83
|
+
* Base HTTP client with automatic JWT auth.
|
|
84
|
+
* On HTTP 401, clears the cached JWT and retries the request once (e.g. expired access token).
|
|
57
85
|
*/
|
|
58
86
|
export const apiFetch = async (endpoint, config) => {
|
|
59
|
-
return tryCatch(async () =>
|
|
60
|
-
const { baseUrl: root } = getConfig();
|
|
61
|
-
const token = await getJwt();
|
|
62
|
-
const url = new URL(`${root}${endpoint}`);
|
|
63
|
-
if (config.queryParams) {
|
|
64
|
-
Object.entries(config.queryParams).forEach(([key, value]) => {
|
|
65
|
-
if (value !== undefined) {
|
|
66
|
-
url.searchParams.set(key, String(value));
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
const response = await fetch(url.toString(), {
|
|
71
|
-
method: config.method,
|
|
72
|
-
headers: {
|
|
73
|
-
Accept: 'application/json',
|
|
74
|
-
'Content-Type': 'application/json',
|
|
75
|
-
Authorization: `Bearer ${token}`,
|
|
76
|
-
...config.headers,
|
|
77
|
-
},
|
|
78
|
-
body: config.body ? JSON.stringify(config.body) : undefined,
|
|
79
|
-
});
|
|
80
|
-
if (!response.ok) {
|
|
81
|
-
throw new Error(`${config.method} ${endpoint} failed: ${response.status}`);
|
|
82
|
-
}
|
|
83
|
-
return response.json();
|
|
84
|
-
});
|
|
87
|
+
return tryCatch(async () => executeRequest(endpoint, config, true));
|
|
85
88
|
};
|
|
86
89
|
/** GET request helper */
|
|
87
90
|
export const apiGet = (endpoint, queryParams) => apiFetch(endpoint, { method: 'GET', queryParams });
|
package/dist/shared/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/shared/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,SAAS,GAAG,EAAE,CAAC;AAEnB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/shared/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/shared/pagination.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/shared/pagination.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,gCAAgC;AAChC,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAE5B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,UAAU,KAClB,QAAQ,CAAC,UAAU,CAIpB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,OAAO,CAAC,EAAE,EACV,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,gBAAgB,MAAM,KACrB,SAAS,CAAC,CAAC,CAab,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,OAAO,CAAC,EAAE,EACV,MAAM,MAAM,EACZ,MAAM,MAAM,KACX,CAAC,EAGH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/shared/pagination.ts"],"names":[],"mappings":"AAkBA,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/shared/pagination.ts"],"names":[],"mappings":"AAkBA,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAmB,EACG,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,CAAC;IAC/C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,CAAC,CAAC;IACnE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS;CAChC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAU,EACV,IAAY,EACZ,IAAY,EACZ,aAAsB,EACR,EAAE;IAChB,MAAM,KAAK,GAAG,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,aAAa,EAAE,KAAK;QACpB,UAAU;QACV,OAAO,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC;QAC9B,WAAW,EAAE,IAAI,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAU,EACV,IAAY,EACZ,IAAY,EACP,EAAE;IACP,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC1C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/shared/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/shared/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5B,kCAAkC;AAClC,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AAEhF,8BAA8B;AAC9B,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAG3D,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAwB,CAAC;AAE1D,8CAA8C;AAC9C,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,IAAI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAyB,CAAC;AAE5D,6CAA6C;AAC7C,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAKnD,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,KAAG,CACvB,CAAC;AAElD,mCAAmC;AACnC,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAA6D,CAAC;AAE5E,iCAAiC;AACjC,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAA6D,CAAC;AAE5E,0DAA0D;AAC1D,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAoD,CAAC;AAEnE,gEAAgE;AAChE,eAAO,MAAM,QAAQ,GAAU,CAAC,EAC9B,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAO1B,CAAC"}
|
package/dist/shared/result.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/** Creates a successful Result */
|
|
2
2
|
export const success = (value) => ({ ok: true, value });
|
|
3
3
|
/** Creates a failed Result */
|
|
4
|
-
export const failure = (error) => ({
|
|
4
|
+
export const failure = (error) => ({
|
|
5
|
+
ok: false,
|
|
6
|
+
error,
|
|
7
|
+
});
|
|
5
8
|
/** Type guard to check if Result is successful */
|
|
6
9
|
export const isSuccess = (result) => result.ok === true;
|
|
7
10
|
/** Type guard to check if Result is failed */
|
|
@@ -16,11 +19,11 @@ export const unwrap = (result) => {
|
|
|
16
19
|
/** Returns value if success, otherwise returns defaultValue */
|
|
17
20
|
export const getOrElse = (result, defaultValue) => isSuccess(result) ? result.value : defaultValue;
|
|
18
21
|
/** Transforms the success value */
|
|
19
|
-
export const map = (result, fn) => isSuccess(result) ? success(fn(result.value)) : result;
|
|
22
|
+
export const map = (result, fn) => (isSuccess(result) ? success(fn(result.value)) : result);
|
|
20
23
|
/** Transforms the error value */
|
|
21
|
-
export const mapError = (result, fn) => isFailure(result) ? failure(fn(result.error)) : result;
|
|
24
|
+
export const mapError = (result, fn) => (isFailure(result) ? failure(fn(result.error)) : result);
|
|
22
25
|
/** Chains Result-returning functions - flatMap pattern */
|
|
23
|
-
export const flatMap = (result, fn) => isSuccess(result) ? fn(result.value) : result;
|
|
26
|
+
export const flatMap = (result, fn) => (isSuccess(result) ? fn(result.value) : result);
|
|
24
27
|
/** Wraps async function to return Result instead of throwing */
|
|
25
28
|
export const tryCatch = async (fn) => {
|
|
26
29
|
try {
|