admin08077/Githubgemini
0
1import"./@google-CcUHq7Ay.js";import{aa as u,a9 as n,l as g}from"./index-CX7Qxd1D.js";import"./react-CIdJ77ke.js";import"./accessibilityService-PX6aNbbc.js";import"./workspaceConnectorService-KhhKdOYD.js";const q=async s=>u("getRepos",async()=>{n("getRepos_start");try{const{data:t}=await s.request("GET /user/repos",{type:"owner",sort:"updated",per_page:100});return n("getRepos_success",{count:t.length}),t}catch(t){throw g(t,{context:"getRepos"}),t}}),P=async(s,t,e)=>u("getCommitHistory",async()=>{n("getCommitHistory_start",{owner:t,repo:e});try{const{data:r}=await s.request("GET /repos/{owner}/{repo}/commits",{owner:t,repo:e,per_page:30});return n("getCommitHistory_success",{count:r.length}),r}catch(r){throw g(r,{context:"getCommitHistory"}),r}}),R=async(s,t,e)=>u("getRepoTree",async()=>{n("getRepoTree_start",{owner:t,repo:e});try{const{data:r}=await s.request("GET /repos/{owner}/{repo}",{owner:t,repo:e}),a=r.default_branch,{data:c}=await s.request("GET /repos/{owner}/{repo}/branches/{branch}",{owner:t,repo:e,branch:a}),i=c.commit.commit.tree.sha,{data:p}=await s.request("GET /repos/{owner}/{repo}/git/trees/{tree_sha}",{owner:t,repo:e,tree_sha:i,recursive:"true"}),d={name:e,type:"folder",path:"",children:[]};return p.tree.forEach(m=>{const y=m.path.split("/");let h=d;y.forEach((f,_)=>{h.children||(h.children=[]);const l=y.slice(0,_+1).join("/");let o=h.children.find(w=>w.name===f&&w.path===l);o||(o={name:f,path:m.path,type:m.type==="tree"?"folder":"file"},m.type==="tree"&&(o.children=[],o.path=l),h.children.push(o)),h=o})}),n("getRepoTree_success",{owner:t,repo:e,items:p.tree.length}),d}catch(r){throw g(r,{context:"getRepoTree",owner:t,repo:e}),new Error(`Failed to fetch repository tree: ${r.message}`)}}),G=async(s,t,e,r)=>u("getFileContent",async()=>{n("getFileContent_start",{owner:t,repo:e,path:r});try{const{data:a}=await s.request("GET /repos/{owner}/{repo}/contents/{path}",{owner:t,repo:e,path:r});if(Array.isArray(a)||a.type!=="file"||typeof a.content!="string")throw new Error("Path did not point to a valid file or content was missing.");const c=atob(a.content);return n("getFileContent_success",{owner:t,repo:e,path:r}),c}catch(a){throw g(a,{context:"getFileContent",owner:t,repo:e,path:r}),new Error(`Failed to fetch file content: ${a.message}`)}}),x=async(s,t,e,r,a,c="main")=>u("commitFiles",async()=>{n("commitFiles_start",{owner:t,repo:e,fileCount:r.length,branch:c});try{const{data:i}=await s.request("GET /repos/{owner}/{repo}/git/ref/{ref}",{owner:t,repo:e,ref:`heads/${c}`}),p=i.object.sha,{data:d}=await s.request("GET /repos/{owner}/{repo}/git/commits/{commit_sha}",{owner:t,repo:e,commit_sha:p}),m=d.tree.sha,y=r.map(o=>s.request("POST /repos/{owner}/{repo}/git/blobs",{owner:t,repo:e,content:o.content,encoding:"utf-8"})),f=(await Promise.all(y)).map((o,w)=>({path:r[w].path,mode:"100644",type:"blob",sha:o.data.sha})),{data:_}=await s.request("POST /repos/{owner}/{repo}/git/trees",{owner:t,repo:e,base_tree:m,tree:f}),{data:l}=await s.request("POST /repos/{owner}/{repo}/git/commits",{owner:t,repo:e,message:a,tree:_.sha,parents:[p]});return await s.request("PATCH /repos/{owner}/{repo}/git/refs/{ref}",{owner:t,repo:e,ref:`heads/${c}`,sha:l.sha}),n("commitFiles_success",{commitUrl:l.html_url}),l.html_url}catch(i){throw g(i,{context:"commitFiles",owner:t,repo:e,branch:c}),new Error(`Failed to commit files: ${i.message}`)}});export{q as a,G as b,x as c,P as d,R as g};2//# sourceMappingURL=githubService-DbuFimKh.js.map3 