feat: 添加飞书用户模块和订阅功能支持 - 新增feishu_users模块用于处理飞书用户身份验证和权限管理 - 新增subscriptions模块用于处理订阅相关功能 - 新增personalization模块用于个性化服务 - 在alembic迁移配置中注册新的模型模块 - 在API路由器中添加feishu_users和subscriptions路由 - 实现事件调度服务的改进,包括错误处理和状态更新优化 - 添加飞书命令处理的权限检查机制 - 实现飞书应用票据事件处理 - 改进审计日志记录功能 ```
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.modules.ai_memory.constants import AIMemoryScope
|
|
|
|
|
|
class AIMemoryRecallRequest(BaseModel):
|
|
query: str = Field(..., min_length=1)
|
|
scope: str = AIMemoryScope.GLOBAL
|
|
subject: str | None = None
|
|
limit: int = Field(default=5, ge=1, le=50)
|
|
|
|
|
|
class AIMemoryRead(BaseModel):
|
|
code: str
|
|
owner_id: int | None
|
|
kind: str
|
|
scope: str
|
|
subject: str
|
|
content: str
|
|
summary: str | None
|
|
tags: list[Any] | None
|
|
source: str
|
|
importance: int
|
|
status: str
|
|
actor: str
|
|
last_used_at: str | None
|
|
expires_at: str | None
|
|
created_at: str
|
|
updated_at: str
|
|
|
|
|
|
class AIUserRuleCreate(BaseModel):
|
|
content: str = Field(..., min_length=1, max_length=2000)
|
|
scope: str = AIMemoryScope.GLOBAL
|
|
subject: str = Field(default="company", min_length=1, max_length=128)
|
|
priority: int = Field(default=50, ge=1, le=100)
|
|
tags: list[str] = Field(default_factory=list, max_length=20)
|
|
|
|
|
|
class AIUserRuleUpdate(BaseModel):
|
|
content: str | None = Field(default=None, min_length=1, max_length=2000)
|
|
priority: int | None = Field(default=None, ge=1, le=100)
|
|
tags: list[str] | None = Field(default=None, max_length=20)
|
|
enabled: bool | None = None
|