@qase/mcp-server 1.1.8 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +75 -542
  3. package/build/auth/client-context.d.ts +12 -0
  4. package/build/auth/client-context.d.ts.map +1 -0
  5. package/build/auth/client-context.js +12 -0
  6. package/build/auth/client-context.js.map +1 -0
  7. package/build/auth/jwks-verifier.d.ts +15 -0
  8. package/build/auth/jwks-verifier.d.ts.map +1 -0
  9. package/build/auth/jwks-verifier.js +31 -0
  10. package/build/auth/jwks-verifier.js.map +1 -0
  11. package/build/auth/mcp-guard.d.ts +15 -0
  12. package/build/auth/mcp-guard.d.ts.map +1 -0
  13. package/build/auth/mcp-guard.js +44 -0
  14. package/build/auth/mcp-guard.js.map +1 -0
  15. package/build/auth/oauth-config.d.ts +40 -0
  16. package/build/auth/oauth-config.d.ts.map +1 -0
  17. package/build/auth/oauth-config.js +34 -0
  18. package/build/auth/oauth-config.js.map +1 -0
  19. package/build/auth/proxy-provider.d.ts +31 -0
  20. package/build/auth/proxy-provider.d.ts.map +1 -0
  21. package/build/auth/proxy-provider.js +87 -0
  22. package/build/auth/proxy-provider.js.map +1 -0
  23. package/build/auth/token-type.d.ts +7 -0
  24. package/build/auth/token-type.d.ts.map +1 -0
  25. package/build/auth/token-type.js +10 -0
  26. package/build/auth/token-type.js.map +1 -0
  27. package/build/cache/circuit-breaker.d.ts +33 -0
  28. package/build/cache/circuit-breaker.d.ts.map +1 -0
  29. package/build/cache/circuit-breaker.js +68 -0
  30. package/build/cache/circuit-breaker.js.map +1 -0
  31. package/build/cache/index.d.ts +24 -0
  32. package/build/cache/index.d.ts.map +1 -0
  33. package/build/cache/index.js +86 -0
  34. package/build/cache/index.js.map +1 -0
  35. package/build/cache/keys.d.ts +25 -0
  36. package/build/cache/keys.d.ts.map +1 -0
  37. package/build/cache/keys.js +36 -0
  38. package/build/cache/keys.js.map +1 -0
  39. package/build/cache/layered.d.ts +31 -0
  40. package/build/cache/layered.d.ts.map +1 -0
  41. package/build/cache/layered.js +88 -0
  42. package/build/cache/layered.js.map +1 -0
  43. package/build/cache/memory.d.ts +32 -0
  44. package/build/cache/memory.d.ts.map +1 -0
  45. package/build/cache/memory.js +108 -0
  46. package/build/cache/memory.js.map +1 -0
  47. package/build/cache/metrics.d.ts +31 -0
  48. package/build/cache/metrics.d.ts.map +1 -0
  49. package/build/cache/metrics.js +95 -0
  50. package/build/cache/metrics.js.map +1 -0
  51. package/build/cache/prom-format.d.ts +7 -0
  52. package/build/cache/prom-format.d.ts.map +1 -0
  53. package/build/cache/prom-format.js +16 -0
  54. package/build/cache/prom-format.js.map +1 -0
  55. package/build/cache/redis-bus.d.ts +29 -0
  56. package/build/cache/redis-bus.d.ts.map +1 -0
  57. package/build/cache/redis-bus.js +50 -0
  58. package/build/cache/redis-bus.js.map +1 -0
  59. package/build/cache/redis.d.ts +32 -0
  60. package/build/cache/redis.d.ts.map +1 -0
  61. package/build/cache/redis.js +89 -0
  62. package/build/cache/redis.js.map +1 -0
  63. package/build/cache/types.d.ts +38 -0
  64. package/build/cache/types.d.ts.map +1 -0
  65. package/build/cache/types.js +2 -0
  66. package/build/cache/types.js.map +1 -0
  67. package/build/client/index.d.ts +10 -3
  68. package/build/client/index.d.ts.map +1 -1
  69. package/build/client/index.js +75 -50
  70. package/build/client/index.js.map +1 -1
  71. package/build/http/agent.d.ts +16 -0
  72. package/build/http/agent.d.ts.map +1 -0
  73. package/build/http/agent.js +16 -0
  74. package/build/http/agent.js.map +1 -0
  75. package/build/http/dedupe.d.ts +14 -0
  76. package/build/http/dedupe.d.ts.map +1 -0
  77. package/build/http/dedupe.js +69 -0
  78. package/build/http/dedupe.js.map +1 -0
  79. package/build/http/index.d.ts +6 -0
  80. package/build/http/index.d.ts.map +1 -0
  81. package/build/http/index.js +4 -0
  82. package/build/http/index.js.map +1 -0
  83. package/build/http/retry.d.ts +18 -0
  84. package/build/http/retry.d.ts.map +1 -0
  85. package/build/http/retry.js +52 -0
  86. package/build/http/retry.js.map +1 -0
  87. package/build/index.d.ts +1 -18
  88. package/build/index.d.ts.map +1 -1
  89. package/build/index.js +95 -63
  90. package/build/index.js.map +1 -1
  91. package/build/operations-v2/composites/ci-report.d.ts +2 -0
  92. package/build/operations-v2/composites/ci-report.d.ts.map +1 -0
  93. package/build/operations-v2/composites/ci-report.js +99 -0
  94. package/build/operations-v2/composites/ci-report.js.map +1 -0
  95. package/build/operations-v2/composites/regression-run.d.ts +2 -0
  96. package/build/operations-v2/composites/regression-run.d.ts.map +1 -0
  97. package/build/operations-v2/composites/regression-run.js +81 -0
  98. package/build/operations-v2/composites/regression-run.js.map +1 -0
  99. package/build/operations-v2/composites/triage-defect.d.ts +2 -0
  100. package/build/operations-v2/composites/triage-defect.d.ts.map +1 -0
  101. package/build/operations-v2/composites/triage-defect.js +67 -0
  102. package/build/operations-v2/composites/triage-defect.js.map +1 -0
  103. package/build/operations-v2/escape/api.d.ts +2 -0
  104. package/build/operations-v2/escape/api.d.ts.map +1 -0
  105. package/build/operations-v2/escape/api.js +34 -0
  106. package/build/operations-v2/escape/api.js.map +1 -0
  107. package/build/operations-v2/index.d.ts +21 -0
  108. package/build/operations-v2/index.d.ts.map +1 -0
  109. package/build/operations-v2/index.js +27 -0
  110. package/build/operations-v2/index.js.map +1 -0
  111. package/build/operations-v2/meta/discover.d.ts +9 -0
  112. package/build/operations-v2/meta/discover.d.ts.map +1 -0
  113. package/build/operations-v2/meta/discover.js +79 -0
  114. package/build/operations-v2/meta/discover.js.map +1 -0
  115. package/build/{operations/search.d.ts → operations-v2/qql/index.d.ts} +1 -1
  116. package/build/operations-v2/qql/index.d.ts.map +1 -0
  117. package/build/{operations/search.js → operations-v2/qql/index.js} +34 -9
  118. package/build/operations-v2/qql/index.js.map +1 -0
  119. package/build/operations-v2/read/get.d.ts +2 -0
  120. package/build/operations-v2/read/get.d.ts.map +1 -0
  121. package/build/operations-v2/read/get.js +115 -0
  122. package/build/operations-v2/read/get.js.map +1 -0
  123. package/build/operations-v2/read/project-context.d.ts +2 -0
  124. package/build/operations-v2/read/project-context.d.ts.map +1 -0
  125. package/build/operations-v2/read/project-context.js +102 -0
  126. package/build/operations-v2/read/project-context.js.map +1 -0
  127. package/build/operations-v2/write/attachments.d.ts +2 -0
  128. package/build/operations-v2/write/attachments.d.ts.map +1 -0
  129. package/build/operations-v2/write/attachments.js +58 -0
  130. package/build/operations-v2/write/attachments.js.map +1 -0
  131. package/build/operations-v2/write/case-fields.d.ts +206 -0
  132. package/build/operations-v2/write/case-fields.d.ts.map +1 -0
  133. package/build/operations-v2/write/case-fields.js +79 -0
  134. package/build/operations-v2/write/case-fields.js.map +1 -0
  135. package/build/operations-v2/write/cases-bulk.d.ts +2 -0
  136. package/build/operations-v2/write/cases-bulk.d.ts.map +1 -0
  137. package/build/operations-v2/write/cases-bulk.js +54 -0
  138. package/build/operations-v2/write/cases-bulk.js.map +1 -0
  139. package/build/operations-v2/write/cases.d.ts +2 -0
  140. package/build/operations-v2/write/cases.d.ts.map +1 -0
  141. package/build/operations-v2/write/cases.js +52 -0
  142. package/build/operations-v2/write/cases.js.map +1 -0
  143. package/build/operations-v2/write/defects.d.ts +2 -0
  144. package/build/operations-v2/write/defects.d.ts.map +1 -0
  145. package/build/operations-v2/write/defects.js +81 -0
  146. package/build/operations-v2/write/defects.js.map +1 -0
  147. package/build/operations-v2/write/environments.d.ts +2 -0
  148. package/build/operations-v2/write/environments.d.ts.map +1 -0
  149. package/build/operations-v2/write/environments.js +56 -0
  150. package/build/operations-v2/write/environments.js.map +1 -0
  151. package/build/operations-v2/write/external-issues.d.ts +2 -0
  152. package/build/operations-v2/write/external-issues.d.ts.map +1 -0
  153. package/build/operations-v2/write/external-issues.js +96 -0
  154. package/build/operations-v2/write/external-issues.js.map +1 -0
  155. package/build/operations-v2/write/milestones.d.ts +2 -0
  156. package/build/operations-v2/write/milestones.d.ts.map +1 -0
  157. package/build/operations-v2/write/milestones.js +56 -0
  158. package/build/operations-v2/write/milestones.js.map +1 -0
  159. package/build/operations-v2/write/plans.d.ts +2 -0
  160. package/build/operations-v2/write/plans.d.ts.map +1 -0
  161. package/build/operations-v2/write/plans.js +55 -0
  162. package/build/operations-v2/write/plans.js.map +1 -0
  163. package/build/operations-v2/write/results.d.ts +2 -0
  164. package/build/operations-v2/write/results.d.ts.map +1 -0
  165. package/build/operations-v2/write/results.js +72 -0
  166. package/build/operations-v2/write/results.js.map +1 -0
  167. package/build/operations-v2/write/runs.d.ts +2 -0
  168. package/build/operations-v2/write/runs.d.ts.map +1 -0
  169. package/build/operations-v2/write/runs.js +84 -0
  170. package/build/operations-v2/write/runs.js.map +1 -0
  171. package/build/operations-v2/write/shared-steps.d.ts +2 -0
  172. package/build/operations-v2/write/shared-steps.d.ts.map +1 -0
  173. package/build/operations-v2/write/shared-steps.js +60 -0
  174. package/build/operations-v2/write/shared-steps.js.map +1 -0
  175. package/build/operations-v2/write/suites.d.ts +2 -0
  176. package/build/operations-v2/write/suites.d.ts.map +1 -0
  177. package/build/operations-v2/write/suites.js +63 -0
  178. package/build/operations-v2/write/suites.js.map +1 -0
  179. package/build/prompts/index.d.ts +31 -0
  180. package/build/prompts/index.d.ts.map +1 -0
  181. package/build/prompts/index.js +229 -0
  182. package/build/prompts/index.js.map +1 -0
  183. package/build/transports/sse.d.ts.map +1 -1
  184. package/build/transports/sse.js +6 -0
  185. package/build/transports/sse.js.map +1 -1
  186. package/build/transports/streamableHttp.d.ts +6 -1
  187. package/build/transports/streamableHttp.d.ts.map +1 -1
  188. package/build/transports/streamableHttp.js +128 -16
  189. package/build/transports/streamableHttp.js.map +1 -1
  190. package/build/utils/auth-context.d.ts +8 -0
  191. package/build/utils/auth-context.d.ts.map +1 -1
  192. package/build/utils/auth-context.js +18 -0
  193. package/build/utils/auth-context.js.map +1 -1
  194. package/build/utils/case-enums.d.ts +5 -3
  195. package/build/utils/case-enums.d.ts.map +1 -1
  196. package/build/utils/case-enums.js +77 -59
  197. package/build/utils/case-enums.js.map +1 -1
  198. package/build/utils/output-schemas.d.ts +16 -0
  199. package/build/utils/output-schemas.d.ts.map +1 -0
  200. package/build/utils/output-schemas.js +82 -0
  201. package/build/utils/output-schemas.js.map +1 -0
  202. package/build/utils/registry.d.ts +42 -9
  203. package/build/utils/registry.d.ts.map +1 -1
  204. package/build/utils/registry.js +64 -11
  205. package/build/utils/registry.js.map +1 -1
  206. package/build/utils/response-shape.d.ts +23 -0
  207. package/build/utils/response-shape.d.ts.map +1 -0
  208. package/build/utils/response-shape.js +73 -0
  209. package/build/utils/response-shape.js.map +1 -0
  210. package/build/utils/rich-response.d.ts +58 -0
  211. package/build/utils/rich-response.d.ts.map +1 -0
  212. package/build/utils/rich-response.js +93 -0
  213. package/build/utils/rich-response.js.map +1 -0
  214. package/build/utils/server-context.d.ts +65 -0
  215. package/build/utils/server-context.d.ts.map +1 -0
  216. package/build/utils/server-context.js +67 -0
  217. package/build/utils/server-context.js.map +1 -0
  218. package/build/version.d.ts +1 -1
  219. package/build/version.js +1 -1
  220. package/docs/connect.md +81 -0
  221. package/docs/migration.md +351 -0
  222. package/docs/self-run.md +270 -0
  223. package/docs/tools.md +111 -0
  224. package/docs/troubleshooting.md +144 -0
  225. package/package.json +11 -2
  226. package/server.json +8 -2
  227. package/build/operations/attachments.d.ts +0 -8
  228. package/build/operations/attachments.d.ts.map +0 -1
  229. package/build/operations/attachments.js +0 -146
  230. package/build/operations/attachments.js.map +0 -1
  231. package/build/operations/authors.d.ts +0 -8
  232. package/build/operations/authors.d.ts.map +0 -1
  233. package/build/operations/authors.js +0 -70
  234. package/build/operations/authors.js.map +0 -1
  235. package/build/operations/cases.d.ts +0 -8
  236. package/build/operations/cases.d.ts.map +0 -1
  237. package/build/operations/cases.js +0 -370
  238. package/build/operations/cases.js.map +0 -1
  239. package/build/operations/configurations.d.ts +0 -10
  240. package/build/operations/configurations.d.ts.map +0 -1
  241. package/build/operations/configurations.js +0 -125
  242. package/build/operations/configurations.js.map +0 -1
  243. package/build/operations/custom-fields.d.ts +0 -8
  244. package/build/operations/custom-fields.d.ts.map +0 -1
  245. package/build/operations/custom-fields.js +0 -172
  246. package/build/operations/custom-fields.js.map +0 -1
  247. package/build/operations/defects.d.ts +0 -8
  248. package/build/operations/defects.d.ts.map +0 -1
  249. package/build/operations/defects.js +0 -256
  250. package/build/operations/defects.js.map +0 -1
  251. package/build/operations/environments.d.ts +0 -8
  252. package/build/operations/environments.d.ts.map +0 -1
  253. package/build/operations/environments.js +0 -154
  254. package/build/operations/environments.js.map +0 -1
  255. package/build/operations/milestones.d.ts +0 -8
  256. package/build/operations/milestones.d.ts.map +0 -1
  257. package/build/operations/milestones.js +0 -155
  258. package/build/operations/milestones.js.map +0 -1
  259. package/build/operations/plans.d.ts +0 -8
  260. package/build/operations/plans.d.ts.map +0 -1
  261. package/build/operations/plans.js +0 -158
  262. package/build/operations/plans.js.map +0 -1
  263. package/build/operations/projects.d.ts +0 -8
  264. package/build/operations/projects.d.ts.map +0 -1
  265. package/build/operations/projects.js +0 -192
  266. package/build/operations/projects.js.map +0 -1
  267. package/build/operations/results.d.ts +0 -8
  268. package/build/operations/results.d.ts.map +0 -1
  269. package/build/operations/results.js +0 -214
  270. package/build/operations/results.js.map +0 -1
  271. package/build/operations/runs.d.ts +0 -8
  272. package/build/operations/runs.d.ts.map +0 -1
  273. package/build/operations/runs.js +0 -224
  274. package/build/operations/runs.js.map +0 -1
  275. package/build/operations/search.d.ts.map +0 -1
  276. package/build/operations/search.js.map +0 -1
  277. package/build/operations/shared-parameters.d.ts +0 -10
  278. package/build/operations/shared-parameters.d.ts.map +0 -1
  279. package/build/operations/shared-parameters.js +0 -93
  280. package/build/operations/shared-parameters.js.map +0 -1
  281. package/build/operations/shared-steps.d.ts +0 -8
  282. package/build/operations/shared-steps.d.ts.map +0 -1
  283. package/build/operations/shared-steps.js +0 -160
  284. package/build/operations/shared-steps.js.map +0 -1
  285. package/build/operations/suites.d.ts +0 -8
  286. package/build/operations/suites.d.ts.map +0 -1
  287. package/build/operations/suites.js +0 -169
  288. package/build/operations/suites.js.map +0 -1
  289. package/build/operations/system-fields.d.ts +0 -10
  290. package/build/operations/system-fields.d.ts.map +0 -1
  291. package/build/operations/system-fields.js +0 -47
  292. package/build/operations/system-fields.js.map +0 -1
  293. package/build/operations/users.d.ts +0 -10
  294. package/build/operations/users.d.ts.map +0 -1
  295. package/build/operations/users.js +0 -78
  296. package/build/operations/users.js.map +0 -1
