Skip to content

Commit fd96ecd

Browse files
Synced async and sync clients
1 parent 40a9c81 commit fd96ecd

11 files changed

Lines changed: 337 additions & 96 deletions

src/conductor/asyncio_client/orkes/orkes_authorization_client.py

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ async def get_user_permissions(
129129
@deprecated("create_application is deprecated; use create_application_validated instead")
130130
@typing_deprecated("create_application is deprecated; use create_application_validated instead")
131131
async def create_application(
132-
self, application: CreateOrUpdateApplicationRequestAdapter
132+
self, create_or_update_application_request: CreateOrUpdateApplicationRequestAdapter
133133
) -> object:
134134
"""Create a new application"""
135135
result = await self._application_api.create_application(
136-
create_or_update_application_request=application
136+
create_or_update_application_request=create_or_update_application_request
137137
)
138138
return result
139139

@@ -156,17 +156,20 @@ async def update_application(
156156
self, application_id: str, application: CreateOrUpdateApplicationRequestAdapter
157157
) -> object:
158158
"""Update an existing application"""
159-
result = await self._application_api.update_application(
160-
id=application_id, create_or_update_application_request=application
161-
)
159+
result = await self._application_api.update_application(application_id, application)
162160
return result
163161

164162
async def update_application_validated(
165-
self, application_id: str, application: CreateOrUpdateApplicationRequestAdapter, **kwargs
163+
self,
164+
application_id: str,
165+
create_or_update_application_request: CreateOrUpdateApplicationRequestAdapter,
166+
**kwargs,
166167
) -> Optional[ExtendedConductorApplicationAdapter]:
167168
"""Update an existing application and return a validated ExtendedConductorApplicationAdapter"""
168169
result = await self._application_api.update_application(
169-
id=application_id, create_or_update_application_request=application, **kwargs
170+
id=application_id,
171+
create_or_update_application_request=create_or_update_application_request,
172+
**kwargs,
170173
)
171174

172175
result_dict = cast(Dict[str, Any], result)
@@ -363,11 +366,11 @@ async def get_permissions(self, entity_type: str, entity_id: str) -> object:
363366
return await self._authorization_api.get_permissions(type=entity_type, id=entity_id)
364367

365368
async def get_permissions_validated(
366-
self, entity_type: str, entity_id: str, **kwargs
369+
self, target: TargetRefAdapter, **kwargs
367370
) -> Dict[str, List[SubjectRefAdapter]]:
368371
"""Get permissions for a specific entity (user, group, or application) and return a dictionary of access types and validated SubjectRefAdapters"""
369372
result = await self._authorization_api.get_permissions(
370-
type=entity_type, id=entity_id, **kwargs
373+
type=target.type, id=target.id, **kwargs
371374
)
372375

373376
permissions = {}
@@ -408,15 +411,17 @@ async def upsert_group(
408411
async def set_application_tags(
409412
self, tags: List[TagAdapter], application_id: str, **kwargs
410413
) -> None:
411-
await self._application_api.put_tag_for_application(application_id, tags, **kwargs)
414+
await self._application_api.put_tag_for_application(id=application_id, tag=tags, **kwargs)
412415

413416
async def get_application_tags(self, application_id: str, **kwargs) -> List[TagAdapter]:
414-
return await self._application_api.get_tags_for_application(application_id, **kwargs)
417+
return await self._application_api.get_tags_for_application(id=application_id, **kwargs)
415418

416419
async def delete_application_tags(
417420
self, tags: List[TagAdapter], application_id: str, **kwargs
418421
) -> None:
419-
await self._application_api.delete_tag_for_application(application_id, tags, **kwargs)
422+
await self._application_api.delete_tag_for_application(
423+
id=application_id, tag=tags, **kwargs
424+
)
420425

421426
@deprecated("create_access_key is deprecated; use create_access_key_validated instead")
422427
@typing_deprecated("create_access_key is deprecated; use create_access_key_validated instead")
@@ -428,7 +433,7 @@ async def create_access_key_validated(
428433
self, application_id: str, **kwargs
429434
) -> CreatedAccessKeyAdapter:
430435
"""Create an access key and return a validated CreatedAccessKeyAdapter"""
431-
result = await self._application_api.create_access_key(application_id, **kwargs)
436+
result = await self._application_api.create_access_key(id=application_id, **kwargs)
432437

433438
result_dict = cast(Dict[str, Any], result)
434439
result_model = CreatedAccessKeyAdapter.from_dict(result_dict)
@@ -467,7 +472,7 @@ async def toggle_access_key_status_validated(
467472
) -> AccessKeyAdapter:
468473
"""Toggle the status of an access key and return a validated AccessKeyAdapter"""
469474
result = await self._application_api.toggle_access_key_status(
470-
application_id, key_id, **kwargs
475+
application_id=application_id, key_id=key_id, **kwargs
471476
)
472477

473478
result_dict = cast(Dict[str, Any], result)
@@ -476,22 +481,26 @@ async def toggle_access_key_status_validated(
476481
return result_model
477482

478483
async def delete_access_key(self, application_id: str, key_id: str, **kwargs) -> None:
479-
await self._application_api.delete_access_key(application_id, key_id, **kwargs)
484+
await self._application_api.delete_access_key(
485+
application_id=application_id, key_id=key_id, **kwargs
486+
)
480487

481488
async def add_role_to_application_user(self, application_id: str, role: str, **kwargs) -> None:
482-
await self._application_api.add_role_to_application_user(application_id, role, **kwargs)
489+
await self._application_api.add_role_to_application_user(
490+
application_id=application_id, role=role, **kwargs
491+
)
483492

484493
async def remove_role_from_application_user(
485494
self, application_id: str, role: str, **kwargs
486495
) -> None:
487496
await self._application_api.remove_role_from_application_user(
488-
application_id, role, **kwargs
497+
application_id=application_id, role=role, **kwargs
489498
)
490499

491500
async def get_granted_permissions_for_group(
492501
self, group_id: str, **kwargs
493502
) -> List[GrantedAccessAdapter]:
494-
granted_access_obj = await self.get_group_permissions(group_id, **kwargs)
503+
granted_access_obj = await self.get_group_permissions(group_id=group_id, **kwargs)
495504

496505
if not granted_access_obj.granted_access:
497506
return []
@@ -510,7 +519,7 @@ async def get_granted_permissions_for_group(
510519
async def get_granted_permissions_for_user(
511520
self, user_id: str, **kwargs
512521
) -> List[GrantedAccessAdapter]:
513-
granted_access_obj = await self.get_user_permissions(user_id, **kwargs)
522+
granted_access_obj = await self.get_user_permissions(user_id=user_id, **kwargs)
514523

515524
if not granted_access_obj.granted_access:
516525
return []
@@ -524,10 +533,10 @@ async def get_granted_permissions_for_user(
524533
return granted_permissions
525534

526535
async def get_app_by_access_key_id(
527-
self, access_key_id: str, *args, **kwargs
536+
self, access_key_id: str, **kwargs
528537
) -> Optional[ExtendedConductorApplicationAdapter]:
529538
result = await self._application_api.get_app_by_access_key_id(
530-
access_key_id, *args, **kwargs
539+
access_key_id=access_key_id, **kwargs
531540
)
532541

533542
result_dict = cast(Dict[str, Any], result)
@@ -538,7 +547,7 @@ async def get_app_by_access_key_id(
538547
async def check_permissions(
539548
self, user_id: str, type: str, id: str, **kwargs
540549
) -> Dict[str, bool]:
541-
result = await self._user_api.check_permissions(user_id, type, id, **kwargs)
550+
result = await self._user_api.check_permissions(user_id=user_id, type=type, id=id, **kwargs)
542551

543552
result_dict = cast(Dict[str, Any], result)
544553
result_model = {k: v for k, v in result_dict.items() if isinstance(v, bool)}

src/conductor/asyncio_client/orkes/orkes_event_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async def create_event_handler(
5858
await event_client.create_event_handler([event_handler])
5959
```
6060
"""
61-
return await self._event_api.add_event_handler(event_handler, **kwargs)
61+
return await self._event_api.add_event_handler(event_handler=event_handler, **kwargs)
6262

6363
async def get_event_handler(self, name: str, **kwargs) -> EventHandlerAdapter:
6464
"""Get event handler by name.
@@ -159,9 +159,9 @@ async def update_event_handler(self, event_handler: EventHandlerAdapter, **kwarg
159159
await event_client.update_event_handler(handler)
160160
```
161161
"""
162-
return await self._event_api.update_event_handler(event_handler, **kwargs)
162+
return await self._event_api.update_event_handler(event_handler=event_handler, **kwargs)
163163

164-
async def delete_event_handler(self, name: str) -> None:
164+
async def delete_event_handler(self, name: str, **kwargs) -> None:
165165
"""Delete an event handler by name.
166166
167167
Permanently removes an event handler from the system.
@@ -179,7 +179,7 @@ async def delete_event_handler(self, name: str) -> None:
179179
print("Event handler deleted successfully")
180180
```
181181
"""
182-
return await self._event_api.remove_event_handler_status(name=name)
182+
return await self._event_api.remove_event_handler_status(name=name, **kwargs)
183183

184184
# Event Handler Tag Operations
185185
async def get_event_handler_tags(self, name: str, **kwargs) -> List[TagAdapter]:

src/conductor/asyncio_client/orkes/orkes_integration_client.py

Lines changed: 48 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,20 @@ async def save_integration_provider(
2929
self, name: str, integration_update: IntegrationUpdateAdapter, **kwargs
3030
) -> None:
3131
"""Create or update an integration provider"""
32-
await self._integration_api.save_integration_provider(name, integration_update, **kwargs)
32+
await self._integration_api.save_integration_provider(
33+
name=name, integration_update=integration_update, **kwargs
34+
)
3335

3436
async def save_integration(
35-
self, integration_name, integration_details: IntegrationUpdateAdapter
37+
self, integration_name, integration_details: IntegrationUpdateAdapter, **kwargs
3638
) -> None:
37-
await self._integration_api.save_integration_provider(integration_name, integration_details)
39+
await self._integration_api.save_integration_provider(
40+
name=integration_name, integration_update=integration_details, **kwargs
41+
)
3842

3943
async def get_integration_provider(self, name: str, **kwargs) -> IntegrationAdapter:
4044
"""Get integration provider by name"""
41-
return await self._integration_api.get_integration_provider(name, **kwargs)
45+
return await self._integration_api.get_integration_provider(name=name, **kwargs)
4246

4347
async def get_integration(self, integration_name: str) -> Optional[IntegrationAdapter]:
4448
try:
@@ -48,7 +52,7 @@ async def get_integration(self, integration_name: str) -> Optional[IntegrationAd
4852

4953
async def delete_integration_provider(self, name: str, **kwargs) -> None:
5054
"""Delete an integration provider"""
51-
await self._integration_api.delete_integration_provider(name, **kwargs)
55+
await self._integration_api.delete_integration_provider(name=name, **kwargs)
5256

5357
async def get_integration_providers(
5458
self, category: Optional[str] = None, active_only: Optional[bool] = None, **kwargs
@@ -72,33 +76,40 @@ async def save_integration_api(
7276
) -> None:
7377
"""Create or update an integration API"""
7478
await self._integration_api.save_integration_api(
75-
name, integration_name, integration_api_update, **kwargs
79+
name=name,
80+
integration_name=integration_name,
81+
integration_api_update=integration_api_update,
82+
**kwargs,
7683
)
7784

7885
async def get_integration_api(
7986
self, name: str, integration_name: str, **kwargs
8087
) -> IntegrationApiAdapter:
8188
"""Get integration API by name and integration name"""
82-
return await self._integration_api.get_integration_api(name, integration_name, **kwargs)
89+
return await self._integration_api.get_integration_api(
90+
name=name, integration_name=integration_name, **kwargs
91+
)
8392

8493
async def delete_integration_api(self, name: str, integration_name: str, **kwargs) -> None:
8594
"""Delete an integration API"""
86-
await self._integration_api.delete_integration_api(name, integration_name, **kwargs)
95+
await self._integration_api.delete_integration_api(
96+
name=name, integration_name=integration_name, **kwargs
97+
)
8798

8899
async def get_integration_apis(
89100
self, integration_name: str, **kwargs
90101
) -> List[IntegrationApiAdapter]:
91102
"""Get all APIs for a specific integration"""
92-
return await self._integration_api.get_integration_apis(integration_name, **kwargs)
103+
return await self._integration_api.get_integration_apis(name=integration_name, **kwargs)
93104

94105
async def get_integration_available_apis(self, name: str, **kwargs) -> List[str]:
95106
"""Get available APIs for an integration"""
96-
return await self._integration_api.get_integration_available_apis(name, **kwargs)
107+
return await self._integration_api.get_integration_available_apis(name=name, **kwargs)
97108

98109
# Integration Operations
99110
async def save_all_integrations(self, request_body: List[IntegrationAdapter], **kwargs) -> None:
100111
"""Save all integrations"""
101-
await self._integration_api.save_all_integrations(request_body, **kwargs)
112+
await self._integration_api.save_all_integrations(integration=request_body, **kwargs)
102113

103114
async def get_all_integrations(
104115
self, category: Optional[str] = None, active_only: Optional[bool] = None, **kwargs
@@ -145,52 +156,61 @@ async def put_tag_for_integration_provider(
145156
self, body: List[TagAdapter], name: str, **kwargs
146157
) -> None:
147158
"""Add tags to an integration provider"""
148-
await self._integration_api.put_tag_for_integration_provider(name, body, **kwargs)
159+
await self._integration_api.put_tag_for_integration_provider(name=name, tag=body, **kwargs)
149160

150161
async def get_tags_for_integration_provider(self, name: str, **kwargs) -> List[TagAdapter]:
151162
"""Get tags for an integration provider"""
152-
return await self._integration_api.get_tags_for_integration_provider(name, **kwargs)
163+
return await self._integration_api.get_tags_for_integration_provider(name=name, **kwargs)
153164

154165
async def delete_tag_for_integration_provider(
155166
self, body: List[TagAdapter], name: str, **kwargs
156167
) -> None:
157168
"""Delete tags from an integration provider"""
158-
await self._integration_api.delete_tag_for_integration_provider(name, body, **kwargs)
169+
await self._integration_api.delete_tag_for_integration_provider(
170+
name=name, tag=body, **kwargs
171+
)
159172

160173
# Token Usage Operations
161174
async def get_token_usage_for_integration(
162175
self, name: str, integration_name: str, **kwargs
163176
) -> int:
164177
"""Get token usage for a specific integration"""
165178
return await self._integration_api.get_token_usage_for_integration(
166-
name, integration_name, **kwargs
179+
name=name, integration_name=integration_name, **kwargs
167180
)
168181

169182
async def get_token_usage_for_integration_provider(self, name: str, **kwargs) -> Dict[str, str]:
170183
"""Get token usage for an integration provider"""
171-
return await self._integration_api.get_token_usage_for_integration_provider(name, **kwargs)
184+
return await self._integration_api.get_token_usage_for_integration_provider(
185+
name=name, **kwargs
186+
)
172187

173188
async def register_token_usage(
174189
self, name: str, integration_name: str, tokens: int, **kwargs
175190
) -> None:
176191
"""Register token usage for an integration"""
177-
await self._integration_api.register_token_usage(name, integration_name, tokens, **kwargs)
192+
await self._integration_api.register_token_usage(
193+
name=name, integration_name=integration_name, body=tokens, **kwargs
194+
)
178195

179196
# Prompt Integration Operations
180197
async def associate_prompt_with_integration(
181198
self, ai_prompt: str, integration_provider: str, integration_name: str, **kwargs
182199
) -> None:
183200
"""Associate a prompt with an integration"""
184201
await self._integration_api.associate_prompt_with_integration(
185-
ai_prompt, integration_provider, integration_name, **kwargs
202+
integration_provider=integration_provider,
203+
integration_name=integration_name,
204+
prompt_name=ai_prompt,
205+
**kwargs,
186206
)
187207

188208
async def get_prompts_with_integration(
189209
self, integration_provider: str, integration_name: str, **kwargs
190210
) -> List[MessageTemplateAdapter]:
191211
"""Get prompts associated with an integration"""
192212
return await self._integration_api.get_prompts_with_integration(
193-
integration_provider, integration_name, **kwargs
213+
integration_provider=integration_provider, integration_name=integration_name, **kwargs
194214
)
195215

196216
# Event and Statistics Operations
@@ -214,11 +234,16 @@ async def get_active_integrations(self) -> List[IntegrationAdapter]:
214234
return await self.get_all_integrations(active_only=True)
215235

216236
async def get_integration_provider_by_category(
217-
self, category: str, active_only: bool = True
237+
self, category: str, active_only: bool = True, **kwargs
218238
) -> List[IntegrationAdapter]:
219239
"""Get integration providers filtered by category"""
220-
return await self.get_integration_providers(category=category, active_only=active_only)
240+
return await self.get_integration_providers(
241+
category=category, active_only=active_only, **kwargs
242+
)
221243

222-
async def get_active_integration_providers(self) -> List[IntegrationAdapter]:
244+
async def get_active_integration_providers(self, **kwargs) -> List[IntegrationAdapter]:
223245
"""Get only active integration providers"""
224-
return await self.get_integration_providers(active_only=True)
246+
return await self.get_integration_providers(active_only=True, **kwargs)
247+
248+
async def get_integrations(self, **kwargs) -> List[IntegrationAdapter]:
249+
return await self._integration_api.get_integration_providers(**kwargs)

0 commit comments

Comments
 (0)