+
    ÂHàj¿b ã                  óæ  € ^ RI Ht ^ RIHt ^ RIHtHtHtHtH	t	H
t
Ht ^ RIHtHtHtHt ]	ER(,          t]	ER),          t]	ER*,          t]	ER+,          t]	ER,,          t]	ER-,          t ! R R]4      t ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R]4      t! ! R R]4      t" ! R R]4      t# ! R R ]4      t$ ! R! R"]4      t% ! R# R$]4      t& ! R% R&]4      t' ! R' R(]4      t( ! R) R*]4      t) ! R+ R,]4      t* ! R- R.]4      t+ ! R/ R0]4      t, ! R1 R2]4      t- ! R3 R4]4      t. ! R5 R6]4      t/ ! R7 R8]4      t0 ! R9 R:]4      t1 ! R; R<]4      t2 ! R= R>]4      t3 ! R? R@]4      t4 ! RA RB]4      t5 ! RC RD]4      t6 ! RE RF]4      t7 ! RG RH]4      t8 ! RI RJ]4      t9 ! RK RL]4      t: ! RM RN]4      t; ! RO RP]4      t< ! RQ RR]4      t= ! RS RT]:4      t> ! RU RV]4      t? ! RW RX]4      t@ ! RY RZ]4      tA ! R[ R\]4      tB ! R] R^]4      tC ! R_ R`]4      tD ! Ra Rb]4      tE ! Rc Rd]4      tF ! Re Rf]4      tG ! Rg Rh]4      tH ! Ri Rj]4      tI ! Rk Rl]$4      tJ ! Rm Rn]E4      tK ! Ro Rp]4      tL ! Rq Rr]4      tM ! Rs Rt]4      tN ! Ru Rv]4      tO ! Rw Rx]4      tP ! Ry Rz]4      tQ ! R{ R|]4      tR ! R} R~]4      tS ! R R€]4      tT ! R� R‚]4      tU ! Rƒ R„]4      tV ! R… R†]4      tW ! R‡ Rˆ]]M,          4      tX ! R‰ RŠ]4      tY ! R‹ RŒ]4      tZ ! R� RŽ]4      t[ ! R� R�]4      t\ ! R‘ R’]4      t] ! R“ R”]U4      t^ ! R• R–]4      t_ ! R— R˜]4      t` ! R™ Rš]4      ta ! R› Rœ]4      tb ! R� Rž]4      tc ! RŸ R ]4      td ! R¡ R¢]4      te ! R£ R¤],4      tf ! R¥ R¦]-4      tg ! R§ R¨]4      th ! R© Rª]4      ti ! R« R¬]4      tj ! R­ R®]4      tk ! R¯ R°]4      tl ! R± R²]4      tm ! R³ R´]54      tn ! Rµ R¶]4      to ! R· R¸]4      tp ! R¹ Rº]4      tq ! R» R¼]4      tr ! R½ R¾]74      ts ! R¿ RÀ]4      tt ! RÁ RÂ]4      tu ! RÃ RÄ]4      tv ! RÅ RÆ]`4      tw ! RÇ RÈ]O4      tx ! RÉ RÊ]4      ty ! RË RÌ]4      tz ! RÍ RÎ]4      t{ ! RÏ RÐ]4      t| ! RÑ RÒ]4      t} ! RÓ RÔ]4      t~ ! RÕ RÖ]4      t ! R× RØ]]]~]3,          ,          4      t€ ! RÙ RÚ]y4      t� ! RÛ RÜ]b4      t‚ ! RÝ RÞ]p4      tƒ ! Rß Rà]4      t„ ! Rá Râ]4      t… ! Rã Rä]4      t† ! Rå Ræ]4      t‡ ! Rç Rè]4      tˆ ! Ré Rê]4      t‰ ! Rë Rì]ˆ4      tŠ ! Rí Rî]}4      t‹ ! Rï Rð]„4      tŒ ! Rñ Rò]4      t� ! Ró Rô]4      tŽ ! Rõ Rö]4      t� ! R÷ Rø]�4      t� ! Rù Rú]�4      t‘ ! Rû Rü]�4      t’ ! Rý Rþ]4      t“ ! Rÿ ER ]4      t” ! ER ER]�4      t• ! ER ER]4      t– ! ER ER]”4      t— ! ER ER]4      t˜ ! ER	 ER
]4      t™ ! ER ER]4      tš ! ER ER]4      t› ! ER ER]4      tœ ! ER ER]4      t� ! ER ER]4      tž ! ER ER]˜4      tŸ ! ER ER]™4      t  ! ER ER]4      t¡ ! ER ER]4      t¢ ! ER ER]4      t£ ! ER ER ]]]£]{3,          ,          4      t¤ ! ER! ER"]¡4      t¥ ! ER# ER$]4      t¦ ! ER% ER&]4      t§ER'# (.  é    )Úannotations)ÚEnum)Ú	AnnotatedÚAnyÚDictÚListÚLiteralÚOptionalÚUnion)Ú	BaseModelÚFieldÚ	RootModelÚ
ConfigDictc                  ó4   € ] tR t^t]! RR7      tR R ltRtR# )r   T)Úpopulate_by_namec               ó    € V ^8„  d   QhRRRR/# )é   ÚitemÚstrÚreturnr   © )Úformats   "ÚŒ/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/50f6b671e3f94b538e344231dfcb664f/venv/lib/python3.14/site-packages/acp/schema.pyÚ__annotate__ÚBaseModel.__annotate__   s   € ÷ Zñ Z ð Z¨ñ Zó    c                	óÎ   € VP                  4       V8w  d-   R P                  R \        V4       4       4      p\        W4      # \	        R\        V 4      P                   RV R24      h)Ú c              3  ó®   "  € T FK  w  rVP                  4       '       d   V^ 8”  d   RVP                  4       ,           MVP                  4       x € KM  	  R# 5i)r   Ú_N)ÚisupperÚlower)Ú.0ÚiÚcs   &  r   Ú	<genexpr>Ú(BaseModel.__getattr__.<locals>.<genexpr>   s?   é € Ð!vÑfuÑ^bÐ^_°Q·Y±Y·[²[ÀQÈÄU #¨¯©«	¦/ÐPQ×PWÑPWÓPYÔ"YÓfuùs   ‚AAÚ'z' object has no attribute ')r"   ÚjoinÚ	enumerateÚgetattrÚAttributeErrorÚtypeÚ__name__)Úselfr   Úsnake_caseds   && r   Ú__getattr__ÚBaseModel.__getattr__   s_   € Ø�:‰:‹<˜4ÔØŸ'™'Ñ!vÔfoÐptÔfuÓ!vÓvˆKÜ˜4Ó-Ð-Ü˜q¤ d£×!4Ñ!4Ð 5Ð5PÐQUÐPVÐVWÐXÓYÐYr   r   N)r.   Ú
__module__Ú__qualname__Ú__firstlineno__r   Úmodel_configr1   Ú__static_attributes__r   r   r   r   r      s   † Ù¨tÔ4€L÷Zñ Zr   r   c                  ó   € ] tR t^tRtRtR# )ÚJsonrpcz2.0r   N)r.   r3   r4   r5   Ú	field_2_0r7   r   r   r   r9   r9      s   † Ø„Ir   r9   c                  ó4   € ] tR t^!t$ RtR]R&   RtR]R&   RtR# )ÚAuthCapabilitiesNáe  Annotated[Optional[Dict[str, Any]], Field(alias='_meta', description='The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)')]Ú
field_metaFzÆAnnotated[Optional[bool], Field(description='Whether the client supports `terminal` authentication methods.\n\nWhen `true`, the agent may include `terminal` entries in its authentication methods.')]Úterminalr   )r.   r3   r4   r5   r>   Ú__annotations__r?   r7   r   r   r   r<   r<   !   s*   ‡ ð 	ð ð ó ð 	ð ð ÷ r   r<   c                  óZ   € ] tR t^9t$ RtR]R&   RtR]R&   R]R&   RtR	]R
&   RtR]R&   Rt	R# )Ú
AuthEnvVarNr=   r>   znAnnotated[Optional[str], Field(description='Human-readable label for this variable, displayed in client UI.')]Úlabelz]Annotated[str, Field(description='The environment variable name (e.g. `"OPENAI_API_KEY"`).')]ÚnameFzjAnnotated[Optional[bool], Field(description='Whether this variable is optional.\n\nDefaults to `false`.')]ÚoptionalTz¸Annotated[Optional[bool], Field(description='Whether this value is a secret (e.g. API key, token).\nClients should use a password-style input for secret vars.\n\nDefaults to `true`.')]Úsecretr   )
r.   r3   r4   r5   r>   r@   rC   rE   rF   r7   r   r   r   rB   rB   9   s\   ‡ ð 	ð ð ó ð 	ð 
ð ó ð
ó ð 	ð ð ó ð 	ð ð ÷ r   rB   c                  óH   € ] tR t^ct$ RtR]R&   RtR]R&   R]R&   R]R	&   R
tR# )ÚAuthMethodAgentNr=   r>   ú|Annotated[Optional[str], Field(description='Optional description providing more details about this authentication method.')]ÚdescriptionúVAnnotated[str, Field(description='Unique identifier for this authentication method.')]ÚidúVAnnotated[str, Field(description='Human-readable name of the authentication method.')]rD   r   ©r.   r3   r4   r5   r>   r@   rJ   r7   r   r   r   rH   rH   c   s9   ‡ ð 	ð ð ó ð 	ð ð ó ð
 	_Ó^à
