mcp4openapi 0.3.0 → 0.3.3

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 (81) hide show
  1. package/README.md +7 -0
  2. package/dist/src/auth/oauth-provider.d.ts.map +1 -1
  3. package/dist/src/auth/oauth-provider.js +5 -2
  4. package/dist/src/auth/oauth-provider.js.map +1 -1
  5. package/dist/src/core/cli-config.d.ts.map +1 -1
  6. package/dist/src/core/cli-config.js +3 -0
  7. package/dist/src/core/cli-config.js.map +1 -1
  8. package/dist/src/core/index.d.ts.map +1 -1
  9. package/dist/src/core/index.js +19 -3
  10. package/dist/src/core/index.js.map +1 -1
  11. package/dist/src/generated-schemas.d.ts +45 -0
  12. package/dist/src/generated-schemas.d.ts.map +1 -1
  13. package/dist/src/generated-schemas.js +3 -0
  14. package/dist/src/generated-schemas.js.map +1 -1
  15. package/dist/src/openapi/openapi-parser.d.ts.map +1 -1
  16. package/dist/src/openapi/openapi-parser.js +22 -0
  17. package/dist/src/openapi/openapi-parser.js.map +1 -1
  18. package/dist/src/profile/profile-allowlist.d.ts +18 -0
  19. package/dist/src/profile/profile-allowlist.d.ts.map +1 -0
  20. package/dist/src/profile/profile-allowlist.js +68 -0
  21. package/dist/src/profile/profile-allowlist.js.map +1 -0
  22. package/dist/src/profile/profile-loader.d.ts.map +1 -1
  23. package/dist/src/profile/profile-loader.js +8 -1
  24. package/dist/src/profile/profile-loader.js.map +1 -1
  25. package/dist/src/profile/profile-registry.d.ts +7 -1
  26. package/dist/src/profile/profile-registry.d.ts.map +1 -1
  27. package/dist/src/profile/profile-registry.js +49 -8
  28. package/dist/src/profile/profile-registry.js.map +1 -1
  29. package/dist/src/profile/profile-resolver.d.ts +16 -0
  30. package/dist/src/profile/profile-resolver.d.ts.map +1 -1
  31. package/dist/src/profile/profile-resolver.js +120 -0
  32. package/dist/src/profile/profile-resolver.js.map +1 -1
  33. package/dist/src/tooling/composite-executor.d.ts.map +1 -1
  34. package/dist/src/tooling/composite-executor.js +7 -2
  35. package/dist/src/tooling/composite-executor.js.map +1 -1
  36. package/dist/src/tooling/proxy-executor.d.ts.map +1 -1
  37. package/dist/src/tooling/proxy-executor.js +4 -0
  38. package/dist/src/tooling/proxy-executor.js.map +1 -1
  39. package/dist/src/tooling/tool-generator.d.ts.map +1 -1
  40. package/dist/src/tooling/tool-generator.js +36 -3
  41. package/dist/src/tooling/tool-generator.js.map +1 -1
  42. package/dist/src/transport/http-transport-config.d.ts.map +1 -1
  43. package/dist/src/transport/http-transport-config.js +1 -0
  44. package/dist/src/transport/http-transport-config.js.map +1 -1
  45. package/dist/src/transport/http-transport.d.ts +5 -0
  46. package/dist/src/transport/http-transport.d.ts.map +1 -1
  47. package/dist/src/transport/http-transport.js +63 -1
  48. package/dist/src/transport/http-transport.js.map +1 -1
  49. package/dist/src/transport/profile-index.d.ts +84 -0
  50. package/dist/src/transport/profile-index.d.ts.map +1 -0
  51. package/dist/src/transport/profile-index.js +405 -0
  52. package/dist/src/transport/profile-index.js.map +1 -0
  53. package/dist/src/types/http-transport.d.ts +1 -0
  54. package/dist/src/types/http-transport.d.ts.map +1 -1
  55. package/dist/src/types/openapi.d.ts +3 -0
  56. package/dist/src/types/openapi.d.ts.map +1 -1
  57. package/dist/src/types/profile.d.ts +3 -0
  58. package/dist/src/types/profile.d.ts.map +1 -1
  59. package/dist/src/validation/validation-utils.d.ts.map +1 -1
  60. package/dist/src/validation/validation-utils.js +1 -0
  61. package/dist/src/validation/validation-utils.js.map +1 -1
  62. package/html/profile-index.html +386 -0
  63. package/package.json +3 -2
  64. package/profile-schema.json +14 -0
  65. package/profiles/gitlab/developer-profile-oauth.json +244 -42
  66. package/profiles/gitlab/developer-profile-oauth.test.json +1009 -5
  67. package/profiles/gitlab/openapi.yaml +1419 -164
  68. package/profiles/gitlab/profile-optimized-oauth.json +785 -0
  69. package/profiles/gitlab/profile-optimized-oauth.test.json +1566 -0
  70. package/profiles/grafana/openapi.json +28078 -0
  71. package/profiles/grafana/profile.json +1083 -0
  72. package/profiles/grafana/profile.test.json +235 -0
  73. package/profiles/mattermost/openapi.yaml +27434 -0
  74. package/profiles/mattermost/profile.json +463 -0
  75. package/profiles/mattermost/profile.test.json +607 -0
  76. package/profiles/n8n/profile-optimized.json +1002 -364
  77. package/profiles/n8n/profile-optimized.test.json +43 -43
  78. package/profiles/n8n/profile.json +1 -1
  79. package/profiles/n8n-nodes/profile-nodes.json +1 -1
  80. package/profiles/semgrep/profile.json +1 -1
  81. package/profiles/youtrack/profile.json +1 -1
