Add Day 1 agent runtime foundations with task and event schemas, verifier support, capability metadata, graph event tracing, and regression coverage while preserving the direct execution path.
54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
from enum import Enum
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class PermissionClass(str, Enum):
|
|
READ = "read"
|
|
WRITE = "write"
|
|
EXTERNAL = "external"
|
|
|
|
|
|
class SideEffectScope(str, Enum):
|
|
NONE = "none"
|
|
LOCAL_STATE = "local_state"
|
|
DB_WRITE = "db_write"
|
|
NETWORK = "network"
|
|
|
|
|
|
class AgentManifest(BaseModel):
|
|
agent_id: str
|
|
display_name: str
|
|
role_value: str
|
|
system_prompt_key: str
|
|
routing_hints: list[str]
|
|
default_sub_commanders: list[str]
|
|
skill_context_key: str | None = None
|
|
continuity_policy: str | None = None
|
|
clarification_policy: str | None = None
|
|
|
|
|
|
class SubCommanderManifest(BaseModel):
|
|
sub_commander_id: str
|
|
parent_agent_id: str
|
|
prompt_text: str
|
|
capability_ids: list[str]
|
|
|
|
|
|
class CapabilityManifest(BaseModel):
|
|
capability_id: str
|
|
tool_name: str
|
|
permission_class: PermissionClass = PermissionClass.READ
|
|
side_effect_scope: SideEffectScope = SideEffectScope.NONE
|
|
supports_retry: bool = False
|
|
idempotent: bool = False
|
|
safe_for_parallel_use: bool = False
|
|
requires_confirmation: bool = False
|
|
|
|
|
|
class SpecialistTemplateManifest(BaseModel):
|
|
template_id: str
|
|
display_name: str
|
|
description: str
|
|
allowed_capability_ids: list[str] | None = None
|