`×`r   rH   c                  ó`   € ] tR t^{t$ RtR]R&   RtR]R&   R]R&   RtR]R	&   R
]R&   R]R&   RtR# )ÚAuthMethodEnvVarNr=   r>   rI   rJ   rK   rL   zsAnnotated[Optional[str], Field(description='Optional link to a page where the user can obtain their credentials.')]ÚlinkrM   rD   zbAnnotated[List[AuthEnvVar], Field(description='The environment variables the client should set.')]Úvarsr   )	r.   r3   r4   r5   r>   r@   rJ   rQ   r7   r   r   r   rP   rP   {   sZ   ‡ ð 	ð ð ó ð 	ð ð ó ð
 	_Ó^ð
 	ð 	ð ó ð
 aÓ`ð÷ r   rP   c                  ód   € ] tR t^�t$ RtR]R&   RtR]R&   RtR]R&   RtR]R	&   R
]R&   R]R&   Rt	R# )ÚAuthMethodTerminalNr=   r>   z‚Annotated[Optional[List[str]], Field(description='Additional arguments to pass when running the agent binary for terminal auth.')]ÚargsrI   rJ   z’Annotated[Optional[Dict[str, str]], Field(description='Additional environment variables to set when running the agent binary for terminal auth.')]ÚenvrK   rL   rM   rD   r   )
r.   r3   r4   r5   r>   r@   rU   rJ   rV   r7   r   r   r   rT   rT   �   sa   ‡ ð 	ð ð ó ð 	ð 	ð ó ð 	ð ð ó ð 	ð ð 
ó ð
 	_Ó^à
`×`r   rT   c                  ó0   € ] tR t^¿t$ RtR]R&   R]R&   RtR# )ÚAuthenticateRequestNr=   r>   z¥Annotated[str, Field(alias='methodId', description='The ID of the authentication method to use.\nMust be one of the methods advertised in the initialize response.')]Ú	method_idr   ©r.   r3   r4   r5   r>   r@   r7   r   r   r   rX   rX   ¿   s    ‡ ð 	ð ð ó ð÷ r   rX   c                  ó&   € ] tR t^×t$ RtR]R&   RtR# )ÚAuthenticateResponseNr=   r>   r   rZ   r   r   r   r\   r\   ×   ó   ‡ ð 	ð ð ÷ r   r\   c                  óH   € ] tR t^æt$ RtR]R&   R]R&   RtR]R&   R]R&   R	tR# )
ÚBlobResourceContentsNr=   r>   r   Úblobú1Annotated[Optional[str], Field(alias='mimeType')]Ú	mime_typeÚurir   ©r.   r3   r4   r5   r>   r@   rb   r7   r   r   r   r_   r_   æ   s-   ‡ ð 	ð ð ó ð ƒIØCG€IÐ@ÓGØ	‡Hr   r_   c                  ó&   € ] tR t^øt$ RtR]R&   RtR# )ÚCloseSessionResponseNr=   r>   r   rZ   r   r   r   rf   rf   ø   r]   r   rf   c                  ó,   € ] tR tRt$ R]R&   R]R&   RtR# )ÚCosti  zIAnnotated[float, Field(description='Total cumulative cost for session.')]ÚamountzQAnnotated[str, Field(description='ISO 4217 currency code (e.g., "USD", "EUR").')]Úcurrencyr   N©r.   r3   r4   r5   r@   r7   r   r   r   rh   rh     s   ‡ àUÓUà_×_r   rh   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚCreateTerminalResponsei  Nr=   r>   zhAnnotated[str, Field(alias='terminalId', description='The unique identifier for the created terminal.')]Úterminal_idr   rZ   r   r   r   rm   rm     s    ‡ ð 	ð ð ó ð÷ r   rm   c                  óH   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	]R
&   RtR# )ÚDiffi%  Nr=   r>   zYAnnotated[str, Field(alias='newText', description='The new content after modification.')]Únew_textzjAnnotated[Optional[str], Field(alias='oldText', description='The original content (None for new files).')]Úold_textzBAnnotated[str, Field(description='The file path being modified.')]Úpathr   )r.   r3   r4   r5   r>   r@   rr   r7   r   r   r   rp   rp   %  s<   ‡ ð 	ð ð ó ð hÓgð
 	ð ð ó ð
 M×Lr   rp   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚEnvVariablei=  Nr=   r>   zJAnnotated[str, Field(description='The name of the environment variable.')]rD   zSAnnotated[str, Field(description='The value to set for the environment variable.')]Úvaluer   rZ   r   r   r   ru   ru   =  s%   ‡ ð 	ð ð ó ð UÓTà^×^r   ru   c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R	&   R
tR# )ÚFileSystemCapabilitiesiP  Nr=   r>   FzAnnotated[Optional[bool], Field(alias='readTextFile', description='Whether the Client supports `fs/read_text_file` requests.')]Úread_text_filez�Annotated[Optional[bool], Field(alias='writeTextFile', description='Whether the Client supports `fs/write_text_file` requests.')]Úwrite_text_filer   )	r.   r3   r4   r5   r>   r@   ry   rz   r7   r   r   r   rx   rx   P  s>   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð ð ÷ r   rx   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
Ú
HttpHeaderio  Nr=   r>   zAAnnotated[str, Field(description='The name of the HTTP header.')]rD   zJAnnotated[str, Field(description='The value to set for the HTTP header.')]rv   r   rZ   r   r   r   r|   r|   o  s%   ‡ ð 	ð ð ó ð LÓKàU×Ur   r|   c                  óH   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	]R
&   RtR# )ÚImplementationi‚  Nr=   r>   u”   Annotated[str, Field(description='Intended for programmatic or logical use, but can be used as a display\nname fallback if title isnâ€™t present.')]rD   uÈ   Annotated[Optional[str], Field(description='Intended for UI and end-user contexts â€” optimized to be human-readable\nand easily understood.\n\nIf not provided, the name should be used for display.')]ÚtitlezœAnnotated[str, Field(description='Version of the implementation. Can be displayed to the user or used\nfor debugging or metrics purposes. (e.g. "1.0.0").')]Úversionr   )r.   r3   r4   r5   r>   r@   r   r7   r   r   r   r~   r~   ‚  s>   ‡ ð 	ð ð ó ðó ð 	ð 
ð ó ð÷ r   r~   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚKillTerminalResponsei«  Nr=   r>   r   rZ   r   r   r   r‚   r‚   «  r]   r   r‚   c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR# )
ÚListSessionsRequestiº  Nr=   r>   zŠAnnotated[Optional[str], Field(description="Opaque cursor token from a previous response's nextCursor field for cursor-based pagination")]ÚcursorznAnnotated[Optional[str], Field(description='Filter sessions by working directory. Must be an absolute path.')]Úcwdr   )	r.   r3   r4   r5   r>   r@   r…   r†   r7   r   r   r   r„   r„   º  s>   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð ð 
÷ r   r„   c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R	&   R
tR# )ÚMcpCapabilitiesiÕ  Nr=   r>   FzSAnnotated[Optional[bool], Field(description='Agent supports [`McpServer::Http`].')]ÚhttpzRAnnotated[Optional[bool], Field(description='Agent supports [`McpServer::Sse`].')]Ússer   )	r.   r3   r4   r5   r>   r@   r‰   rŠ   r7   r   r   r   rˆ   rˆ   Õ  s0   ‡ ð 	ð ð ó ð af€DÐ
]Óeà^c€CÐ	[×cr   rˆ   c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚMcpServerHttpiè  Nr=   r>   úmAnnotated[List[HttpHeader], Field(description='HTTP headers to set when making requests to the MCP server.')]ÚheadersúUAnnotated[str, Field(description='Human-readable name identifying this MCP server.')]rD   ú;Annotated[str, Field(description='URL to the MCP server.')]Úurlr   rZ   r   r   r   rŒ   rŒ   è  ó/   ‡ ð 	ð ð ó ðó ð
 `Ó_à	D×Dr   rŒ   c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚMcpServerSsei   Nr=   r>   r�   rŽ   r�   rD   r�   r‘   r   rZ   r   r   r   r”   r”      r’   r   r”   c                  óN   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   R]R&   RtR# )ÚMcpServerStdioi  Nr=   r>   z\Annotated[List[str], Field(description='Command-line arguments to pass to the MCP server.')]rU   zGAnnotated[str, Field(description='Path to the MCP server executable.')]ÚcommandznAnnotated[List[EnvVariable], Field(description='Environment variables to set when launching the MCP server.')]rV   r�   rD   r   rZ   r   r   r   r–   r–     s<   ‡ ð 	ð ð ó ðó ð
 UÓTð
ó ð
 `×_r   r–   c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )Ú	ModelInfoi5  Nr=   r>   zQAnnotated[Optional[str], Field(description='Optional description of the model.')]rJ   zVAnnotated[str, Field(alias='modelId', description='Unique identifier for the model.')]Úmodel_idzFAnnotated[str, Field(description='Human-readable name of the model.')]rD   r   rN   r   r   r   r™   r™   5  s1   ‡ ð 	ð ð ó ð fj€KÐbÓiàdÓdà
