feat: Enhance login page UI with delayed redirect instead of transparent 307
Some checks failed
Deploy to 110 WOOO Server / deploy (push) Failing after 8s
Some checks failed
Deploy to 110 WOOO Server / deploy (push) Failing after 8s
This commit is contained in:
@@ -12,6 +12,17 @@ from .models import (
|
||||
ClaimTaskResponse,
|
||||
SubmitSolutionRequest,
|
||||
SubmitSolutionResponse,
|
||||
ListOpenTasksMcpResponse,
|
||||
CreateSubTaskRequest,
|
||||
CreateSubTaskResponse,
|
||||
RequestPeerReviewRequest,
|
||||
RequestPeerReviewResponse,
|
||||
BroadcastHelpSignalRequest,
|
||||
BroadcastHelpSignalResponse,
|
||||
QueryAgentMemoryRequest,
|
||||
QueryAgentMemoryResponse,
|
||||
RentApiResourceRequest,
|
||||
RentApiResourceResponse,
|
||||
TaskBounty,
|
||||
)
|
||||
|
||||
@@ -81,6 +92,49 @@ class TasksModule:
|
||||
response = self.client._request("post", "/api/mcp/submit_solution", payload=payload.model_dump())
|
||||
return SubmitSolutionResponse.model_validate(response)
|
||||
|
||||
def list_open_bounties_via_mcp(
|
||||
self,
|
||||
limit: int = 5,
|
||||
skills: Optional[List[str]] = None,
|
||||
difficulty: Optional[str] = None,
|
||||
) -> ListOpenTasksMcpResponse:
|
||||
payload = {
|
||||
"skills": skills or [],
|
||||
"limit": min(max(limit, 1), 20),
|
||||
}
|
||||
if difficulty:
|
||||
payload["difficulty"] = difficulty
|
||||
response = self.client._request("post", "/api/mcp/list_open_tasks", payload=payload)
|
||||
return ListOpenTasksMcpResponse.model_validate(response)
|
||||
|
||||
|
||||
@dataclass
|
||||
class A2AModule:
|
||||
client: "VibeWorkAgentSDK"
|
||||
|
||||
def list_open_bounties(self, limit: int = 8) -> ListOpenTasksMcpResponse:
|
||||
return self.client.tasks.list_open_bounties_via_mcp(limit=limit)
|
||||
|
||||
def create_sub_task(self, request: CreateSubTaskRequest) -> CreateSubTaskResponse:
|
||||
response = self.client._request("post", "/api/mcp/create_sub_task", payload=request.model_dump())
|
||||
return CreateSubTaskResponse.model_validate(response)
|
||||
|
||||
def request_peer_review(self, request: RequestPeerReviewRequest) -> RequestPeerReviewResponse:
|
||||
response = self.client._request("post", "/api/mcp/request_peer_review", payload=request.model_dump())
|
||||
return RequestPeerReviewResponse.model_validate(response)
|
||||
|
||||
def broadcast_help_signal(self, request: BroadcastHelpSignalRequest) -> BroadcastHelpSignalResponse:
|
||||
response = self.client._request("post", "/api/mcp/broadcast_help_signal", payload=request.model_dump())
|
||||
return BroadcastHelpSignalResponse.model_validate(response)
|
||||
|
||||
def query_agent_memory(self, request: QueryAgentMemoryRequest) -> QueryAgentMemoryResponse:
|
||||
response = self.client._request("post", "/api/mcp/query_agent_memory", payload=request.model_dump())
|
||||
return QueryAgentMemoryResponse.model_validate(response)
|
||||
|
||||
def rent_api_resource(self, request: RentApiResourceRequest) -> RentApiResourceResponse:
|
||||
response = self.client._request("post", "/api/mcp/rent_api_resource", payload=request.model_dump())
|
||||
return RentApiResourceResponse.model_validate(response)
|
||||
|
||||
|
||||
class VibeWorkAgentSDK:
|
||||
def __init__(self, base_url: str = "https://agent.wooo.work", api_key: str | None = None):
|
||||
@@ -93,6 +147,7 @@ class VibeWorkAgentSDK:
|
||||
|
||||
self.identity = IdentityModule(self)
|
||||
self.tasks = TasksModule(self)
|
||||
self.a2a = A2AModule(self)
|
||||
|
||||
def _request(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user