repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
Mirrored from https://github.com/yingqi-z20/Agent-libOS
stars
latest
clone command
git clone gitlawb://did:key:z6MkqRzA...RfoM/yingqi-z20-Agen...git clone gitlawb://did:key:z6MkqRzA.../yingqi-z20-Agen...d98dd2c9IPC1d ago| #1 | from __future__ import annotations |
| #2 | |
| #3 | from dataclasses import dataclass, field |
| #4 | from typing import Any |
| #5 | |
| #6 | from agent_libos.config import DEFAULT_CONFIG |
| #7 | from agent_libos.models.base import CapabilityID, CheckpointID, EventID, OID, PID, StrEnum |
| #8 | from agent_libos.models.memory import MemoryView, ObjectHandle |
| #9 | |
| #10 | _PROCESS_DEFAULTS = DEFAULT_CONFIG.process |
| #11 | |
| #12 | |
| #13 | class ProcessStatus(StrEnum): |
| #14 | CREATED = "created" |
| #15 | RUNNABLE = "runnable" |
| #16 | RUNNING = "running" |
| #17 | WAITING_EVENT = "waiting_event" |
| #18 | WAITING_TOOL = "waiting_tool" |
| #19 | WAITING_HUMAN = "waiting_human" |
| #20 | PAUSED = "paused" |
| #21 | SUSPENDED = "suspended" |
| #22 | EXITED = "exited" |
| #23 | FAILED = "failed" |
| #24 | KILLED = "killed" |
| #25 | |
| #26 | |
| #27 | class ForkMode(StrEnum): |
| #28 | COPY = "copy" |
| #29 | RESTRICTED = "restricted" |
| #30 | SPECULATIVE = "speculative" |
| #31 | WORKER = "worker" |
| #32 | |
| #33 | |
| #34 | class ProcessSignal(StrEnum): |
| #35 | PAUSE = "pause" |
| #36 | RESUME = "resume" |
| #37 | CANCEL = "cancel" |
| #38 | INTERRUPT = "interrupt" |
| #39 | TERMINATE = "terminate" |
| #40 | |
| #41 | |
| #42 | @dataclass |
| #43 | class ResourceBudget: |
| #44 | max_tool_calls: int = _PROCESS_DEFAULTS.max_tool_calls |
| #45 | max_child_processes: int = _PROCESS_DEFAULTS.max_child_processes |
| #46 | max_runtime_seconds: int | None = _PROCESS_DEFAULTS.max_runtime_seconds |
| #47 | max_materialized_tokens: int = _PROCESS_DEFAULTS.max_materialized_tokens |
| #48 | |
| #49 | |
| #50 | @dataclass(frozen=True) |
| #51 | class AgentImage: |
| #52 | image_id: str |
| #53 | name: str |
| #54 | version: str = "v0" |
| #55 | system_prompt: str = "" |
| #56 | planner: dict[str, Any] = field(default_factory=dict) |
| #57 | action_schema: dict[str, Any] = field(default_factory=dict) |
| #58 | default_skills: list[str] = field(default_factory=list) |
| #59 | default_tools: list[str] = field(default_factory=list) |
| #60 | context_policy: str = "plan_first" |
| #61 | safety_profile: str = "default" |
| #62 | required_capabilities: list[dict[str, Any]] = field(default_factory=list) |
| #63 | metadata: dict[str, Any] = field(default_factory=dict) |
| #64 | signature: str | None = None |
| #65 | |
| #66 | |
| #67 | @dataclass |
| #68 | class AgentProcess: |
| #69 | pid: PID |
| #70 | parent_pid: PID | None |
| #71 | image_id: str |
| #72 | status: ProcessStatus |
| #73 | goal_oid: OID | None |
| #74 | memory_view: MemoryView | None |
| #75 | capabilities: list[CapabilityID] |
| #76 | loaded_skills: dict[str, str] |
| #77 | tool_table: dict[str, str] |
| #78 | event_cursor: EventID | None |
| #79 | checkpoint_head: CheckpointID | None |
| #80 | resource_budget: ResourceBudget |
| #81 | created_at: str |
| #82 | updated_at: str |
| #83 | working_directory: str = "." |
| #84 | status_message: str | None = None |
| #85 | |
| #86 | |
| #87 | @dataclass |
| #88 | class ProcessResult: |
| #89 | pid: PID |
| #90 | status: ProcessStatus |
| #91 | result: ObjectHandle | None = None |
| #92 | message: str | None = None |
| #93 |