P×Pr   r™   c                  óP   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R	&   RtR
]R&   Rt	R# )ÚPromptCapabilitiesiJ  Nr=   r>   FzWAnnotated[Optional[bool], Field(description='Agent supports [`ContentBlock::Audio`].')]Úaudioa!  Annotated[Optional[bool], Field(alias='embeddedContext', description='Agent supports embedded context in `session/prompt` requests.\n\nWhen enabled, the Client is allowed to include [`ContentBlock::Resource`]\nin prompt requests for pieces of context that are referenced in the message.')]Úembedded_contextzWAnnotated[Optional[bool], Field(description='Agent supports [`ContentBlock::Image`].')]Úimager   )
r.   r3   r4   r5   r>   r@   r�   rž   rŸ   r7   r   r   r   rœ   rœ   J  sH   ‡ ð 	ð ð ó ð fk€EÐbÓjð 	ð ð ó ð fk€EÐb×jr   rœ   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚReadTextFileResponseih  Nr=   r>   r   Úcontentr   rZ   r   r   r   r¡   r¡   h  s   ‡ ð 	ð ð ó ð ‡Lr   r¡   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚReleaseTerminalResponseix  Nr=   r>   r   rZ   r   r   r   r¤   r¤   x  r]   r   r¤   c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚDeniedOutcomei‡  zLiteral['cancelled']Úoutcomer   Nrk   r   r   r   r¦   r¦   ‡  s   ‡ Ø!×!r   r¦   c                  ó   € ] tR tRtRtRtRtR# )ÚRolei‹  Ú	assistantÚuserr   N)r.   r3   r4   r5   rª   r«   r7   r   r   r   r©   r©   ‹  s   † Ø€IØ„Dr   r©   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚSelectedPermissionOutcomei�  Nr=   r>   z^Annotated[str, Field(alias='optionId', description='The ID of the option the user selected.')]Ú	option_idr   rZ   r   r   r   r­   r­   �  s    ‡ ð 	ð ð ó ð÷ r   r­   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSessionCloseCapabilitiesi¤  Nr=   r>   r   rZ   r   r   r   r°   r°   ¤  r]   r   r°   c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚSessionConfigBooleani³  zdAnnotated[bool, Field(alias='currentValue', description='The current value of the boolean option.')]Úcurrent_valuer   Nrk   r   r   r   r²   r²   ³  s   ‡ ð÷ r   r²   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSessionForkCapabilitiesi»  Nr=   r>   r   rZ   r   r   r   rµ   rµ   »  r]   r   rµ   c                  óV   € ] tR tRt$ RtR]R&   R]R&   R]R&   RtR	]R
&   RtR]R&   RtR# )ÚSessionInfoiÊ  Nr=   r>   úfAnnotated[str, Field(description='The working directory for this session. Must be an absolute path.')]r†   zYAnnotated[str, Field(alias='sessionId', description='Unique identifier for the session')]Ú
session_idzSAnnotated[Optional[str], Field(description='Human-readable title for the session')]r   zeAnnotated[Optional[str], Field(alias='updatedAt', description='ISO 8601 timestamp of last activity')]Ú
updated_atr   ©	r.   r3   r4   r5   r>   r@   r   rº   r7   r   r   r   r·   r·   Ê  sH   ‡ ð 	ð ð ó ð
ó ð
 jÓiàae€EÐ^Óeð
 	ð ð ÷ r   r·   c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR# )
Ú_SessionInfoUpdateiç  Nr=   r>   zjAnnotated[Optional[str], Field(description='Human-readable title for the session. Set to null to clear.')]r   z|Annotated[Optional[str], Field(alias='updatedAt', description='ISO 8601 timestamp of last activity. Set to null to clear.')]rº   r   r»   r   r   r   r½   r½   ç  s>   ‡ ð 	ð ð ó ð 	ð 
ð ó ð 	ð ð ÷ r   r½   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSessionListCapabilitiesi  Nr=   r>   r   rZ   r   r   r   r¿   r¿     r]   r   r¿   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚSessionModelStatei  Nr=   r>   zrAnnotated[List[ModelInfo], Field(alias='availableModels', description='The set of models that the Agent can use')]Úavailable_modelsz_Annotated[str, Field(alias='currentModelId', description='The current model the Agent is in.')]Úcurrent_model_idr   rZ   r   r   r   rÁ   rÁ     s*   ‡ ð 	ð ð ó ðó ð÷ r   rÁ   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSessionResumeCapabilitiesi.  Nr=   r>   r   rZ   r   r   r   rÅ   rÅ   .  r]   r   rÅ   c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚSessionInfoUpdatei=  zGAnnotated[Literal['session_info_update'], Field(alias='sessionUpdate')]Úsession_updater   Nrk   r   r   r   rÇ   rÇ   =  ó   ‡ Ø[×[r   rÇ   c                  óN   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   R]R&   RtR# )Ú$SetSessionConfigOptionBooleanRequestiA  Nr=   r>   úaAnnotated[str, Field(alias='configId', description='The ID of the configuration option to set.')]Ú	config_idúrAnnotated[str, Field(alias='sessionId', description='The ID of the session to set the configuration option for.')]r¹   úLiteral['boolean']r-   z8Annotated[bool, Field(description='The boolean value.')]rv   r   rZ   r   r   r   rË   rË   A  s8   ‡ ð 	ð ð ó ðó ð
ó ð ÓàC×Cr   rË   c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )Ú#SetSessionConfigOptionSelectRequesti`  Nr=   r>   rÌ   rÍ   rÎ   r¹   z2Annotated[str, Field(description='The value ID.')]rv   r   rZ   r   r   r   rÑ   rÑ   `  s2   ‡ ð 	ð ð ó ðó ð
ó ð >×=r   rÑ   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚSetSessionModeRequesti~  Nr=   r>   zOAnnotated[str, Field(alias='modeId', description='The ID of the mode to set.')]Úmode_idzbAnnotated[str, Field(alias='sessionId', description='The ID of the session to set the mode for.')]r¹   r   rZ   r   r   r   rÓ   rÓ   ~  s)   ‡ ð 	ð ð ó ð ]Ó\ð÷ r   rÓ   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSetSessionModeResponsei”  Nr=   r>   r   rZ   r   r   r   rÖ   rÖ   ”  r]   r   rÖ   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚSetSessionModelRequesti£  Nr=   r>   zQAnnotated[str, Field(alias='modelId', description='The ID of the model to set.')]rš   zcAnnotated[str, Field(alias='sessionId', description='The ID of the session to set the model for.')]r¹   r   rZ   r   r   r   rØ   rØ   £  s)   ‡ ð 	ð ð ó ð `Ó_ð÷ r   rØ   c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚSetSessionModelResponsei¹  Nr=   r>   r   rZ   r   r   r   rÚ   rÚ   ¹  r]   r   rÚ   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚTerminaliÈ  Nr=   r>   z)Annotated[str, Field(alias='terminalId')]rn   r   rZ   r   r   r   rÜ   rÜ   È  s   ‡ ð 	ð ð ó ð ;×:r   rÜ   c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR# )
ÚTerminalExitStatusiØ  Nr=   r>   úƒAnnotated[Optional[int], Field(alias='exitCode', description='The process exit code (may be null if terminated by signal).', ge=0)]Ú	exit_codeúwAnnotated[Optional[str], Field(description='The signal that terminated the process (may be null if exited normally).')]Úsignalr   ©	r.   r3   r4   r5   r>   r@   rà   râ   r7   r   r   r   rÞ   rÞ   Ø  ó>   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð ð ÷ r   rÞ   c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚTerminalOutputRequestiõ  Nr=   r>   úXAnnotated[str, Field(alias='sessionId', description='The session ID for this request.')]r¹   zcAnnotated[str, Field(alias='terminalId', description='The ID of the terminal to get output from.')]rn   r   rZ   r   r   r   ræ   ræ   õ  ó)   ‡ ð 	ð ð ó ð iÓhð÷ r   ræ   c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )ÚTerminalOutputResponsei  Nr=   r>   z{Annotated[Optional[TerminalExitStatus], Field(alias='exitStatus', description='Exit status if the command has completed.')]Úexit_statuszIAnnotated[str, Field(description='The terminal output captured so far.')]ÚoutputzZAnnotated[bool, Field(description='Whether the output was truncated due to byte limits.')]Ú	truncatedr   )r.   r3   r4   r5   r>   r@   rë   r7   r   r   r   rê   rê     s9   ‡ ð 	ð ð ó ð 	ð ð ó ð
 VÓUài×ir   rê   c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R]R	&   R
tR# )ÚTextResourceContentsi#  Nr=   r>   ra   rb   r   Útextrc   r   rd   r   r   r   rï   rï   #  s/   ‡ ð 	ð ð ó ð DH€IÐ@ÓGØ
ƒIØ	‡Hr   rï   c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚFileEditToolCallContenti5  zLiteral['diff']r-   r   Nrk   r   r   r   rò   rò   5  ó   ‡ Ø
×r   rò   c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚTerminalToolCallContenti9  úLiteral['terminal']r-   r   Nrk   r   r   r   rõ   rõ   9  ó   ‡ Ø
×r   rõ   c                  ó>   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	tR# )
ÚToolCallLocationi=  Nr=   r>   zZAnnotated[Optional[int], Field(description='Optional line number within the file.', ge=0)]ÚlinezNAnnotated[str, Field(description='The file path being accessed or modified.')]rs   r   )r.   r3   r4   r5   r>   r@   rú   r7   r   r   r   rù   rù   =  s+   ‡ ð 	ð ð ó ð hl€DÐ
dÓkà
X×Xr   rù   c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚUnstructuredCommandInputiP  Nr=   r>   z^Annotated[str, Field(description="A hint to display when the input hasn't been provided yet")]Úhintr   rZ   r   r   r   rü   rü   P  s    ‡ ð 	ð ð ó ð÷ r   rü   c                  ó`   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR]R&   R]R&   RtR# )ÚUsageid  NzgAnnotated[Optional[int], Field(alias='cachedReadTokens', description='Total cache read tokens.', ge=0)]Úcached_read_tokensziAnnotated[Optional[int], Field(alias='cachedWriteTokens', description='Total cache write tokens.', ge=0)]Úcached_write_tokenszdAnnotated[int, Field(alias='inputTokens', description='Total input tokens across all turns.', ge=0)]Úinput_tokenszfAnnotated[int, Field(alias='outputTokens', description='Total output tokens across all turns.', ge=0)]Úoutput_tokenszjAnnotated[Optional[int], Field(alias='thoughtTokens', description='Total thought/reasoning tokens', ge=0)]Úthought_tokenszfAnnotated[int, Field(alias='totalTokens', description='Sum of all token types across session.', ge=0)]Útotal_tokensr   )	r.   r3   r4   r5   r   r@   r  r  r7   r   r   r   rÿ   rÿ   d  s\   ‡ ð
 	ð ð ó ð 	ð ð ó ð
