3434 LookupOutput ,
3535 PRLookupInput ,
3636 PRLookupResponse ,
37- PRSchema ,
3837 RunCodemodInput ,
3938 RunCodemodOutput ,
4039 RunOnPRInput ,
@@ -57,9 +56,9 @@ class RestAPI:
5756
5857 _session : ClassVar [requests .Session ] = requests .Session ()
5958
60- auth_token : str | None = None
59+ auth_token : str
6160
62- def __init__ (self , auth_token : str | None = None ):
61+ def __init__ (self , auth_token : str ):
6362 self .auth_token = auth_token
6463
6564 def _get_headers (self ) -> dict [str , str ]:
@@ -133,11 +132,10 @@ def run(
133132 template_context: Context variables to pass to the codemod
134133
135134 """
136- session = CodegenSession ()
137-
135+ session = CodegenSession .from_active_session ()
138136 base_input = {
139137 "codemod_name" : function .name ,
140- "repo_full_name" : session .repo_name ,
138+ "repo_full_name" : session .config . repository . full_name ,
141139 "codemod_run_type" : run_type ,
142140 }
143141
@@ -158,13 +156,13 @@ def run(
158156 RunCodemodOutput ,
159157 )
160158
161- def get_docs (self ) -> dict :
159+ def get_docs (self ) -> DocsResponse :
162160 """Search documentation."""
163- session = CodegenSession ()
161+ session = CodegenSession . from_active_session ()
164162 return self ._make_request (
165163 "GET" ,
166164 DOCS_ENDPOINT ,
167- DocsInput (docs_input = DocsInput .BaseDocsInput (repo_full_name = session .repo_name )),
165+ DocsInput (docs_input = DocsInput .BaseDocsInput (repo_full_name = session .config . repository . full_name )),
168166 DocsResponse ,
169167 )
170168
@@ -179,11 +177,12 @@ def ask_expert(self, query: str) -> AskExpertResponse:
179177
180178 def create (self , name : str , query : str ) -> CreateResponse :
181179 """Get AI-generated starter code for a codemod."""
182- session = CodegenSession ()
180+ session = CodegenSession .from_active_session ()
181+ language = ProgrammingLanguage (session .config .repository .language )
183182 return self ._make_request (
184183 "GET" ,
185184 CREATE_ENDPOINT ,
186- CreateInput (input = CreateInput .BaseCreateInput (name = name , query = query , language = session . language )),
185+ CreateInput (input = CreateInput .BaseCreateInput (name = name , query = query , language = language )),
187186 CreateResponse ,
188187 )
189188
@@ -197,18 +196,24 @@ def identify(self) -> IdentifyResponse | None:
197196 )
198197
199198 def deploy (
200- self , codemod_name : str , codemod_source : str , lint_mode : bool = False , lint_user_whitelist : list [str ] | None = None , message : str | None = None , arguments_schema : dict | None = None
199+ self ,
200+ codemod_name : str ,
201+ codemod_source : str ,
202+ lint_mode : bool = False ,
203+ lint_user_whitelist : list [str ] | None = None ,
204+ message : str | None = None ,
205+ arguments_schema : dict | None = None ,
201206 ) -> DeployResponse :
202207 """Deploy a codemod to the Modal backend."""
203- session = CodegenSession ()
208+ session = CodegenSession . from_active_session ()
204209 return self ._make_request (
205210 "POST" ,
206211 DEPLOY_ENDPOINT ,
207212 DeployInput (
208213 input = DeployInput .BaseDeployInput (
209214 codemod_name = codemod_name ,
210215 codemod_source = codemod_source ,
211- repo_full_name = session .repo_name ,
216+ repo_full_name = session .config . repository . full_name ,
212217 lint_mode = lint_mode ,
213218 lint_user_whitelist = lint_user_whitelist or [],
214219 message = message ,
@@ -220,11 +225,11 @@ def deploy(
220225
221226 def lookup (self , codemod_name : str ) -> LookupOutput :
222227 """Look up a codemod by name."""
223- session = CodegenSession ()
228+ session = CodegenSession . from_active_session ()
224229 return self ._make_request (
225230 "GET" ,
226231 LOOKUP_ENDPOINT ,
227- LookupInput (input = LookupInput .BaseLookupInput (codemod_name = codemod_name , repo_full_name = session .repo_name )),
232+ LookupInput (input = LookupInput .BaseLookupInput (codemod_name = codemod_name , repo_full_name = session .config . repository . full_name )),
228233 LookupOutput ,
229234 )
230235
@@ -244,7 +249,7 @@ def run_on_pr(self, codemod_name: str, repo_full_name: str, github_pr_number: in
244249 RunOnPRResponse ,
245250 )
246251
247- def lookup_pr (self , repo_full_name : str , github_pr_number : int ) -> PRSchema :
252+ def lookup_pr (self , repo_full_name : str , github_pr_number : int ) -> PRLookupResponse :
248253 """Look up a PR by repository and PR number."""
249254 return self ._make_request (
250255 "GET" ,
0 commit comments