@smartbear/mcp 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bugsnag/client.js +42 -1310
  2. package/dist/bugsnag/input-schemas.js +18 -18
  3. package/dist/bugsnag/tool/error/get-error.js +98 -0
  4. package/dist/bugsnag/tool/error/list-project-errors.js +102 -0
  5. package/dist/bugsnag/tool/error/update-error.js +256 -0
  6. package/dist/bugsnag/tool/event/get-event-details-from-dashboard-url.js +55 -0
  7. package/dist/bugsnag/tool/event/get-event.js +38 -0
  8. package/dist/bugsnag/tool/performance/get-network-endpoint-groupings.js +46 -0
  9. package/dist/bugsnag/tool/performance/get-span-group.js +73 -0
  10. package/dist/bugsnag/tool/performance/get-trace.js +83 -0
  11. package/dist/bugsnag/tool/performance/list-span-groups.js +111 -0
  12. package/dist/bugsnag/tool/performance/list-spans.js +97 -0
  13. package/dist/bugsnag/tool/performance/list-trace-fields.js +41 -0
  14. package/dist/bugsnag/tool/performance/set-network-endpoint-groupings.js +90 -0
  15. package/dist/bugsnag/tool/project/get-current-project.js +31 -0
  16. package/dist/bugsnag/tool/project/list-project-event-filters.js +42 -0
  17. package/dist/bugsnag/tool/project/list-projects.js +43 -0
  18. package/dist/bugsnag/tool/release/get-build.js +50 -0
  19. package/dist/bugsnag/tool/release/get-release.js +68 -0
  20. package/dist/bugsnag/tool/release/list-releases.js +88 -0
  21. package/dist/common/prompts.js +9 -0
  22. package/dist/common/server.js +16 -0
  23. package/dist/common/transport-http.js +2 -0
  24. package/dist/package.json.js +1 -1
  25. package/dist/reflect/client.js +66 -1
  26. package/dist/reflect/config/constants.js +3 -1
  27. package/dist/reflect/prompt/sap-test.js +29 -0
  28. package/dist/reflect/tool/recording/add-prompt-step.js +60 -0
  29. package/dist/reflect/tool/recording/add-segment.js +56 -0
  30. package/dist/reflect/tool/recording/connect-to-session.js +89 -0
  31. package/dist/reflect/tool/recording/delete-previous-step.js +47 -0
  32. package/dist/reflect/tool/recording/get-screenshot.js +55 -0
  33. package/dist/reflect/tool/tests/list-segments.js +68 -0
  34. package/dist/reflect/websocket-manager.js +92 -0
  35. package/dist/zephyr/common/rest-api-schemas.js +213 -272
  36. package/dist/zephyr/tool/issue-link/get-test-executions.js +1 -1
  37. package/dist/zephyr/tool/test-case/create-issue-link.js +4 -2
  38. package/dist/zephyr/tool/test-case/create-test-script.js +4 -2
  39. package/dist/zephyr/tool/test-case/create-test-steps.js +4 -2
  40. package/dist/zephyr/tool/test-case/create-web-link.js +5 -2
  41. package/dist/zephyr/tool/test-case/get-test-steps.js +4 -2
  42. package/dist/zephyr/tool/test-cycle/create-issue-link.js +4 -2
  43. package/dist/zephyr/tool/test-cycle/create-web-link.js +4 -2
  44. package/dist/zephyr/tool/test-execution/create-issue-link.js +4 -2
  45. package/dist/zephyr/tool/test-execution/get-test-steps.js +4 -2
  46. package/dist/zephyr/tool/test-execution/update-test-execution.js +5 -2
  47. package/package.json +11 -9