ó ðó ð 	ð ð ó ð
÷ r   rÿ   c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )Ú_UsageUpdatei‘  Nr=   r>   zSAnnotated[Optional[Cost], Field(description='Cumulative session cost (optional).')]ÚcostzOAnnotated[int, Field(description='Total context window size in tokens.', ge=0)]ÚsizezGAnnotated[int, Field(description='Tokens currently in context.', ge=0)]Úusedr   )r.   r3   r4   r5   r>   r@   r  r7   r   r   r   r  r  ‘  s1   ‡ ð 	ð ð ó ð ae€DÐ
]Ódà
YÓYà
Q×Qr   r  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚWaitForTerminalExitRequesti¦  Nr=   r>   rç   r¹   z\Annotated[str, Field(alias='terminalId', description='The ID of the terminal to wait for.')]rn   r   rZ   r   r   r   r  r  ¦  rè   r   r  c                  óB   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR# )
ÚWaitForTerminalExitResponsei¼  Nr=   r>   rß   rà   rá   râ   r   rã   r   r   r   r  r  ¼  rä   r   r  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚWriteTextFileRequestiÙ  Nr=   r>   zKAnnotated[str, Field(description='The text content to write to the file.')]r¢   zHAnnotated[str, Field(description='Absolute path to the file to write.')]rs   rç   r¹   r   rZ   r   r   r   r  r  Ù  s+   ‡ ð 	ð ð ó ð YÓXà
RÓRàh×hr   r  c                  ó&   € ] tR tRt$ RtR]R&   RtR# )ÚWriteTextFileResponseiî  Nr=   r>   r   rZ   r   r   r   r  r  î  r]   r   r  c                  óP   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R# )ÚAnnotationsiý  Nr=   r>   zOptional[List[Role]]Úaudiencez5Annotated[Optional[str], Field(alias='lastModified')]Úlast_modifiedzOptional[float]Úpriorityr   )
r.   r3   r4   r5   r>   r@   r  r  r  r7   r   r   r   r  r  ý  s8   ‡ ð 	ð ð ó ð &*€HÐ"Ó)ØKO€MÐHÓOØ $€Hˆo×$r   r  c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )ÚAudioContenti  Nr=   r>   úOptional[Annotations]r   r   Údataú'Annotated[str, Field(alias='mimeType')]rb   r   ©r.   r3   r4   r5   r>   r@   r   r7   r   r   r   r  r    s.   ‡ ð 	ð ð ó ð *.€KÐ&Ó-Ø
ƒIØ6×6r   r  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚEnvVarAuthMethodi!  zLiteral['env_var']r-   r   Nrk   r   r   r   r  r  !  ó   ‡ Ø
×r   r  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚTerminalAuthMethodi%  rö   r-   r   Nrk   r   r   r   r"  r"  %  r÷   r   r"  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAvailableCommandInputi)  z`Annotated[UnstructuredCommandInput, Field(description='The input specification for a command.')]Úrootr   Nrk   r   r   r   r$  r$  )  s   ‡ ð÷ r   r$  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚCancelNotificationi1  Nr=   r>   zgAnnotated[str, Field(alias='sessionId', description='The ID of the session to cancel operations for.')]r¹   r   rZ   r   r   r   r'  r'  1  s    ‡ ð 	ð ð ó ð÷ r   r'  c                  ó4   € ] tR tRt$ RtR]R&   RtR]R&   RtR# )ÚCancelRequestNotificationiH  Nr=   r>   znAnnotated[Optional[Union[int, str]], Field(alias='requestId', description='The ID of the request to cancel.')]Ú
request_idr   )r.   r3   r4   r5   r>   r@   r*  r7   r   r   r   r)  r)  H  s*   ‡ ð 	ð ð ó ð 	ð ð ÷ r   r)  c                  ó^   € ] tR tRt$ RtR]R&   RR/tR]R&   ]! 4       tR	]R
&   Rt	R]R&   Rt
R# )ÚClientCapabilitiesi\  Nr=   r>   r?   Fa>  Annotated[Optional[AuthCapabilities], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nAuthentication capabilities supported by the client.\nDetermines which authentication method types the agent may include\nin its `InitializeResponse`.')]Úauthz¬Annotated[Optional[FileSystemCapabilities], Field(description='File system capabilities supported by the client.\nDetermines which file operations the agent can request.')]ÚfszdAnnotated[Optional[bool], Field(description='Whether the Client support all `terminal/*` methods.')]r   )r.   r3   r4   r5   r>   r@   r-  rx   r.  r?   r7   r   r   r   r,  r,  \  sZ   ‡ ð 	ð ð ó ð& 
�UÐð 	ð ó ñ 	Ó ð ð 	ó !ð 	ð ð ÷ r   r,  c                  ó0   € ] tR tRt$ R]R&   RtR]R&   RtR# )ÚClientNotificationi…  r   ÚmethodNz(Optional[Union[CancelNotification, Any]]Úparamsr   ©r.   r3   r4   r5   r@   r2  r7   r   r   r   r0  r0  …  s   ‡ ØƒKØ7;€FÐ4×;r   r0  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚCloseSessionRequestiŠ  Nr=   r>   zWAnnotated[str, Field(alias='sessionId', description='The ID of the session to close.')]r¹   r   rZ   r   r   r   r5  r5  Š  s   ‡ ð 	ð ð ó ð h×gr   r5  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAudioContentBlocki›  zLiteral['audio']r-   r   Nrk   r   r   r   r7  r7  ›  ó   ‡ Ø
×r   r7  c                  ór   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   RtR	]R
&   RtR]R&   Rt	R]R&   R]R&   Rt
R# )ÚCreateTerminalRequestiŸ  Nr=   r>   zPAnnotated[Optional[List[str]], Field(description='Array of command arguments.')]rU   z<Annotated[str, Field(description='The command to execute.')]r—   zaAnnotated[Optional[str], Field(description='Working directory for the command (absolute path).')]r†   zcAnnotated[Optional[List[EnvVariable]], Field(description='Environment variables for the command.')]rV   a¡  Annotated[Optional[int], Field(alias='outputByteLimit', description='Maximum number of output bytes to retain.\n\nWhen the limit is exceeded, the Client truncates from the beginning of the output\nto stay within the limit.\n\nThe Client MUST ensure truncation happens at a character boundary to maintain valid\nstring output, even if this means the retained output is slightly less than the\nspecified limit.', ge=0)]Úoutput_byte_limitrç   r¹   r   )r.   r3   r4   r5   r>   r@   rU   r†   rV   r;  r7   r   r   r   r:  r:  Ÿ  sp   ‡ ð 	ð ð ó ð ^b€DÐ
ZÓaàIÓIð
 	ð ð 
