- 基于 FastAPI 的 Web API 服务 - OpenCode API 客户端封装 - 会话管理器(同步/异步任务执行) - APScheduler 定时任务调度 - 完整的 REST API 端点
31 lines
631 B
Python
31 lines
631 B
Python
from enum import Enum
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class SessionType(str, Enum):
|
|
EPHEMERAL = "ephemeral"
|
|
PERSISTENT = "persistent"
|
|
SCHEDULED = "scheduled"
|
|
|
|
|
|
class TaskStatus(str, Enum):
|
|
PENDING = "pending"
|
|
RUNNING = "running"
|
|
COMPLETED = "completed"
|
|
FAILED = "failed"
|
|
|
|
|
|
class CreateSessionRequest(BaseModel):
|
|
type: SessionType = SessionType.EPHEMERAL
|
|
title: str | None = None
|
|
prompt: str | None = None
|
|
|
|
|
|
class Task(BaseModel):
|
|
id: str
|
|
type: SessionType
|
|
prompt: str
|
|
status: TaskStatus = TaskStatus.PENDING
|
|
session_id: str | None = None
|
|
schedule: str | None = None
|