Files
timmy-config/wizards/allegro-primus/capabilities/__pycache__/manifest.cpython-312.pyc

119 lines
22 KiB
Plaintext
Raw Normal View History

2026-03-31 20:02:01 +00:00
<EFBFBD>
d <0C>i<EFBFBD>9<00><01><><00>dZddlmZddlZddlZddlZddlmZmZm Z ddl
m Z m Z m Z mZmZddlmZddlmZGd<08>d e<12>ZGd
<EFBFBD>d e<12>ZeGd <0C>d <0A><00>ZeGd<0E>d<0F><00>ZeGd<10>d<11><00>ZeGd<12>d<13><00>ZGd<14>d<15>Zdd<16>Zedk(rDe<1A>Zed<18>eej=<00><00>ed<19>eej?<00><00>yy)zz
AP Agent Manifest
Defines agent identity, capabilities, and characteristics.
Exports manifest in JSON and YAML formats.
<EFBFBD>)<01> annotationsN)<03> dataclass<73>field<6C>asdict)<05>Dict<63>List<73>Optional<61>Any<6E>Union)<01>datetime)<01>Enumc<01>$<00>eZdZdZdZdZdZdZdZy)<08> AgentRolezAgent roles in the ecosystem.<2E>worker<65> coordinator<6F>
specialist<EFBFBD>learner<65>gatewayN) <09>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>WORKER<45> COORDINATOR<4F>
SPECIALIST<EFBFBD>LEARNER<45>GATEWAY<41><00><00>5/root/wizards/allegro-primus/capabilities/manifest.pyrrs<00><00>'<27> <15>F<EFBFBD><1F>K<EFBFBD><1D>J<EFBFBD><17>G<EFBFBD><17>Grrc<01>$<00>eZdZdZdZdZdZdZdZy)<08> ModelProviderzAI model providers.<2E>openai<61> anthropic<69>google<6C>local<61>customN) rrrr<00>OPENAI<41> ANTHROPIC<49>GOOGLE<4C>LOCAL<41>CUSTOMrrr r"r"s<00><00><1D> <15>F<EFBFBD><1B>I<EFBFBD> <15>F<EFBFBD> <13>E<EFBFBD> <15>Frr"c<01>t<00>eZdZUdZded<ded<dZded<dZd ed
<ee<08> <0B>Z d ed <dZ
ded<dd<11>Z y)<13> ModelInfozInformation about the AI model.<2E>str<74>namer"<00>provider<65>unknown<77>versionr<00>int<6E>context_window<6F><01>default_factory<72> List[str]<5D> capabilitiesN<73> Optional[str]<5D>
parametersc<01><><00>t|<00>}t|jt<00>r|jjn |j|d<|S)Nr1)r<00>
isinstancer1r <00>value)<02>self<6C>datas r <00>to_dictzModelInfo.to_dict0s:<00><00><15>d<EFBFBD>|<7C><04>2<<3C>T<EFBFBD>]<5D>]<5D>D<EFBFBD>2Q<32>4<EFBFBD>=<3D>=<3D>.<2E>.<2E>W[<5B>Wd<57>Wd<57><04>Z<EFBFBD><18><13> r<00><02>return<72>Dict[str, Any]) rrrr<00>__annotations__r3r5r<00>listr9r;rArrr r.r.&sB<00><00>)<29>
<0A>I<EFBFBD><1B><1B><1C>G<EFBFBD>S<EFBFBD><1C><1B>N<EFBFBD>C<EFBFBD><1B>#<23>D<EFBFBD>9<>L<EFBFBD>)<29>9<> $<24>J<EFBFBD> <0A>$<24>rr.c<01>`<00>eZdZUdZdZded<dZded<dZded<dZded<d Z d
ed <d d <0C>Z
y )<0E>PerformanceMetricsz"Agent performance characteristics.g<00>float<61>avg_response_time_ms<6D>throughput_rps<70>accuracy_scoregY@<40>uptime_percentNr:<00>last_benchmarkedc<01><00>t|<00>S<00>N<>r<00>r?s r rAzPerformanceMetrics.to_dict?<00> <00><00><15>d<EFBFBD>|<7C>rrB) rrrrrJrErKrLrMrNrArrr rHrH6s><00><00>,<2C>"%<25><18>%<25>%<25><1F>N<EFBFBD>E<EFBFBD><1F><1F>N<EFBFBD>E<EFBFBD><1F>!<21>N<EFBFBD>E<EFBFBD>!<21>&*<2A><14>m<EFBFBD>*<2A>rrHc<01>`<00>eZdZUdZdZded<dZded<dZded<dZded <d
Z d ed <dd <0A>Z
y
)<0F>ResourceLimitsz!Resource limits and requirements.<2E>
r4<00>max_concurrent_tasksi<00>memory_limit_mb<6D><00> cpu_cores<65> disk_space_gbNz Optional[int]<5D> gpu_memory_mbc<01><00>t|<00>SrPrQrRs r rAzResourceLimits.to_dictLrSrrB) rrrrrWrErXrZr[r\rArrr rUrUCs=<00><00>+<2B> "<22><18>#<23>"<22><1F>O<EFBFBD>S<EFBFBD><1F><16>I<EFBFBD>s<EFBFBD><16><1B>M<EFBFBD>3<EFBFBD><1B>#'<27>M<EFBFBD>=<3D>'<27>rrUc<01>F<00>eZdZUdZdZded<dZded<dZded <ejZ
d
ed <d Z ded <e d<0E><00><0F>Z ded<e e<0E><0F>Zded<e e<0E><0F>Zded<e e<0E><0F>Zded<e e<12><0F>Zded<e e<14><0F>Zded<e d<1A><00><0F>Zded<e d<1C><00><0F>Zded<e d<1E><00><0F>Zded<e d <20><00><0F>Zded!<e e<0E><0F>Zded"<e e<1B><0F>Zd#ed$<d%<25>Zd&<26>Zd0d'<27>Zd1d2d(<28>Z d3d)<29>Z!e"d4d*<2A><04>Z#e"d5d+<2B><04>Z$e"d6d,<2C><04>Z%d7d8d-<2D>Z&e"d9d.<2E><04>Z'd:d/<2F>Z(y);<3B> AgentManifestzComplete agent manifest.<2E>Allegro-Primusr/r0<00>1.0.0r3Nr:<00>idr<00>role<6C>/Advanced AI agent with multi-modal capabilities<65> descriptionc<01>8<00>tdtj<00><02>S)Nr2)r0r1)r.r"r,rrr <00><lambda>zAgentManifest.<lambda>\s<00><00>Y<EFBFBD> <16><1E>%<25>%<25>6<06>rr6r.<00>modelr8<00>tools<6C>skills<6C>knowledge_areasrH<00> performancerU<00> resourcesc<01>*<00>tj<00>SrP)<01>platformrrr rgzAgentManifest.<lambda>ks<00><00>(<28>2C<32>2C<32>2E<32>rroc<01>*<00>tj<00>SrP<00>ro<00>python_versionrrr rgzAgentManifest.<lambda>ls<00><00><08>8O<38>8O<38>8Q<38>rrrc<01>F<00>tj<00>j<00>SrP<00>r <00>utcnow<6F> isoformatrrr rgzAgentManifest.<lambda>o<00><00><00>H<EFBFBD>O<EFBFBD>O<EFBFBD>4E<34>4O<34>4O<34>4Q<34>r<00>
created_atc<01>F<00>tj<00>j<00>SrPrtrrr rgzAgentManifest.<lambda>prwr<00>
updated_at<EFBFBD>tagsrD<00>metadatac<01>:<00>|j<00>>|jj<00>jdd<02><00>d|j<00><00>|_t |j t<00>rt|j <00>|_t |jt<00>rtdi|j<00><01>|_ t |jt<00>rtdi|j<00><01>|_ t |jt<00>rtdi|j<00><01>|_yy)N<> <20>-r)rbr0<00>lower<65>replacer3r=rcr/rrh<00>dictr.rlrHrmrUrRs r <00> __post_init__zAgentManifest.__post_init__ts<><00><00> <0F>7<EFBFBD>7<EFBFBD>?<3F><1D><19><19><1F><1F>*<2A>2<>2<>3<EFBFBD><03><<3C>=<3D>Q<EFBFBD>t<EFBFBD>|<7C>|<7C>n<EFBFBD>M<>D<EFBFBD>G<EFBFBD> <15>d<EFBFBD>i<EFBFBD>i<EFBFBD><13> %<25>!<21>$<24>)<29>)<29>,<2C>D<EFBFBD>I<EFBFBD> <15>d<EFBFBD>j<EFBFBD>j<EFBFBD>$<24> '<27>"<22>0<>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>0<>D<EFBFBD>J<EFBFBD> <15>d<EFBFBD>&<26>&<26><04> -<2D>1<>E<>D<EFBFBD>4D<34>4D<34>E<>D<EFBFBD> <1C> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>d<EFBFBD> +<2B>+<2B>=<3D>d<EFBFBD>n<EFBFBD>n<EFBFBD>=<3D>D<EFBFBD>N<EFBFBD> ,rc<01>R<00>tj<00>j<00>|_y)z Update the updated_at timestamp.N)r rurvrzrRs r <00>update_timestampzAgentManifest.update_timestamp<6D>s<00><00>"<22>/<2F>/<2F>+<2B>5<>5<>7<><04>rc <01><00>|j|j|jt|jt
<00>r|jj n |j|jd<01>|jr|jj<00>nd|j|j|jt|j<00>t|j<00>t|j<00>d<03>d<04>|jr|jj<00>nd|jr|jj<00>nd|j |j"d<05>|j$|j&|j(|j*d<06>d<07>S)zConvert manifest to dictionary.)r0r3rbrcreN)rirjrk)rirjrk<00>countrq)rxrzr{r')<07>identityrhr9rlrm<00>systemr|)r0r3rbr=rcr r>rerhrArirjrk<00>lenrlrmrorrrxrzr{r|rRs r rAzAgentManifest.to_dict<63>s<00><00><1D> <09> <09><1F><<3C><<3C><1A>g<EFBFBD>g<EFBFBD>+5<>d<EFBFBD>i<EFBFBD>i<EFBFBD><14>+F<><04> <09> <09><0F><0F>D<EFBFBD>I<EFBFBD>I<EFBFBD>#<23>/<2F>/<2F> <0E>.2<EFBFBD>Z<EFBFBD>Z<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>'<27>'<27>)<29>T<EFBFBD><1D><1A><1A><1E>+<2B>+<2B>#'<27>#7<>#7<> <20><14><1A><1A>_<EFBFBD>!<21>$<24>+<2B>+<2B>.<2E>'*<2A>4<EFBFBD>+?<3F>+?<3F>'@<40><12> <0E>:><3E>9I<39>9I<39>4<EFBFBD>+<2B>+<2B>3<>3<>5<>t<EFBFBD>59<35>^<5E>^<5E><14><1E><1E>/<2F>/<2F>1<><14> <20>M<EFBFBD>M<EFBFBD>"&<26>"5<>"5<><0E>
#<23>o<EFBFBD>o<EFBFBD>"<22>o<EFBFBD>o<EFBFBD><1C> <09> <09><1E>-<2D>-<2D> <0E>3
<EFBFBD>
rc<01>L<00>tj|j<00>|<01><01>S)zExport as JSON string.)<01>indent)<03>json<6F>dumpsrA)r?r<>s r <00>to_jsonzAgentManifest.to_json<6F>s<00><00><13>z<EFBFBD>z<EFBFBD>$<24>,<2C>,<2C>.<2E><16>8<>8rc<01><00><04><05> ddl}|j|j<00>dd<03><04>S#t$rMg<00>dd<08><04>fd<05> <0A>|j<00>j <00>D]\}}<00>||<03><00>dj <00><05>cYSwxYw) zExport as YAML string.rNF)<02>default_flow_style<6C> sort_keysc<01><><00><02>d|z}t|t<00>r<<3C>j|<03>|<00>d<02><03>|j<00>D]\}}<00>|||dz<00><00>yt|t<00>rX<72>j|<03>|<00>d<02><03>|D]<}t|ttf<02>r<00>d||dz<00><00>'<27>j|<03>d|<06><00><03><00>>y<00>j|<03>|<00>d|<01><00><04>y)Nz <20>:<3A>rz - z: )r=r<><00>append<6E>itemsrF) r0r@r<><00>prefix<69>k<>v<>item<65> add_section<6F>liness <20><>r r<>z*AgentManifest.to_yaml.<locals>.add_section<6F>s<><00><><00><1D><06><1D><06><1D>d<EFBFBD>D<EFBFBD>)<29><19>L<EFBFBD>L<EFBFBD>F<EFBFBD>8<EFBFBD>D<EFBFBD>6<EFBFBD><11>!3<>4<> $<24>
<EFBFBD>
<EFBFBD> <0C>6<><04><01>1<EFBFBD>#<23>A<EFBFBD>q<EFBFBD>&<26>1<EFBFBD>*<2A>5<>6<><1F><04>d<EFBFBD>+<2B><19>L<EFBFBD>L<EFBFBD>F<EFBFBD>8<EFBFBD>D<EFBFBD>6<EFBFBD><11>!3<>4<> $<24>@<01><04>%<25>d<EFBFBD>T<EFBFBD>4<EFBFBD>L<EFBFBD>9<>'<27><03>T<EFBFBD>6<EFBFBD>A<EFBFBD>:<3A>><3E>!<21>L<EFBFBD>L<EFBFBD>F<EFBFBD>8<EFBFBD>4<EFBFBD><04>v<EFBFBD>)><3E>?<3F> @<01> <1A>L<EFBFBD>L<EFBFBD>F<EFBFBD>8<EFBFBD>D<EFBFBD>6<EFBFBD><12>D<EFBFBD>6<EFBFBD>!:<3A>;r<00>
)r)r0r/r@r
r<>r4)<06>yaml<6D>dumprA<00> ImportErrorr<72><00>join)r?r<><00>sectionr@r<>r<>s @@r <00>to_yamlzAgentManifest.to_yaml<6D>s<00><><00> $<24> <17><17>9<EFBFBD>9<EFBFBD>T<EFBFBD>\<5C>\<5C>^<5E><05>QV<51>9<EFBFBD>W<> W<><57><1A> $<24><16>E<EFBFBD> <<3C> "&<26><1C><1C><1E>!5<>!5<>!7<> +<2B> <0A><07><14><1B>G<EFBFBD>T<EFBFBD>*<2A> +<2B><18>9<EFBFBD>9<EFBFBD>U<EFBFBD>#<23> #<23>/ $<24>s<00>%*<00>AB<03>?Bc
<01><><00>|jdi<00>}|jdi<00>}|jdi<00>}|jdi<00>}|jdi<00>}|jdi<00>}|jdi<00>}|did|jdd <09><00>d
|jd
d <0B><00>d |jd <0C><00>d |jd tj<00><00>d|jdd<0F><00>d|r tdi|<03><01>ntdtj
<00><00>d|jdg<00><00>d|jdg<00><00>d|jdg<00><00>d|r t di|<05><01>n t <00><00>d|r tdi|<06><01>n t<00><00>d|jdtj<00><00><00>d|jdtj<00><00><00>d|jdtj<00>j<00><00><00>d|jdtj<00>j<00><00><00>d|jdg<00><00>d|jdi<00><00><01>S)z Create manifest from dictionary.r<>rhr9rlrmr<>r|r0<00>Unknownr3rarbrcre<00>r2rirjrkrorrrxrzr{r'r) <0A>getrrr.r"r,rHrUrorrr rurv) <09>clsr@r<><00>
model_data<EFBFBD>caps<70>perf<72>res<65>sys_info<66>metas r <00> from_dictzAgentManifest.from_dict<63>s6<00><00><18>8<EFBFBD>8<EFBFBD>J<EFBFBD><02>+<2B><08><19>X<EFBFBD>X<EFBFBD>g<EFBFBD>r<EFBFBD>*<2A>
<EFBFBD><13>x<EFBFBD>x<EFBFBD><0E><02>+<2B><04><13>x<EFBFBD>x<EFBFBD> <0A>r<EFBFBD>*<2A><04><12>h<EFBFBD>h<EFBFBD>{<7B>B<EFBFBD>'<27><03><17>8<EFBFBD>8<EFBFBD>H<EFBFBD>b<EFBFBD>)<29><08><13>x<EFBFBD>x<EFBFBD>
<EFBFBD>B<EFBFBD>'<27><04><12>
<EFBFBD><19><1C><1C>f<EFBFBD>i<EFBFBD>0<>
<EFBFBD><1C>L<EFBFBD>L<EFBFBD><19>G<EFBFBD>4<>
<EFBFBD><18>|<7C>|<7C>D<EFBFBD>!<21>
<EFBFBD><1A><1C><1C>f<EFBFBD>i<EFBFBD>&:<3A>&:<3A>;<3B> 
<EFBFBD>
!<21> <0C> <0C>]<5D>B<EFBFBD>7<> 
<EFBFBD> .8<EFBFBD>)<29>)<29>j<EFBFBD>)<29>Y<EFBFBD>y<EFBFBD>R_<52>Rf<52>Rf<52>=g<><67> 
<EFBFBD><17>(<28>(<28>7<EFBFBD>B<EFBFBD>'<27>
<EFBFBD><18>8<EFBFBD>8<EFBFBD>H<EFBFBD>b<EFBFBD>)<29>
<EFBFBD>!<21>H<EFBFBD>H<EFBFBD>%6<><02>;<3B>
<EFBFBD>7;<3B>*<2A>2<>T<EFBFBD>2<>@R<>@T<><54>
<EFBFBD>03<30>n<EFBFBD>+<2B>s<EFBFBD>+<2B><0E>8H<38><48>
<EFBFBD><1E>\<5C>\<5C>*<2A>h<EFBFBD>.?<3F>.?<3F>.A<>B<>
<EFBFBD>$<24><<3C><<3C>(8<>(<28>:Q<>:Q<>:S<>T<>
<EFBFBD><1C>x<EFBFBD>x<EFBFBD> <0C>h<EFBFBD>o<EFBFBD>o<EFBFBD>.?<3F>.I<>.I<>.K<>L<>
<EFBFBD><1C>x<EFBFBD>x<EFBFBD> <0C>h<EFBFBD>o<EFBFBD>o<EFBFBD>.?<3F>.I<>.I<>.K<>L<>
<EFBFBD> <16><18><18>&<26>"<22>%<25>!
<EFBFBD>"<1A>X<EFBFBD>X<EFBFBD>h<EFBFBD><02>+<2B>#
<EFBFBD>
rc<01>J<00>|jtj|<01><00>S)z!Create manifest from JSON string.)r<>r<><00>loads)r<><00>json_strs r <00> from_jsonzAgentManifest.from_json<6F>s<00><00><13>}<7D>}<7D>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><08>1<>2<>2rc<01><><00> ddl}|j|<01>}|j|<03>S#t$r td<03><00>wxYw)z!Create manifest from YAML string.rNz PyYAML required for YAML parsing)r<><00> safe_loadr<64>r<>)r<><00>yaml_strr<72>r@s r <00> from_yamlzAgentManifest.from_yaml<6D>sE<00><00> B<01> <17><17>><3E>><3E>(<28>+<2B>D<EFBFBD><16>=<3D>=<3D><14>&<26> &<26><><1A> B<01><1D>@<40>A<> A<> B<01>s<00>%(<00>=c<01><><00>|j<00>|dk(r'|jd<02>s|jd<03>rd}nd}|dk(r|j<00>n|j<00>}t j
tj j|<01>xsdd<07><08>t|d <09>5}|j|<03>d
d
d
<EFBFBD>y
#1swYy
xYw) z<>
Save manifest to file.
Args:
filepath: Path to save file
format: "json", "yaml", or "auto" (detect from extension)
<20>auto<74>.yaml<6D>.ymlr<6C>r<><00>.T)<01>exist_ok<6F>wN)
r<EFBFBD><00>endswithr<68>r<><00>os<6F>makedirs<72>path<74>dirname<6D>open<65>write)r?<00>filepath<74>format<61>content<6E>fs r <00>savezAgentManifest.save<76>s<><00><00> <0A><1D><1D><1F> <11>V<EFBFBD> <1B><17> <20> <20><17>)<29>X<EFBFBD>-><3E>-><3E>v<EFBFBD>-F<><1F><06><1F><06>$*<2A>f<EFBFBD>$4<>$<24>,<2C>,<2C>.<2E>$<24>,<2C>,<2C>.<2E><07>
<EFBFBD> <0B> <0B>B<EFBFBD>G<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>-<2D>4<><13>t<EFBFBD>D<> <11>(<28>C<EFBFBD> <20> <1D>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>G<EFBFBD> <1C> <1D> <1D> <1D>s <00>&C<03>C
c<01><><00>t|d<01>5}|j<00>}ddd<02>|jd<03>s|jd<04>r|j<03>S|j <03>S#1swY<00>MxYw)zLoad manifest from file.<2E>rNr<4E>r<>)r<><00>readr<64>r<>r<>)r<>r<>r<>r<>s r <00>loadzAgentManifest.load sk<00><00><12>(<28>C<EFBFBD> <20> <1F>A<EFBFBD><17>f<EFBFBD>f<EFBFBD>h<EFBFBD>G<EFBFBD> <1F> <14> <1C> <1C>W<EFBFBD> %<25><18>):<3A>):<3A>6<EFBFBD>)B<><16>=<3D>=<3D><17>)<29> )<29><16>=<3D>=<3D><17>)<29> )<29>  <1F> <1F>s <00>A*<03>*A3c<01><00>d|j|jk7ggiid<02>}t|j<00>t|j<00>}}|djt ||z
<00><00>|djt ||z
<00><00>t|j
<00>t|j
<00>}}|djt ||z
<00><00>|djt ||z
<00><00>|dxs |dxs|d |d<|S)zq
Compare this manifest with another.
Returns:
Dict with differences
T)<06> identical<61>version_changed<65>capabilities_added<65>capabilities_removed<65>performance_changes<65> other_changesr<73>r<>r<>r<>)r3<00>setri<00>extendrFrj)r?<00>other<65>diff<66>
self_tools<EFBFBD> other_tools<6C> self_skills<6C> other_skillss r <00>comparezAgentManifest.compares<00><00><1E>#<23>|<7C>|<7C>u<EFBFBD>}<7D>}<7D><<3C>"$<24>$&<26>#%<25><1F> 
<EFBFBD><04>#&<26>d<EFBFBD>j<EFBFBD>j<EFBFBD>/<2F>3<EFBFBD>u<EFBFBD>{<7B>{<7B>3C<33>K<EFBFBD>
<EFBFBD> <0C> !<21>"<22>)<29>)<29>$<24>{<7B>Z<EFBFBD>/G<>*H<>I<> <0C> #<23>$<24>+<2B>+<2B>D<EFBFBD><1A>k<EFBFBD>1I<31>,J<>K<>%(<28><04> <0B> <0B>$4<>c<EFBFBD>%<25>,<2C>,<2C>6G<36>\<5C> <0B> <0C> !<21>"<22>)<29>)<29>$<24>|<7C>k<EFBFBD>/I<>*J<>K<> <0C> #<23>$<24>+<2B>+<2B>D<EFBFBD><1B>|<7C>1K<31>,L<>M<> <11>"<22> #<23> )<29> <10>%<25> &<26> )<29> <10>'<27> (<28>
<EFBFBD><04>[<5B><19> <14> rrB)rY)r<>r4rCr/)rCr/)r@rDrCr_)r<>r/rCr_)r<>r/rCr_)r<>)r<>r/r<>r/)r<>r/rCr_)r<>r_rCrD))rrrrr0rEr3rbrrrcrerrhrFrirjrkrHrlrUrmrorrrxrzr{r<>r|r<>r<>rAr<>r<><00> classmethodr<64>r<>r<>r<>r<>r<>rrr r_r_Ps<><00><00>"<22>!<21>D<EFBFBD>#<23> <20><1A>G<EFBFBD>S<EFBFBD><1A><1C>B<EFBFBD> <0A><1C><1F>*<2A>*<2A>D<EFBFBD>)<29>*<2A>H<>K<EFBFBD><13>H<><1D>.<06><07>E<EFBFBD>9<EFBFBD><07> <1D>T<EFBFBD>2<>E<EFBFBD>9<EFBFBD>2<><1D>d<EFBFBD>3<>F<EFBFBD>I<EFBFBD>3<>!&<26>t<EFBFBD>!<<3C>O<EFBFBD>Y<EFBFBD><<3C>',<2C><N<>&O<>K<EFBFBD>#<23>O<> %<25>n<EFBFBD> E<>I<EFBFBD>~<7E>E<><1A>*E<>F<>H<EFBFBD>c<EFBFBD>F<><1F>0Q<30>R<>N<EFBFBD>C<EFBFBD>R<><1C>,Q<>R<>J<EFBFBD><03>R<><1B>,Q<>R<>J<EFBFBD><03>R<><1B>D<EFBFBD>1<>D<EFBFBD>)<29>1<>$<24>T<EFBFBD>:<3A>H<EFBFBD>n<EFBFBD>:<3A>
><3E>8<>!
<EFBFBD>F9<>$<24><<11>
<EFBFBD><11>
<EFBFBD><<11>3<><11>3<><11>B<01><11>B<01><1D>,<11>*<2A><11>*<2A> rr_c<01><><00>eZdZdZd<02>Zdej fdd<04>Zddd<05>Zdd<06>Z dd<07>Z
dd<08>Z dd <09>Z dd
<EFBFBD>Z d <0B>Zd <0C>Zdd <0A>Zd<0E>Zdd<0F>Zy)<1B>ManifestBuilderz%Builder for creating agent manifests.c<01>"<00>t<00>|_yrP)r_<00> _manifestrRs r <00>__init__zManifestBuilder.__init__>s <00><00>&<26><1F><04>rr<>c<01><><00>||j_||j_||j_||j_|S)zSet identity information.)r<>r0r3rerc)r?r0r3rercs r r<>zManifestBuilder.identityAs7<00><00>"<22><04><0E><0E><1B>!(<28><04><0E><0E><1E>%0<><04><0E><0E>"<22>"<22><04><0E><0E><1B><13> rc<01>B<00>t||||<04><01>|j_|S)zSet model information.<2E>r0r1r3r5)r.r<>rh)r?r0r1r3r5s r rhzManifestBuilder.modelIs&<00><00>(<28><15><1D><1B>)<29> 
<EFBFBD><04><0E><0E><1C> <14> rc<01><><00>||jjvr%|jjj|<01>|S)zAdd a tool capability.)r<>rir<>)r?<00>tools r <00>add_toolzManifestBuilder.add_toolSs1<00><00> <0F>t<EFBFBD>~<7E>~<7E>+<2B>+<2B> +<2B> <10>N<EFBFBD>N<EFBFBD> <20> <20> '<27> '<27><04> -<2D><13> rc<01>6<00>|D]}|j|<02><00>|S)zAdd multiple tool capabilities.)r<>)r?rir<>s r <00> add_toolszManifestBuilder.add_toolsYs"<00><00><19> <20>D<EFBFBD> <10>M<EFBFBD>M<EFBFBD>$<24> <1F> <20><13> rc<01><><00>||jjvr%|jjj|<01>|S)zAdd a skill capability.)r<>rjr<>)r?<00>skills r <00> add_skillzManifestBuilder.add_skill_s1<00><00> <10><04><0E><0E>-<2D>-<2D> -<2D> <10>N<EFBFBD>N<EFBFBD> !<21> !<21> (<28> (<28><15> /<2F><13> rc<01>6<00>|D]}|j|<02><00>|S)z Add multiple skill capabilities.)r<>)r?rjr<>s r <00>
add_skillszManifestBuilder.add_skillses"<00><00><1B> "<22>E<EFBFBD> <10>N<EFBFBD>N<EFBFBD>5<EFBFBD> !<21> "<22><13> rc<01><><00>||jjvr%|jjj|<01>|S)zAdd a knowledge area.)r<>rkr<>)r?<00>areas r <00> add_knowledgezManifestBuilder.add_knowledgeks1<00><00> <0F>t<EFBFBD>~<7E>~<7E>5<>5<> 5<> <10>N<EFBFBD>N<EFBFBD> *<2A> *<2A> 1<> 1<>$<24> 7<><13> rc <01><><00>|j<00>D]G\}}t|jj|<02>s<01>'t |jj||<03><00>I|S)zSet performance metrics.)r<><00>hasattrr<72>rl<00>setattr<74>r?<00>kwargs<67>keyr>s r rlzManifestBuilder.performanceqsN<00><00> <20>,<2C>,<2C>.<2E> @<01>J<EFBFBD>C<EFBFBD><15><16>t<EFBFBD>~<7E>~<7E>1<>1<>3<EFBFBD>7<><17><04><0E><0E>2<>2<>C<EFBFBD><15>?<3F> @<01><14> rc <01><><00>|j<00>D]G\}}t|jj|<02>s<01>'t |jj||<03><00>I|S)zSet resource limits.)r<>r<>r<>rmr<>r<>s r rmzManifestBuilder.resourcesxsL<00><00> <20>,<2C>,<2C>.<2E> ><3E>J<EFBFBD>C<EFBFBD><15><16>t<EFBFBD>~<7E>~<7E>/<2F>/<2F><13>5<><17><04><0E><0E>0<>0<>#<23>u<EFBFBD>=<3D> ><3E><14> rc<01><><00>||jjvr%|jjj|<01>|S)z
Add a tag.)r<>r{r<>)r?<00>tags r r<>zManifestBuilder.tags1<00><00> <0E>d<EFBFBD>n<EFBFBD>n<EFBFBD>)<29>)<29> )<29> <10>N<EFBFBD>N<EFBFBD> <1F> <1F> &<26> &<26>s<EFBFBD> +<2B><13> rc <01>P<00>|jjj|<01>|S)zAdd custom metadata.)r<>r|<00>update)r?r<>s r r|zManifestBuilder.metadata<74>s<00><00> <0C><0E><0E><1F><1F>&<26>&<26>v<EFBFBD>.<2E><13> rc<01>N<00>|jj<00>|jS)zBuild and return the manifest.)r<>r<>rRs r <00>buildzManifestBuilder.build<6C>s<00><00> <0C><0E><0E>'<27>'<27>)<29><13>~<7E>~<7E>rN)r0r/r3r/rer/rcr)r<>r)r0r/r1r"r3r/r5r4)r<>r/)rir8)r<>r/)rjr8)r<>r/)r<>r/<00>rCr_)rrrrr<>rrr<>rhr<>r<>r<>r<>r<>rlrmr<>r|rrrr r<>r<>;sV<00><00>/<2F>)<29>DF<01>Yb<59>Ym<59>Ym<59><14><14><14> <14> <14> <14> <14> <14><14><14> <14>
rr<>c<01><><00>t<00>jdddtj<00><04>j dt
j dd<07><08>jgd <09><01>jgd
<EFBFBD><01>jd <0B>jd <0C>jd <0A>jd<0E>jd<0F>jdd<11><12>j<00>S)zGet the default AP manifest.r`rard)r0r3rercz hermes-agent<6E>latesti<00>r<>)<05> file_reader<65> file_writer<65> code_executor<6F>
web_search<EFBFBD>
api_client)<05>code_generation<6F> code_analysis<69> documentation<6F>problem_solving<6E>planning<6E>computer_science<63>software_engineering<6E>system_administrationz multi-modalz code-focusedzallegro-primusz1.0)<02> framework<72>capabilities_version) r<>r<>rrrhr"r,r<>r<>r<>r<>r|rrrr <00>get_default_manifestr<00>s<><00><00> <1A> <1C> %<25> %<25> <1D><17>E<> <16> !<21> !<21> &<26> <06>
 <0C>e<EFBFBD> <1B><1E>%<25>%<25><18><1D>  <0C><06>