ó ð 	ð ð 
ó ð& 	ð ð ó ð i×hr   r:  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )Ú_CurrentModeUpdateiÎ  Nr=   r>   zVAnnotated[str, Field(alias='currentModeId', description='The ID of the current mode')]Úcurrent_mode_idr   rZ   r   r   r   r=  r=  Î  s   ‡ ð 	ð ð ó ð l×kr   r=  c                  ó:   € ] tR tRt$ R]R&   RtR]R&   R]R&   R	tR# )
ÚErroriß  z™Annotated[int, Field(description='A number indicating the error type that occurred.\nThis must be an integer as defined in the JSON-RPC specification.')]ÚcodeNzÐAnnotated[Optional[Any], Field(description='Optional primitive or structured value that contains additional information about the error.\nThis may include debugging information or context-specific details.')]r  z–Annotated[str, Field(description='A string providing a short description of the error.\nThe message should be limited to a concise single sentence.')]Úmessager   )r.   r3   r4   r5   r@   r  r7   r   r   r   r@  r@  ß  s*   ‡ ðó ð 	ð 	ð ó ð÷ r   r@  c                  óV   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR]R&   RtR# )ÚImageContentiú  Nr=   r>   r  r   r   r  r  rb   úOptional[str]rc   r   )	r.   r3   r4   r5   r>   r@   r   rc   r7   r   r   r   rD  rD  ú  s8   ‡ ð 	ð ð ó ð *.€KÐ&Ó-Ø
ƒIØ6Ó6Ø€Cˆ×r   rD  c                  óV   € ] tR tRt$ RtR]R&   ]! 4       tR]R&   RtR]R&   R	]R
&   Rt	R# )ÚInitializeRequesti  Nr=   r>   zAnnotated[Optional[ClientCapabilities], Field(alias='clientCapabilities', description='Capabilities supported by the client.')]Úclient_capabilitieszÒAnnotated[Optional[Implementation], Field(alias='clientInfo', description='Information about the Client name and version sent to the Agent.\n\nNote: in future versions of the protocol, this will be required.')]Úclient_infoz‚Annotated[int, Field(alias='protocolVersion', description='The latest protocol version supported by the client.', ge=0, le=65535)]Úprotocol_versionr   )
r.   r3   r4   r5   r>   r@   r,  rH  rI  r7   r   r   r   rG  rG    sK   ‡ ð 	ð ð ó ñ 	Óð ð ó ð  	ð ð ó ð÷ r   rG  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚKillTerminalRequesti8  Nr=   r>   rç   r¹   zXAnnotated[str, Field(alias='terminalId', description='The ID of the terminal to kill.')]rn   r   rZ   r   r   r   rL  rL  8  s%   ‡ ð 	ð ð ó ð iÓhài×ir   rL  c                  ó>   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	tR# )
ÚListSessionsResponseiK  Nr=   r>   zÓAnnotated[Optional[str], Field(alias='nextCursor', description="Opaque cursor token. If present, pass this in the next request's cursor parameter\nto fetch the next page. If absent, there are no more results.")]Únext_cursorzWAnnotated[List[SessionInfo], Field(description='Array of session information objects')]Úsessionsr   )r.   r3   r4   r5   r>   r@   rO  r7   r   r   r   rN  rN  K  s3   ‡ ð 	ð ð ó ð 	ð ð ó ð f×er   rN  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚHttpMcpServerie  zLiteral['http']r-   r   Nrk   r   r   r   rR  rR  e  ró   r   rR  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚSseMcpServerii  zLiteral['sse']r-   r   Nrk   r   r   r   rT  rT  i  s   ‡ Ø
×r   rT  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚNewSessionRequestim  Nr=   r>   r¸   r†   z·Annotated[List[Union[HttpMcpServer, SseMcpServer, McpServerStdio]], Field(alias='mcpServers', description='List of MCP (Model Context Protocol) servers the agent should connect to.')]Úmcp_serversr   rZ   r   r   r   rV  rV  m  s*   ‡ ð 	ð ð ó ð
ó ð
÷ r   rV  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚPermissionOptioni‰  Nr=   r>   zfAnnotated[PermissionOptionKind, Field(description='Hint about the nature of this permission option.')]ÚkindzQAnnotated[str, Field(description='Human-readable label to display to the user.')]rD   zdAnnotated[str, Field(alias='optionId', description='Unique identifier for this permission option.')]r®   r   rZ   r   r   r   rY  rY  ‰  s/   ‡ ð 	ð ð ó ð qÓpà
[Ó[ð÷ r   rY  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )Ú	PlanEntryi¤  Nr=   r>   zeAnnotated[str, Field(description='Human-readable description of what this task aims to accomplish.')]r¢   z�Annotated[PlanEntryPriority, Field(description='The relative importance of this task.\nUsed to indicate which tasks are most critical to the overall goal.')]r  zWAnnotated[PlanEntryStatus, Field(description='Current execution status of this task.')]Ústatusr   rZ   r   r   r   r\  r\  ¤  s3   ‡ ð 	ð ð ó ðó ðó ð d×cr   r\  c                  óL   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   RtR	]R
&   RtR# )ÚPromptResponseiÂ  Nr=   r>   ztAnnotated[StopReason, Field(alias='stopReason', description='Indicates why the agent stopped processing the turn.')]Ústop_reasonzÂAnnotated[Optional[Usage], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nToken usage for this turn (optional).')]Úusageaã  Annotated[Optional[str], Field(alias='userMessageId', description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe acknowledged user message ID.\n\nIf the client provided a `messageId` in the [`PromptRequest`], the agent echoes it here\nto confirm it was recorded. If the client did not provide one, the agent MAY assign one\nand return it here. Absence of this field indicates the agent did not record a message ID.')]Úuser_message_idr   )	r.   r3   r4   r5   r>   r@   ra  rb  r7   r   r   r   r_  r_  Â  sH   ‡ ð 	ð ð ó ðó ð" 	ð 
ð ó ð* 	ð ð ÷ r   r_  c                  óV   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	]R
&   R]R&   RtR# )ÚReadTextFileRequestiô  Nr=   r>   zUAnnotated[Optional[int], Field(description='Maximum number of lines to read.', ge=0)]ÚlimitzaAnnotated[Optional[int], Field(description='Line number to start reading from (1-based).', ge=0)]rú   zGAnnotated[str, Field(description='Absolute path to the file to read.')]rs   rç   r¹   r   )	r.   r3   r4   r5   r>   r@   re  rú   r7   r   r   r   rd  rd  ô  sH   ‡ ð 	ð ð ó ð dh€EÐ`Ógð
 	ð 	ð ó ð
 RÓQàh×hr   rd  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚReleaseTerminalRequesti  Nr=   r>   rç   r¹   z[Annotated[str, Field(alias='terminalId', description='The ID of the terminal to release.')]rn   r   rZ   r   r   r   rg  rg    s%   ‡ ð 	ð ð ó ð iÓhàl×lr   rg  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAllowedOutcomei!  zLiteral['selected']r§   r   Nrk   r   r   r   ri  ri  !  s   ‡ Ø × r   ri  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚRequestPermissionResponsei%  Nr=   r>   z�Annotated[Union[DeniedOutcome, AllowedOutcome], Field(description="The user's decision on the permission request.", discriminator='outcome')]r§   r   rZ   r   r   r   rk  rk  %  s    ‡ ð 	ð ð ó ð÷ r   rk  c                  ó€   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   R]R&   Rt	R]R&   Rt
