mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-02 19:05:10 -05:00
added blocks routes
This commit is contained in:
@@ -1,17 +1,34 @@
|
||||
from fastapi import APIRouter
|
||||
from autogpt_server.server.rest_api import AgentServer
|
||||
from typing import Any
|
||||
import typing
|
||||
import collections
|
||||
|
||||
import fastapi
|
||||
import autogpt_server.data.block
|
||||
import autogpt_server.data.credit
|
||||
|
||||
router = fastapi.APIRouter()
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/blocks")
|
||||
async def get_graph_blocks():
|
||||
return AgentServer.get_graph_blocks()
|
||||
return [v.to_dict() for v in autogpt_server.data.block.get_blocks().values()]
|
||||
|
||||
|
||||
@router.get("/blocks/costs")
|
||||
async def get_graph_block_costs():
|
||||
return AgentServer.get_graph_block_costs()
|
||||
return autogpt_server.data.credit.get_block_costs()
|
||||
|
||||
|
||||
@router.post("/blocks/{block_id}/execute")
|
||||
async def execute_graph_block(block_id: str, data: dict[str, Any]):
|
||||
return AgentServer.execute_graph_block(block_id, data)
|
||||
async def execute_graph_block(
|
||||
block_id: str, data: autogpt_server.data.block.BlockInput
|
||||
) -> autogpt_server.data.block.CompletedBlockOutput:
|
||||
obj = autogpt_server.data.block.get_block(block_id)
|
||||
if not obj:
|
||||
raise fastapi.HTTPException(
|
||||
status_code=404, detail=f"Block #{block_id} not found."
|
||||
)
|
||||
|
||||
output = collections.defaultdict(list)
|
||||
for name, data in obj.execute(data):
|
||||
output[name].append(data)
|
||||
return output
|
||||
|
||||
Reference in New Issue
Block a user