✨ feat(vscode): 代码阅读认出 Python 数据类(@dataclass),整块换成「数据类」卡片,选项和字段的默认值、field 参数写成大白话
This commit is contained in:
1 parent
6f2c220908
commit
c5c5d2b517
10 files changed
+709
-78
No files matched your search
@@ -0,0 +1,56 @@
|
||||
# luffy-agent-platform 的 backend/src/luffy_agent/user/repositories.py、commerce/payments/_driver.py、core/sms/services.py、sandbox/runtime.py 节选:dataclasses 库规则的样例
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any, Literal
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class AdminUserRow:
|
||||
"""admin 用户列表单行: 用户 + 归属渠道 + 是否曾被邀请。"""
|
||||
|
||||
user: User
|
||||
channel: AcquisitionChannel
|
||||
referred: bool
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class RedirectPayResult:
|
||||
payment_url: str
|
||||
pay_action: Literal["redirect"] = field(init=False, default="redirect")
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class SmsSent:
|
||||
"""短信发送成功。"""
|
||||
|
||||
message_id: str
|
||||
raw: dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class SandboxAccess:
|
||||
"""sandbox 类工具的最小资源集 (任何沙箱工具都需要).
|
||||
|
||||
Attributes:
|
||||
sandbox: 本 session 独占的 ``CodeSandbox`` 实例 (Protocol, 实际由
|
||||
adapter 如 daytona / volcengine 提供).
|
||||
sandbox_id: sandbox 唯一 id, 标识工作区所在沙箱.
|
||||
session_id: agent session id (UUID 字符串); 工具签名里声明了
|
||||
``session_id`` 参数的沙箱工具由此注入, 日志/链路追踪也用它.
|
||||
app_id: 沙箱所属应用 id; 工作区仓库、侧车、版本线都按它定位. 不挂应用的
|
||||
临时沙箱 (审阅用的制品工作区、MCP 预热) 为 None.
|
||||
binding: 该沙箱当前的 :class:`SandboxBinding`, 构造时按 ``sandbox_id`` 查出
|
||||
(查不到即已销毁)。不是入参 —— 令牌只能由交出沙箱的一方登记.
|
||||
"""
|
||||
|
||||
sandbox: CodeSandbox
|
||||
sandbox_id: str
|
||||
app_id: str | None = None
|
||||
session_id: str | None = None
|
||||
binding: SandboxBinding = field(init=False, compare=False, repr=False)
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
object.__setattr__(self, "binding", sandbox_binding(self.sandbox_id))
|
||||
|
||||
|
||||
Reference in new issue
Block a user