R]R&   R]R&   RtR# )ÚResourceLinki<  Nr=   r>   r  r   rE  rJ   ra   rb   r   rD   zOptional[int]r	  r   rc   r   )r.   r3   r4   r5   r>   r@   r   rJ   rb   r	  r   r7   r   r   r   rm  rm  <  sV   ‡ ð 	ð ð ó ð *.€KÐ&Ó-Ø!%€K�Ó%ØCG€IÐ@ÓGØ
ƒIØ€Dˆ-ÓØ€Eˆ=ÓØ	‡Hr   rm  c                  óH   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	]R
&   RtR# )ÚResumeSessionRequestiR  Nr=   r>   úLAnnotated[str, Field(description='The working directory for this session.')]r†   ú«Annotated[Optional[List[Union[HttpMcpServer, SseMcpServer, McpServerStdio]]], Field(alias='mcpServers', description='List of MCP servers to connect to for this session.')]rW  zXAnnotated[str, Field(alias='sessionId', description='The ID of the session to resume.')]r¹   r   ©r.   r3   r4   r5   r>   r@   rW  r7   r   r   r   ro  ro  R  s<   ‡ ð 	ð ð ó ð 
VÓUð 	ð ð ó ð i×hr   ro  c                  ó^   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R# )ÚSessionCapabilitiesim  Nr=   r>   zÛAnnotated[Optional[SessionCloseCapabilities], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nWhether the agent supports `session/close`.')]ÚclosezÙAnnotated[Optional[SessionForkCapabilities], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nWhether the agent supports `session/fork`.')]ÚforkzmAnnotated[Optional[SessionListCapabilities], Field(description='Whether the agent supports `session/list`.')]ÚlistzÝAnnotated[Optional[SessionResumeCapabilities], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nWhether the agent supports `session/resume`.')]Úresumer   )r.   r3   r4   r5   r>   r@   ru  rv  rw  rx  r7   r   r   r   rt  rt  m  sf   ‡ ð 	ð ð ó ð" 	ð 
ð ó ð  	ð 	ð ó ð 	ð 	ð ó ð 	ð ð ÷ r   rt  c                  ó`   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	]R
&   R]R&   R]R&   RtR# )ÚSessionConfigOptionBooleani¢  Nr=   r>   údAnnotated[Optional[str], Field(description='Optional semantic category for this option (UX only).')]ÚcategoryújAnnotated[Optional[str], Field(description='Optional description for the Client to display to the user.')]rJ   úTAnnotated[str, Field(description='Unique identifier for the configuration option.')]rL   úIAnnotated[str, Field(description='Human-readable label for the option.')]rD   rÏ   r-   r   ©	r.   r3   r4   r5   r>   r@   r|  rJ   r7   r   r   r   rz  rz  ¢  sS   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð ð ó ð
 	]Ó\à
SÓSØ
×r   rz  c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )ÚSessionConfigSelectOptioniÀ  Nr=   r>   zZAnnotated[Optional[str], Field(description='Optional description for this option value.')]rJ   zPAnnotated[str, Field(description='Human-readable label for this option value.')]rD   zMAnnotated[str, Field(description='Unique identifier for this option value.')]rv   r   rN   r   r   r   r‚  r‚  À  s1   ‡ ð 	ð ð ó ð os€KÐkÓrà
ZÓZàX×Xr   r‚  c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )ÚSessionModeiÕ  Nr=   r>   rE  rJ   zJAnnotated[str, Field(description='Unique identifier for a Session Mode.')]rL   r   rD   r   rN   r   r   r   r„  r„  Õ  s-   ‡ ð 	ð ð ó ð "&€K�Ó%àRÓRØ
‡Ir   r„  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚSessionModeStateiè  Nr=   r>   zyAnnotated[List[SessionMode], Field(alias='availableModes', description='The set of modes that the Agent can operate in')]Úavailable_modesz]Annotated[str, Field(alias='currentModeId', description='The current mode the Agent is in.')]r>  r   rZ   r   r   r   r†  r†  è  s*   ‡ ð 	ð ð ó ðó ð÷ r   r†  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚCurrentModeUpdatei  zGAnnotated[Literal['current_mode_update'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   r‰  r‰    rÉ   r   r‰  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚUsageUpdatei  z@Annotated[Literal['usage_update'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   r‹  r‹    s   ‡ ØT×Tr   r‹  c                  ó>   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	tR# )
ÚTextContenti  Nr=   r>   r  r   r   rð   r   r  r   r   r   r�  r�    s(   ‡ ð 	ð ð ó ð *.€KÐ&Ó-Ø
‡Ir   r�  c                  ó|   € ] tR tRt$ RtR]R&   RtR]R&   ]! 4       tR]R	&   ]	! 4       t
R
]R&   ]! 4       tR]R&   RtR# )ÚAgentCapabilitiesi  Nr=   r>   FzoAnnotated[Optional[bool], Field(alias='loadSession', description='Whether the agent supports `session/load`.')]Úload_sessionz|Annotated[Optional[McpCapabilities], Field(alias='mcpCapabilities', description='MCP capabilities supported by the agent.')]Úmcp_capabilitiesz…Annotated[Optional[PromptCapabilities], Field(alias='promptCapabilities', description='Prompt capabilities supported by the agent.')]Úprompt_capabilitieszLAnnotated[Optional[SessionCapabilities], Field(alias='sessionCapabilities')]Úsession_capabilitiesr   )r.   r3   r4   r5   r>   r@   r�  rˆ   r‘  rœ   r’  rt  r“  r7   r   r   r   r�  r�    sm   ‡ ð 	ð ð ó ð 	ð ð ó ñ 	Óð ð ó ñ 	Óð ð ó ñ 	Óð Ðf÷ r   r�  c                  ó0   € ] tR tRt$ R]R&   RtR]R&   RtR# )ÚAgentErrorMessageiG  r@  ÚerrorNá{  Annotated[Optional[Union[int, str]], Field(description='JSON RPC Request Id\n\nAn identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2]\n\nThe Server MUST reply with the same value in the Response object if included. This member is used to correlate the context between the two objects.\n\n[1] The use of Null as a value for the id member in a Request object is discouraged, because this specification uses a value of Null for Responses with an unknown id. Also, because JSON-RPC 1.0 uses an id value of Null for Notifications this could cause confusion in handling.\n\n[2] Fractional parts may be problematic, since many decimal fractions cannot be represented exactly as binary fractions.')]rL   r   ©r.   r3   r4   r5   r@   rL   r7   r   r   r   r•  r•  G  ó   ‡ ØƒLð 	ð ð 	÷ r   r•  c                  óH   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	]R
&   RtR# )ÚAvailableCommandiZ  Nr=   r>   zYAnnotated[str, Field(description='Human-readable description of what the command does.')]rJ   zbAnnotated[Optional[AvailableCommandInput], Field(description='Input for the command if required')]Úinputz]Annotated[str, Field(description='Command name (e.g., `create_plan`, `research_codebase`).')]rD   r   )r.   r3   r4   r5   r>   r@   rœ  r7   r   r   r   r›  r›  Z  s=   ‡ ð 	ð ð ó ð kÓjð
 	ð 
ð ó ð
÷ r   r›  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )Ú_AvailableCommandsUpdateiu  Nr=   r>   zqAnnotated[List[AvailableCommand], Field(alias='availableCommands', description='Commands the agent can execute')]Úavailable_commandsr   rZ   r   r   r   rž  rž  u  s    ‡ ð 	ð ð ó ð÷ r   rž  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚClientResponseMessagei‰  Nr—  rL   a  Annotated[Union[WriteTextFileResponse, ReadTextFileResponse, RequestPermissionResponse, CreateTerminalResponse, TerminalOutputResponse, ReleaseTerminalResponse, WaitForTerminalExitResponse, KillTerminalResponse, Any], Field(description="All possible responses that a client can send to an agent.\n\nThis enum is used internally for routing RPC responses. You typically won't need\nto use this directly - the responses are handled automatically by the connection.\n\nThese are responses to the corresponding `AgentRequest` variants.")]Úresultr   ©r.   r3   r4   r5   rL   r@   r7   r   r   r   r¡  r¡  ‰  s    ‡ ð 	ð ð 	ó ð÷ r   r¡  c                  ó0   € ] tR tRt$ R]R&   RtR]R&   RtR# )ÚClientErrorMessagei±  r@  r–  Nr—  rL   r   r˜  r   r   r   r¥  r¥  ±  r™  r   r¥  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚClientResponseiÄ  z0Union[ClientResponseMessage, ClientErrorMessage]r%  r   Nrk   r   r   r   r§  r§  Ä  s   ‡ Ø
:×:r   r§  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚTextContentBlockiÈ  zLiteral['text']r-   r   Nrk   r   r   r   r©  r©  È  ró   r   r©  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚImageContentBlockiÌ  zLiteral['image']r-   r   Nrk   r   r   r   r«  r«  Ì  r8  r   r«  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚResourceContentBlockiÐ  zLiteral['resource_link']r-   r   Nrk   r   r   r   r­  r­  Ð  s   ‡ Ø
"×"r   r­  c                  ó>   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	tR# )
ÚEmbeddedResourceiÔ  Nr=   r>   r  r   z†Annotated[Union[TextResourceContents, BlobResourceContents], Field(description='Resource content that can be embedded in a message.')]Úresourcer   r  r   r   r   r¯  r¯  Ô  s-   ‡ ð 	ð ð ó ð *.€KÐ&Ó-ð÷ r   r¯  c                  óH   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	]R
&   RtR# )ÚForkSessionRequestié  Nr=   r>   rp  r†   rq  rW  zVAnnotated[str, Field(alias='sessionId', description='The ID of the session to fork.')]r¹   r   rr  r   r   r   r²  r²  é  s<   ‡ ð 	ð ð ó ð 
VÓUð 	ð ð ó ð g×fr   r²  c                  ód   € ] tR tRt$ RtR]R&   ]! 4       tR]R&   RtR]R&   . t	R	]R
&   R]R&   Rt
R# )ÚInitializeResponsei	  Nr=   r>   z|Annotated[Optional[AgentCapabilities], Field(alias='agentCapabilities', description='Capabilities supported by the agent.')]Úagent_capabilitieszÑAnnotated[Optional[Implementation], Field(alias='agentInfo', description='Information about the Agent name and version sent to the Client.\n\nNote: in future versions of the protocol, this will be required.')]Ú
agent_infoz±Annotated[Optional[List[Union[EnvVarAuthMethod, TerminalAuthMethod, AuthMethodAgent]]], Field(alias='authMethods', description='Authentication methods supported by the agent.')]Úauth_methodsa  Annotated[int, Field(alias='protocolVersion', description="The protocol version the client specified if supported by the agent,\nor the latest protocol version supported by the agent.\n\nThe client should disconnect, if it doesn't support this version.", ge=0, le=65535)]rJ  r   )r.   r3   r4   r5   r>   r@   r�  rµ  r¶  r·  r7   r   r   r   r´  r´  	  s_   ‡ ð 	ð ð ó ñ 	Óð ð ó ð  	ð ð ó ð 	ð ð ó ð÷ r   r´  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚLoadSessionRequesti:	  Nr=   r>   rp  r†   z¡Annotated[List[Union[HttpMcpServer, SseMcpServer, McpServerStdio]], Field(alias='mcpServers', description='List of MCP servers to connect to for this session.')]rW  zVAnnotated[str, Field(alias='sessionId', description='The ID of the session to load.')]r¹   r   rZ   r   r   r   r¹  r¹  :	  s2   ‡ ð 	ð ð ó ð 
VÓUðó ð g×fr   r¹  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚPlaniU	  Nr=   r>   zôAnnotated[List[PlanEntry], Field(description='The list of tasks to be accomplished.\n\nWhen updating a plan, the agent must send a complete list of all entries\nwith their current status. The client replaces the entire plan with each update.')]Úentriesr   rZ   r   r   r   r»  r»  U	  s    ‡ ð 	ð ð ó ð÷ r   r»  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚSessionConfigSelectGroupin	  Nr=   r>   zFAnnotated[str, Field(description='Unique identifier for this group.')]ÚgroupzIAnnotated[str, Field(description='Human-readable label for this group.')]rD   zhAnnotated[List[SessionConfigSelectOption], Field(description='The set of option values in this group.')]Úoptionsr   rZ   r   r   r   r¾  r¾  n	  s/   ‡ ð 	ð ð ó ð RÓQà
SÓSð÷ r   r¾  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAgentPlanUpdatei†	  z8Annotated[Literal['plan'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÂ  rÂ  †	  s   ‡ ØL×Lr   rÂ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAvailableCommandsUpdateiŠ	  zMAnnotated[Literal['available_commands_update'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÄ  rÄ  Š	  s   ‡ Øa×ar   rÄ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚEmbeddedResourceContentBlockiŽ	  zLiteral['resource']r-   r   Nrk   r   r   r   rÆ  rÆ  Ž	  r÷   r   rÆ  c                  ó>   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	tR# )
ÚContentChunki’	  Nr=   r>   zÁAnnotated[Union[TextContentBlock, ImageContentBlock, AudioContentBlock, ResourceContentBlock, EmbeddedResourceContentBlock], Field(description='A single item of content', discriminator='type')]r¢   a­  Annotated[Optional[str], Field(alias='messageId', description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nA unique identifier for the message this chunk belongs to.\n\nAll chunks belonging to the same message share the same `messageId`.\nA change in `messageId` indicates a new message has started.\nBoth clients and agents MUST use UUID format for message IDs.')]Ú
message_idr   ©r.   r3   r4   r5   r>   r@   rÉ  r7   r   r   r   rÈ  rÈ  ’	  s4   ‡ ð 	ð ð ó ðó ð* 	ð ð ÷ r   rÈ  c                  óH   € ] tR tRt$ RtR]R&   RtR]R&   R]R&   R	]R
&   RtR# )ÚPromptRequesti¸	  Nr=   r>   a£  Annotated[Optional[str], Field(alias='messageId', description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nA client-generated unique identifier for this user message.\n\nIf provided, the Agent SHOULD echo this value as `userMessageId` in the\n[`PromptResponse`] to confirm it was recorded.\nBoth clients and agents MUST use UUID format for message IDs.')]rÉ  a  Annotated[List[Union[TextContentBlock, ImageContentBlock, AudioContentBlock, ResourceContentBlock, EmbeddedResourceContentBlock]], Field(description="The blocks of content that compose the user's message.\n\nAs a baseline, the Agent MUST support [`ContentBlock::Text`] and [`ContentBlock::ResourceLink`],\nwhile other variants are optionally enabled via [`PromptCapabilities`].\n\nThe Client MUST adapt its interface according to [`PromptCapabilities`].\n\nThe client MAY include referenced pieces of context as either\n[`ContentBlock::Resource`] or [`ContentBlock::ResourceLink`].\n\nWhen available, [`ContentBlock::Resource`] is preferred\nas it avoids extra round-trips and allows the message to include\npieces of context from sources the agent may not have access to.")]ÚpromptzjAnnotated[str, Field(alias='sessionId', description='The ID of the session to send this user message to')]r¹   r   rÊ  r   r   r   rÌ  rÌ  ¸	  s>   ‡ ð 	ð ð ó ð, 	ð ð ó ð(ó ð÷ r   rÌ  c                  ó,   € ] tR tRt$ R]R&   R]R&   RtR# )ÚSessionConfigSelectiú	  zXAnnotated[str, Field(alias='currentValue', description='The currently selected value.')]r³   z†Annotated[Union[List[SessionConfigSelectOption], List[SessionConfigSelectGroup]], Field(description='The set of selectable options.')]rÀ  r   Nrk   r   r   r   rÏ  rÏ  ú	  s   ‡ àkÓkð÷ r   rÏ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚUserMessageChunki
  zFAnnotated[Literal['user_message_chunk'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÑ  rÑ  
  s   ‡ ØZ×Zr   rÑ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAgentMessageChunki
  zGAnnotated[Literal['agent_message_chunk'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÓ  rÓ  
  rÉ   r   rÓ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAgentThoughtChunki
  zGAnnotated[Literal['agent_thought_chunk'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÕ  rÕ  
  rÉ   r   rÕ  c                  ó>   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	tR# )
ÚClientRequesti
  Nr—  rL   r   r1  aG  Optional[Union[InitializeRequest, AuthenticateRequest, NewSessionRequest, LoadSessionRequest, ListSessionsRequest, ForkSessionRequest, ResumeSessionRequest, CloseSessionRequest, SetSessionModeRequest, PromptRequest, SetSessionModelRequest, Union[SetSessionConfigOptionBooleanRequest, SetSessionConfigOptionSelectRequest], Any]]r2  r   ©r.   r3   r4   r5   rL   r@   r2  r7   r   r   r   r×  r×  
  s1   ‡ ð 	ð ð 	ó ð ƒKð" 	ð! ð ÷ r   r×  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚContenti4
  Nr=   r>   zÂAnnotated[Union[TextContentBlock, ImageContentBlock, AudioContentBlock, ResourceContentBlock, EmbeddedResourceContentBlock], Field(description='The actual content block.', discriminator='type')]r¢   r   rZ   r   r   r   rÚ  rÚ  4
  s    ‡ ð 	ð ð ó ð÷ r   rÚ  c                  ó`   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	]R