@@ -4,7 +4,19 @@
4
4
  "variables": {
5
5
  "projectId": "12345",
6
6
  "groupId": "36173",
7
- "awardId": 7
7
+ "awardId": 7,
8
+ "issueIid": 1,
9
+ "mergeRequestIid": 2,
10
+ "noteId": 10,
11
+ "discussionId": "discussion-1",
12
+ "pipelineId": 1001,
13
+ "jobId": 2002,
14
+ "hookId": 9001,
15
+ "variableKey": "DEPLOY_ENV",
16
+ "filePath": "README.md",
17
+ "ref": "main",
18
+ "fromRef": "main",
19
+ "toRef": "feature-branch"
8
20
  },
9
21
  "scenarios": [
10
22
  {
@@ -1169,6 +1181,43 @@
1169
1181
  }
1170
1182
  }
1171
1183
  },
1184
+ {
1185
+ "name": "Issues - List Global",
1186
+ "tool": "manage_issues",
1187
+ "arguments": {
1188
+ "action": "list_global",
1189
+ "state": "opened"
1190
+ },
1191
+ "mocks": [
1192
+ {
1193
+ "operationId": "getApiV4Issues",
1194
+ "response": {
1195
+ "body": [
1196
+ {
1197
+ "id": 11,
1198
+ "iid": 2,
1199
+ "title": "Global Bug"
1200
+ }
1201
+ ]
1202
+ }
1203
+ }
1204
+ ],
1205
+ "expect": {
1206
+ "success": true,
1207
+ "result": [
1208
+ {
1209
+ "title": "Global Bug"
1210
+ }
1211
+ ],
1212
+ "request": {
1213
+ "method": "GET",
1214
+ "path": "/issues",
1215
+ "query": {
1216
+ "state": "opened"
1217
+ }
1218
+ }
1219
+ }
1220
+ },
1172
1221
  {
1173
1222
  "name": "Issues - Get",
1174
1223
  "tool": "manage_issues",
@@ -1356,6 +1405,34 @@
1356
1405
  }
1357
1406
  }
1358
1407
  },
1408
+ {
1409
+ "name": "Issues - Update",
1410
+ "tool": "manage_issues",
1411
+ "arguments": {
1412
+ "action": "update",
1413
+ "project_id": "{{projectId}}",
1414
+ "issue_iid": 1,
1415
+ "title": "Updated Bug"
1416
+ },
1417
+ "mocks": [
1418
+ {
1419
+ "operationId": "putApiV4ProjectsIdIssuesIssueIid",
1420
+ "response": {
1421
+ "body": {
1422
+ "id": 1,
1423
+ "iid": 1,
1424
+ "title": "Updated Bug"
1425
+ }
1426
+ }
1427
+ }
1428
+ ],
1429
+ "expect": {
1430
+ "success": true,
1431
+ "result": {
1432
+ "title": "Updated Bug"
1433
+ }
1434
+ }
1435
+ },
1359
1436
  {
1360
1437
  "name": "Issues - Delete",
1361
1438
  "tool": "manage_issues",
@@ -2776,20 +2853,118 @@
2776
2853
  }
2777
2854
  },
