Files
JiuContinent d7db84571d ```
feat: 添加飞书用户模块和订阅功能支持

- 新增feishu_users模块用于处理飞书用户身份验证和权限管理
- 新增subscriptions模块用于处理订阅相关功能
- 新增personalization模块用于个性化服务
- 在alembic迁移配置中注册新的模型模块
- 在API路由器中添加feishu_users和subscriptions路由
- 实现事件调度服务的改进,包括错误处理和状态更新优化
- 添加飞书命令处理的权限检查机制
- 实现飞书应用票据事件处理
- 改进审计日志记录功能
```
2026-07-27 08:02:17 +08:00

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