&   R]R&   R]R&   RtR# )ÚSessionConfigOptionSelectiJ
  Nr=   r>   r{  r|  r}  rJ   r~  rL   r  rD   zLiteral['select']r-   r   r€  r   r   r   rÜ  rÜ  J
  sS   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð ð ó ð
 	]Ó\à
SÓSØ
×r   rÜ  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚSetSessionConfigOptionResponseih
  Nr=   r>   úºAnnotated[List[Union[SessionConfigOptionSelect, SessionConfigOptionBoolean]], Field(alias='configOptions', description='The full set of configuration options and their current values.')]Úconfig_optionsr   rZ   r   r   r   rÞ  rÞ  h
  ó    ‡ ð 	ð ð ó ð÷ r   rÞ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚContentToolCallContenti
  zLiteral['content']r-   r   Nrk   r   r   r   rã  rã  
  r   r   rã  c                  ó’   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   R]R&   RtR# )ÚToolCallUpdateiƒ
  Nr=   r>   z Annotated[Optional[List[Union[ContentToolCallContent, FileEditToolCallContent, TerminalToolCallContent]]], Field(description='Replace the content collection.')]r¢   zIAnnotated[Optional[ToolKind], Field(description='Update the tool kind.')]rZ  zcAnnotated[Optional[List[ToolCallLocation]], Field(description='Replace the locations collection.')]Ú	locationszVAnnotated[Optional[Any], Field(alias='rawInput', description='Update the raw input.')]Ú	raw_inputzXAnnotated[Optional[Any], Field(alias='rawOutput', description='Update the raw output.')]Ú
raw_outputzVAnnotated[Optional[ToolCallStatus], Field(description='Update the execution status.')]r]  zOAnnotated[Optional[str], Field(description='Update the human-readable title.')]r   z_Annotated[str, Field(alias='toolCallId', description='The ID of the tool call being updated.')]Útool_call_idr   )r.   r3   r4   r5   r>   r@   r¢   rZ  ræ  rç  rè  r]  r   r7   r   r   r   rå  rå  ƒ
  s‡   ‡ ð 	ð ð ó ð 	ð ð ó ð
 W[€DÐ
SÓZð
 	ð ð ó ð
 im€IÐeÓlàko€JÐhÓoàei€FÐbÓià]a€EÐZÓað÷ r   rå  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )Ú_ConfigOptionUpdatei«
  Nr=   r>   rß  rà  r   rZ   r   r   r   rë  rë  «
  rá  r   rë  c                  óZ   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   R]R&   Rt	R# )ÚForkSessionResponseiÂ
  Nr=   r>   úÅAnnotated[Optional[List[Union[SessionConfigOptionSelect, SessionConfigOptionBoolean]]], Field(alias='configOptions', description='Initial session configuration options if supported by the Agent.')]rà  úÖAnnotated[Optional[SessionModelState], Field(description='**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nInitial model state if supported by the Agent')]ÚmodelsúÆAnnotated[Optional[SessionModeState], Field(description='Initial mode state if supported by the Agent\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)')]ÚmodeszoAnnotated[str, Field(alias='sessionId', description='Unique identifier for the newly created forked session.')]r¹   r   ©
r.   r3   r4   r5   r>   r@   rà  rð  rò  r7   r   r   r   rí  rí  Â
  s\   ‡ ð 	ð ð ó ð 	ð ð ó ð" 	ð ð ó ð 	ð 
ð ó ð÷ r   rí  c                  óP   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R# )ÚLoadSessionResponseiõ
  Nr=   r>   rî  rà  rï  rð  rñ  rò  r   ró  r   r   r   rõ  rõ  õ
  óR   ‡ ð 	ð ð ó ð 	ð ð ó ð" 	ð ð ó ð 	ð 
ð ÷ r   rõ  c                  óZ   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   R]R&   Rt	R# )ÚNewSessionResponsei   Nr=   r>   rî  rà  rï  rð  rñ  rò  zœAnnotated[str, Field(alias='sessionId', description='Unique identifier for the created session.\n\nUsed in all subsequent requests for this conversation.')]r¹   r   ró  r   r   r   rø  rø     s\   ‡ ð 	ð ð ó ð 	ð ð ó ð" 	ð ð ó ð 	ð 
ð ó ð÷ r   rø  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   RtR# )ÚRequestPermissionRequestiU  Nr=   r>   zqAnnotated[List[PermissionOption], Field(description='Available permission options for the user to choose from.')]rÀ  rç   r¹   zsAnnotated[ToolCallUpdate, Field(alias='toolCall', description='Details about the tool call requiring permission.')]Ú	tool_callr   rZ   r   r   r   rú  rú  U  s3   ‡ ð 	ð ð ó ðó ð
 iÓhð÷ r   rú  c                  óP   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R# )ÚResumeSessionResponseis  Nr=   r>   rî  rà  rï  rð  rñ  rò  r   ró  r   r   r   rý  rý  s  rö  r   rý  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚToolCallProgressiž  zDAnnotated[Literal['tool_call_update'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   rÿ  rÿ  ž  s   ‡ ØX×Xr   rÿ  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚConfigOptionUpdatei¢  zHAnnotated[Literal['config_option_update'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   r  r  ¢  s   ‡ Ø\×\r   r  c                  óŽ   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R]R&   RtR]R&   R]R&   R]R&   RtR# )ÚToolCalli¦  Nr=   r>   z£Annotated[Optional[List[Union[ContentToolCallContent, FileEditToolCallContent, TerminalToolCallContent]]], Field(description='Content produced by the tool call.')]r¢   z‘Annotated[Optional[ToolKind], Field(description='The category of tool being invoked.\nHelps clients choose appropriate icons and UI treatment.')]rZ  z™Annotated[Optional[List[ToolCallLocation]], Field(description='File locations affected by this tool call.\nEnables "follow-along" features in clients.')]ræ  zgAnnotated[Optional[Any], Field(alias='rawInput', description='Raw input parameters sent to the tool.')]rç  zbAnnotated[Optional[Any], Field(alias='rawOutput', description='Raw output returned by the tool.')]rè  zdAnnotated[Optional[ToolCallStatus], Field(description='Current execution status of the tool call.')]r]  z\Annotated[str, Field(description='Human-readable title describing what the tool is doing.')]r   zqAnnotated[str, Field(alias='toolCallId', description='Unique identifier for this tool call within the session.')]ré  r   )r.   r3   r4   r5   r>   r@   r¢   rZ  ræ  rç  rè  r]  r7   r   r   r   r  r  ¦  s�   ‡ ð 	ð ð ó ð 	ð ð ó ð 	ð 	ð ó ð 	ð ð ó ð 	ð ð ó ð 	ð ð ó ð
 tx€FÐpÓwðó ð
