
     *i
                         d Z ddlmZ ddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ ddlmZ ddlmZ dZ G d	 d
ee      Zy)u  
AgentActivity ─ 庫柏(Agent)所有「動作」的歷史紀錄(階段 7)。

每次 Agent 做事都寫一筆,讓:
  1. UI 可以渲染「庫柏動態」面板
  2. 你可以看 token 用量 / Anthropic 花費
  3. 出問題時有 audit trail
  4. 自動派任務的 dry-run 結果直接塞這裡(activity_type='task_extract' 加 metadata 結果)

設計重點:
  - 不是訊息,不上 RAG;就是動作 log
  - 寫入失敗不可影響主流程(any failure → 吞掉,不 raise)
  - 保留 90 天即可(超過自動清,給後面 cron 做)
    )datetime)UUIDuuid4)JSONDateTimeFloat
ForeignKeyIntegerStringTextUuid)Mappedmapped_column)Base)TimestampMixin)line_responseauto_tag	rag_indextask_extracttask_create_autotask_cancelbrief_generatedbinding_redeemedc                      e Zd ZU dZdZ e ed      de      Ze	e
   ed<    e ed      dd	      Ze	e   ed
<    e ed       edd      dd	      Ze	e
dz     ed<    eed      Ze	e   ed<    edd      Ze	e   ed<    eed      Ze	edz     ed<    eed      Ze	edz     ed<    eed      Ze	edz     ed<   defdZy)AgentActivityu   庫柏每次動作的 log。agent_activitiesT)as_uuid)primary_keydefaultid(   F)nullableindexactivity_typezusers.idzSET NULL)ondeleteNuser_id)r"   summary)r   r"   successextracost_usdduration_msreturnc                 V    d| j                    d| j                   d| j                   dS )Nz<AgentActivity  z	 success=>)r$   
created_atr(   )selfs    =/volume1/homes/robertsu/coba/app/app/models/agent_activity.py__repr__zAgentActivity.__repr__I   s1     !3!3 4Adoo5FiPTP\P\~]^__    )__name__
__module____qualname____doc____tablename__r   r   r   r    r   r   __annotations__r   r$   strr	   r&   r   r'   r(   boolr   r)   dictr   r*   floatr
   r+   intr3    r4   r2   r   r   '   s	   &&M$T$%7TSXYBtY "/vbzEQU!VM6#;V $1T:
3	$GVD4K   )>GVC[> *$GGVD\G "/td!CE6$+C &354%HHfUT\"H '4Gd&KKd
#K`# `r4   r   N)r8   r   uuidr   r   
sqlalchemyr   r   r   r	   r
   r   r   r   sqlalchemy.ormr   r   app.databaser   app.models.userr   ACTIVITY_TYPESr   r@   r4   r2   <module>rG      s;      U U U 0  *	#`D. #`r4   