fix(lint): ruff auto-fix + lewooogo-core src 加入 git
- Python: ruff --fix 修復 280 個 lint 錯誤 - lewooogo-core: src/ 目錄未追蹤,導致 CI eslint 失敗 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,10 +20,10 @@ from src.models.approval import (
|
||||
PendingApprovalsResponse,
|
||||
RejectRequest,
|
||||
RiskLevel,
|
||||
SignRequest,
|
||||
SignResponse,
|
||||
Signature,
|
||||
SignatureSource,
|
||||
SignRequest,
|
||||
SignResponse,
|
||||
)
|
||||
|
||||
# Incident Models (Phase 6 - 認知覺醒)
|
||||
|
||||
@@ -10,6 +10,7 @@ CAI-101: ClawBot AI 結構化輸出模型
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
|
||||
|
||||
@@ -10,13 +10,12 @@ Features:
|
||||
- Pydantic 強型別驗證
|
||||
"""
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from datetime import UTC, datetime
|
||||
from enum import Enum
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Enums
|
||||
# =============================================================================
|
||||
@@ -102,7 +101,7 @@ class Signature(BaseModel):
|
||||
id: UUID = Field(default_factory=uuid4)
|
||||
signer_id: str = Field(..., description="簽核者 ID")
|
||||
signer_name: str = Field(..., description="簽核者名稱")
|
||||
signed_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
||||
signed_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
|
||||
comment: str | None = None
|
||||
|
||||
# Phase 5.4.5: Telegram 審計軌跡
|
||||
@@ -153,14 +152,14 @@ class ApprovalRequest(ApprovalRequestBase):
|
||||
status: ApprovalStatus = Field(default=ApprovalStatus.PENDING)
|
||||
required_signatures: int = Field(..., description="所需簽核數")
|
||||
signatures: list[Signature] = Field(default_factory=list)
|
||||
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
||||
updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|
||||
created_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
|
||||
updated_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
|
||||
resolved_at: datetime | None = Field(default=None, description="解決時間")
|
||||
rejection_reason: str | None = Field(default=None)
|
||||
# 戰略 B: 告警風暴收斂
|
||||
fingerprint: str | None = Field(default=None, description="告警指紋 Hash")
|
||||
hit_count: int = Field(default=1, description="聚合觸發次數")
|
||||
last_seen_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc), description="最後觸發時間")
|
||||
last_seen_at: datetime = Field(default_factory=lambda: datetime.now(UTC), description="最後觸發時間")
|
||||
|
||||
@property
|
||||
def current_signatures(self) -> int:
|
||||
|
||||
@@ -20,7 +20,7 @@ C-Suite 戰略會議決議 (2026-03-22):
|
||||
- Semantic Memory (Vector DB): 向量化後的知識,供 RAG 檢索
|
||||
"""
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from datetime import UTC, datetime
|
||||
from enum import Enum
|
||||
from typing import Literal
|
||||
from uuid import UUID, uuid4
|
||||
@@ -30,7 +30,6 @@ from pydantic import BaseModel, Field
|
||||
# 復用現有模型 (避免重複定義)
|
||||
from src.models.approval import BlastRadius
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Incident 專用 Enums
|
||||
# =============================================================================
|
||||
@@ -280,7 +279,7 @@ class Incident(BaseModel):
|
||||
|
||||
# === 識別 ===
|
||||
incident_id: str = Field(
|
||||
default_factory=lambda: f"INC-{datetime.now(timezone.utc).strftime('%Y%m%d')}-{str(uuid4())[:6].upper()}",
|
||||
default_factory=lambda: f"INC-{datetime.now(UTC).strftime('%Y%m%d')}-{str(uuid4())[:6].upper()}",
|
||||
description="事件唯一識別碼 (如 INC-20260322-A1B2C3)",
|
||||
)
|
||||
|
||||
@@ -322,11 +321,11 @@ class Incident(BaseModel):
|
||||
|
||||
# === 時間軸 ===
|
||||
created_at: datetime = Field(
|
||||
default_factory=lambda: datetime.now(timezone.utc),
|
||||
default_factory=lambda: datetime.now(UTC),
|
||||
description="事件建立時間",
|
||||
)
|
||||
updated_at: datetime = Field(
|
||||
default_factory=lambda: datetime.now(timezone.utc),
|
||||
default_factory=lambda: datetime.now(UTC),
|
||||
description="最後更新時間",
|
||||
)
|
||||
resolved_at: datetime | None = Field(
|
||||
|
||||
Reference in New Issue
Block a user