2778
2855
  {
2779
- "name": "Merge Requests - Get Changes",
2856
+ "name": "Merge Requests - Merge",
2780
2857
  "tool": "manage_merge_requests",
2781
2858
  "arguments": {
2782
- "action": "get_changes",
2859
+ "action": "merge",
2783
2860
  "project_id": "{{projectId}}",
2784
2861
  "merge_request_iid": 1
2785
2862
  },
2786
2863
  "mocks": [
2787
2864
  {
2788
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidChanges",
2865
+ "operationId": "putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge",
2789
2866
  "response": {
2790
2867
  "status": 200,
2791
2868
  "body": {
2792
- "id": 1
2869
+ "id": 1,
2870
+ "iid": 1
2871
+ }
2872
+ }
2873
+ }
2874
+ ],
2875
+ "expect": {
2876
+ "success": true
2877
+ }
2878
+ },
2879
+ {
2880
+ "name": "Merge Requests - List Commits",
2881
+ "tool": "manage_merge_requests",
2882
+ "arguments": {
2883
+ "action": "list_commits",
2884
+ "project_id": "{{projectId}}",
2885
+ "merge_request_iid": 1
2886
+ },
2887
+ "mocks": [
2888
+ {
2889
+ "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits",
2890
+ "response": {
2891
+ "status": 200,
2892
+ "body": [
2893
+ {
2894
+ "id": "abc123",
2895
+ "title": "Commit"
2896
+ }
2897
+ ]
2898
+ }
2899
+ }
2900
+ ],
2901
+ "expect": {
2902
+ "success": true
2903
+ }
2904
+ },
2905
+ {
2906
+ "name": "Merge Requests - List Raw Diffs",
2907
+ "tool": "manage_merge_requests",
2908
+ "arguments": {
2909
+ "action": "list_raw_diffs",
2910
+ "project_id": "{{projectId}}",
2911
+ "merge_request_iid": 1
2912
+ },
2913
+ "mocks": [
2914
+ {
2915
+ "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidRawDiffs",
2916
+ "response": {
2917
+ "status": 200,
2918
+ "body": "diff --git a/file.txt b/file.txt"
2919
+ }
2920
+ }
2921
+ ],
2922
+ "expect": {
2923
+ "success": true
2924
+ }
2925
+ },
2926
+ {
2927
+ "name": "Merge Requests - List Pipelines",
2928
+ "tool": "manage_merge_requests",
2929
+ "arguments": {
2930
+ "action": "list_pipelines",
2931
+ "project_id": "{{projectId}}",
2932
+ "merge_request_iid": 1
2933
+ },
2934
+ "mocks": [
2935
+ {
2936
+ "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines",
2937
+ "response": {
2938
+ "status": 200,
2939
+ "body": [
2940
+ {
2941
+ "id": 100,
2942
+ "status": "success"
2943
+ }
2944
+ ]
2945
+ }
2946
+ }
2947
+ ],
2948
+ "expect": {
2949
+ "success": true
2950
+ }
2951
+ },
2952
+ {
2953
+ "name": "Merge Requests - Create Pipeline",
2954
+ "tool": "manage_merge_requests",
2955
+ "arguments": {
2956
+ "action": "create_pipeline",
2957
+ "project_id": "{{projectId}}",
2958
+ "merge_request_iid": 1
2959
+ },
2960
+ "mocks": [
2961
+ {
2962
+ "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines",
2963
+ "response": {
2964
+ "status": 201,
2965
+ "body": {
2966
+ "id": 101,
2967
+ "status": "running"
2793
2968
  }
2794
2969
  }
2795
2970
  }
@@ -2798,6 +2973,27 @@
2798
2973
  "success": true
2799
2974
  }
2800
2975
  },
2976
+ {
2977
+ "name": "Merge Requests - List Diffs",
2978
+ "tool": "manage_merge_requests",
2979
+ "arguments": {
2980
+ "action": "list_diffs",
2981
+ "project_id": "{{projectId}}",
2982
+ "merge_request_iid": 1
2983
+ },
2984
+ "mocks": [
2985
+ {
2986
+ "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs",
2987
+ "response": {
2988
+ "status": 200,
2989
+ "body": []
2990
+ }
2991
+ }
2992
+ ],
2993
+ "expect": {
2994
+ "success": true
2995
+ }
2996
+ },
2801
2997
  {
2802
2998
  "name": "Merge Requests - List Versions",
2803
2999
  "tool": "manage_merge_requests",
@@ -3401,6 +3597,814 @@
3401
3597
  "success": true
3402
3598
  }
3403
3599
  },
