@bun913/mcp-testrail 0.11.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.
Files changed (129) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -0
  3. package/dist/client/api/baseClient.d.ts +39 -0
  4. package/dist/client/api/baseClient.js +103 -0
  5. package/dist/client/api/baseClient.js.map +1 -0
  6. package/dist/client/api/cases.d.ts +102 -0
  7. package/dist/client/api/cases.js +200 -0
  8. package/dist/client/api/cases.js.map +1 -0
  9. package/dist/client/api/index.d.ts +39 -0
  10. package/dist/client/api/index.js +50 -0
  11. package/dist/client/api/index.js.map +1 -0
  12. package/dist/client/api/milestones.d.ts +12 -0
  13. package/dist/client/api/milestones.js +22 -0
  14. package/dist/client/api/milestones.js.map +1 -0
  15. package/dist/client/api/plans.d.ts +12 -0
  16. package/dist/client/api/plans.js +20 -0
  17. package/dist/client/api/plans.js.map +1 -0
  18. package/dist/client/api/projects.d.ts +12 -0
  19. package/dist/client/api/projects.js +31 -0
  20. package/dist/client/api/projects.js.map +1 -0
  21. package/dist/client/api/results.d.ts +56 -0
  22. package/dist/client/api/results.js +125 -0
  23. package/dist/client/api/results.js.map +1 -0
  24. package/dist/client/api/runs.d.ts +40 -0
  25. package/dist/client/api/runs.js +79 -0
  26. package/dist/client/api/runs.js.map +1 -0
  27. package/dist/client/api/sections.d.ts +40 -0
  28. package/dist/client/api/sections.js +89 -0
  29. package/dist/client/api/sections.js.map +1 -0
  30. package/dist/client/api/sharedSteps.d.ts +11 -0
  31. package/dist/client/api/sharedSteps.js +20 -0
  32. package/dist/client/api/sharedSteps.js.map +1 -0
  33. package/dist/client/api/suites.d.ts +36 -0
  34. package/dist/client/api/suites.js +63 -0
  35. package/dist/client/api/suites.js.map +1 -0
  36. package/dist/client/api/tests.d.ts +32 -0
  37. package/dist/client/api/tests.js +47 -0
  38. package/dist/client/api/tests.js.map +1 -0
  39. package/dist/client/api/utils.d.ts +7 -0
  40. package/dist/client/api/utils.js +24 -0
  41. package/dist/client/api/utils.js.map +1 -0
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +5 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/server/api/cases.d.ts +8 -0
  46. package/dist/server/api/cases.js +431 -0
  47. package/dist/server/api/cases.js.map +1 -0
  48. package/dist/server/api/index.d.ts +18 -0
  49. package/dist/server/api/index.js +40 -0
  50. package/dist/server/api/index.js.map +1 -0
  51. package/dist/server/api/milestones.d.ts +8 -0
  52. package/dist/server/api/milestones.js +29 -0
  53. package/dist/server/api/milestones.js.map +1 -0
  54. package/dist/server/api/plans.d.ts +8 -0
  55. package/dist/server/api/plans.js +29 -0
  56. package/dist/server/api/plans.js.map +1 -0
  57. package/dist/server/api/projects.d.ts +8 -0
  58. package/dist/server/api/projects.js +51 -0
  59. package/dist/server/api/projects.js.map +1 -0
  60. package/dist/server/api/results.d.ts +8 -0
  61. package/dist/server/api/results.js +164 -0
  62. package/dist/server/api/results.js.map +1 -0
  63. package/dist/server/api/runs.d.ts +8 -0
  64. package/dist/server/api/runs.js +113 -0
  65. package/dist/server/api/runs.js.map +1 -0
  66. package/dist/server/api/sections.d.ts +8 -0
  67. package/dist/server/api/sections.js +138 -0
  68. package/dist/server/api/sections.js.map +1 -0
  69. package/dist/server/api/sharedSteps.d.ts +8 -0
  70. package/dist/server/api/sharedSteps.js +26 -0
  71. package/dist/server/api/sharedSteps.js.map +1 -0
  72. package/dist/server/api/suites.d.ts +8 -0
  73. package/dist/server/api/suites.js +111 -0
  74. package/dist/server/api/suites.js.map +1 -0
  75. package/dist/server/api/tests.d.ts +8 -0
  76. package/dist/server/api/tests.js +68 -0
  77. package/dist/server/api/tests.js.map +1 -0
  78. package/dist/server/api/utils.d.ts +7 -0
  79. package/dist/server/api/utils.js +25 -0
  80. package/dist/server/api/utils.js.map +1 -0
  81. package/dist/server/server.d.ts +2 -0
  82. package/dist/server/server.js +70 -0
  83. package/dist/server/server.js.map +1 -0
  84. package/dist/server/templates.d.ts +8 -0
  85. package/dist/server/templates.js +43 -0
  86. package/dist/server/templates.js.map +1 -0
  87. package/dist/shared/schemas/cases.d.ts +668 -0
  88. package/dist/shared/schemas/cases.js +178 -0
  89. package/dist/shared/schemas/cases.js.map +1 -0
  90. package/dist/shared/schemas/common.d.ts +117 -0
  91. package/dist/shared/schemas/common.js +50 -0
  92. package/dist/shared/schemas/common.js.map +1 -0
  93. package/dist/shared/schemas/index.d.ts +10 -0
  94. package/dist/shared/schemas/index.js +23 -0
  95. package/dist/shared/schemas/index.js.map +1 -0
  96. package/dist/shared/schemas/milestones.d.ts +59 -0
  97. package/dist/shared/schemas/milestones.js +26 -0
  98. package/dist/shared/schemas/milestones.js.map +1 -0
  99. package/dist/shared/schemas/plans.d.ts +416 -0
  100. package/dist/shared/schemas/plans.js +43 -0
  101. package/dist/shared/schemas/plans.js.map +1 -0
  102. package/dist/shared/schemas/projects.d.ts +135 -0
  103. package/dist/shared/schemas/projects.js +61 -0
  104. package/dist/shared/schemas/projects.js.map +1 -0
  105. package/dist/shared/schemas/results.d.ts +407 -0
  106. package/dist/shared/schemas/results.js +178 -0
  107. package/dist/shared/schemas/results.js.map +1 -0
  108. package/dist/shared/schemas/runs.d.ts +267 -0
  109. package/dist/shared/schemas/runs.js +133 -0
  110. package/dist/shared/schemas/runs.js.map +1 -0
  111. package/dist/shared/schemas/sections.d.ts +136 -0
  112. package/dist/shared/schemas/sections.js +68 -0
  113. package/dist/shared/schemas/sections.js.map +1 -0
  114. package/dist/shared/schemas/sharedSteps.d.ts +135 -0
  115. package/dist/shared/schemas/sharedSteps.js +65 -0
  116. package/dist/shared/schemas/sharedSteps.js.map +1 -0
  117. package/dist/shared/schemas/suites.d.ts +120 -0
  118. package/dist/shared/schemas/suites.js +44 -0
  119. package/dist/shared/schemas/suites.js.map +1 -0
  120. package/dist/shared/schemas/tests.d.ts +87 -0
  121. package/dist/shared/schemas/tests.js +52 -0
  122. package/dist/shared/schemas/tests.js.map +1 -0
  123. package/dist/sse.d.ts +1 -0
  124. package/dist/sse.js +5 -0
  125. package/dist/sse.js.map +1 -0
  126. package/dist/stdio.d.ts +1 -0
  127. package/dist/stdio.js +52 -0
  128. package/dist/stdio.js.map +1 -0
  129. package/package.json +48 -0
