+
    i                         ^ RI Ht ^ RIHt ^RIHtHtHtHt  ! R R]P                  4      t
 ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]4      tR# )    )serializers)KnowledgeBase)AgentConfigAgentGuardrailAgentSystemToolAgentVoiceConfigc                   6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )KnowledgeBasePkFieldzI
Accepts 0 / "0" as "no knowledge base" for easier frontend integration.
c                4   < VR9   d   R# \         SV `  V4      # )r   N)r   0 N)superto_internal_value)selfdata	__class__s   &&EE:\live-kit-agent\livekit_voicebot\backend\apps\agents\serializers.pyr   &KnowledgeBasePkField.to_internal_value   s    %%w(..     )	__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r
   r
      s     / /r   r
   c                   *    ] tR t^t ! R R4      tRtR# )AgentVoiceConfigSerializerc                   "    ] tR t^t]t. ROtRtR# )AgentVoiceConfigSerializer.Metar   N)	voice_idtts_model_family
similarityspeed	stabilityoutput_formatstreaming_latency_optimizationtext_normalisation_typepronunciation_dictionary_path)r   r   r   r   r   modelfieldsr   r   r   r   Metar$      s     

r   r0   r   N)r   r   r   r   r0   r   r   r   r   r"   r"      s    
 
r   r"   c                     a a ] tR t^"t o]P
                  ! 4       t]! RRR7      t]	! ]
P                  P                  4       RRR7      t]P
                  ! RRRR7      t]P                  ! ]P
                  ! 4       RRR7      t]P                  ! ]P
                  ! 4       RRR7      t]P$                  ! RRRR7      t]P(                  ! RR7      t]P(                  ! RR7      t ! R	 R
4      tR tR tV 3R ltRtVtV ;t# )AgentConfigSerializerFT)required
allow_null)querysetr3   r4   )r3   allow_blank
write_only)childr3   r7   )r3   r4   r7   )	read_onlyc                   *    ] tR t^.t]t. ROt. ROtRtR# )AgentConfigSerializer.Metar   N)idnamemcube_exenumber	mcube_gidmcube_http_authorizationstt_providertts_providerllm_provider	llm_modelsystem_promptdefault_languageknowledge_basefirst_message_inboundfirst_message_outboundvoice_config
guardrailssystem_toolsbot_settingsguardrails_keyssystem_tools_keys
created_at
updated_at)r<   rP   rQ   )	r   r   r   r   r   r.   r/   read_only_fieldsr   r   r   r   r0   r;   .   s    
0 >r   r0   c                n    \        VP                  P                  R R7      P                  RR R7      4      # )Tenabledguardrail_keyflat)listrK   filtervalues_listr   instances   &&r   get_guardrails_keys)AgentConfigSerializer.get_guardrails_keysJ   s2    H''..t.<HH_cHdeer   c                n    \        VP                  P                  R R7      P                  RR R7      4      # )TrT   tool_keyrW   )rY   rL   rZ   r[   r\   s   &&r   get_system_tools_keys+AgentConfigSerializer.get_system_tools_keysM   s2    H))000>JJ:\`Jabbr   c                  < VP                  R R4      pVP                  RR4      pVP                  RR4      pVP                  RR4       \        SV `	  W4      pVeT   Vf0   \        P                  P                  VR7      P                  4        M \        P                  P                  WR7       Ve^   \        P                  P                  VR7      P                  RR7       V F'  p\        P                  P                  VVR	R
/R7       K)  	  Ve^   \        P                  P                  VR7      P                  RR7       V F'  p\        P                  P                  VVR	R
/R7       K)  	  V# )rJ   NrK   rL   rM   )agent_configre   defaultsFrT   rU   Tre   rV   rg   re   ra   rg   )
popr   updater   objectsrZ   deleteupdate_or_creater   r   )r   r]   validated_data
voice_datarN   
tools_keyskeyr   s   &&&    r   rk   AgentConfigSerializer.updateP   sd   #''=
(,,\4@#''=
>407>(;!! ((//X/FMMO ((99!) :  &""))x)@GGPUGV&&&77!)"%'. 8  ' !##***AHHQVHW!''88!) '. 9  " r   r   )r   r   r   r   r   	CharFieldr=   r"   rJ   r
   r   rl   allrG   r@   	ListFieldrK   rL   	JSONFieldrM   SerializerMethodFieldrN   rO   r0   r^   rb   rk   r   r   r   r   s   @@r   r2   r2   "   s       "D-uNL)=3H3H3L3L3NY^kopN*44eQUbfg&&[-B-B-DuaefJ(({/D/D/FQVcghL((%DUYZL!77$GO#99DI> >8fc# #r   r2   c                   &   a  ] tR t^vt o R tRtV tR# )AgentConfigCreateSerializerc                   VP                  R R4      pVP                  R. 4      pVP                  R. 4      pVP                  RR4       VP                  RR4      pVfB   VP                  R4      ;'       g    R R2p\        P                  P	                  VR	7      VR&   VP                  R4      ;'       g    RP                  4       ;'       g    RpTp\        P                  P                  VR	7      P                  4       '       dN   ^p	\        P                  P                  V R
V	 2R	7      P                  4       '       d   V	^,          p	KD  V R
V	 2pWR&   \        P                  P                  ! R/ VB p
V'       d!   \        P                  P                  WR7       V F&  p\        P                  P                  WRR/R7       K(  	  V F&  p\        P                  P                  WRR/R7       K(  	  V
# )rJ   NrK   rL   rM   rG   r=   Botz KB)r=   -rf   rU   Trh   ri   r   )rj   getr   rl   createstripr   rZ   existsr   rn   r   r   )r   ro   rp   rN   rq   kbkb_name	base_namer=   iagentrr   s   &&          r   r   "AgentConfigCreateSerializer.createw   s   #''=
(,,\2>#'';
>40  0$7:'++F3<<u=SAG/</D/D/K/KQX/K/YN+, $''/885??AJJU	%%4%07799A%%,,YKq2D,ELLNNQ[!%D!%v##**<^<$$5555^"C""33"D@Q 4  #
 C##44"It;L 5  
 r   r   N)r   r   r   r   r   r   r   )r    s   @r   rz   rz   v   s     % %r   rz   N)rest_frameworkr   apps.knowledge_base.modelsr   modelsr   r   r   r   PrimaryKeyRelatedFieldr
   ModelSerializerr"   r2   rz   r   r   r   <module>r      sW    & 4 R R/;== /
!<!< 
 QK77 Qh&"7 &r   