14
14
AgentToolMetadata as AgentToolMetadataModel ,
15
15
)
16
16
from backend .database_models .database import DBSessionDep
17
- from backend .routers .utils import get_deployment_model_from_agent
17
+ from backend .routers .utils import get_deployment_model_from_agent , get_default_deployment_model
18
18
from backend .schemas .agent import (
19
19
Agent ,
20
20
AgentPublic ,
53
53
)
54
54
router .name = RouterName .AGENT
55
55
56
+
56
57
@router .post (
57
58
"" ,
58
59
response_model = AgentPublic ,
62
63
],
63
64
)
64
65
async def create_agent (
65
- session : DBSessionDep ,
66
- agent : CreateAgentRequest ,
67
- ctx : Context = Depends (get_context ),
66
+ session : DBSessionDep ,
67
+ agent : CreateAgentRequest ,
68
+ ctx : Context = Depends (get_context ),
68
69
) -> AgentPublic :
69
70
"""
70
71
Create an agent.
@@ -83,6 +84,7 @@ async def create_agent(
83
84
logger = ctx .get_logger ()
84
85
85
86
deployment_db , model_db = get_deployment_model_from_agent (agent , session )
87
+ default_deployment_db , default_model_db = get_default_deployment_model (session )
86
88
try :
87
89
if deployment_db and model_db :
88
90
agent_data = AgentModel (
@@ -94,8 +96,8 @@ async def create_agent(
94
96
organization_id = agent .organization_id ,
95
97
tools = agent .tools ,
96
98
is_private = agent .is_private ,
97
- deployment_id = deployment_db .id if deployment_db else None ,
98
- model_id = model_db .id if model_db else None ,
99
+ deployment_id = deployment_db .id if deployment_db else default_deployment_db . id if default_deployment_db else None ,
100
+ model_id = model_db .id if model_db else default_model_db . id if default_model_db else None ,
99
101
)
100
102
101
103
created_agent = agent_crud .create_agent (session , agent_data )
@@ -117,13 +119,13 @@ async def create_agent(
117
119
118
120
@router .get ("" , response_model = list [AgentPublic ])
119
121
async def list_agents (
120
- * ,
121
- offset : int = 0 ,
122
- limit : int = 100 ,
123
- session : DBSessionDep ,
124
- visibility : AgentVisibility = AgentVisibility .ALL ,
125
- organization_id : Optional [str ] = None ,
126
- ctx : Context = Depends (get_context ),
122
+ * ,
123
+ offset : int = 0 ,
124
+ limit : int = 100 ,
125
+ session : DBSessionDep ,
126
+ visibility : AgentVisibility = AgentVisibility .ALL ,
127
+ organization_id : Optional [str ] = None ,
128
+ ctx : Context = Depends (get_context ),
127
129
) -> list [AgentPublic ]:
128
130
"""
129
131
List all agents.
@@ -161,7 +163,7 @@ async def list_agents(
161
163
162
164
@router .get ("/{agent_id}" , response_model = AgentPublic )
163
165
async def get_agent_by_id (
164
- agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
166
+ agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
165
167
) -> Agent :
166
168
"""
167
169
Args:
@@ -196,7 +198,7 @@ async def get_agent_by_id(
196
198
197
199
@router .get ("/{agent_id}/deployments" , response_model = list [DeploymentSchema ])
198
200
async def get_agent_deployment (
199
- agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
201
+ agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
200
202
) -> DeploymentSchema :
201
203
"""
202
204
Args:
@@ -228,10 +230,10 @@ async def get_agent_deployment(
228
230
],
229
231
)
230
232
async def update_agent (
231
- agent_id : str ,
232
- new_agent : UpdateAgentRequest ,
233
- session : DBSessionDep ,
234
- ctx : Context = Depends (get_context ),
233
+ agent_id : str ,
234
+ new_agent : UpdateAgentRequest ,
235
+ session : DBSessionDep ,
236
+ ctx : Context = Depends (get_context ),
235
237
) -> AgentPublic :
236
238
"""
237
239
Update an agent by ID.
@@ -285,9 +287,9 @@ async def update_agent(
285
287
286
288
@router .delete ("/{agent_id}" , response_model = DeleteAgent )
287
289
async def delete_agent (
288
- agent_id : str ,
289
- session : DBSessionDep ,
290
- ctx : Context = Depends (get_context ),
290
+ agent_id : str ,
291
+ session : DBSessionDep ,
292
+ ctx : Context = Depends (get_context ),
291
293
) -> DeleteAgent :
292
294
"""
293
295
Delete an agent by ID.
@@ -319,10 +321,10 @@ async def delete_agent(
319
321
320
322
321
323
async def handle_tool_metadata_update (
322
- agent : Agent ,
323
- new_agent : Agent ,
324
- session : DBSessionDep ,
325
- ctx : Context = Depends (get_context ),
324
+ agent : Agent ,
325
+ new_agent : Agent ,
326
+ session : DBSessionDep ,
327
+ ctx : Context = Depends (get_context ),
326
328
) -> Agent :
327
329
"""Update or create tool metadata for an agent.
328
330
@@ -360,10 +362,10 @@ async def handle_tool_metadata_update(
360
362
361
363
362
364
async def update_or_create_tool_metadata (
363
- agent : Agent ,
364
- new_tool_metadata : AgentToolMetadata ,
365
- session : DBSessionDep ,
366
- ctx : Context = Depends (get_context ),
365
+ agent : Agent ,
366
+ new_tool_metadata : AgentToolMetadata ,
367
+ session : DBSessionDep ,
368
+ ctx : Context = Depends (get_context ),
367
369
) -> None :
368
370
"""Update or create tool metadata for an agent.
369
371
@@ -389,7 +391,7 @@ async def update_or_create_tool_metadata(
389
391
390
392
@router .get ("/{agent_id}/tool-metadata" , response_model = list [AgentToolMetadataPublic ])
391
393
async def list_agent_tool_metadata (
392
- agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
394
+ agent_id : str , session : DBSessionDep , ctx : Context = Depends (get_context )
393
395
) -> list [AgentToolMetadataPublic ]:
394
396
"""
395
397
List all agent tool metadata by agent ID.
@@ -421,10 +423,10 @@ async def list_agent_tool_metadata(
421
423
response_model = AgentToolMetadataPublic ,
422
424
)
423
425
def create_agent_tool_metadata (
424
- session : DBSessionDep ,
425
- agent_id : str ,
426
- agent_tool_metadata : CreateAgentToolMetadataRequest ,
427
- ctx : Context = Depends (get_context ),
426
+ session : DBSessionDep ,
427
+ agent_id : str ,
428
+ agent_tool_metadata : CreateAgentToolMetadataRequest ,
429
+ ctx : Context = Depends (get_context ),
428
430
) -> AgentToolMetadataPublic :
429
431
"""
430
432
Create an agent tool metadata.
@@ -470,11 +472,11 @@ def create_agent_tool_metadata(
470
472
471
473
@router .put ("/{agent_id}/tool-metadata/{agent_tool_metadata_id}" )
472
474
async def update_agent_tool_metadata (
473
- agent_id : str ,
474
- agent_tool_metadata_id : str ,
475
- session : DBSessionDep ,
476
- new_agent_tool_metadata : UpdateAgentToolMetadataRequest ,
477
- ctx : Context = Depends (get_context ),
475
+ agent_id : str ,
476
+ agent_tool_metadata_id : str ,
477
+ session : DBSessionDep ,
478
+ new_agent_tool_metadata : UpdateAgentToolMetadataRequest ,
479
+ ctx : Context = Depends (get_context ),
478
480
) -> AgentToolMetadata :
479
481
"""
480
482
Update an agent tool metadata by ID.
@@ -514,10 +516,10 @@ async def update_agent_tool_metadata(
514
516
515
517
@router .delete ("/{agent_id}/tool-metadata/{agent_tool_metadata_id}" )
516
518
async def delete_agent_tool_metadata (
517
- agent_id : str ,
518
- agent_tool_metadata_id : str ,
519
- session : DBSessionDep ,
520
- ctx : Context = Depends (get_context ),
519
+ agent_id : str ,
520
+ agent_tool_metadata_id : str ,
521
+ session : DBSessionDep ,
522
+ ctx : Context = Depends (get_context ),
521
523
) -> DeleteAgentToolMetadata :
522
524
"""
523
525
Delete an agent tool metadata by ID.
@@ -556,9 +558,9 @@ async def delete_agent_tool_metadata(
556
558
557
559
@router .post ("/batch_upload_file" , response_model = list [UploadAgentFileResponse ])
558
560
async def batch_upload_file (
559
- session : DBSessionDep ,
560
- files : list [FastAPIUploadFile ] = RequestFile (...),
561
- ctx : Context = Depends (get_context ),
561
+ session : DBSessionDep ,
562
+ files : list [FastAPIUploadFile ] = RequestFile (...),
563
+ ctx : Context = Depends (get_context ),
562
564
) -> UploadAgentFileResponse :
563
565
user_id = ctx .get_user_id ()
564
566
@@ -580,10 +582,10 @@ async def batch_upload_file(
580
582
581
583
@router .delete ("/{agent_id}/files/{file_id}" )
582
584
async def delete_agent_file (
583
- agent_id : str ,
584
- file_id : str ,
585
- session : DBSessionDep ,
586
- ctx : Context = Depends (get_context ),
585
+ agent_id : str ,
586
+ file_id : str ,
587
+ session : DBSessionDep ,
588
+ ctx : Context = Depends (get_context ),
587
589
) -> DeleteAgentFileResponse :
588
590
"""
589
591
Delete an agent file by ID.
0 commit comments