@@ -116,7 +116,7 @@ zod.object({
116
116
  webLinks: zod.array(
117
117
  zod.object({
118
118
  description: zod.string().optional().describe("The web link description"),
119
- url: zod.string().url().describe("The web link URL"),
119
+ url: zod.string().describe("The web link URL"),
120
120
  self: zod.string().url().optional().describe(
121
121
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
122
122
  ),
@@ -156,7 +156,7 @@ const CreateTestCaseBody = zod.object({
156
156
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
157
157
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
158
158
  )
159
- });
159
+ }).strict();
160
160
  const CreateTestCase201Response = zod.object({
161
161
  id: zod.number().min(1).optional().describe("The ID of the entity"),
162
162
  self: zod.string().optional(),
@@ -279,7 +279,7 @@ const ListTestCasesCursorPaginated200Response = zod.object({
279
279
  webLinks: zod.array(
280
280
  zod.object({
281
281
  description: zod.string().optional().describe("The web link description"),
282
- url: zod.string().url().describe("The web link URL"),
282
+ url: zod.string().describe("The web link URL"),
283
283
  self: zod.string().url().optional().describe(
284
284
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
285
285
  ),
@@ -300,7 +300,7 @@ const GetTestCaseParams = zod.object({
300
300
  testCaseKey: zod.string().regex(getTestCasePathTestCaseKeyRegExp).describe(
301
301
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
302
302
  )
303
- });
303
+ }).strict();
304
304
  const getTestCase200ResponseKeyRegExp = /.+-T[0-9]+/;
305
305
  const getTestCase200ResponseNameMax = 255;
306
306
  const getTestCase200ResponseNameRegExp = /^(?!\\s*$).+/;
@@ -370,7 +370,7 @@ const GetTestCase200Response = zod.object({
370
370
  webLinks: zod.array(
371
371
  zod.object({
372
372
  description: zod.string().optional().describe("The web link description"),
373
- url: zod.string().url().describe("The web link URL"),
373
+ url: zod.string().describe("The web link URL"),
374
374
  self: zod.string().url().optional().describe(
375
375
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
376
376
  ),
@@ -389,7 +389,7 @@ const UpdateTestCaseParams = zod.object({
389
389
  testCaseKey: zod.string().regex(updateTestCasePathTestCaseKeyRegExp).describe(
390
390
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
391
391
  )
392
- });
392
+ }).strict();
393
393
  const updateTestCaseBodyKeyRegExp = /.+-T[0-9]+/;
394
394
  const updateTestCaseBodyNameMax = 255;
395
395
  const updateTestCaseBodyNameRegExp = /^(?!\\s*$).+/;
@@ -401,12 +401,9 @@ const UpdateTestCaseBody = zod.object({
401
401
  key: zod.string().regex(updateTestCaseBodyKeyRegExp).describe("The test case key"),
402
402
  name: zod.string().min(1).max(updateTestCaseBodyNameMax).regex(updateTestCaseBodyNameRegExp),
403
403
  project: zod.object({
404
- id: zod.number().min(1).describe("The ID of the entity")
405
- }).and(
406
- zod.object({
407
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
408
- })
409
- ).describe("ID and link relative to Zephyr project."),
404
+ id: zod.number().min(1).describe("The ID of the entity"),
405
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
406
+ }).strict().describe("ID and link relative to Zephyr project."),
410
407
  createdOn: zod.string().datetime({}).optional().describe(
411
408
  "Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"
412
409
  ),
@@ -415,84 +412,63 @@ const UpdateTestCaseBody = zod.object({
415
412
  estimatedTime: zod.number().min(updateTestCaseBodyEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
416
413
  labels: zod.array(zod.string()).max(updateTestCaseBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
417
414
  component: zod.object({
418
- id: zod.number().min(1).describe("The ID of the entity")
419
- }).and(
420
- zod.object({
421
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
422
- })
423
- ).nullish().describe("ID and link to the Jira component resource."),
415
+ id: zod.number().min(1).describe("The ID of the entity"),
416
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
417
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
424
418
  priority: zod.object({
425
- id: zod.number().min(1).describe("The ID of the entity")
426
- }).and(
427
- zod.object({
428
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
429
- })
430
- ).describe("ID and link to the priority resource."),
419
+ id: zod.number().min(1).describe("The ID of the entity"),
420
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
421
+ }).strict().describe("ID and link to the priority resource."),
431
422
  status: zod.object({
432
- id: zod.number().min(1).describe("The ID of the entity")
433
- }).and(
434
- zod.object({
435
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
436
- })
437
- ).describe("ID and link to the status resource."),
423
+ id: zod.number().min(1).describe("The ID of the entity"),
424
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
425
+ }).strict().describe("ID and link to the status resource."),
438
426
  folder: zod.object({
439
- id: zod.number().min(1).describe("The ID of the entity")
440
- }).and(
441
- zod.object({
442
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
443
- })
444
- ).nullish().describe("ID and link to the folder resource."),
427
+ id: zod.number().min(1).describe("The ID of the entity"),
428
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
429
+ }).strict().nullish().describe("ID and link to the folder resource."),
445
430
  owner: zod.object({
446
431
  accountId: zod.string().regex(updateTestCaseBodyOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
447
432
  self: zod.string().url().optional().describe(
448
433
  "The Jira REST API endpoint to get the full representation of the Jira user."
449
434
  )
450
- }).nullish(),
435
+ }).strict().nullish(),
451
436
  testScript: zod.object({
452
437
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
453
- }).optional(),
438
+ }).strict().optional(),
454
439
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
455
440
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
456
441
  ),
457
442
  links: zod.object({
458
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
459
- }).and(
460
- zod.object({
461
- issues: zod.array(
462
- zod.object({
463
- issueId: zod.number().min(1).describe("The Jira issue ID")
464
- }).and(
465
- zod.object({
466
- self: zod.string().url().optional().describe(
467
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
468
- ),
469
- id: zod.number().min(1).optional().describe(
470
- "The ID that represents the link between the entity and the Jira issue."
471
- ),
472
- target: zod.string().url().optional().describe(
473
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
474
- ),
475
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
476
- })
477
- )
478
- ).optional().describe("A list of Jira issues linked to this entity"),
479
- webLinks: zod.array(
480
- zod.object({
481
- description: zod.string().optional().describe("The web link description"),
482
- url: zod.string().url().describe("The web link URL")
483
- }).and(
484
- zod.object({
485
- self: zod.string().url().optional().describe(
486
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
487
- ),
488
- id: zod.number().min(1).optional().describe("The ID of the entity"),
489
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
490
- })
491
- )
492
- ).optional().describe("A list of web links for this entity")
493
- })
494
- ).optional().describe("This property is ignored on updates.")
495
- });
443
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
444
+ issues: zod.array(
445
+ zod.object({
446
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
447
+ self: zod.string().url().optional().describe(
448
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
449
+ ),
450
+ id: zod.number().min(1).optional().describe(
451
+ "The ID that represents the link between the entity and the Jira issue."
452
+ ),
453
+ target: zod.string().url().optional().describe(
454
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
455
+ ),
456
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
457
+ }).strict()
458
+ ).optional().describe("A list of Jira issues linked to this entity"),
459
+ webLinks: zod.array(
460
+ zod.object({
461
+ description: zod.string().optional().describe("The web link description"),
462
+ url: zod.string().describe("The web link URL"),
463
+ self: zod.string().url().optional().describe(
464
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
465
+ ),
466
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
467
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
468
+ }).strict()
469
+ ).optional().describe("A list of web links for this entity")
470
+ }).strict().optional().describe("This property is ignored on updates.")
471
+ }).strict();
496
472
  zod.object({
497
473
  errorCode: zod.number(),
498
474
  message: zod.string()
@@ -502,7 +478,7 @@ const GetTestCaseLinksParams = zod.object({
502
478
  testCaseKey: zod.string().regex(getTestCaseLinksPathTestCaseKeyRegExp).describe(
503
479
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
504
480
  )
505
- });
481
+ }).strict();
506
482
  const GetTestCaseLinks200Response = zod.object({
507
483
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
508
484
  issues: zod.array(
@@ -523,7 +499,7 @@ const GetTestCaseLinks200Response = zod.object({
523
499
  webLinks: zod.array(
524
500
  zod.object({
525
501
  description: zod.string().optional().describe("The web link description"),
526
- url: zod.string().url().describe("The web link URL"),
502
+ url: zod.string().describe("The web link URL"),
527
503
  self: zod.string().url().optional().describe(
528
504
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
529
505
  ),
@@ -541,10 +517,10 @@ const CreateTestCaseIssueLinkParams = zod.object({
541
517
  testCaseKey: zod.string().regex(createTestCaseIssueLinkPathTestCaseKeyRegExp).describe(
542
518
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
543
519
  )
544
- });
520
+ }).strict();
545
521
  const CreateTestCaseIssueLinkBody = zod.object({
546
522
  issueId: zod.number().min(1).describe("The Jira issue ID")
547
- });
523
+ }).strict();
548
524
  const CreateTestCaseIssueLink201Response = zod.object({
549
525
  id: zod.number().min(1).optional().describe("The ID of the entity"),
550
526
  self: zod.string().optional()
@@ -558,11 +534,11 @@ const CreateTestCaseWebLinkParams = zod.object({
558
534
  testCaseKey: zod.string().regex(createTestCaseWebLinkPathTestCaseKeyRegExp).describe(
559
535
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
560
536
  )
561
- });
537
+ }).strict();
562
538
  const CreateTestCaseWebLinkBody = zod.object({
563
539
  description: zod.string().optional().describe("The web link description"),
564
- url: zod.string().url().describe("The web link URL")
565
- });
540
+ url: zod.string().describe("The web link URL")
541
+ }).strict();
566
542
  const CreateTestCaseWebLink201Response = zod.object({
567
543
  id: zod.number().min(1).optional().describe("The ID of the entity"),
568
544
  self: zod.string().optional()
@@ -576,7 +552,7 @@ zod.object({
576
552
  testCaseKey: zod.string().regex(listTestCaseVersionsPathTestCaseKeyRegExp).describe(
577
553
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
578
554
  )
579
- });
555
+ }).strict();
580
556
  const listTestCaseVersionsQueryMaxResultsDefault = 10;
581
557
  const listTestCaseVersionsQueryStartAtDefault = 0;
582
558
  const listTestCaseVersionsQueryStartAtMin = 0;
@@ -622,7 +598,7 @@ zod.object({
622
598
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
623
599
  ),
624
600
  version: zod.number().describe("Version of the test case to retrieve.")
625
- });
601
+ }).strict();
626
602
  const getTestCaseVersion200ResponseKeyRegExp = /.+-T[0-9]+/;