@@ -1,160 +0,0 @@
1
- /**
2
- * Shared Steps Operations
3
- *
4
- * Implements all MCP tools for managing shared steps in Qase.
5
- * Shared steps are reusable test steps that can be included in multiple test cases.
6
- */
7
- import { z } from 'zod';
8
- import { getApiClient } from '../client/index.js';
9
- import { toolRegistry, ReadAnnotation, CreateAnnotation, UpdateAnnotation, DeleteAnnotation, } from '../utils/registry.js';
10
- import { toResultAsync, createToolError } from '../utils/errors.js';
11
- import { ProjectCodeSchema, HashSchema } from '../utils/validation.js';
12
- // ============================================================================
13
- // SCHEMAS
14
- // ============================================================================
15
- /**
16
- * Schema for shared step content
17
- */
18
- const SharedStepContentSchema = z.object({
19
- action: z.string().describe('Step action description'),
20
- expected_result: z.string().optional().describe('Expected result'),
21
- data: z.string().optional().describe('Test data'),
22
- attachments: z.array(z.string()).optional().describe('Array of attachment hashes'),
23
- });
24
- /**
25
- * Schema for listing shared steps
26
- */
27
- const ListSharedStepsSchema = z.object({
28
- code: ProjectCodeSchema,
29
- search: z.string().optional().describe('Search query for step title'),
30
- limit: z.number().int().positive().max(100).optional().describe('Maximum number of items'),
31
- offset: z.number().int().nonnegative().optional().describe('Number of items to skip'),
32
- });
33
- /**
34
- * Schema for getting a specific shared step
35
- */
36
- const GetSharedStepSchema = z.object({
37
- code: ProjectCodeSchema,
38
- hash: HashSchema.describe('Shared step hash identifier'),
39
- });
40
- /**
41
- * Schema for creating a shared step
42
- */
43
- const CreateSharedStepSchema = z.object({
44
- code: ProjectCodeSchema,
45
- title: z.string().min(1).max(255).describe('Shared step title'),
46
- steps: z.array(SharedStepContentSchema).optional().describe('Array of step definitions'),
47
- });
48
- /**
49
- * Schema for updating a shared step
50
- */
51
- const UpdateSharedStepSchema = z.object({
52
- code: ProjectCodeSchema,
53
- hash: HashSchema.describe('Shared step hash identifier'),
54
- title: z.string().min(1).max(255).optional().describe('Shared step title'),
55
- steps: z.array(SharedStepContentSchema).optional().describe('Array of step definitions'),
56
- });
57
- /**
58
- * Schema for deleting a shared step
59
- */
60
- const DeleteSharedStepSchema = z.object({
61
- code: ProjectCodeSchema,
62
- hash: HashSchema.describe('Shared step hash identifier'),
63
- });
64
- // ============================================================================
65
- // HANDLERS
66
- // ============================================================================
67
- /**
68
- * List all shared steps in a project
69
- */
70
- async function listSharedSteps(args) {
71
- const client = getApiClient();
72
- const { code, search, limit, offset } = args;
73
- const result = await toResultAsync(client.sharedSteps.getSharedSteps(code, search, limit, offset));
74
- return result.match((response) => response.data.result, (error) => {
75
- throw createToolError(error, 'shared step operation');
76
- });
77
- }
78
- /**
79
- * Get a specific shared step
80
- */
81
- async function getSharedStep(args) {
82
- const client = getApiClient();
83
- const { code, hash } = args;
84
- const result = await toResultAsync(client.sharedSteps.getSharedStep(code, hash));
85
- return result.match((response) => response.data.result, (error) => {
86
- throw createToolError(error, 'shared step operation');
87
- });
88
- }
89
- /**
90
- * Create a new shared step
91
- */
92
- async function createSharedStep(args) {
93
- const client = getApiClient();
94
- const { code, ...stepData } = args;
95
- const result = await toResultAsync(client.sharedSteps.createSharedStep(code, stepData));
96
- return result.match((response) => response.data.result, (error) => {
97
- throw createToolError(error, 'shared step operation');
98
- });
99
- }
100
- /**
101
- * Update an existing shared step
102
- */
103
- async function updateSharedStep(args) {
104
- const client = getApiClient();
105
- const { code, hash, ...updateData } = args;
106
- const result = await toResultAsync(client.sharedSteps.updateSharedStep(code, hash, updateData));
107
- return result.match((response) => response.data.result, (error) => {
108
- throw createToolError(error, 'shared step operation');
109
- });
110
- }
111
- /**
112
- * Delete a shared step
113
- */
114
- async function deleteSharedStep(args) {
115
- const client = getApiClient();
116
- const { code, hash } = args;
117
- const result = await toResultAsync(client.sharedSteps.deleteSharedStep(code, hash));
118
- return result.match((_response) => ({ success: true, hash }), (error) => {
119
- throw createToolError(error, 'shared step operation');
120
- });
121
- }
122
- // ============================================================================
123
- // TOOL REGISTRATION
124
- // ============================================================================
125
- toolRegistry.register({
126
- name: 'list_shared_steps',
127
- description: 'Get all shared steps in a project with optional search and pagination',
128
- schema: ListSharedStepsSchema,
129
- handler: listSharedSteps,
130
- annotations: ReadAnnotation,
131
- });
132
- toolRegistry.register({
133
- name: 'get_shared_step',
134
- description: 'Get a specific shared step by project code and hash',
135
- schema: GetSharedStepSchema,
136
- handler: getSharedStep,
137
- annotations: ReadAnnotation,
138
- });
139
- toolRegistry.register({
140
- name: 'create_shared_step',
141
- description: 'Create a new reusable shared step in a project',
142
- schema: CreateSharedStepSchema,
143
- handler: createSharedStep,
144
- annotations: CreateAnnotation,
145
- });
146
- toolRegistry.register({
147
- name: 'update_shared_step',
148
- description: 'Update an existing shared step',
149
- schema: UpdateSharedStepSchema,
150
- handler: updateSharedStep,
151
- annotations: UpdateAnnotation,
152
- });
153
- toolRegistry.register({
154
- name: 'delete_shared_step',
155
- description: 'Delete a shared step from a project',
156
- schema: DeleteSharedStepSchema,
157
- handler: deleteSharedStep,
158
- annotations: DeleteAnnotation,
159
- });
160
- //# sourceMappingURL=shared-steps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared-steps.js","sourceRoot":"","sources":["../../src/operations/shared-steps.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Test Suites Operations
3
- *
4
- * Implements all MCP tools for managing test suites in Qase.
5
- * Suites provide organizational hierarchy for test cases.
6
- */
7
- export {};
8
- //# sourceMappingURL=suites.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suites.d.ts","sourceRoot":"","sources":["../../src/operations/suites.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,169 +0,0 @@
1
- /**
2
- * Test Suites Operations
3
- *
4
- * Implements all MCP tools for managing test suites in Qase.
5
- * Suites provide organizational hierarchy for test cases.
6
- */
7
- import { z } from 'zod';
8
- import { getApiClient } from '../client/index.js';
9
- import { toolRegistry, ReadAnnotation, CreateAnnotation, UpdateAnnotation, DeleteAnnotation, } from '../utils/registry.js';
10
- import { toResultAsync, createToolError } from '../utils/errors.js';
11
- import { ProjectCodeSchema, IdSchema } from '../utils/validation.js';
12
- // ============================================================================
13
- // SCHEMAS
14
- // ============================================================================
15
- /**
16
- * Schema for listing test suites
17
- */
18
- const ListSuitesSchema = z.object({
19
- code: ProjectCodeSchema,
20
- search: z.string().optional().describe('Search query for suite title'),
21
- limit: z.number().int().positive().max(100).optional().describe('Maximum number of items'),
22
- offset: z.number().int().nonnegative().optional().describe('Number of items to skip'),
23
- });
24
- /**
25
- * Schema for getting a specific test suite
26
- */
27
- const GetSuiteSchema = z.object({
28
- code: ProjectCodeSchema,
29
- id: IdSchema,
30
- });
31
- /**
32
- * Schema for creating a test suite
33
- */
34
- const CreateSuiteSchema = z.object({
35
- code: ProjectCodeSchema,
36
- title: z.string().min(1).max(255).describe('Suite title'),
37
- description: z.string().optional().describe('Suite description'),
38
- preconditions: z.string().optional().describe('Preconditions for tests in this suite'),
39
- parent_id: z
40
- .number()
41
- .int()
42
- .positive()
43
- .optional()
44
- .describe('Parent suite ID for creating nested suites'),
45
- });
46
- /**
47
- * Schema for updating a test suite
48
- */
49
- const UpdateSuiteSchema = z.object({
50
- code: ProjectCodeSchema,
51
- id: IdSchema,
52
- title: z.string().min(1).max(255).optional().describe('Suite title'),
53
- description: z.string().optional().describe('Suite description'),
54
- preconditions: z.string().optional().describe('Preconditions for tests in this suite'),
55
- parent_id: z
56
- .number()
57
- .int()
58
- .positive()
59
- .optional()
60
- .describe('Parent suite ID for moving the suite'),
61
- });
62
- /**
63
- * Schema for deleting a test suite
64
- */
65
- const DeleteSuiteSchema = z.object({
66
- code: ProjectCodeSchema,
67
- id: IdSchema,
68
- delete_cases: z
69
- .boolean()
70
- .optional()
71
- .describe('If true, delete all test cases in the suite. If false, move cases to parent suite or root.'),
72
- });
73
- // ============================================================================
74
- // HANDLERS
75
- // ============================================================================
76
- /**
77
- * List all test suites in a project
78
- */
79
- async function listSuites(args) {
80
- const client = getApiClient();
81
- const { code, search, limit, offset } = args;
82
- const result = await toResultAsync(client.suites.getSuites(code, search, limit, offset));
83
- return result.match((response) => response.data.result, (error) => {
84
- throw createToolError(error, 'suite operation');
85
- });
86
- }
87
- /**
88
- * Get a specific test suite
89
- */
90
- async function getSuite(args) {
91
- const client = getApiClient();
92
- const { code, id } = args;
93
- const result = await toResultAsync(client.suites.getSuite(code, id));
94
- return result.match((response) => response.data.result, (error) => {
95
- throw createToolError(error, 'suite operation');
96
- });
97
- }
98
- /**
99
- * Create a new test suite
100
- */
101
- async function createSuite(args) {
102
- const client = getApiClient();
103
- const { code, ...suiteData } = args;
104
- const result = await toResultAsync(client.suites.createSuite(code, suiteData));
105
- return result.match((response) => response.data.result, (error) => {
106
- throw createToolError(error, 'suite operation');
107
- });
108
- }
109
- /**
110
- * Update an existing test suite
111
- */
112
- async function updateSuite(args) {
113
- const client = getApiClient();
114
- const { code, id, ...updateData } = args;
115
- const result = await toResultAsync(client.suites.updateSuite(code, id, updateData));
116
- return result.match((response) => response.data.result, (error) => {
117
- throw createToolError(error, 'suite operation');
118
- });
119
- }
120
- /**
121
- * Delete a test suite
122
- */
123
- async function deleteSuite(args) {
124
- const client = getApiClient();
125
- const { code, id, delete_cases } = args;
126
- const result = await toResultAsync(client.suites.deleteSuite(code, id));
127
- return result.match((_response) => ({ success: true, id, delete_cases }), (error) => {
128
- throw createToolError(error, 'suite operation');
129
- });
130
- }
131
- // ============================================================================
132
- // TOOL REGISTRATION
133
- // ============================================================================
134
- toolRegistry.register({
135
- name: 'list_suites',
136
- description: 'Get all test suites in a project with optional search and pagination',
137
- schema: ListSuitesSchema,
138
- handler: listSuites,
139
- annotations: ReadAnnotation,
140
- });
141
- toolRegistry.register({
142
- name: 'get_suite',
143
- description: 'Get a specific test suite by project code and suite ID',
144
- schema: GetSuiteSchema,
145
- handler: getSuite,
146
- annotations: ReadAnnotation,
147
- });
148
- toolRegistry.register({
149
- name: 'create_suite',
150
- description: 'Create a new test suite in a project',
151
- schema: CreateSuiteSchema,
152
- handler: createSuite,
153
- annotations: CreateAnnotation,
154
- });
155
- toolRegistry.register({
156
- name: 'update_suite',
157
- description: 'Update an existing test suite',
158
- schema: UpdateSuiteSchema,
159
- handler: updateSuite,
160
- annotations: UpdateAnnotation,
161
- });
162
- toolRegistry.register({
163
- name: 'delete_suite',
164
- description: 'Delete a test suite from a project',
165
- schema: DeleteSuiteSchema,
166
- handler: deleteSuite,
167
- annotations: DeleteAnnotation,
168
- });
169
- //# sourceMappingURL=suites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suites.js","sourceRoot":"","sources":["../../src/operations/suites.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * System Fields Operations
3
- *
4
- * Implements all MCP tools for viewing system field configurations in Qase.
5
- * System fields are built-in fields that can be configured at the account level.
6
- *
7
- * https://developers.qase.io/reference/get-system-fields
8
- */
9
- export {};
10
- //# sourceMappingURL=system-fields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-fields.d.ts","sourceRoot":"","sources":["../../src/operations/system-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,47 +0,0 @@
1
- /**
2
- * System Fields Operations
3
- *
4
- * Implements all MCP tools for viewing system field configurations in Qase.
5
- * System fields are built-in fields that can be configured at the account level.
6
- *
7
- * https://developers.qase.io/reference/get-system-fields
8
- */
9
- import { z } from 'zod';
10
- import { getApiClient } from '../client/index.js';
11
- import { toolRegistry, ReadAnnotation } from '../utils/registry.js';
12
- import { toResultAsync, createToolError } from '../utils/errors.js';
13
- // ============================================================================
14
- // SCHEMAS
15
- // ============================================================================
16
- /**
17
- * Schema for listing system fields (no parameters needed)
18
- * API: GET /v1/system_field
19
- * https://developers.qase.io/reference/get-system-fields
20
- */
21
- const ListSystemFieldsSchema = z.object({});
22
- // ============================================================================
23
- // HANDLERS
24
- // ============================================================================
25
- /**
26
- * List all system fields and their configurations
27
- * API: GET /v1/system_field
28
- * https://developers.qase.io/reference/get-system-fields
29
- */
30
- async function listSystemFields(_args) {
31
- const client = getApiClient();
32
- const result = await toResultAsync(client.systemFields.getSystemFields());
33
- return result.match((response) => response.data.result, (error) => {
34
- throw createToolError(error, 'listing system fields');
35
- });
36
- }
37
- // ============================================================================
38
- // TOOL REGISTRATION
39
- // ============================================================================
40
- toolRegistry.register({
41
- name: 'list_system_fields',
42
- description: 'Get all system field configurations (built-in fields like priority, severity, etc.)',
43
- schema: ListSystemFieldsSchema,
44
- handler: listSystemFields,
45
- annotations: ReadAnnotation,
46
- });
47
- //# sourceMappingURL=system-fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-fields.js","sourceRoot":"","sources":["../../src/operations/system-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5C,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAA6C;IAC3E,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1E,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACxD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,qFAAqF;IACvF,MAAM,EAAE,sBAAsB;IAC9B,OAAO,EAAE,gBAAgB;IACzB,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Users Operations
3
- *
4
- * Implements all MCP tools for managing users in Qase.
5
- * Users are team members with access to the Qase workspace.
6
- *
7
- * https://developers.qase.io/reference/get-users
8
- */
9
- export {};
10
- //# sourceMappingURL=users.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/operations/users.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Users Operations
3
- *
4
- * Implements all MCP tools for managing users in Qase.
5
- * Users are team members with access to the Qase workspace.
6
- *
7
- * https://developers.qase.io/reference/get-users
8
- */
9
- import { z } from 'zod';
10
- import { getApiClient } from '../client/index.js';
11
- import { toolRegistry, ReadAnnotation } from '../utils/registry.js';
12
- import { toResultAsync, createToolError } from '../utils/errors.js';
13
- import { IdSchema } from '../utils/validation.js';
14
- // ============================================================================
15
- // SCHEMAS
16
- // ============================================================================
17
- /**
18
- * Schema for listing users
19
- * API: GET /v1/user
20
- * https://developers.qase.io/reference/get-users
21
- *
22
- * The Qase API does not document pagination parameters for this endpoint.
23
- */
24
- const ListUsersSchema = z.object({});
25
- /**
26
- * Schema for getting a specific user
27
- * API: GET /v1/user/{id}
28
- * https://developers.qase.io/reference/get-user
29
- */
30
- const GetUserSchema = z.object({
31
- id: IdSchema,
32
- });
33
- // ============================================================================
34
- // HANDLERS
35
- // ============================================================================
36
- /**
37
- * List all users
38
- * API: GET /v1/user
39
- * https://developers.qase.io/reference/get-users
40
- */
41
- async function listUsers(_args) {
42
- const client = getApiClient();
43
- const result = await toResultAsync(client.users.getUsers());
44
- return result.match((response) => response.data.result, (error) => {
45
- throw createToolError(error, 'listing users');
46
- });
47
- }
48
- /**
49
- * Get a specific user
50
- * API: GET /v1/user/{id}
51
- * https://developers.qase.io/reference/get-user
52
- */
53
- async function getUser(args) {
54
- const client = getApiClient();
55
- const { id } = args;
56
- const result = await toResultAsync(client.users.getUser(id));
57
- return result.match((response) => response.data.result, (error) => {
58
- throw createToolError(error, 'getting user');
59
- });
60
- }
61
- // ============================================================================
62
- // TOOL REGISTRATION
63
- // ============================================================================
64
- toolRegistry.register({
65
- name: 'list_users',
66
- description: 'Get all users in the workspace',
67
- schema: ListUsersSchema,
68
- handler: listUsers,
69
- annotations: ReadAnnotation,
70
- });
71
- toolRegistry.register({
72
- name: 'get_user',
73
- description: 'Get a specific user by ID',
74
- schema: GetUserSchema,
75
- handler: getUser,
76
- annotations: ReadAnnotation,
77
- });
78
- //# sourceMappingURL=users.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/operations/users.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,EAAE,EAAE,QAAQ;CACb,CAAC,CAAC;AAEH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;GAIG;AACH,KAAK,UAAU,SAAS,CAAC,KAAsC;IAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAC,IAAmC;IACxD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAEH,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,2BAA2B;IACxC,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC"}