<10>i<EFBFBD><06><07> <12>z<EFBFBD><06><07> <15>}<7D>'<27><06><13>m<EFBFBD>*<2A><06><13>m<EFBFBD>+<2B><06> <09>c<EFBFBD>-<2D><06> <09>c<EFBFBD>.<2E><06><0E>h<EFBFBD>"<22>"<22><0F><06> <0C>e<EFBFBD>g<EFBFBD>=r<00>__main__z=== Agent Manifest (JSON) ===z
=== Agent Manifest (YAML) ===r) r<00>
__future__rr<>r<>ro<00> dataclassesrrr<00>typingrrr r
r r <00>enumr rr"r.rHrUr_r<>rr<00>manifest<73>printr<74>r<>rrr <00><module>rs<00><01><04>#<23> <0B> <09><0F>0<>0<>3<>3<><1D><15><18><04><18><16>D<EFBFBD><16> <0B> <14> <14> <0B> <14> <0B> <1C> <1C> <0B> <1C> <0B> <1C> <1C> <0B> <1C> <0B>g<14>g<14> <0B>g<14>TR<1E>R<1E>l <0E>F <0C>z<EFBFBD><19>#<23>%<25>H<EFBFBD> <09>
)<29>*<2A> <09>(<28>
<1A>
<1A>
<1C><1D> <09>
+<2B>,<2C> <09>(<28>
<1A>
<1A>
<1C><1D>r