627
603
  const getTestCaseVersion200ResponseNameMax = 255;
628
604
  const getTestCaseVersion200ResponseNameRegExp = /^(?!\\s*$).+/;
@@ -692,7 +668,7 @@ zod.object({
692
668
  webLinks: zod.array(
693
669
  zod.object({
694
670
  description: zod.string().optional().describe("The web link description"),
695
- url: zod.string().url().describe("The web link URL"),
671
+ url: zod.string().describe("The web link URL"),
696
672
  self: zod.string().url().optional().describe(
697
673
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
698
674
  ),
@@ -711,7 +687,7 @@ const GetTestCaseTestScriptParams = zod.object({
711
687
  testCaseKey: zod.string().regex(getTestCaseTestScriptPathTestCaseKeyRegExp).describe(
712
688
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
713
689
  )
714
- });
690
+ }).strict();
715
691
  const GetTestCaseTestScript200Response = zod.object({
716
692
  type: zod.enum(["plain", "bdd"]).describe(
717
693
  "Test scripts can be written in plain text or BDD format. The BDD type supports\nremote execution on a build system via API plugin.\n\nSupported Keywords for BDD:\nGiven, When, Then, And, But.\n\nFor more information about BDD and Gherkin syntax, see:\nhttps://support.smartbear.com/zephyr/docs/en/test-cases/gherkin-behavior-driven-development--bdd-.html\n\nFor Plain Text scripts, we support HTML fragments.\nTo create a step-by-step test script, you should use the POST /testcases/{testCaseKey}/teststeps endpoint.\n"
@@ -728,13 +704,13 @@ const CreateTestCaseTestScriptParams = zod.object({
728
704
  testCaseKey: zod.string().regex(createTestCaseTestScriptPathTestCaseKeyRegExp).describe(
729
705
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
730
706
  )
731
- });
707
+ }).strict();
732
708
  const CreateTestCaseTestScriptBody = zod.object({
733
709
  type: zod.enum(["plain", "bdd"]).describe(
734
710
  "Test scripts can be written in plain text or BDD format. The BDD type supports\nremote execution on a build system via API plugin.\n\nSupported Keywords for BDD:\nGiven, When, Then, And, But.\n\nFor more information about BDD and Gherkin syntax, see:\nhttps://support.smartbear.com/zephyr/docs/en/test-cases/gherkin-behavior-driven-development--bdd-.html\n\nFor Plain Text scripts, we support HTML fragments.\nTo create a step-by-step test script, you should use the POST /testcases/{testCaseKey}/teststeps endpoint.\n"
735
711
  ),
736
712
  text: zod.string().min(1)
737
- }).describe("Request body for creating test scripts");
713
+ }).strict().describe("Request body for creating test scripts");
738
714
  const CreateTestCaseTestScript201Response = zod.object({
739
715
  id: zod.number().min(1).optional().describe("The ID of the entity"),
740
716
  self: zod.string().optional()
@@ -748,7 +724,7 @@ const GetTestCaseTestStepsParams = zod.object({
748
724
  testCaseKey: zod.string().regex(getTestCaseTestStepsPathTestCaseKeyRegExp).describe(
749
725
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
750
726
  )
751
- });
727
+ }).strict();
752
728
  const getTestCaseTestStepsQueryMaxResultsDefault = 10;
753
729
  const getTestCaseTestStepsQueryStartAtDefault = 0;
754
730
  const getTestCaseTestStepsQueryStartAtMin = 0;
@@ -826,7 +802,7 @@ const CreateTestCaseTestStepsParams = zod.object({
826
802
  testCaseKey: zod.string().regex(createTestCaseTestStepsPathTestCaseKeyRegExp).describe(
827
803
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
828
804
  )
829
- });
805
+ }).strict();
830
806
  const createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
831
807
  const CreateTestCaseTestStepsBody = zod.object({
832
808
  mode: zod.string().describe(
@@ -846,38 +822,33 @@ const CreateTestCaseTestStepsBody = zod.object({
846
822
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
847
823
  ),
848
824
  reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature")
849
- }).optional(),
825
+ }).strict().optional(),
850
826
  testCase: zod.object({
851
827
  self: zod.string().url().optional().describe(
852
828
  "The REST API endpoint to get more resource details."
853
- )
854
- }).and(
855
- zod.object({
856
- testCaseKey: zod.string().regex(
857
- createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp
858
- ).optional().describe(
859
- "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
860
- ),
861
- parameters: zod.array(
862
- zod.object({
863
- name: zod.string().optional().describe("Name of the parameter"),
864
- type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
865
- "Type of the parameter. It is manual inputs for parameters or the default values."
866
- ),
867
- value: zod.string().optional().describe("Value of the parameter")
868
- })
869
- ).optional().describe(
870
- "The list of parameters of the call to test step"
871
- )
872
- })
873
- ).optional()
874
- }).describe(
829
+ ),
830
+ testCaseKey: zod.string().regex(
831
+ createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp
832
+ ).optional().describe(
833
+ "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
834
+ ),
835
+ parameters: zod.array(
836
+ zod.object({
837
+ name: zod.string().optional().describe("Name of the parameter"),
838
+ type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
839
+ "Type of the parameter. It is manual inputs for parameters or the default values."
840
+ ),
841
+ value: zod.string().optional().describe("Value of the parameter")
842
+ }).strict()
843
+ ).optional().describe("The list of parameters of the call to test step")
844
+ }).strict().optional()
845
+ }).strict().describe(
875
846
  "An instruction to be followed as part of a step-by-step test script. The test step can have either an inline definition, or delegate execution to another test case. One of these options must be specified."
876
847
  )
