mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-29 19:35:20 +02:00
32 lines
975 B
Python
32 lines
975 B
Python
"""Built-in ``agent_task`` action. Self-registers at import time."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from app.automations.schemas.actions import AgentTaskActionParams
|
|
|
|
from .store import register_action
|
|
from .types import ActionContext, ActionDefinition, ActionHandler
|
|
|
|
|
|
def _build_handler(ctx: ActionContext) -> ActionHandler:
|
|
"""Bind run/session context to the agent_task handler. Real wiring lands in Phase 4b."""
|
|
del ctx # ignored by the stub; real handler will consume it
|
|
|
|
async def handle(params: dict[str, Any]) -> dict[str, Any]:
|
|
AgentTaskActionParams.model_validate(params)
|
|
return {"status": "stubbed"}
|
|
|
|
return handle
|
|
|
|
|
|
AGENT_TASK_ACTION = ActionDefinition(
|
|
type="agent_task",
|
|
name="Agent task",
|
|
description="Run an agent task with a scoped tool allowlist.",
|
|
params_schema=AgentTaskActionParams.model_json_schema(),
|
|
build_handler=_build_handler,
|
|
)
|
|
|
|
register_action(AGENT_TASK_ACTION)
|