@@ -0,0 +1,267 @@
1
+ import { z } from "zod";
2
+ export declare const getRunsSchema: {
3
+ projectId: z.ZodNumber;
4
+ createdAfter: z.ZodOptional<z.ZodNumber>;
5
+ createdBefore: z.ZodOptional<z.ZodNumber>;
6
+ createdBy: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
7
+ milestoneId: z.ZodOptional<z.ZodNumber>;
8
+ suiteId: z.ZodOptional<z.ZodNumber>;
9
+ limit: z.ZodOptional<z.ZodNumber>;
10
+ offset: z.ZodOptional<z.ZodNumber>;
11
+ };
12
+ export declare const getRunSchema: {
13
+ runId: z.ZodNumber;
14
+ };
15
+ export declare const addRunSchema: {
16
+ projectId: z.ZodNumber;
17
+ name: z.ZodString;
18
+ suiteId: z.ZodOptional<z.ZodNumber>;
19
+ description: z.ZodOptional<z.ZodString>;
20
+ milestoneId: z.ZodOptional<z.ZodNumber>;
21
+ assignedtoId: z.ZodOptional<z.ZodNumber>;
22
+ includeAll: z.ZodOptional<z.ZodBoolean>;
23
+ caseIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
24
+ configIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
25
+ refs: z.ZodOptional<z.ZodString>;
26
+ };
27
+ export declare const updateRunSchema: {
28
+ runId: z.ZodNumber;
29
+ name: z.ZodOptional<z.ZodString>;
30
+ description: z.ZodOptional<z.ZodString>;
31
+ milestoneId: z.ZodOptional<z.ZodNumber>;
32
+ assignedtoId: z.ZodOptional<z.ZodNumber>;
33
+ includeAll: z.ZodOptional<z.ZodBoolean>;
34
+ caseIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
35
+ refs: z.ZodOptional<z.ZodString>;
36
+ };
37
+ export declare const GetRunsInput: z.ZodObject<{
38
+ projectId: z.ZodNumber;
39
+ createdAfter: z.ZodOptional<z.ZodNumber>;
40
+ createdBefore: z.ZodOptional<z.ZodNumber>;
41
+ createdBy: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
42
+ milestoneId: z.ZodOptional<z.ZodNumber>;
43
+ suiteId: z.ZodOptional<z.ZodNumber>;
44
+ limit: z.ZodOptional<z.ZodNumber>;
45
+ offset: z.ZodOptional<z.ZodNumber>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ projectId: number;
48
+ suiteId?: number | undefined;
49
+ createdAfter?: number | undefined;
50
+ createdBefore?: number | undefined;
51
+ createdBy?: number[] | undefined;
52
+ limit?: number | undefined;
53
+ offset?: number | undefined;
54
+ milestoneId?: number | undefined;
55
+ }, {
56
+ projectId: number;
57
+ suiteId?: number | undefined;
58
+ createdAfter?: number | undefined;
59
+ createdBefore?: number | undefined;
60
+ createdBy?: number[] | undefined;
61
+ limit?: number | undefined;
62
+ offset?: number | undefined;
63
+ milestoneId?: number | undefined;
64
+ }>;
65
+ export declare const GetRunInput: z.ZodObject<{
66
+ runId: z.ZodNumber;
67
+ }, "strip", z.ZodTypeAny, {
68
+ runId: number;
69
+ }, {
70
+ runId: number;
71
+ }>;
72
+ export declare const AddRunInput: z.ZodObject<{
73
+ projectId: z.ZodNumber;
74
+ name: z.ZodString;
75
+ suiteId: z.ZodOptional<z.ZodNumber>;
76
+ description: z.ZodOptional<z.ZodString>;
77
+ milestoneId: z.ZodOptional<z.ZodNumber>;
78
+ assignedtoId: z.ZodOptional<z.ZodNumber>;
79
+ includeAll: z.ZodOptional<z.ZodBoolean>;
80
+ caseIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
81
+ configIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
82
+ refs: z.ZodOptional<z.ZodString>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ projectId: number;
85
+ name: string;
86
+ suiteId?: number | undefined;
87
+ description?: string | undefined;
88
+ refs?: string | undefined;
89
+ milestoneId?: number | undefined;
90
+ caseIds?: number[] | undefined;
91
+ assignedtoId?: number | undefined;
92
+ includeAll?: boolean | undefined;
93
+ configIds?: number[] | undefined;
94
+ }, {
95
+ projectId: number;
96
+ name: string;
97
+ suiteId?: number | undefined;
98
+ description?: string | undefined;
99
+ refs?: string | undefined;
100
+ milestoneId?: number | undefined;
101
+ caseIds?: number[] | undefined;
102
+ assignedtoId?: number | undefined;
103
+ includeAll?: boolean | undefined;
104
+ configIds?: number[] | undefined;
105
+ }>;
106
+ export declare const UpdateRunInput: z.ZodObject<{
107
+ runId: z.ZodNumber;
108
+ name: z.ZodOptional<z.ZodString>;
109
+ description: z.ZodOptional<z.ZodString>;
110
+ milestoneId: z.ZodOptional<z.ZodNumber>;
111
+ assignedtoId: z.ZodOptional<z.ZodNumber>;
112
+ includeAll: z.ZodOptional<z.ZodBoolean>;
113
+ caseIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
114
+ refs: z.ZodOptional<z.ZodString>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ runId: number;
117
+ name?: string | undefined;
118
+ description?: string | undefined;
119
+ refs?: string | undefined;
120
+ milestoneId?: number | undefined;
121
+ caseIds?: number[] | undefined;
122
+ assignedtoId?: number | undefined;
123
+ includeAll?: boolean | undefined;
124
+ }, {
125
+ runId: number;
126
+ name?: string | undefined;
127
+ description?: string | undefined;
128
+ refs?: string | undefined;
129
+ milestoneId?: number | undefined;
130
+ caseIds?: number[] | undefined;
131
+ assignedtoId?: number | undefined;
132
+ includeAll?: boolean | undefined;
133
+ }>;
134
+ export type GetRunsInputType = z.infer<typeof GetRunsInput>;
135
+ export type GetRunInputType = z.infer<typeof GetRunInput>;
136
+ export type AddRunInputType = z.infer<typeof AddRunInput>;
137
+ export type UpdateRunInputType = z.infer<typeof UpdateRunInput>;
138
+ /**
139
+ * TestRail API Response for Test
140
+ */
141
+ export declare const TestRailTestSchema: z.ZodObject<{
142
+ id: z.ZodNumber;
143
+ case_id: z.ZodNumber;
144
+ status_id: z.ZodNumber;
145
+ assignedto_id: z.ZodNumber;
146
+ run_id: z.ZodNumber;
147
+ title: z.ZodString;
148
+ template_id: z.ZodNumber;
149
+ type_id: z.ZodNumber;
150
+ priority_id: z.ZodNumber;
151
+ milestone_id: z.ZodNumber;
152
+ refs: z.ZodString;
153
+ estimate: z.ZodString;
154
+ estimate_forecast: z.ZodString;
155
+ custom_preconds: z.ZodString;
156
+ custom_steps: z.ZodString;
157
+ custom_expected: z.ZodString;
158
+ }, "strip", z.ZodTypeAny, {
159
+ id: number;
160
+ refs: string;
161
+ title: string;
162
+ estimate: string;
163
+ template_id: number;
164
+ type_id: number;
165
+ priority_id: number;
166
+ milestone_id: number;
167
+ estimate_forecast: string;
168
+ status_id: number;
169
+ custom_preconds: string;
170
+ custom_steps: string;
171
+ custom_expected: string;
172
+ case_id: number;
173
+ assignedto_id: number;
174
+ run_id: number;
175
+ }, {
176
+ id: number;
177
+ refs: string;
178
+ title: string;
179
+ estimate: string;
180
+ template_id: number;
181
+ type_id: number;
182
+ priority_id: number;
183
+ milestone_id: number;
184
+ estimate_forecast: string;
185
+ status_id: number;
186
+ custom_preconds: string;
187
+ custom_steps: string;
188
+ custom_expected: string;
189
+ case_id: number;
190
+ assignedto_id: number;
191
+ run_id: number;
192
+ }>;
193
+ export type TestRailTest = z.infer<typeof TestRailTestSchema>;
194
+ /**
195
+ * TestRail API Response for Run
196
+ */
197
+ export declare const TestRailRunSchema: z.ZodObject<{
198
+ id: z.ZodNumber;
199
+ suite_id: z.ZodNumber;
200
+ name: z.ZodString;
201
+ description: z.ZodString;
202
+ milestone_id: z.ZodNullable<z.ZodNumber>;
203
+ assignedto_id: z.ZodNullable<z.ZodNumber>;
204
+ include_all: z.ZodBoolean;
205
+ is_completed: z.ZodBoolean;
206
+ completed_on: z.ZodNullable<z.ZodNumber>;
207
+ config: z.ZodNullable<z.ZodString>;
208
+ config_ids: z.ZodArray<z.ZodNumber, "many">;
209
+ passed_count: z.ZodNumber;
210
+ blocked_count: z.ZodNumber;
211
+ untested_count: z.ZodNumber;
212
+ retest_count: z.ZodNumber;
213
+ failed_count: z.ZodNumber;
214
+ custom_status_count: z.ZodRecord<z.ZodString, z.ZodNumber>;
215
+ created_on: z.ZodNumber;
216
+ created_by: z.ZodNumber;
217
+ plan_id: z.ZodNumber;
218
+ url: z.ZodString;
219
+ refs: z.ZodString;
220
+ }, "strip", z.ZodTypeAny, {
221
+ url: string;
222
+ name: string;
223
+ is_completed: boolean;
224
+ id: number;
225
+ completed_on: number | null;
226
+ description: string;
227
+ suite_id: number;
228
+ refs: string;
229
+ created_by: number;
230
+ created_on: number;
231
+ milestone_id: number | null;
232
+ include_all: boolean;
233
+ assignedto_id: number | null;
234
+ config: string | null;
235
+ config_ids: number[];
236
+ passed_count: number;
237
+ blocked_count: number;
238
+ untested_count: number;
239
+ retest_count: number;
240
+ failed_count: number;
241
+ custom_status_count: Record<string, number>;
242
+ plan_id: number;
243
+ }, {
244
+ url: string;
245
+ name: string;
246
+ is_completed: boolean;
247
+ id: number;
248
+ completed_on: number | null;
249
+ description: string;
250
+ suite_id: number;
251
+ refs: string;
252
+ created_by: number;
253
+ created_on: number;
254
+ milestone_id: number | null;
255
+ include_all: boolean;
256
+ assignedto_id: number | null;
257
+ config: string | null;
258
+ config_ids: number[];
259
+ passed_count: number;
260
+ blocked_count: number;
261
+ untested_count: number;
262
+ retest_count: number;
263
+ failed_count: number;
264
+ custom_status_count: Record<string, number>;
265
+ plan_id: number;
266
+ }>;
267
+ export type TestRailRun = z.infer<typeof TestRailRunSchema>;
@@ -0,0 +1,133 @@
1
+ import { z } from "zod";
2
+ // Schema for retrieving test runs for a project
3
+ export const getRunsSchema = {
4
+ projectId: z.number().describe("TestRail Project ID"),
5
+ createdAfter: z
6
+ .number()
7
+ .optional()
8
+ .describe("Only return runs created after this timestamp"),
9
+ createdBefore: z
10
+ .number()
11
+ .optional()
12
+ .describe("Only return runs created before this timestamp"),
13
+ createdBy: z
14
+ .array(z.number())
15
+ .optional()
16
+ .describe("Only return runs created by these user IDs"),
17
+ milestoneId: z
18
+ .number()
19
+ .optional()
20
+ .describe("Only return runs for this milestone"),
21
+ suiteId: z
22
+ .number()
23
+ .optional()
24
+ .describe("Only return runs for this test suite"),
25
+ limit: z
26
+ .number()
27
+ .optional()
28
+ .describe("The number of runs to return per page"),
29
+ offset: z.number().optional().describe("The offset to start returning runs"),
30
+ };
31
+ // Schema for retrieving a specific test run
32
+ export const getRunSchema = {
33
+ runId: z.number().describe("TestRail Run ID"),
34
+ };
35
+ // Schema for adding a test run
36
+ export const addRunSchema = {
37
+ projectId: z.number().describe("TestRail Project ID"),
38
+ name: z.string().describe("Test run name"),
39
+ suiteId: z
40
+ .number()
41
+ .optional()
42
+ .describe("Suite ID (required for multi-suite projects)"),
43
+ description: z.string().optional().describe("Test run description"),
44
+ milestoneId: z.number().optional().describe("Milestone ID"),
45
+ assignedtoId: z.number().optional().describe("User ID to assign to"),
46
+ includeAll: z
47
+ .boolean()
48
+ .optional()
49
+ .describe("Include all test cases from the suite"),
50
+ caseIds: z
51
+ .array(z.number())
52
+ .optional()
53
+ .describe("Specific case IDs to include"),
54
+ configIds: z
55
+ .array(z.number())
56
+ .optional()
57
+ .describe("Configuration IDs to use"),
58
+ refs: z.string().optional().describe("Reference/requirement IDs"),
59
+ };
60
+ // Schema for updating a test run
61
+ export const updateRunSchema = {
62
+ runId: z.number().describe("TestRail Run ID"),
63
+ name: z.string().optional().describe("Test run name"),
64
+ description: z.string().optional().describe("Test run description"),
65
+ milestoneId: z.number().optional().describe("Milestone ID"),
66
+ assignedtoId: z.number().optional().describe("User ID to assign to"),
67
+ includeAll: z
68
+ .boolean()
69
+ .optional()
70
+ .describe("Include all test cases from the suite"),
71
+ caseIds: z
72
+ .array(z.number())
73
+ .optional()
74
+ .describe("Specific case IDs to include"),
75
+ refs: z.string().optional().describe("Reference/requirement IDs"),
76
+ };
77
+ // Create Zod objects from each schema
78
+ export const GetRunsInput = z.object(getRunsSchema);
79
+ export const GetRunInput = z.object(getRunSchema);
80
+ export const AddRunInput = z.object(addRunSchema);
81
+ export const UpdateRunInput = z.object(updateRunSchema);
82
+ // -----------------------------------------------
83
+ // Response schema definitions - migrated from types.ts
84
+ // -----------------------------------------------
85
+ /**
86
+ * TestRail API Response for Test
87
+ */
88
+ export const TestRailTestSchema = z.object({
89
+ id: z.number(),
90
+ case_id: z.number(),
91
+ status_id: z.number(),
92
+ assignedto_id: z.number(),
93
+ run_id: z.number(),
94
+ title: z.string(),
95
+ template_id: z.number(),
96
+ type_id: z.number(),
97
+ priority_id: z.number(),
98
+ milestone_id: z.number(),
99
+ refs: z.string(),
100
+ estimate: z.string(),
101
+ estimate_forecast: z.string(),
102
+ custom_preconds: z.string(),
103
+ custom_steps: z.string(),
104
+ custom_expected: z.string(),
105
+ });
106
+ /**
107
+ * TestRail API Response for Run
108
+ */
109
+ export const TestRailRunSchema = z.object({
110
+ id: z.number(),
111
+ suite_id: z.number(),
112
+ name: z.string(),
113
+ description: z.string(),
114
+ milestone_id: z.number().nullable(),
115
+ assignedto_id: z.number().nullable(),
116
+ include_all: z.boolean(),
117
+ is_completed: z.boolean(),
118
+ completed_on: z.number().nullable(),
119
+ config: z.string().nullable(),
120
+ config_ids: z.array(z.number()),
121
+ passed_count: z.number(),
122
+ blocked_count: z.number(),
123
+ untested_count: z.number(),
124
+ retest_count: z.number(),
125
+ failed_count: z.number(),
126
+ custom_status_count: z.record(z.number()),
127
+ created_on: z.number(),
128
+ created_by: z.number(),
129
+ plan_id: z.number(),
130
+ url: z.string(),
131
+ refs: z.string(),
132
+ });
133
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/shared/schemas/runs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import { z } from "zod";
2
+ export declare const getSectionSchema: {
3
+ sectionId: z.ZodNumber;
4
+ };
5
+ export declare const getSectionsSchema: {
6
+ projectId: z.ZodNumber;
7
+ suiteId: z.ZodOptional<z.ZodNumber>;
8
+ };
9
+ export declare const addSectionSchema: {
10
+ projectId: z.ZodNumber;
11
+ name: z.ZodString;
12
+ description: z.ZodOptional<z.ZodString>;
13
+ parentId: z.ZodOptional<z.ZodNumber>;
14
+ suiteId: z.ZodOptional<z.ZodNumber>;
15
+ };
16
+ export declare const moveSectionSchema: {
17
+ sectionId: z.ZodNumber;
18
+ parentId: z.ZodNullable<z.ZodNumber>;
19
+ afterId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
+ };
21
+ export declare const updateSectionSchema: {
22
+ sectionId: z.ZodNumber;
23
+ name: z.ZodOptional<z.ZodString>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ };
26
+ export declare const deleteSectionSchema: {
27
+ sectionId: z.ZodNumber;
28
+ soft: z.ZodOptional<z.ZodBoolean>;
29
+ };
30
+ export declare const GetSectionInput: z.ZodObject<{
31
+ sectionId: z.ZodNumber;
32
+ }, "strip", z.ZodTypeAny, {
33
+ sectionId: number;
34
+ }, {
35
+ sectionId: number;
36
+ }>;
37
+ export declare const GetSectionsInput: z.ZodObject<{
38
+ projectId: z.ZodNumber;
39
+ suiteId: z.ZodOptional<z.ZodNumber>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ projectId: number;
42
+ suiteId?: number | undefined;
43
+ }, {
44
+ projectId: number;
45
+ suiteId?: number | undefined;
46
+ }>;
47
+ export declare const AddSectionInput: z.ZodObject<{
48
+ projectId: z.ZodNumber;
49
+ name: z.ZodString;
50
+ description: z.ZodOptional<z.ZodString>;
51
+ parentId: z.ZodOptional<z.ZodNumber>;
52
+ suiteId: z.ZodOptional<z.ZodNumber>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ projectId: number;
55
+ name: string;
56
+ suiteId?: number | undefined;
57
+ description?: string | undefined;
58
+ parentId?: number | undefined;
59
+ }, {
60
+ projectId: number;
61
+ name: string;
62
+ suiteId?: number | undefined;
63
+ description?: string | undefined;
64
+ parentId?: number | undefined;
65
+ }>;
66
+ export declare const MoveSectionInput: z.ZodObject<{
67
+ sectionId: z.ZodNumber;
68
+ parentId: z.ZodNullable<z.ZodNumber>;
69
+ afterId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ sectionId: number;
72
+ parentId: number | null;
73
+ afterId?: number | null | undefined;
74
+ }, {
75
+ sectionId: number;
76
+ parentId: number | null;
77
+ afterId?: number | null | undefined;
78
+ }>;
79
+ export declare const UpdateSectionInput: z.ZodObject<{
80
+ sectionId: z.ZodNumber;
81
+ name: z.ZodOptional<z.ZodString>;
82
+ description: z.ZodOptional<z.ZodString>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ sectionId: number;
85
+ name?: string | undefined;
86
+ description?: string | undefined;
87
+ }, {
88
+ sectionId: number;
89
+ name?: string | undefined;
90
+ description?: string | undefined;
91
+ }>;
92
+ export declare const DeleteSectionInput: z.ZodObject<{
93
+ sectionId: z.ZodNumber;
94
+ soft: z.ZodOptional<z.ZodBoolean>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ sectionId: number;
97
+ soft?: boolean | undefined;
98
+ }, {
99
+ sectionId: number;
100
+ soft?: boolean | undefined;
101
+ }>;
102
+ export type GetSectionInputType = z.infer<typeof GetSectionInput>;
103
+ export type GetSectionsInputType = z.infer<typeof GetSectionsInput>;
104
+ export type AddSectionInputType = z.infer<typeof AddSectionInput>;
105
+ export type MoveSectionInputType = z.infer<typeof MoveSectionInput>;
106
+ export type UpdateSectionInputType = z.infer<typeof UpdateSectionInput>;
107
+ export type DeleteSectionInputType = z.infer<typeof DeleteSectionInput>;
108
+ /**
109
+ * TestRail API Response for Section
110
+ */
111
+ export declare const TestRailSectionSchema: z.ZodObject<{
112
+ id: z.ZodNumber;
113
+ name: z.ZodString;
114
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
+ suite_id: z.ZodNumber;
116
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
117
+ depth: z.ZodNumber;
118
+ display_order: z.ZodNumber;
119
+ }, "strip", z.ZodTypeAny, {
120
+ name: string;
121
+ id: number;
122
+ suite_id: number;
123
+ depth: number;
124
+ display_order: number;
125
+ description?: string | null | undefined;
126
+ parent_id?: number | null | undefined;
127
+ }, {
128
+ name: string;
129
+ id: number;
130
+ suite_id: number;
131
+ depth: number;
132
+ display_order: number;
133
+ description?: string | null | undefined;
134
+ parent_id?: number | null | undefined;
135
+ }>;
136
+ export type TestRailSection = z.infer<typeof TestRailSectionSchema>;
@@ -0,0 +1,68 @@
1
+ import { z } from "zod";
2
+ // Schema for retrieving a specific section
3
+ export const getSectionSchema = {
4
+ sectionId: z.number().describe("TestRail Section ID"),
5
+ };
6
+ // Schema for retrieving all sections in a project
7
+ export const getSectionsSchema = {
8
+ projectId: z.number().describe("TestRail Project ID"),
9
+ suiteId: z
10
+ .number()
11
+ .optional()
12
+ .describe("TestRail Suite ID (optional for single suite projects)"),
13
+ };
14
+ // Schema for adding a section
15
+ export const addSectionSchema = {
16
+ projectId: z.number().describe("TestRail Project ID"),
17
+ name: z.string().describe("Section name (required)"),
18
+ description: z.string().optional().describe("Section description"),
19
+ parentId: z.number().optional().describe("Parent section ID"),
20
+ suiteId: z
21
+ .number()
22
+ .optional()
23
+ .describe("Test Suite ID (required for multi-suite projects)"),
24
+ };
25
+ // Schema for moving a section
26
+ export const moveSectionSchema = {
27
+ sectionId: z.number().describe("TestRail Section ID"),
28
+ parentId: z.number().nullable().describe("Parent section ID (null for root)"),
29
+ afterId: z
30
+ .number()
31
+ .nullable()
32
+ .optional()
33
+ .describe("ID of the section to position after"),
34
+ };
35
+ // Schema for updating a section
36
+ export const updateSectionSchema = {
37
+ sectionId: z.number().describe("TestRail Section ID"),
38
+ name: z.string().optional().describe("Section name"),
39
+ description: z.string().optional().describe("Section description"),
40
+ };
41
+ // Schema for deleting a section
42
+ export const deleteSectionSchema = {
43
+ sectionId: z.number().describe("TestRail Section ID"),
44
+ soft: z.boolean().optional().describe("True for soft delete (preview only)"),
45
+ };
46
+ // Create Zod objects from each schema
47
+ export const GetSectionInput = z.object(getSectionSchema);
48
+ export const GetSectionsInput = z.object(getSectionsSchema);
49
+ export const AddSectionInput = z.object(addSectionSchema);
50
+ export const MoveSectionInput = z.object(moveSectionSchema);
51
+ export const UpdateSectionInput = z.object(updateSectionSchema);
52
+ export const DeleteSectionInput = z.object(deleteSectionSchema);
53
+ // -----------------------------------------------
54
+ // Response schema definitions - migrated from types.ts
55
+ // -----------------------------------------------
56
+ /**
57
+ * TestRail API Response for Section
58
+ */
59
+ export const TestRailSectionSchema = z.object({
60
+ id: z.number(),
61
+ name: z.string(),
62
+ description: z.string().nullable().optional(),
63
+ suite_id: z.number(),
64
+ parent_id: z.number().nullable().optional(),
65
+ depth: z.number(),
66
+ display_order: z.number(),
67
+ });
68
+ //# sourceMappingURL=sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/shared/schemas/sections.ts"],"names":[],"mappings":"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"}