877
848
  ).describe(
878
849
  "The list of test steps. Each step should be an object containing `inline` or `testCase`. **They should only include one of these fields at a time**."
879
850
  )
880
- }).describe(
851
+ }).strict().describe(
881
852
  "Request body for creating test steps. A maximum of 100 test steps can be added in one request. To add more than 100 steps, you can submit multiple requests. The mode property allows you to specify whether you want to delete the current test steps and create a new list, or append more items to the end of the current list."
882
853
  );
883
854
  const CreateTestCaseTestSteps201Response = zod.object({
@@ -996,7 +967,7 @@ const ListTestCycles200Response = zod.object({
996
967
  webLinks: zod.array(
997
968
  zod.object({
998
969
  description: zod.string().optional().describe("The web link description"),
999
- url: zod.string().url().describe("The web link URL"),
970
+ url: zod.string().describe("The web link URL"),
1000
971
  self: zod.string().url().optional().describe(
1001
972
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1002
973
  ),
@@ -1053,7 +1024,7 @@ const CreateTestCycleBody = zod.object({
1053
1024
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1054
1025
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
1055
1026
  )
1056
- });
1027
+ }).strict();
1057
1028
  const CreateTestCycle201Response = zod.object({
1058
1029
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1059
1030
  self: zod.string().optional(),
@@ -1066,7 +1037,7 @@ zod.object({
1066
1037
  const getTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1067
1038
  const GetTestCycleParams = zod.object({
1068
1039
  testCycleIdOrKey: zod.string().regex(getTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1069
- });
1040
+ }).strict();
1070
1041
  const getTestCycle200ResponseKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1071
1042
  const getTestCycle200ResponseNameRegExp = /^(?!\s*$).+/;
1072
1043
  const getTestCycle200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
@@ -1128,7 +1099,7 @@ const GetTestCycle200Response = zod.object({
1128
1099
  webLinks: zod.array(
1129
1100
  zod.object({
1130
1101
  description: zod.string().optional().describe("The web link description"),
1131
- url: zod.string().url().describe("The web link URL"),
1102
+ url: zod.string().describe("The web link URL"),
1132
1103
  self: zod.string().url().optional().describe(
1133
1104
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1134
1105
  ),
@@ -1162,7 +1133,7 @@ zod.object({
1162
1133
  const updateTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1163
1134
  const UpdateTestCycleParams = zod.object({
1164
1135
  testCycleIdOrKey: zod.string().regex(updateTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1165
- });
1136
+ }).strict();
1166
1137
  const updateTestCycleBodyKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1167
1138
  const updateTestCycleBodyNameRegExp = /^(?!\s*$).+/;
1168
1139
  const updateTestCycleBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
@@ -1171,35 +1142,23 @@ const UpdateTestCycleBody = zod.object({
1171
1142
  key: zod.string().regex(updateTestCycleBodyKeyRegExp).describe("Unique key of the test cycle"),
1172
1143
  name: zod.string().regex(updateTestCycleBodyNameRegExp).describe("Name of the Test Cycle"),
1173
1144
  project: zod.object({
1174
- id: zod.number().min(1).describe("The ID of the entity")
1175
- }).and(
1176
- zod.object({
1177
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1178
- })
1179
- ).describe("ID and link relative to Zephyr project."),
1145
+ id: zod.number().min(1).describe("The ID of the entity"),
1146
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1147
+ }).strict().describe("ID and link relative to Zephyr project."),
1180
1148
  jiraProjectVersion: zod.object({
1181
- id: zod.number().min(1).describe("The ID of the entity")
1182
- }).and(
1183
- zod.object({
1184
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1185
- })
1186
- ).nullish().describe(
1149
+ id: zod.number().min(1).describe("The ID of the entity"),
1150
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1151
+ }).strict().nullish().describe(
1187
1152
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1188
1153
  ),
1189
1154
  status: zod.object({
1190
- id: zod.number().min(1).describe("The ID of the entity")
1191
- }).and(
1192
- zod.object({
1193
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1194
- })
1195
- ).describe("ID and link to the status resource."),
1155
+ id: zod.number().min(1).describe("The ID of the entity"),
1156
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1157
+ }).strict().describe("ID and link to the status resource."),
1196
1158
  folder: zod.object({
1197
- id: zod.number().min(1).describe("The ID of the entity")
1198
- }).and(
1199
- zod.object({
1200
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1201
- })
1202
- ).nullish().describe("ID and link to the folder resource."),
1159
+ id: zod.number().min(1).describe("The ID of the entity"),
1160
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1161
+ }).strict().nullish().describe("ID and link to the folder resource."),
1203
1162
  description: zod.string().nullish().describe("Description outlining the scope."),
1204
1163
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1205
1164
  "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
@@ -1212,66 +1171,57 @@ const UpdateTestCycleBody = zod.object({
1212
1171
  self: zod.string().url().optional().describe(
1213
1172
  "The Jira REST API endpoint to get the full representation of the Jira user."
1214
1173
  )
1215
- }).nullish(),
1174
+ }).strict().nullish(),
1216
1175
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1217
1176
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
1218
1177
  ),
1219
1178
  links: zod.object({
1220
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1221
- }).and(
1222
- zod.object({
1223
- issues: zod.array(
1224
- zod.object({
1225
- issueId: zod.number().min(1).describe("The Jira issue ID")
1226
- }).and(
1227
- zod.object({
1228
- self: zod.string().url().optional().describe(
1229
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1230
- ),
1231
- id: zod.number().min(1).optional().describe(
1232
- "The ID that represents the link between the entity and the Jira issue."
1233
- ),
1234
- target: zod.string().url().optional().describe(
1235
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1236
- ),
1237
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1238
- })
1239
- )
1240
- ).optional().describe("A list of Jira issues linked to this entity"),
1241
- webLinks: zod.array(
1242
- zod.object({
1243
- description: zod.string().optional().describe("The web link description"),
1244
- url: zod.string().url().describe("The web link URL")
1245
- }).and(
1246
- zod.object({
1247
- self: zod.string().url().optional().describe(
1248
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1249
- ),
1250
- id: zod.number().min(1).optional().describe("The ID of the entity"),
1251
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1252
- })
1179
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1180
+ issues: zod.array(
1181
+ zod.object({
1182
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1183
+ self: zod.string().url().optional().describe(
1184
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1185
+ ),
1186
+ id: zod.number().min(1).optional().describe(
1187
+ "The ID that represents the link between the entity and the Jira issue."
1188
+ ),
1189
+ target: zod.string().url().optional().describe(
1190
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1191
+ ),
1192
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1193
+ }).strict()
1194
+ ).optional().describe("A list of Jira issues linked to this entity"),
1195
+ webLinks: zod.array(
1196
+ zod.object({
1197
+ description: zod.string().optional().describe("The web link description"),
1198
+ url: zod.string().describe("The web link URL"),
1199
+ self: zod.string().url().optional().describe(
1200
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1201
+ ),
1202
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1203
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1204
+ }).strict()
1205
+ ).optional().describe("A list of web links for this entity"),
1206
+ testPlans: zod.array(
1207
+ zod.object({
1208
+ id: zod.number().min(1).optional().describe(
1209
+ "The ID that represents the link between the Test Cycle and the Test Plan."
1210
+ ),
1211
+ self: zod.string().url().optional().describe(
1212
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1213
+ ),
1214
+ testPlanId: zod.number().optional().describe("The ID of the test plan"),
1215
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1216
+ target: zod.string().url().optional().describe(
1217
+ "The Zephyr REST API endpoint to get the full representation of the test plan"
1253
1218
  )
1254
- ).optional().describe("A list of web links for this entity"),
1255
- testPlans: zod.array(
1256
- zod.object({
1257
- id: zod.number().min(1).optional().describe(
1258
- "The ID that represents the link between the Test Cycle and the Test Plan."
1259
- ),
1260
- self: zod.string().url().optional().describe(
1261
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1262
- ),
1263
- testPlanId: zod.number().optional().describe("The ID of the test plan"),
1264
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1265
- target: zod.string().url().optional().describe(
1266
- "The Zephyr REST API endpoint to get the full representation of the test plan"
1267
- )
1268
- })
1269
- ).optional().describe("A list of test plans linked to a test cycle")
1270
- })
1271
- ).optional().describe(
1219
+ }).strict()
1220
+ ).optional().describe("A list of test plans linked to a test cycle")
1221
+ }).strict().optional().describe(
1272
1222
  "Represents all links that a Test Cycle has. This property is ignored on update operations."
1273
1223
  )
1274
- }).describe("Details of a test cycle");
1224
+ }).strict().describe("Details of a test cycle");
1275
1225
  zod.object({
1276
1226
  errorCode: zod.number(),
1277
1227
  message: zod.string()
@@ -1279,7 +1229,7 @@ zod.object({
1279
1229
  const getTestCycleLinksPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1280
1230
  const GetTestCycleLinksParams = zod.object({
1281
1231
  testCycleIdOrKey: zod.string().regex(getTestCycleLinksPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1282
- });
1232
+ }).strict();
1283
1233
  const GetTestCycleLinks200Response = zod.object({
1284
1234
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1285
1235
  issues: zod.array(
@@ -1300,7 +1250,7 @@ const GetTestCycleLinks200Response = zod.object({
1300
1250
  webLinks: zod.array(
1301
1251
  zod.object({
1302
1252
  description: zod.string().optional().describe("The web link description"),
1303
- url: zod.string().url().describe("The web link URL"),
1253
+ url: zod.string().describe("The web link URL"),
1304
1254
  self: zod.string().url().optional().describe(
1305
1255
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1306
1256
  ),
@@ -1333,10 +1283,10 @@ zod.object({
1333
1283
  const createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1334
1284
  const CreateTestCycleIssueLinkParams = zod.object({
1335
1285
  testCycleIdOrKey: zod.string().regex(createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1336
- });
1286
+ }).strict();
1337
1287
  const CreateTestCycleIssueLinkBody = zod.object({
1338
1288
  issueId: zod.number().min(1).describe("The Jira issue ID")
1339
- });
1289
+ }).strict();
1340
1290
  zod.object({
1341
1291
  errorCode: zod.number(),
1342
1292
  message: zod.string()
@@ -1344,11 +1294,11 @@ zod.object({
1344
1294
  const createTestCycleWebLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1345
1295
  const CreateTestCycleWebLinkParams = zod.object({
1346
1296
  testCycleIdOrKey: zod.string().regex(createTestCycleWebLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1347
- });
1297
+ }).strict();
1348
1298
  const CreateTestCycleWebLinkBody = zod.object({
1349
1299
  description: zod.string().optional().describe("The web link description"),
1350
- url: zod.string().url().describe("The web link URL")
1351
- });
1300
+ url: zod.string().describe("The web link URL")
1301
+ }).strict();
1352
1302
  zod.object({
1353
1303
  errorCode: zod.number(),
1354
1304
  message: zod.string()
@@ -1428,7 +1378,7 @@ zod.object({
1428
1378
  webLinks: zod.array(
1429
1379
  zod.object({
1430
1380
  description: zod.string().optional().describe("The web link description"),
1431
- url: zod.string().url().describe("The web link URL"),
1381
+ url: zod.string().describe("The web link URL"),
1432
1382
  self: zod.string().url().optional().describe(
1433
1383
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1434
1384
  ),
@@ -1489,7 +1439,7 @@ zod.object({
1489
1439
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1490
1440
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
1491
1441
  )
1492
- });
1442
+ }).strict();
1493
1443
  zod.object({
1494
1444
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1495
1445
  self: zod.string().optional(),
@@ -1504,7 +1454,7 @@ zod.object({
1504
1454
  testPlanIdOrKey: zod.string().regex(getTestPlanPathTestPlanIdOrKeyRegExp).describe(
1505
1455
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1506
1456
  )
1507
- });
1457
+ }).strict();
1508
1458
  const getTestPlan200ResponseKeyRegExp = /.+-P[0-9]+/;
1509
1459
  const getTestPlan200ResponseNameMax = 255;
1510
1460
  const getTestPlan200ResponseNameRegExp = /^(?!\\s*$).+/;
@@ -1541,7 +1491,7 @@ zod.object({
1541
1491
  webLinks: zod.array(
1542
1492
  zod.object({
1543
1493
  description: zod.string().optional().describe("The web link description"),
1544
- url: zod.string().url().describe("The web link URL"),
1494
+ url: zod.string().describe("The web link URL"),
1545
1495
  self: zod.string().url().optional().describe(
1546
1496
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1547
1497
  ),
@@ -1588,11 +1538,11 @@ zod.object({
1588
1538
  testPlanIdOrKey: zod.string().regex(createTestPlanWebLinkPathTestPlanIdOrKeyRegExp).describe(
1589
1539
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1590
1540
  )
1591
- });
1541
+ }).strict();
1592
1542
  zod.object({
1593
1543
  description: zod.string().optional().describe("The web link description"),
1594
- url: zod.string().url().describe("The web link URL")
1595
- }).and(zod.unknown());
1544
+ url: zod.string().describe("The web link URL")
1545
+ }).strict().and(zod.unknown());
1596
1546
  zod.object({
1597
1547
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1598
1548
  self: zod.string().optional()
@@ -1606,10 +1556,10 @@ zod.object({
1606
1556
  testPlanIdOrKey: zod.string().regex(createTestPlanIssueLinkPathTestPlanIdOrKeyRegExp).describe(
1607
1557
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1608
1558
  )
1609
- });
1559
+ }).strict();
1610
1560
  zod.object({
1611
1561
  issueId: zod.number().min(1).describe("The Jira issue ID")
1612
- });
1562
+ }).strict();
1613
1563
  zod.object({
1614
1564
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1615
1565
  self: zod.string().optional()
@@ -1623,11 +1573,11 @@ zod.object({
1623
1573
  testPlanIdOrKey: zod.string().regex(createTestPlanTestCycleLinkPathTestPlanIdOrKeyRegExp).describe(
1624
1574
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1625
1575
  )
1626
- });
1576
+ }).strict();
1627
1577
  const createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1628
1578
  zod.object({
1629
1579
  testCycleIdOrKey: zod.string().regex(createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1630
- });
1580
+ }).strict();
1631
1581
  zod.object({
1632
1582
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1633
1583
  self: zod.string().optional()
@@ -1803,7 +1753,7 @@ const CreateTestExecutionBody = zod.object({
1803
1753
  actualResult: zod.string().optional().describe(
1804
1754
  "free text field to provide more info on result of step execution."
1805
1755
  )
1806
- })
1756
+ }).strict()
1807
1757
  ).optional(),
1808
1758
  environmentName: zod.string().optional().describe("Environment assigned to the test case."),
1809
1759
  actualEndDate: zod.string().datetime({}).optional().describe(
@@ -1816,7 +1766,7 @@ const CreateTestExecutionBody = zod.object({
1816
1766
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1817
1767
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
1818
1768
  )
1819
- });
1769
+ }).strict();
1820
1770
  const CreateTestExecution201Response = zod.object({
1821
1771
  id: zod.number().min(1).optional().describe("The ID of the entity"),
1822
1772
  self: zod.string().optional()
@@ -1965,7 +1915,7 @@ const GetTestExecutionParams = zod.object({
1965
1915
  testExecutionIdOrKey: zod.string().regex(getTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
1966
1916
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
1967
1917
  )
1968
- });
1918
+ }).strict();
1969
1919
  const getTestExecutionQueryIncludeStepLinksDefault = false;
1970
1920
  zod.object({
1971
1921
  includeStepLinks: zod.boolean().default(getTestExecutionQueryIncludeStepLinksDefault).describe(
@@ -2046,7 +1996,7 @@ const UpdateTestExecutionParams = zod.object({
2046
1996
  testExecutionIdOrKey: zod.string().regex(updateTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
2047
1997
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2048
1998
  )
2049
- });
1999
+ }).strict();
2050
2000
  const updateTestExecutionBodyStatusNameMax = 255;
2051
2001
  const updateTestExecutionBodyExecutionTimeMin = 0;
2052
2002
  const updateTestExecutionBodyExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
@@ -2061,7 +2011,7 @@ const UpdateTestExecutionBody = zod.object({
2061
2011
  executedById: zod.string().regex(updateTestExecutionBodyExecutedByIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2062
2012
  assignedToId: zod.string().regex(updateTestExecutionBodyAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2063
2013
  comment: zod.string().nullish().describe("Comment added against overall test case execution.")
2064
- });
2014
+ }).strict();
2065
2015
  zod.object({
2066
2016
  errorCode: zod.number(),
2067
2017
  message: zod.string()
@@ -2071,7 +2021,7 @@ const GetTestExecutionTestStepsParams = zod.object({
2071
2021
  testExecutionIdOrKey: zod.string().regex(getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
2072
2022
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2073
2023
  )
2074
- });
2024
+ }).strict();
2075
2025
  const getTestExecutionTestStepsQueryMaxResultsDefault = 10;
2076
2026
  const getTestExecutionTestStepsQueryStartAtDefault = 0;
2077
2027
  const getTestExecutionTestStepsQueryStartAtMin = 0;
@@ -2130,16 +2080,16 @@ zod.object({
2130
2080
  testExecutionIdOrKey: zod.string().regex(putTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
2131
2081
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2132
2082
  )
2133
- });
2083
+ }).strict();
2134
2084
  const putTestExecutionTestStepsBodyStepsItemStatusNameMax = 255;
2135
2085
  zod.object({
2136
2086
  steps: zod.array(
2137
2087
  zod.object({
2138
2088
  actualResult: zod.string().optional().describe("The actual result."),
2139
2089
  statusName: zod.string().min(1).max(putTestExecutionTestStepsBodyStepsItemStatusNameMax).optional().describe("The status name.")
2140
- })
2090
+ }).strict()
2141
2091
  ).optional()
2142
- });
2092
+ }).strict();
2143
2093
  zod.object({
2144
2094
  errorCode: zod.number(),
2145
2095
  message: zod.string()
@@ -2167,7 +2117,7 @@ zod.object({
2167
2117
  testExecutionIdOrKey: zod.string().regex(syncTestExecutionScriptPathTestExecutionIdOrKeyRegExp).describe(
2168
2118
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2169
2119
  )
2170
- });
2120
+ }).strict();
2171
2121
  zod.object({
2172
2122
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2173
2123
  }).strict();
@@ -2188,7 +2138,7 @@ const ListTestExecutionLinksParams = zod.object({
2188
2138
  testExecutionIdOrKey: zod.string().regex(listTestExecutionLinksPathTestExecutionIdOrKeyRegExp).describe(
2189
2139
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2190
2140
  )
2191
- });
2141
+ }).strict();
2192
2142
  const ListTestExecutionLinks200Response = zod.object({
2193
2143
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2194
2144
  issues: zod.array(
@@ -2216,10 +2166,10 @@ const CreateTestExecutionIssueLinkParams = zod.object({
2216
2166
  testExecutionIdOrKey: zod.string().regex(createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp).describe(
2217
2167
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2218
2168
  )
2219
- });
2169
+ }).strict();
2220
2170
  const CreateTestExecutionIssueLinkBody = zod.object({
2221
2171
  issueId: zod.number().min(1).describe("The Jira issue ID")
2222
- });
2172
+ }).strict();
2223
2173
  zod.object({
2224
2174
  errorCode: zod.number(),
2225
2175
  message: zod.string()
@@ -2270,7 +2220,7 @@ zod.object({
2270
2220
  const getProjectPathProjectIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+)/;
2271
2221
  const GetProjectParams = zod.object({
2272
2222
  projectIdOrKey: zod.string().regex(getProjectPathProjectIdOrKeyRegExp).describe("The Zephyr project ID or Jira project key")
2273
- });
2223
+ }).strict();
2274
2224
  const GetProject200Response = zod.object({
2275
2225
  id: zod.number().describe("The ID of the project in Zephyr."),
2276
2226
  jiraProjectId: zod.number().describe("The ID of the project in Jira."),
@@ -2350,7 +2300,7 @@ const CreateFolderBody = zod.object({
2350
2300
  ),
2351
2301
  projectKey: zod.string().regex(createFolderBodyProjectKeyRegExp).describe("Jira project key."),
2352
2302
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`')
2353
- });
2303
+ }).strict();
2354
2304
  const CreateFolder201Response = zod.object({
2355
2305
  id: zod.number().min(1).optional().describe("The ID of the entity"),
2356
2306
  self: zod.string().optional()
@@ -2361,7 +2311,7 @@ zod.object({
2361
2311
  }).strict();
2362
2312
  zod.object({
2363
2313
  folderId: zod.number().min(1).describe("Folder ID")
2364
- });
2314
+ }).strict();
2365
2315
  const getFolder200ResponseNameMax = 255;
2366
2316
  const getFolder200ResponseNameRegExp = /^(?!\\s*$).+/;
2367
2317
  const getFolder200ResponseIndexMin = 0;
@@ -2445,7 +2395,7 @@ zod.object({
2445
2395
  name: zod.string().min(1).max(createPriorityBodyNameMax).describe("The priority name."),
2446
2396
  description: zod.string().min(1).max(createPriorityBodyDescriptionMax).optional().describe("The priority description."),
2447
2397
  color: zod.string().regex(createPriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2448
- });
2398
+ }).strict();
2449
2399
  zod.object({
2450
2400
  id: zod.number().min(1).optional().describe("The ID of the entity"),
2451
2401
  self: zod.string().optional()
@@ -2456,7 +2406,7 @@ zod.object({
2456
2406
  }).strict();
2457
2407
  zod.object({
2458
2408
  priorityId: zod.number().min(1)
2459
- });
2409
+ }).strict();
2460
2410
  const getPriority200ResponseOneNameMax = 255;
2461
2411
  const getPriority200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2462
2412
  const getPriority200ResponseOneIndexMin = 0;
@@ -2484,7 +2434,7 @@ zod.object({
2484
2434
  }).strict();
2485
2435
  zod.object({
2486
2436
  priorityId: zod.number().min(1)
2487
- });
2437
+ }).strict();
2488
2438
  const updatePriorityBodyNameMax = 255;
2489
2439
  const updatePriorityBodyDescriptionMax = 255;
2490
2440
  const updatePriorityBodyIndexMin = 0;
@@ -2492,18 +2442,15 @@ const updatePriorityBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2492
2442
  zod.object({
2493
2443
  id: zod.number().min(1).describe("The ID of the entity"),
2494
2444
  project: zod.object({
2495
- id: zod.number().min(1).describe("The ID of the entity")
2496
- }).and(
2497
- zod.object({
2498
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2499
- })
2500
- ).describe("ID and link relative to Zephyr project."),
2445
+ id: zod.number().min(1).describe("The ID of the entity"),
2446
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2447
+ }).strict().describe("ID and link relative to Zephyr project."),
2501
2448
  name: zod.string().min(1).max(updatePriorityBodyNameMax).describe("The priority name."),
2502
2449
  description: zod.string().min(1).max(updatePriorityBodyDescriptionMax).optional().describe("The priority description."),
2503
2450
  index: zod.number().min(updatePriorityBodyIndexMin),
2504
2451
  default: zod.boolean(),
2505
2452
  color: zod.string().regex(updatePriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2506
- });
2453
+ }).strict();
2507
2454
  zod.object({
2508
2455
  errorCode: zod.number(),
2509
2456
  message: zod.string()
@@ -2578,7 +2525,7 @@ zod.object({
2578
2525
  type: zod.enum(["TEST_CASE", "TEST_PLAN", "TEST_CYCLE", "TEST_EXECUTION"]).describe("Determines which type of entity the status belongs to."),
2579
2526
  description: zod.string().min(1).max(createStatusBodyDescriptionMax).optional().describe("The status description."),
2580
2527
  color: zod.string().regex(createStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2581
- });
2528
+ }).strict();
2582
2529
  zod.object({
2583
2530
  id: zod.number().min(1).optional().describe("The ID of the entity"),
2584
2531
  self: zod.string().optional()
@@ -2589,7 +2536,7 @@ zod.object({
2589
2536
  }).strict();
2590
2537
  zod.object({
2591
2538
  statusId: zod.number().min(1)
2592
- });
2539
+ }).strict();
2593
2540
  const getStatus200ResponseOneNameMax = 255;
2594
2541
  const getStatus200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2595
2542
  const getStatus200ResponseOneIndexMin = 0;
@@ -2620,7 +2567,7 @@ zod.object({
2620
2567
  }).strict();
2621
2568
  zod.object({
2622
2569
  statusId: zod.number().min(1)
2623
- });
2570
+ }).strict();
2624
2571
  const updateStatusBodyNameMax = 255;
2625
2572
  const updateStatusBodyDescriptionMax = 255;
2626
2573
  const updateStatusBodyIndexMin = 0;
@@ -2628,19 +2575,16 @@ const updateStatusBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2628
2575
  zod.object({
2629
2576
  id: zod.number().min(1).describe("The ID of the entity"),
2630
2577
  project: zod.object({
2631
- id: zod.number().min(1).describe("The ID of the entity")
2632
- }).and(
2633
- zod.object({
2634
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2635
- })
2636
- ).describe("ID and link relative to Zephyr project."),
2578
+ id: zod.number().min(1).describe("The ID of the entity"),
2579
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2580
+ }).strict().describe("ID and link relative to Zephyr project."),
2637
2581
  name: zod.string().min(1).max(updateStatusBodyNameMax).describe("The status name."),
2638
2582
  description: zod.string().min(1).max(updateStatusBodyDescriptionMax).optional().describe("The status description."),
2639
2583
  index: zod.number().min(updateStatusBodyIndexMin),
2640
2584
  archived: zod.boolean(),
2641
2585
  default: zod.boolean(),
2642
2586
  color: zod.string().regex(updateStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2643
- });
2587
+ }).strict();
2644
2588
  zod.object({
2645
2589
  errorCode: zod.number(),
2646
2590
  message: zod.string()
@@ -2708,7 +2652,7 @@ zod.object({
2708
2652
  projectKey: zod.string().regex(createEnvironmentBodyProjectKeyRegExp).describe("Jira project key."),
2709
2653
  name: zod.string().min(1).max(createEnvironmentBodyNameMax).describe("The environment name."),
2710
2654
  description: zod.string().min(1).max(createEnvironmentBodyDescriptionMax).optional().describe("The environment description.")
2711
- });
2655
+ }).strict();
2712
2656
  zod.object({
2713
2657
  id: zod.number().min(1).optional().describe("The ID of the entity"),
2714
2658
  self: zod.string().optional()
@@ -2737,7 +2681,7 @@ zod.object({
2737
2681
  }).strict();
2738
2682
  zod.object({
2739
2683
  environmentId: zod.number().min(1)
2740
- });
2684
+ }).strict();
2741
2685
  const getEnvironment200ResponseOneNameMax = 255;
2742
2686
  const getEnvironment200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2743
2687
  const getEnvironment200ResponseOneIndexMin = 0;
@@ -2763,23 +2707,20 @@ zod.object({
2763
2707
  }).strict();
2764
2708
  zod.object({
2765
2709
  environmentId: zod.number().min(1)
2766
- });
2710
+ }).strict();
2767
2711
  const updateEnvironmentBodyNameMax = 255;
2768
2712
  const updateEnvironmentBodyDescriptionMax = 255;
2769
2713
  const updateEnvironmentBodyIndexMin = 0;
2770
2714
  zod.object({
2771
2715
  id: zod.number().min(1).describe("The ID of the entity"),
2772
2716
  project: zod.object({
2773
- id: zod.number().min(1).describe("The ID of the entity")
2774
- }).and(
2775
- zod.object({
2776
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2777
- })
2778
- ).describe("ID and link relative to Zephyr project."),
2717
+ id: zod.number().min(1).describe("The ID of the entity"),
2718
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2719
+ }).strict().describe("ID and link relative to Zephyr project."),
2779
2720
  name: zod.string().min(1).max(updateEnvironmentBodyNameMax).describe("The environment name."),
2780
2721
  description: zod.string().min(1).max(updateEnvironmentBodyDescriptionMax).optional().describe("The environment description."),
2781
2722
  index: zod.number().min(updateEnvironmentBodyIndexMin)
2782
- });
2723
+ }).strict();
2783
2724
  zod.union([
2784
2725
  zod.object({
2785
2726
  errorCode: zod.number(),
@@ -2808,7 +2749,7 @@ zod.object({
2808
2749
  }).strict();
2809
2750
  zod.object({
2810
2751
  linkId: zod.number().min(1)
2811
- });
2752
+ }).strict();
2812
2753
  zod.object({
2813
2754
  errorCode: zod.number(),
2814
2755
  message: zod.string()
@@ -2816,7 +2757,7 @@ zod.object({
2816
2757
  const getIssueLinkTestCasesPathIssueKeyRegExp = /.+-[0-9]+/;
2817
2758
  const GetIssueLinkTestCasesParams = zod.object({
2818
2759
  issueKey: zod.string().regex(getIssueLinkTestCasesPathIssueKeyRegExp).describe("The key of the Jira issue")
2819
- });
2760
+ }).strict();
2820
2761
  const GetIssueLinkTestCases200ResponseItem = zod.object({
2821
2762
  key: zod.string().optional(),
2822
2763
  version: zod.number().optional(),
@@ -2832,7 +2773,7 @@ zod.object({
2832
2773
  const getIssueLinkTestCyclesPathIssueKeyRegExp = /.+-[0-9]+/;
2833
2774
  const GetIssueLinkTestCyclesParams = zod.object({
2834
2775
  issueKey: zod.string().regex(getIssueLinkTestCyclesPathIssueKeyRegExp).describe("The key of the Jira issue")
2835
- });
2776
+ }).strict();
2836
2777
  const GetIssueLinkTestCycles200ResponseItem = zod.object({
2837
2778
  id: zod.number().min(1).describe("The ID of the entity"),
2838
2779
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
@@ -2847,7 +2788,7 @@ zod.object({
2847
2788
  const getIssueLinkTestPlansPathIssueKeyRegExp = /.+-[0-9]+/;
2848
2789
  zod.object({
2849
2790
  issueKey: zod.string().regex(getIssueLinkTestPlansPathIssueKeyRegExp).describe("The key of the Jira issue")
2850
- });
2791
+ }).strict();
2851
2792
  const GetIssueLinkTestPlans200ResponseItem = zod.object({
2852
2793
  id: zod.number().min(1).describe("The ID of the entity"),
2853
2794
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
@@ -2862,7 +2803,7 @@ zod.object({
2862
2803
  const getIssueLinkTestExecutionsPathIssueKeyRegExp = /.+-[0-9]+/;
2863
2804
  const GetIssueLinkTestExecutionsParams = zod.object({
2864
2805
  issueKey: zod.string().regex(getIssueLinkTestExecutionsPathIssueKeyRegExp).describe("The key of the Jira issue")
2865
- });
2806
+ }).strict();
2866
2807
  const GetIssueLinkTestExecutions200ResponseItem = zod.object({
2867
2808
  id: zod.number().min(1).describe("The ID of the entity"),
2868
2809
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
@@ -2899,10 +2840,10 @@ zod.object({
2899
2840
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2900
2841
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
2901
2842
  )
2902
- }).optional().describe(
2843
+ }).strict().optional().describe(
2903
2844
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2904
2845
  )
2905
- });
2846
+ }).strict();
2906
2847
  const createCustomExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2907
2848
  zod.object({
2908
2849
  testCycle: zod.object({
@@ -2940,10 +2881,10 @@ zod.object({
2940
2881
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2941
2882
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
2942
2883
  )
2943
- }).optional().describe(
2884
+ }).strict().optional().describe(
2944
2885
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2945
2886
  )
2946
- });
2887
+ }).strict();
2947
2888
  const createCucumberExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2948
2889
  zod.object({
2949
2890
  testCycle: zod.object({
@@ -2981,10 +2922,10 @@ zod.object({
2981
2922
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2982
2923
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
2983
2924
  )
2984
- }).optional().describe(
2925
+ }).strict().optional().describe(
2985
2926
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2986
2927
  )
2987
- });
2928
+ }).strict();
2988
2929
  const createJUnitExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2989
2930
  zod.object({
2990
2931
  testCycle: zod.object({