@@ -823,5 +823,272 @@ class MockTypes:
823823 "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
824824 }
825825 }
826+ ),
827+
828+ # User & Profile tools
829+ types .Tool (
830+ name = TOOL_SEARCH_USER ,
831+ description = desc .DESC_SEARCH_USER ,
832+ inputSchema = {
833+ "type" : "object" ,
834+ "properties" : {
835+ "search_term" : {"type" : "string" , "description" : "Username or email to search for" },
836+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
837+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
838+ },
839+ "required" : ["search_term" ]
840+ }
841+ ),
842+ types .Tool (
843+ name = TOOL_GET_USER_DETAILS ,
844+ description = desc .DESC_GET_USER_DETAILS ,
845+ inputSchema = {
846+ "type" : "object" ,
847+ "properties" : {
848+ "username" : {"type" : "string" , "description" : "Username string" },
849+ "include_projects" : {"type" : "boolean" , "description" : "Include user's projects" , "default" : False },
850+ "include_groups" : {"type" : "boolean" , "description" : "Include user's groups" , "default" : False }
851+ },
852+ "required" : ["username" ]
853+ }
854+ ),
855+ types .Tool (
856+ name = TOOL_GET_MY_PROFILE ,
857+ description = desc .DESC_GET_MY_PROFILE ,
858+ inputSchema = {
859+ "type" : "object" ,
860+ "properties" : {}
861+ }
862+ ),
863+ types .Tool (
864+ name = TOOL_GET_USER_CONTRIBUTIONS_SUMMARY ,
865+ description = desc .DESC_GET_USER_CONTRIBUTIONS_SUMMARY ,
866+ inputSchema = {
867+ "type" : "object" ,
868+ "properties" : {
869+ "username" : {"type" : "string" , "description" : "Username string" },
870+ "since" : {"type" : "string" , "description" : "Start date (YYYY-MM-DD)" , "default" : "30 days ago" },
871+ "until" : {"type" : "string" , "description" : "End date (YYYY-MM-DD)" , "default" : "today" }
872+ },
873+ "required" : ["username" ]
874+ }
875+ ),
876+ types .Tool (
877+ name = TOOL_GET_USER_ACTIVITY_FEED ,
878+ description = desc .DESC_GET_USER_ACTIVITY_FEED ,
879+ inputSchema = {
880+ "type" : "object" ,
881+ "properties" : {
882+ "username" : {"type" : "string" , "description" : "Username string" },
883+ "action" : {"type" : "string" , "description" : "Event action type" , "enum" : ["created" , "updated" , "closed" , "reopened" , "pushed" , "commented" , "merged" , "joined" , "left" , "destroyed" , "expired" , "approved" ]},
884+ "target_type" : {"type" : "string" , "description" : "Event target type" , "enum" : ["issue" , "milestone" , "merge_request" , "note" , "project" , "snippet" , "user" , "wiki" ]},
885+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : SMALL_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
886+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
887+ },
888+ "required" : ["username" ]
889+ }
890+ ),
891+
892+ # User's Issues & MRs tools
893+ types .Tool (
894+ name = TOOL_GET_USER_OPEN_MRS ,
895+ description = desc .DESC_GET_USER_OPEN_MRS ,
896+ inputSchema = {
897+ "type" : "object" ,
898+ "properties" : {
899+ "username" : {"type" : "string" , "description" : "Username string" },
900+ "scope" : {"type" : "string" , "description" : "MR scope" , "enum" : ["created" , "assigned" , "all" ], "default" : "created" },
901+ "draft" : {"type" : "string" , "description" : "Filter by draft status" , "enum" : ["yes" , "no" , "all" ], "default" : "all" },
902+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
903+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
904+ },
905+ "required" : ["username" ]
906+ }
907+ ),
908+ types .Tool (
909+ name = TOOL_GET_USER_REVIEW_REQUESTS ,
910+ description = desc .DESC_GET_USER_REVIEW_REQUESTS ,
911+ inputSchema = {
912+ "type" : "object" ,
913+ "properties" : {
914+ "username" : {"type" : "string" , "description" : "Username string" },
915+ "state" : {"type" : "string" , "description" : "Merge request state" , "enum" : ["opened" , "closed" , "locked" , "merged" ], "default" : "opened" },
916+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
917+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
918+ },
919+ "required" : ["username" ]
920+ }
921+ ),
922+ types .Tool (
923+ name = TOOL_GET_USER_OPEN_ISSUES ,
924+ description = desc .DESC_GET_USER_OPEN_ISSUES ,
925+ inputSchema = {
926+ "type" : "object" ,
927+ "properties" : {
928+ "username" : {"type" : "string" , "description" : "Username string" },
929+ "scope" : {"type" : "string" , "description" : "Issue scope" , "enum" : ["created" , "assigned" , "all" ], "default" : "all" },
930+ "labels" : {"type" : "string" , "description" : "Comma-separated label names" },
931+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
932+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
933+ },
934+ "required" : ["username" ]
935+ }
936+ ),
937+ types .Tool (
938+ name = TOOL_GET_USER_REPORTED_ISSUES ,
939+ description = desc .DESC_GET_USER_REPORTED_ISSUES ,
940+ inputSchema = {
941+ "type" : "object" ,
942+ "properties" : {
943+ "username" : {"type" : "string" , "description" : "Username string" },
944+ "state" : {"type" : "string" , "description" : "Issue state" , "enum" : ["opened" , "closed" , "all" ], "default" : "opened" },
945+ "since" : {"type" : "string" , "description" : "Issues created after date (YYYY-MM-DD)" },
946+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
947+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
948+ },
949+ "required" : ["username" ]
950+ }
951+ ),
952+ types .Tool (
953+ name = TOOL_GET_USER_RESOLVED_ISSUES ,
954+ description = desc .DESC_GET_USER_RESOLVED_ISSUES ,
955+ inputSchema = {
956+ "type" : "object" ,
957+ "properties" : {
958+ "username" : {"type" : "string" , "description" : "Username string" },
959+ "since" : {"type" : "string" , "description" : "Issues resolved after date (YYYY-MM-DD)" },
960+ "until" : {"type" : "string" , "description" : "Issues resolved before date (YYYY-MM-DD)" },
961+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
962+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
963+ },
964+ "required" : ["username" ]
965+ }
966+ ),
967+
968+ # User's Code & Commits tools
969+ types .Tool (
970+ name = TOOL_GET_USER_COMMITS ,
971+ description = desc .DESC_GET_USER_COMMITS ,
972+ inputSchema = {
973+ "type" : "object" ,
974+ "properties" : {
975+ "username" : {"type" : "string" , "description" : "Username string" },
976+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
977+ "since" : {"type" : "string" , "description" : "Commits after date (YYYY-MM-DD)" },
978+ "until" : {"type" : "string" , "description" : "Commits before date (YYYY-MM-DD)" },
979+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
980+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
981+ },
982+ "required" : ["username" ]
983+ }
984+ ),
985+ types .Tool (
986+ name = TOOL_GET_USER_MERGE_COMMITS ,
987+ description = desc .DESC_GET_USER_MERGE_COMMITS ,
988+ inputSchema = {
989+ "type" : "object" ,
990+ "properties" : {
991+ "username" : {"type" : "string" , "description" : "Username string" },
992+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
993+ "since" : {"type" : "string" , "description" : "Merges after date (YYYY-MM-DD)" },
994+ "until" : {"type" : "string" , "description" : "Merges before date (YYYY-MM-DD)" },
995+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
996+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
997+ },
998+ "required" : ["username" ]
999+ }
1000+ ),
1001+ types .Tool (
1002+ name = TOOL_GET_USER_CODE_CHANGES_SUMMARY ,
1003+ description = desc .DESC_GET_USER_CODE_CHANGES_SUMMARY ,
1004+ inputSchema = {
1005+ "type" : "object" ,
1006+ "properties" : {
1007+ "username" : {"type" : "string" , "description" : "Username string" },
1008+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
1009+ "since" : {"type" : "string" , "description" : "Changes after date (YYYY-MM-DD)" , "default" : "30 days ago" },
1010+ "until" : {"type" : "string" , "description" : "Changes before date (YYYY-MM-DD)" , "default" : "today" }
1011+ },
1012+ "required" : ["username" ]
1013+ }
1014+ ),
1015+ types .Tool (
1016+ name = TOOL_GET_USER_SNIPPETS ,
1017+ description = desc .DESC_GET_USER_SNIPPETS ,
1018+ inputSchema = {
1019+ "type" : "object" ,
1020+ "properties" : {
1021+ "username" : {"type" : "string" , "description" : "Username string" },
1022+ "visibility" : {"type" : "string" , "description" : "Snippet visibility" , "enum" : ["public" , "internal" , "private" , "all" ], "default" : "all" },
1023+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
1024+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
1025+ },
1026+ "required" : ["username" ]
1027+ }
1028+ ),
1029+
1030+ # User's Comments & Discussions tools
1031+ types .Tool (
1032+ name = TOOL_GET_USER_ISSUE_COMMENTS ,
1033+ description = desc .DESC_GET_USER_ISSUE_COMMENTS ,
1034+ inputSchema = {
1035+ "type" : "object" ,
1036+ "properties" : {
1037+ "username" : {"type" : "string" , "description" : "Username string" },
1038+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
1039+ "since" : {"type" : "string" , "description" : "Comments after date (YYYY-MM-DD)" },
1040+ "until" : {"type" : "string" , "description" : "Comments before date (YYYY-MM-DD)" },
1041+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
1042+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
1043+ },
1044+ "required" : ["username" ]
1045+ }
1046+ ),
1047+ types .Tool (
1048+ name = TOOL_GET_USER_MR_COMMENTS ,
1049+ description = desc .DESC_GET_USER_MR_COMMENTS ,
1050+ inputSchema = {
1051+ "type" : "object" ,
1052+ "properties" : {
1053+ "username" : {"type" : "string" , "description" : "Username string" },
1054+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
1055+ "since" : {"type" : "string" , "description" : "Comments after date (YYYY-MM-DD)" },
1056+ "until" : {"type" : "string" , "description" : "Comments before date (YYYY-MM-DD)" },
1057+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
1058+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
1059+ },
1060+ "required" : ["username" ]
1061+ }
1062+ ),
1063+ types .Tool (
1064+ name = TOOL_GET_USER_DISCUSSION_THREADS ,
1065+ description = desc .DESC_GET_USER_DISCUSSION_THREADS ,
1066+ inputSchema = {
1067+ "type" : "object" ,
1068+ "properties" : {
1069+ "username" : {"type" : "string" , "description" : "Username string" },
1070+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
1071+ "thread_status" : {"type" : "string" , "description" : "Filter by thread status" , "enum" : ["resolved" , "unresolved" ]},
1072+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
1073+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
1074+ },
1075+ "required" : ["username" ]
1076+ }
1077+ ),
1078+ types .Tool (
1079+ name = TOOL_GET_USER_RESOLVED_THREADS ,
1080+ description = desc .DESC_GET_USER_RESOLVED_THREADS ,
1081+ inputSchema = {
1082+ "type" : "object" ,
1083+ "properties" : {
1084+ "username" : {"type" : "string" , "description" : "Username string" },
1085+ "project_id" : {"type" : "string" , "description" : "Optional project scope filter" },
1086+ "since" : {"type" : "string" , "description" : "Threads resolved after date (YYYY-MM-DD)" },
1087+ "until" : {"type" : "string" , "description" : "Threads resolved before date (YYYY-MM-DD)" },
1088+ "per_page" : {"type" : "integer" , "description" : desc .DESC_PER_PAGE , "default" : DEFAULT_PAGE_SIZE , "minimum" : 1 , "maximum" : MAX_PAGE_SIZE },
1089+ "page" : {"type" : "integer" , "description" : desc .DESC_PAGE_NUMBER , "default" : 1 , "minimum" : 1 }
1090+ },
1091+ "required" : ["username" ]
1092+ }
8261093 )
8271094]
0 commit comments