feat: restore source parity and harden agent runtime

This commit is contained in:
2026-06-22 11:17:26 +08:00
parent e33f08277b
commit 0793eb82d6
596 changed files with 168879 additions and 290 deletions
@@ -0,0 +1,79 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
电子签章Schema定义
"""
from datetime import datetime
from typing import Optional, List
from pydantic import BaseModel, ConfigDict, Field
class ElectronicSealBase(BaseModel):
"""电子签章基础Schema"""
name: str = Field(..., min_length=1, max_length=100, description="签章名称")
seal_type: str = Field(..., description="类型: company/department/personal/contract/finance")
description: Optional[str] = Field(default="", description="描述")
seal_image_id: str = Field(..., description="签章图片文件ID")
owner_type: str = Field(default="all", description="所有者类型: all/dept/role/user")
owner_ids: Optional[List[str]] = Field(default=None, description="所有者ID列表")
scope: str = Field(default="all", description="使用范围: all/specific")
allowed_template_ids: Optional[List[str]] = Field(default=None, description="允许使用的模板ID列表")
width: int = Field(default=120, ge=20, le=500, description="宽度(像素)")
height: int = Field(default=120, ge=20, le=500, description="高度(像素)")
class ElectronicSealCreate(ElectronicSealBase):
"""创建电子签章"""
pass
class ElectronicSealUpdate(BaseModel):
"""更新电子签章"""
name: Optional[str] = Field(default=None, max_length=100, description="签章名称")
description: Optional[str] = Field(default=None, description="描述")
seal_image_id: Optional[str] = Field(default=None, description="签章图片文件ID")
owner_type: Optional[str] = Field(default=None, description="所有者类型")
owner_ids: Optional[List[str]] = Field(default=None, description="所有者ID列表")
scope: Optional[str] = Field(default=None, description="使用范围")
allowed_template_ids: Optional[List[str]] = Field(default=None, description="允许使用的模板ID列表")
width: Optional[int] = Field(default=None, description="宽度")
height: Optional[int] = Field(default=None, description="高度")
status: Optional[str] = Field(default=None, description="状态")
class ElectronicSealOut(ElectronicSealBase):
"""电子签章输出"""
id: str
status: str = "active"
seal_image_url: Optional[str] = None
sys_create_datetime: Optional[datetime] = None
sys_update_datetime: Optional[datetime] = None
model_config = ConfigDict(from_attributes=True)
class SealUsageLogOut(BaseModel):
"""签章使用记录输出"""
id: str
seal_id: str
seal_name: Optional[str] = None
document_id: str
document_name: Optional[str] = None
user_id: str
user_name: Optional[str] = None
position_x: int = 0
position_y: int = 0
page_number: int = 1
sys_create_datetime: Optional[datetime] = None
model_config = ConfigDict(from_attributes=True)