@@ -13,6 +13,38 @@ pub(super) async fn try_handle(
1313 } ;
1414 Some ( state. get_git_status ( workspace_id) . await )
1515 }
16+ "init_git_repo" => {
17+ let workspace_id = match parse_string ( params, "workspaceId" ) {
18+ Ok ( value) => value,
19+ Err ( err) => return Some ( Err ( err) ) ,
20+ } ;
21+ let branch = match parse_string ( params, "branch" ) {
22+ Ok ( value) => value,
23+ Err ( err) => return Some ( Err ( err) ) ,
24+ } ;
25+ let force = parse_optional_bool ( params, "force" ) . unwrap_or ( false ) ;
26+ Some ( state. init_git_repo ( workspace_id, branch, force) . await )
27+ }
28+ "create_github_repo" => {
29+ let workspace_id = match parse_string ( params, "workspaceId" ) {
30+ Ok ( value) => value,
31+ Err ( err) => return Some ( Err ( err) ) ,
32+ } ;
33+ let repo = match parse_string ( params, "repo" ) {
34+ Ok ( value) => value,
35+ Err ( err) => return Some ( Err ( err) ) ,
36+ } ;
37+ let visibility = match parse_string ( params, "visibility" ) {
38+ Ok ( value) => value,
39+ Err ( err) => return Some ( Err ( err) ) ,
40+ } ;
41+ let branch = parse_optional_string ( params, "branch" ) ;
42+ Some (
43+ state
44+ . create_github_repo ( workspace_id, repo, visibility, branch)
45+ . await ,
46+ )
47+ }
1648 "list_git_roots" => {
1749 let workspace_id = match parse_string ( params, "workspaceId" ) {
1850 Ok ( value) => value,
0 commit comments