÷ r   r  c                  ó>   € ] tR tRt$ RtR]R&   R]R&   RtR]R&   R	tR# )
ÚAgentRequestiá  Nr—  rL   r   r1  zÐOptional[Union[WriteTextFileRequest, ReadTextFileRequest, RequestPermissionRequest, CreateTerminalRequest, TerminalOutputRequest, ReleaseTerminalRequest, WaitForTerminalExitRequest, KillTerminalRequest, Any]]r2  r   rØ  r   r   r   r  r  á  s1   ‡ ð 	ð ð 	ó ð ƒKð 	ð ð ÷ r   r  c                  ó0   € ] tR tRt$ RtR]R&   R]R&   RtR# )ÚAgentResponseMessagei  Nr—  rL   a_  Annotated[Union[InitializeResponse, AuthenticateResponse, NewSessionResponse, LoadSessionResponse, ListSessionsResponse, ForkSessionResponse, ResumeSessionResponse, CloseSessionResponse, SetSessionModeResponse, SetSessionConfigOptionResponse, PromptResponse, SetSessionModelResponse, Any], Field(description="All possible responses that an agent can send to a client.\n\nThis enum is used internally for routing RPC responses. You typically won't need\nto use this directly - the responses are handled automatically by the connection.\n\nThese are responses to the corresponding `ClientRequest` variants.")]r¢  r   r£  r   r   r   r  r    s    ‡ ð 	ð ð 	ó ð÷ r   r  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚAgentResponsei-  z.Union[AgentResponseMessage, AgentErrorMessage]r%  r   Nrk   r   r   r   r	  r	  -  s   ‡ Ø
8×8r   r	  c                  ó"   € ] tR tRt$ R]R&   RtR# )ÚToolCallStarti1  z=Annotated[Literal['tool_call'], Field(alias='sessionUpdate')]rÈ   r   Nrk   r   r   r   r  r  1  s   ‡ ØQ×Qr   r  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR# )
ÚSessionNotificationi5  Nr=   r>   zfAnnotated[str, Field(alias='sessionId', description='The ID of the session this update pertains to.')]r¹   a+  Annotated[Union[UserMessageChunk, AgentMessageChunk, AgentThoughtChunk, ToolCallStart, ToolCallProgress, AgentPlanUpdate, AvailableCommandsUpdate, CurrentModeUpdate, ConfigOptionUpdate, SessionInfoUpdate, UsageUpdate], Field(description='The actual update content.', discriminator='session_update')]Úupdater   rZ   r   r   r   r  r  5  s*   ‡ ð 	ð ð ó ðó ð÷ r   r  c                  ó0   € ] tR tRt$ R]R&   RtR]R&   RtR# )ÚAgentNotificationi]  r   r1  Nz)Optional[Union[SessionNotification, Any]]r2  r   r3  r   r   r   r  r  ]  s   ‡ ØƒKØ8<€FÐ5×<r   r  N)Ú
allow_onceÚallow_alwaysÚreject_onceÚreject_always)ÚhighÚmediumÚlow)ÚpendingÚin_progressÚ	completed)Úend_turnÚ
max_tokensÚmax_turn_requestsÚrefusalÚ	cancelled)r  r  r  Úfailed)
ÚreadÚeditÚdeleteÚmoveÚsearchÚexecuteÚthinkÚfetchÚswitch_modeÚother)¨Ú
__future__r   Úenumr   Útypingr   r   r   r   r	   r
   r   Úpydanticr   Ú
_BaseModelr   r   r   ÚPermissionOptionKindÚPlanEntryPriorityÚPlanEntryStatusÚ
StopReasonÚToolCallStatusÚToolKindr9   r<   rB   rH   rP   rT   rX   r\   r_   rf   rh   rm   rp   ru   rx   r|   r~   r‚   r„   rˆ   rŒ   r”   r–   r™   rœ   r¡   r¤   r¦   r©   r­   r°   r²   rµ   r·   r½   r¿   rÁ   rÅ   rÇ   rË   rÑ   rÓ   rÖ   rØ   rÚ   rÜ   rÞ   ræ   rê   rï   rò   rõ   rù   rü   rÿ   r  r  r  r  r  r  r  r  r"  r$  r'  r)  r,  r0  r5  r7  r:  r=  r@  rD  rG  rL  rN  rR  rT  rV  rY  r\  r_  rd  rg  ri  rk  rm  ro  rt  rz  r‚  r„  r†  r‰  r‹  r�  r�  r•  r›  rž  r¡  r¥  r§  r©  r«  r­  r¯  r²  r´  r¹  r»  r¾  rÂ  rÄ  rÆ  rÈ  rÌ  rÏ  rÑ  rÓ  rÕ  r×  rÚ  rÜ  rÞ  rã  rå  rë  rí  rõ  rø  rú  rý  rÿ  r  r  r  r  r	  r  r  r  r   r   r   Ú<module>r6     sÉ  ðõ #å ß G× GÑ Gç JÓ JàÑ[Õ\Ð ØÑ3Õ4Ð ØÑ?Õ@€ØÑZÕ[€
ØÑHÕI€ØÑrÕs€ôZ�
ô Zôˆdô ô�yô ô0'�ô 'ôTa�iô aô0�yô ôDa˜ô aôD˜)ô ô0˜9ô ô˜9ô ô$˜9ô ô`ˆ9ô `ô˜Yô ô.Mˆ9ô Mô0_�)ô _ô&˜Yô ô>V�ô Vô&&�Yô &ôR˜9ô ô˜)ô ô6d�iô dô&E�Iô Eô0E�9ô Eô0`�Yô `ô:Q�	ô Qô*k˜ô kô<˜9ô ô ˜iô ô"�Iô "ôˆ4ô ô
 	ô ô(˜yô ô˜9ô ô˜iô ô�)ô ô:˜ô ô8˜iô ô˜	ô ô8 	ô ô\Ð*ô \ôD¨9ô Dô>>¨)ô >ô<˜Iô ô,˜Yô ô˜Yô ô,˜iô ô;ˆyô ;ô ˜ô ô:˜Iô ô,j˜Yô jô0˜9ô ô$˜dô ô˜hô ôY�yô Yô&˜yô ô(*ˆIô *ôZR�9ô Rô* ô ô, )ô ô:i˜9ô iô*˜Iô ô%�)ô %ô$7�9ô 7ô$Ð'ô ôÐ+ô ô˜IÐ&>Õ?ô ô˜ô ô. 	ô ô(&˜ô &ôR<˜ô <ô
h˜)ô hô"˜ô ô,i˜Iô ,iô^l˜ô lô"ˆIô ô6�9ô ô&(˜	ô (ôVj˜)ô jô&f˜9ô fô4�Mô ô�<ô ô˜	ô ô8�yô ô6d�	ô dô</�Yô /ôdi˜)ô iô4m˜Yô mô&!Ð.ô !ô 	ô ô.�9ô ô,i˜9ô iô62˜)ô 2ôjÐ!5ô ô<Y 	ô Yô*�)ô ô&�yô ô8\Ð*ô \ôU�,ô Uô�)ô ô"'˜	ô 'ôT˜	ô ô&�yô ô6˜yô ô(%˜Iô %ôP˜ô ô&;�Y˜uÐ%:Ð<NÐ%NÕOÕPô ;ô�{ô ô˜ô ô#˜<ô #ô�yô ô*g˜ô gô63˜ô 3ôlg˜ô gô6ˆ9ô ô2˜yô ô0M�dô MôbÐ6ô bôÐ#3ô ô#�9ô #ôL?�Iô ?ôD˜)ô ô[�|ô [ô\˜ô \ô\˜ô \ô!�Iô !õHˆiô ö,Ð 3ô ö< Yô ö.˜Wô ö%�Yô %öP˜)ô ö.0˜)ô 0öf(˜)ô (öV2˜ô 2öj˜yô ö<(˜Iô (öVY�~ô Yö]Ð,ô ]ö8ˆyô 8öv�9ô ö@)˜9ô )öX9�I˜eÐ$8Ð:KÐ$KÕLÕMô 9öR�Hô Rö%˜)ô %öP=˜	÷ =r   