3600
+ {
3601
+ "name": "Projects - List Members",
3602
+ "tool": "manage_projects",
3603
+ "arguments": {
3604
+ "action": "list_members",
3605
+ "project_id": "{{projectId}}"
3606
+ },
3607
+ "mocks": [
3608
+ {
3609
+ "operationId": "getApiV4ProjectsIdMembers",
3610
+ "response": {
3611
+ "body": [
3612
+ {
3613
+ "id": 101,
3614
+ "name": "Member"
3615
+ }
3616
+ ]
3617
+ }
3618
+ }
3619
+ ],
3620
+ "expect": {
3621
+ "success": true,
3622
+ "result": [
3623
+ {
3624
+ "id": 101
3625
+ }
3626
+ ]
3627
+ }
3628
+ },
3629
+ {
3630
+ "name": "Project Hooks - Get",
3631
+ "tool": "manage_project_hooks",
3632
+ "arguments": {
3633
+ "action": "get_hook",
3634
+ "project_id": "{{projectId}}",
3635
+ "hook_id": "{{hookId}}"
3636
+ },
3637
+ "mocks": [
3638
+ {
3639
+ "operationId": "getApiV4ProjectsIdHooksHookId",
3640
+ "response": {
3641
+ "body": {
3642
+ "id": 9001,
3643
+ "url": "https://example.com/hook"
3644
+ }
3645
+ }
3646
+ }
3647
+ ],
3648
+ "expect": {
3649
+ "success": true,
3650
+ "result": {
3651
+ "id": 9001
3652
+ }
3653
+ }
3654
+ },
3655
+ {
3656
+ "name": "Project Hooks - Update",
3657
+ "tool": "manage_project_hooks",
3658
+ "arguments": {
3659
+ "action": "update_hook",
3660
+ "project_id": "{{projectId}}",
3661
+ "hook_id": "{{hookId}}",
3662
+ "url": "https://example.com/hook-updated"
3663
+ },
3664
+ "mocks": [
3665
+ {
3666
+ "operationId": "putApiV4ProjectsIdHooksHookId",
3667
+ "response": {
3668
+ "body": {
3669
+ "id": 9001,
3670
+ "url": "https://example.com/hook-updated"
3671
+ }
3672
+ }
3673
+ }
3674
+ ],
3675
+ "expect": {
3676
+ "success": true,
3677
+ "result": {
3678
+ "id": 9001
3679
+ }
3680
+ }
3681
+ },
3682
+ {
3683
+ "name": "Project Variables - List",
3684
+ "tool": "manage_project_variables",
3685
+ "arguments": {
3686
+ "action": "list",
3687
+ "project_id": "{{projectId}}"
3688
+ },
3689
+ "mocks": [
3690
+ {
3691
+ "operationId": "getApiV4ProjectsIdVariables",
3692
+ "response": {
3693
+ "body": [
3694
+ {
3695
+ "key": "DEPLOY_ENV",
3696
+ "value": "staging"
3697
+ }
3698
+ ]
3699
+ }
3700
+ }
3701
+ ],
3702
+ "expect": {
3703
+ "success": true,
3704
+ "result": [
3705
+ {
3706
+ "key": "DEPLOY_ENV"
3707
+ }
3708
+ ]
3709
+ }
3710
+ },
3711
+ {
3712
+ "name": "Project Variables - Get",
3713
+ "tool": "manage_project_variables",
3714
+ "arguments": {
3715
+ "action": "get",
3716
+ "project_id": "{{projectId}}",
3717
+ "key": "{{variableKey}}"
3718
+ },
3719
+ "mocks": [
3720
+ {
3721
+ "operationId": "getApiV4ProjectsIdVariablesKey",
3722
+ "response": {
3723
+ "body": {
3724
+ "key": "DEPLOY_ENV",
3725
+ "value": "staging"
3726
+ }
3727
+ }
3728
+ }
3729
+ ],
3730
+ "expect": {
3731
+ "success": true,
3732
+ "result": {
3733
+ "key": "DEPLOY_ENV"
3734
+ }
3735
+ }
3736
+ },
3737
+ {
3738
+ "name": "Project Variables - Create",
3739
+ "tool": "manage_project_variables",
3740
+ "arguments": {
3741
+ "action": "create",
3742
+ "project_id": "{{projectId}}",
3743
+ "key": "{{variableKey}}",
3744
+ "value": "staging"
3745
+ },
3746
+ "mocks": [
3747
+ {
3748
+ "operationId": "postApiV4ProjectsIdVariables",
3749
+ "response": {
3750
+ "status": 201,
3751
+ "body": {
3752
+ "key": "DEPLOY_ENV",
3753
+ "value": "staging"
3754
+ }
3755
+ }
3756
+ }
3757
+ ],
3758
+ "expect": {
3759
+ "success": true,
3760
+ "result": {
3761
+ "key": "DEPLOY_ENV"
3762
+ }
3763
+ }
3764
+ },
3765
+ {
3766
+ "name": "Project Variables - Update",
3767
+ "tool": "manage_project_variables",
3768
+ "arguments": {
3769
+ "action": "update",
3770
+ "project_id": "{{projectId}}",
3771
+ "key": "{{variableKey}}",
3772
+ "value": "production"
3773
+ },
3774
+ "mocks": [
3775
+ {
3776
+ "operationId": "putApiV4ProjectsIdVariablesKey",
3777
+ "response": {
3778
+ "body": {
3779
+ "key": "DEPLOY_ENV",
3780
+ "value": "production"
3781
+ }
3782
+ }
3783
+ }
3784
+ ],
3785
+ "expect": {
3786
+ "success": true,
3787
+ "result": {
3788
+ "key": "DEPLOY_ENV"
3789
+ }
3790
+ }
3791
+ },
3792
+ {
3793
+ "name": "Project Variables - Delete",
3794
+ "tool": "manage_project_variables",
3795
+ "arguments": {
3796
+ "action": "delete",
3797
+ "project_id": "{{projectId}}",
3798
+ "key": "{{variableKey}}"
3799
+ },
3800
+ "mocks": [
3801
+ {
3802
+ "operationId": "deleteApiV4ProjectsIdVariablesKey",
3803
+ "response": {
3804
+ "status": 204
3805
+ }
3806
+ }
3807
+ ],
3808
+ "expect": {
3809
+ "success": true
3810
+ }
3811
+ },
3812
+ {
3813
+ "name": "Labels - List Group Labels",
3814
+ "tool": "manage_labels_milestones",
3815
+ "arguments": {
3816
+ "action": "list_group_labels",
3817
+ "group_id": "{{groupId}}"
3818
+ },
3819
+ "mocks": [
3820
+ {
3821
+ "operationId": "getApiV4GroupsIdLabels",
3822
+ "response": {
3823
+ "body": [
3824
+ {
3825
+ "id": 1,
3826
+ "name": "team"
3827
+ }
3828
+ ]
3829
+ }
3830
+ }
3831
+ ],
3832
+ "expect": {
3833
+ "success": true,
3834
+ "result": [
3835
+ {
3836
+ "name": "team"
3837
+ }
3838
+ ]
3839
+ }
3840
+ },
3841
+ {
3842
+ "name": "Milestones - List Group Milestones",
3843
+ "tool": "manage_labels_milestones",
3844
+ "arguments": {
3845
+ "action": "list_group_milestones",
3846
+ "group_id": "{{groupId}}"
3847
+ },
3848
+ "mocks": [
3849
+ {
3850
+ "operationId": "getApiV4GroupsIdMilestones",
3851
+ "response": {
3852
+ "body": [
3853
+ {
3854
+ "id": 2,
3855
+ "iid": 2,
3856
+ "title": "v2"
3857
+ }
3858
+ ]
3859
+ }
3860
+ }
3861
+ ],
3862
+ "expect": {
3863
+ "success": true,
3864
+ "result": [
3865
+ {
3866
+ "title": "v2"
3867
+ }
3868
+ ]
3869
+ }
3870
+ },
3871
+ {
3872
+ "name": "Pipelines - List",
3873
+ "tool": "manage_pipelines_jobs",
3874
+ "arguments": {
3875
+ "action": "list_pipelines",
3876
+ "project_id": "{{projectId}}",
3877
+ "ref": "{{ref}}"
3878
+ },
3879
+ "mocks": [
3880
+ {
3881
+ "operationId": "getApiV4ProjectsIdPipelines",
3882
+ "response": {
3883
+ "body": [
3884
+ {
3885
+ "id": 1001,
3886
+ "status": "success"
3887
+ }
3888
+ ]
3889
+ }
3890
+ }
3891
+ ],
3892
+ "expect": {
3893
+ "success": true,
3894
+ "result": [
3895
+ {
3896
+ "id": 1001
3897
+ }
3898
+ ]
3899
+ }
3900
+ },
3901
+ {
3902
+ "name": "Pipelines - List Jobs",
3903
+ "tool": "manage_pipelines_jobs",
3904
+ "arguments": {
3905
+ "action": "list_pipeline_jobs",
3906
+ "project_id": "{{projectId}}",
3907
+ "pipeline_id": "{{pipelineId}}"
3908
+ },
3909
+ "mocks": [
3910
+ {
3911
+ "operationId": "getApiV4ProjectsIdPipelinesPipelineIdJobs",
3912
+ "response": {
3913
+ "body": [
3914
+ {
3915
+ "id": 2002,
3916
+ "status": "success"
3917
+ }
3918
+ ]
3919
+ }
3920
+ }
3921
+ ],
3922
+ "expect": {
3923
+ "success": true,
3924
+ "result": [
3925
+ {
3926
+ "id": 2002
3927
+ }
3928
+ ]
3929
+ }
3930
+ },
3931
+ {
3932
+ "name": "Jobs - Download Artifact File",
3933
+ "tool": "manage_pipelines_jobs",
3934
+ "arguments": {
3935
+ "action": "download_job_artifact",
3936
+ "project_id": "{{projectId}}",
3937
+ "job_id": "{{jobId}}",
3938
+ "artifact_path": "reports/coverage.xml"
3939
+ },
3940
+ "mocks": [
3941
+ {
3942
+ "operationId": "getSingleJob",
3943
+ "response": {
3944
+ "body": {
3945
+ "id": 2002,
3946
+ "artifacts_file": {
3947
+ "filename": "artifacts.zip"
3948
+ }
3949
+ }
3950
+ }
3951
+ },
3952
+ {
3953
+ "operationId": "getApiV4ProjectsIdJobsJobIdArtifactsArtifactPath",
3954
+ "response": {
3955
+ "status": 200,
3956
+ "body": "<xml/>",
3957
+ "headers": {
3958
+ "content-type": "application/xml"
3959
+ }
3960
+ }
3961
+ }
3962
+ ],
3963
+ "expect": {
3964
+ "success": true,
3965
+ "result": {
3966
+ "fileName": "artifacts.zip"
3967
+ }
3968
+ }
3969
+ },
3970
+ {
3971
+ "name": "Issues - List Discussions",
3972
+ "tool": "manage_issues",
3973
+ "arguments": {
3974
+ "action": "list_discussions",
3975
+ "project_id": "{{projectId}}",
3976
+ "issue_iid": "{{issueIid}}"
3977
+ },
3978
+ "mocks": [
3979
+ {
3980
+ "operationId": "getApiV4ProjectsIdIssuesIssueIidDiscussions",
3981
+ "response": {
3982
+ "body": [
3983
+ {
3984
+ "id": "discussion-1",
3985
+ "resolved": false
3986
+ }
3987
+ ]
3988
+ }
3989
+ }
3990
+ ],
3991
+ "expect": {
3992
+ "success": true,
3993
+ "result": [
3994
+ {
3995
+ "id": "discussion-1"
3996
+ }
3997
+ ]
3998
+ }
3999
+ },
4000
+ {
4001
+ "name": "Issues - Get Discussion",
4002
+ "tool": "manage_issues",
4003
+ "arguments": {
4004
+ "action": "get_discussion",
4005
+ "project_id": "{{projectId}}",
4006
+ "issue_iid": "{{issueIid}}",
4007
+ "discussion_id": "{{discussionId}}"
4008
+ },
4009
+ "mocks": [
4010
+ {
4011
+ "operationId": "getApiV4ProjectsIdIssuesIssueIidDiscussionsDiscussionId",
4012
+ "response": {
4013
+ "body": {
4014
+ "id": "discussion-1",
4015
+ "resolved": false
4016
+ }
4017
+ }
4018
+ }
4019
+ ],
4020
+ "expect": {
4021
+ "success": true,
4022
+ "result": {
4023
+ "id": "discussion-1"
4024
+ }
4025
+ }
4026
+ },
4027
+ {
4028
+ "name": "Issues - Create Discussion",
4029
+ "tool": "manage_issues",
4030
+ "arguments": {
4031
+ "action": "create_discussion",
4032
+ "project_id": "{{projectId}}",
4033
+ "issue_iid": "{{issueIid}}",
4034
+ "body": "Discussion"
4035
+ },
4036
+ "mocks": [
4037
+ {
4038
+ "operationId": "postApiV4ProjectsIdIssuesIssueIidDiscussions",
4039
+ "response": {
4040
+ "status": 201,
4041
+ "body": {
4042
+ "id": "discussion-1",
4043
+ "resolved": false
4044
+ }
4045
+ }
4046
+ }
4047
+ ],
4048
+ "expect": {
4049
+ "success": true,
4050
+ "result": {
4051
+ "id": "discussion-1"
4052
+ }
4053
+ }
4054
+ },
4055
+ {
4056
+ "name": "Issues - Reply Discussion",
4057
+ "tool": "manage_issues",
4058
+ "arguments": {
4059
+ "action": "reply_discussion",
4060
+ "project_id": "{{projectId}}",
4061
+ "issue_iid": "{{issueIid}}",
4062
+ "discussion_id": "{{discussionId}}",
4063
+ "body": "Reply"
4064
+ },
4065
+ "mocks": [
4066
+ {
4067
+ "operationId": "postApiV4ProjectsIdIssuesIssueIidDiscussionsDiscussionIdNotes",
4068
+ "response": {
4069
+ "status": 201,
4070
+ "body": {
4071
+ "id": "discussion-1",
4072
+ "notes": []
4073
+ }
4074
+ }
4075
+ }
4076
+ ],
4077
+ "expect": {
4078
+ "success": true,
4079
+ "result": {
4080
+ "id": "discussion-1"
4081
+ }
4082
+ }
4083
+ },
4084
+ {
4085
+ "name": "Issues - Delete Discussion",
4086
+ "tool": "manage_issues",
4087
+ "arguments": {
4088
+ "action": "delete_discussion",
4089
+ "project_id": "{{projectId}}",
4090
+ "issue_iid": "{{issueIid}}",
4091
+ "discussion_id": "{{discussionId}}"
4092
+ },
4093
+ "mocks": [
4094
+ {
4095
+ "operationId": "deleteApiV4ProjectsIdIssuesIssueIidDiscussionsDiscussionId",
4096
+ "response": {
4097
+ "status": 204
4098
+ }
4099
+ }
4100
+ ],
4101
+ "expect": {
4102
+ "success": true
4103
+ }
4104
+ },
4105
+ {
4106
+ "name": "Issues - Resolve Discussion",
4107
+ "tool": "manage_issues",
4108
+ "arguments": {
4109
+ "action": "set_discussion_resolved",
4110
+ "project_id": "{{projectId}}",
4111
+ "issue_iid": "{{issueIid}}",
4112
+ "discussion_id": "{{discussionId}}",
4113
+ "resolved": true
4114
+ },
4115
+ "mocks": [
4116
+ {
4117
+ "operationId": "putApiV4ProjectsIdIssuesIssueIidDiscussionsDiscussionId",
4118
+ "response": {
4119
+ "body": {
4120
+ "id": "discussion-1",
4121
+ "resolved": true
4122
+ }
4123
+ }
4124
+ }
4125
+ ],
4126
+ "expect": {
4127
+ "success": true,
4128
+ "result": {
4129
+ "resolved": true
4130
+ }
4131
+ }
4132
+ },
4133
+ {
4134
+ "name": "Issues - List Note Award Emoji",
4135
+ "tool": "manage_issues",
4136
+ "arguments": {
4137
+ "action": "list_note_award_emoji",
4138
+ "project_id": "{{projectId}}",
4139
+ "issue_iid": "{{issueIid}}",
4140
+ "note_id": "{{noteId}}"
4141
+ },
4142
+ "mocks": [
4143
+ {
4144
+ "operationId": "getApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji",
4145
+ "response": {
4146
+ "body": [
4147
+ {
4148
+ "id": 7,
4149
+ "name": "thumbsup"
4150
+ }
4151
+ ]
4152
+ }
4153
+ }
4154
+ ],
4155
+ "expect": {
4156
+ "success": true,
4157
+ "result": [
4158
+ {
4159
+ "id": 7
4160
+ }
4161
+ ]
4162
+ }
4163
+ },
4164
+ {
4165
+ "name": "Issues - Get Note Award Emoji",
4166
+ "tool": "manage_issues",
4167
+ "arguments": {
4168
+ "action": "get_note_award_emoji",
4169
+ "project_id": "{{projectId}}",
4170
+ "issue_iid": "{{issueIid}}",
4171
+ "note_id": "{{noteId}}",
4172
+ "award_id": "{{awardId}}"
4173
+ },
4174
+ "mocks": [
4175
+ {
4176
+ "operationId": "getApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmojiAwardId",
4177
+ "response": {
4178
+ "body": {
4179
+ "id": 7,
4180
+ "name": "thumbsup"
4181
+ }
4182
+ }
4183
+ }
4184
+ ],
4185
+ "expect": {
4186
+ "success": true,
4187
+ "result": {
4188
+ "id": 7
4189
+ }
4190
+ }
4191
+ },
4192
+ {
4193
+ "name": "Issues - Create Note Award Emoji",
4194
+ "tool": "manage_issues",
4195
+ "arguments": {
4196
+ "action": "create_note_award_emoji",
4197
+ "project_id": "{{projectId}}",
4198
+ "issue_iid": "{{issueIid}}",
4199
+ "note_id": "{{noteId}}",
4200
+ "name": "thumbsup"
4201
+ },
4202
+ "mocks": [
4203
+ {
4204
+ "operationId": "postApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji",
4205
+ "response": {
4206
+ "status": 201,
4207
+ "body": {
4208
+ "id": 7,
4209
+ "name": "thumbsup"
4210
+ }
4211
+ }
4212
+ }
4213
+ ],
4214
+ "expect": {
4215
+ "success": true,
4216
+ "result": {
4217
+ "id": 7
4218
+ }
4219
+ }
4220
+ },
4221
+ {
4222
+ "name": "Issues - Delete Note Award Emoji",
4223
+ "tool": "manage_issues",
4224
+ "arguments": {
4225
+ "action": "delete_note_award_emoji",
4226
+ "project_id": "{{projectId}}",
4227
+ "issue_iid": "{{issueIid}}",
4228
+ "note_id": "{{noteId}}",
4229
+ "award_id": "{{awardId}}"
4230
+ },
4231
+ "mocks": [
4232
+ {
4233
+ "operationId": "deleteApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmojiAwardId",
4234
+ "response": {
4235
+ "status": 204
4236
+ }
4237
+ }
4238
+ ],
4239
+ "expect": {
4240
+ "success": true
4241
+ }
4242
+ },
4243
+ {
4244
+ "name": "Repository Commits - Compare",
4245
+ "tool": "repository_commits",
4246
+ "arguments": {
4247
+ "action": "compare",
4248
+ "project_id": "{{projectId}}",
4249
+ "from": "{{fromRef}}",
4250
+ "to": "{{toRef}}"
4251
+ },
4252
+ "mocks": [
4253
+ {
4254
+ "operationId": "getApiV4ProjectsIdRepositoryCompare",
4255
+ "response": {
4256
+ "body": {
4257
+ "compare_timeout": false,
4258
+ "commits": []
4259
+ }
4260
+ }
4261
+ }
4262
+ ],
4263
+ "expect": {
4264
+ "success": true,
4265
+ "result": {
4266
+ "compare_timeout": false
4267
+ }
4268
+ }
4269
+ },
4270
+ {
4271
+ "name": "Repository Commits - Get Commit",
4272
+ "tool": "repository_commits",
4273
+ "arguments": {
4274
+ "action": "get_commit",
4275
+ "project_id": "{{projectId}}",
4276
+ "sha": "abc123"
4277
+ },
4278
+ "mocks": [
4279
+ {
4280
+ "operationId": "getApiV4ProjectsIdRepositoryCommitsSha",
4281
+ "response": {
4282
+ "body": {
4283
+ "id": "abc123",
4284
+ "title": "Commit"
4285
+ }
4286
+ }
4287
+ }
4288
+ ],
4289
+ "expect": {
4290
+ "success": true,
4291
+ "result": {
4292
+ "id": "abc123"
4293
+ }
4294
+ }
4295
+ },
4296
+ {
4297
+ "name": "Repository Files - List Tree",
4298
+ "tool": "repository_files",
4299
+ "arguments": {
4300
+ "action": "list_tree",
4301
+ "project_id": "{{projectId}}",
4302
+ "path": "src"
4303
+ },
4304
+ "mocks": [
4305
+ {
4306
+ "operationId": "getApiV4ProjectsIdRepositoryTree",
4307
+ "response": {
4308
+ "body": [
4309
+ {
4310
+ "id": "abc",
4311
+ "name": "index.js",
4312
+ "type": "blob"
4313
+ }
4314
+ ]
4315
+ }
4316
+ }
4317
+ ],
4318
+ "expect": {
4319
+ "success": true,
4320
+ "result": [
4321
+ {
4322
+ "name": "index.js"
4323
+ }
4324
+ ]
4325
+ }
4326
+ },
4327
+ {
4328
+ "name": "Repository Files - Create",
4329
+ "tool": "repository_files",
4330
+ "arguments": {
4331
+ "action": "create_file",
4332
+ "project_id": "{{projectId}}",
4333
+ "file_path": "{{filePath}}",
4334
+ "branch": "{{ref}}",
4335
+ "content": "Hello",
4336
+ "commit_message": "Add file"
4337
+ },
4338
+ "mocks": [
4339
+ {
4340
+ "operationId": "postApiV4ProjectsIdRepositoryFilesFilePath",
4341
+ "response": {
4342
+ "status": 201,
4343
+ "body": {
4344
+ "file_name": "README.md",
4345
+ "file_path": "README.md"
4346
+ }
4347
+ }
4348
+ }
4349
+ ],
4350
+ "expect": {
4351
+ "success": true,
4352
+ "result": {
4353
+ "file_name": "README.md"
4354
+ }
4355
+ }
4356
+ },
4357
+ {
4358
+ "name": "Repository Files - Update",
4359
+ "tool": "repository_files",
4360
+ "arguments": {
4361
+ "action": "update_file",
4362
+ "project_id": "{{projectId}}",
4363
+ "file_path": "{{filePath}}",
4364
+ "branch": "{{ref}}",
4365
+ "content": "Updated",
4366
+ "commit_message": "Update file"
4367
+ },
4368
+ "mocks": [
4369
+ {
4370
+ "operationId": "putApiV4ProjectsIdRepositoryFilesFilePath",
4371
+ "response": {
4372
+ "body": {
4373
+ "file_name": "README.md",
4374
+ "file_path": "README.md"
4375
+ }
4376
+ }
4377
+ }
4378
+ ],
4379
+ "expect": {
4380
+ "success": true,
4381
+ "result": {
4382
+ "file_name": "README.md"
4383
+ }
4384
+ }
4385
+ },
4386
+ {
4387
+ "name": "Repository Files - Delete",
4388
+ "tool": "repository_files",
4389
+ "arguments": {
4390
+ "action": "delete_file",
4391
+ "project_id": "{{projectId}}",
4392
+ "file_path": "{{filePath}}",
4393
+ "branch": "{{ref}}",
4394
+ "commit_message": "Remove file"
4395
+ },
4396
+ "mocks": [
4397
+ {
4398
+ "operationId": "deleteApiV4ProjectsIdRepositoryFilesFilePath",
4399
+ "response": {
4400
+ "status": 204
4401
+ }
4402
+ }
4403
+ ],
4404
+ "expect": {
4405
+ "success": true
4406
+ }
4407
+ },
3404
4408
  {
3405
4409
  "name": "Access Requests - Request Group",
3406
4410
  "tool": "manage_access_requests",