Files
timmy-config/wizards/allegro-primus/knowledge/__pycache__/cli.cpython-312.pyc

177 lines
28 KiB
Plaintext
Raw Normal View History

2026-03-31 20:02:01 +00:00
<EFBFBD>
C <09>i<EFBFBD>I<00><00>h<00>dZddlZddlZddlZddlmZddlmZddlmZm Z ejjde ee <0A>j<00><00>ddlmZmZmZmZddlmZddlmZdd lmZd
efd <0B>Zd <0C>Zd <0A>Zd<0E>Zd<0F>Zd<10>Zd<11>Z d<12>Z!d<13>Z"d<14>Z#d<15>Z$d<16>Z%d<17>Z&d<18>Z'd<19>Z(d<1A>Z)e*dk(re)<29>yy)a=
AP Knowledge Base - Command Line Interface
Commands:
add-memory Add a new memory
search-memories Search for memories
show-memory Display a specific memory
edit-memory Edit an existing memory
delete-memory Delete a memory
archive-memory Archive a memory
list-memories List all memories
consolidate Consolidate similar memories
export Export memories
import Import memories
sync Sync with father
stats Show statistics
visualize Visualize knowledge graph
<EFBFBD>N)<01>Path)<01>datetime)<02>Optional<61>List)<04> MemoryEntry<72> MemoryQuery<72>
MemoryType<EFBFBD> MemoryScope)<01>MemoryDirectory)<01>KnowledgeGraph)<01>
FatherSync<EFBFBD>returnc<00>r<00>tj<00>dz dz }|jdd<03><04>t|<00>S)z#Get or create the memory directory.z.ap<61> knowledgeT)<02>parents<74>exist_ok)r<00>home<6D>mkdirr )<01>base_dirs <20>cli.py<70>
get_memdirr%s2<00><00><13>y<EFBFBD>y<EFBFBD>{<7B>U<EFBFBD>"<22>[<5B>0<>H<EFBFBD> <0C>N<EFBFBD>N<EFBFBD>4<EFBFBD>$<24>N<EFBFBD>/<2F> <1A>8<EFBFBD> $<24>$<24>c <00><><00>t<00>}|js)td<01>g} |jt <00><00><00>t|j|jxs |jt|j<00>t|j<00>|j|jxsg|jxsd|j xsd<04><05>}|j#|<03>}td|<04><00><02>td|j$<00><00><02>td|jj&<00><00><02>td d
j |j<00>xsd <0B><00><02>|j)|d <0C> <0A>}|rItdt+|<05><00>d<0F><03>|ddD](}td|j<00>d|j$<00>d<14><05><00>*yy#t
$rYnwxYwdj |<02>|_<00><01><>)zAdd a new memory.z(Enter memory content (Ctrl+D when done):<3A>
<EFBFBD>cli<6C><00>?)<08>name<6D> description<6F>type<70>scope<70>content<6E>tags<67>source<63>
confidenceu✓ Memory saved: z ID: z Type: z Tags: <20>, <20>(none)gffffff<66>?)<01> thresholdu
⚠ Note: z similar memories exist:N<>z - <20> (<28>))rr!<00>print<6E>append<6E>input<75>EOFError<6F>joinrrrr rr
r r"r#r$<00>save<76>id<69>value<75> find_similar<61>len)<07>args<67>memdir<69>lines<65>entry<72>path<74>similar<61>mems r<00>cmd_add_memoryr<,s<><00><00> <17>\<5C>F<EFBFBD> <10><<3C><<3C> <0A>8<>9<><12><05> <11><16><15> <0C> <0C>U<EFBFBD>W<EFBFBD>%<25><17> <18> <11>Y<EFBFBD>Y<EFBFBD><18>$<24>$<24>1<><04> <09> <09> <17><04> <09> <09> "<22><19>$<24>*<2A>*<2A>%<25><14> <0C> <0C> <11>Y<EFBFBD>Y<EFBFBD>_<EFBFBD>"<22><13>{<7B>{<7B>#<23>e<EFBFBD><17>?<3F>?<3F>)<29>c<EFBFBD> <06>E<EFBFBD> <12>;<3B>;<3B>u<EFBFBD> <1D>D<EFBFBD> <09> <1E>t<EFBFBD>f<EFBFBD>
%<25>&<26> <09>F<EFBFBD>5<EFBFBD>8<EFBFBD>8<EFBFBD>*<2A>
<1D><1E> <09>H<EFBFBD>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>%<25>%<25>&<26>
'<27>(<28> <09>H<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>*<2A>6<>h<EFBFBD>7<>
8<EFBFBD>9<><15>!<21>!<21>%<25>3<EFBFBD>!<21>7<>G<EFBFBD><0E> <0A> <0C>S<EFBFBD><17>\<5C>N<EFBFBD>*B<>C<>D<><1A>2<EFBFBD>A<EFBFBD>;<3B> 0<>C<EFBFBD> <11>D<EFBFBD><13><18><18>
<EFBFBD>"<22>S<EFBFBD>V<EFBFBD>V<EFBFBD>H<EFBFBD>A<EFBFBD>.<2E> /<2F> 0<><0F><>/<18> <11> <10> <11><><1B>y<EFBFBD>y<EFBFBD><15>'<27><04> <0C>s<00>F2<00>2 F><03>=F>c <00><00>t<00>}t|jxsd|jr#|jD<00>cgc] }t |<02><00><02>c}nd|j
r#|j
D<00>cgc] }t |<03><00><02>c}nd|j |j|j|jxsd|j|jxsd|jxsd<05><06>
}|j|<04>}|s td<07>ytdt|<05><00>d <09><03>|D]<5D>\}}|j!<00>d
kDrd n|j!<00>d kDrd nd}t|<08>d|jj"d<10>d|j$<00><00><05>td|j&<00>d|d<14>d|j)<00><00>d<16><07>td|j*<00><00><02>|j r'tddj-|j <00><00><00><02>t<00><00><>ycc}wcc}w)zSearch for memories.<2E>Ng<00>
<00> relevance)
<EFBFBD>text<78>types<65>scopesr"<00>tags_allr#<00>min_confidence<63> max_age_days<79>limit<69>sort_byz&No memories found matching your query.<2E>Found z memories:
g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?u🟢g<00>?u🟡u🔴z [<5B>12<31>] z ID: z
| Score: <20>.2fz | Age: <20>dz z Tags: r%)rr<00>queryrr r r"rDr#rE<00>max_agerG<00>sort<72>searchr+r4<00>freshness_scorer2rr1<00>age_daysrr/) r5r6<00>t<>srN<00>resultsr8<00>score<72> freshnesss r<00>cmd_search_memoriesrYTs<><00><00> <17>\<5C>F<EFBFBD> <17> <11>Z<EFBFBD>Z<EFBFBD> <1D>2<EFBFBD>48<34>I<EFBFBD>I<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>0<><11>z<EFBFBD>!<21>}<7D>0<>4<EFBFBD>6:<3A>j<EFBFBD>j<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>2<>!<21>
<EFBFBD>1<EFBFBD> <0A>2<>d<EFBFBD> <11>Y<EFBFBD>Y<EFBFBD><15><1D><1D><13>{<7B>{<7B><1B>*<2A>*<2A>1<>c<EFBFBD><19>\<5C>\<5C><12>j<EFBFBD>j<EFBFBD><1E>B<EFBFBD><14> <09> <09>(<28>[<5B> <06>E<EFBFBD><15>m<EFBFBD>m<EFBFBD>E<EFBFBD>"<22>G<EFBFBD> <12> <0A>6<>7<><0E> <09>F<EFBFBD>3<EFBFBD>w<EFBFBD><<3C>.<2E> <0C>
-<2D>.<2E><1F><10> <0C><05>u<EFBFBD>#<23>3<>3<>5<><03>;<3B>F<EFBFBD>5<EFBFBD>K`<60>K`<60>Kb<4B>eh<65>Kh<4B><16>nt<6E> <09> <0A><19> <0B>2<EFBFBD>e<EFBFBD>j<EFBFBD>j<EFBFBD>.<2E>.<2E>r<EFBFBD>2<>"<22>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>L<EFBFBD>A<>B<> <0A><07><05><08><08>z<EFBFBD><1A>E<EFBFBD>#<23>;<3B>h<EFBFBD>u<EFBFBD>~<7E>~<7E>?O<>>P<>PQ<50>R<>S<> <0A><03>E<EFBFBD>%<25>%<25>&<26>'<27>(<28> <10>:<3A>:<3A> <11>I<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD><05>
<EFBFBD>
<EFBFBD>3<>4<>5<> 6<> <0A><07><10><>'1<><31>2s <00>H
<EFBFBD>)H c
<00><><00>t<00>}|j|j<00>}|s-td|j<00><00><02>t j
d<02>td|j <00><00><02>td|j<00><00><02>td|jj<00><00><02>td|jj<00><00><02>td|j<00><00><02>td|j<00><00><02>td |j<00>d
<EFBFBD><03>td |j<00><00><02>td |j<00><00><02>td dj|j <00>xsd<0F><00><02>t<00>t|j"<00>t%|j&<00>}|j)|jd<10><11>}|r<>td<12>|ddD]z}|j*|jk(r |j,n |j*}|j|<06>}|s<01>Htd|jj<00>d|j <00>d|<06>d<18><07><00>|yy)zDisplay a specific memory.<2E>Memory not found: <20>z# zID: zType: zScope: z Created: z
Modified: z
Accessed: z timeszSource: z Confidence: zTags: r%r&<00>both)<01> directionz
## Related MemoriesN<73>z [rKr)r*)r<00>getr1r+<00>sys<79>exitrrr2r <00>
created_at<EFBFBD> modified_at<61> access_countr#r$r/r"r!r r<00>get_relationships<70> source_id<69> target_id)r5r6r8<00>graph<70>related<65>rel<65>other_id<69>others r<00>cmd_show_memoryrnws<><00><00> <17>\<5C>F<EFBFBD> <12>J<EFBFBD>J<EFBFBD>t<EFBFBD>w<EFBFBD>w<EFBFBD> <1F>E<EFBFBD> <10> <0A>"<22>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>,<2C>-<2D> <0B><08><08><11> <0B> <09>B<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>l<EFBFBD>
<1B><1C> <09>D<EFBFBD><15><18><18>
<EFBFBD>
<1B><1C> <09>F<EFBFBD>5<EFBFBD>:<3A>:<3A>#<23>#<23>$<24>
%<25>&<26> <09>G<EFBFBD>E<EFBFBD>K<EFBFBD>K<EFBFBD>%<25>%<25>&<26>
'<27>(<28> <09>I<EFBFBD>e<EFBFBD>&<26>&<26>'<27>
(<28>)<29> <09>J<EFBFBD>u<EFBFBD>(<28>(<28>)<29>
*<2A>+<2B> <09>J<EFBFBD>u<EFBFBD>)<29>)<29>*<2A>&<26>
1<EFBFBD>2<> <09>H<EFBFBD>U<EFBFBD>\<5C>\<5C>N<EFBFBD>
#<23>$<24> <09>L<EFBFBD><15>)<29>)<29>*<2A>
+<2B>,<2C> <09>F<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>(<28>4<>H<EFBFBD>5<>
6<EFBFBD>7<> <09>G<EFBFBD> <09>%<25>-<2D>-<2D><18> <1B>6<EFBFBD>?<3F>?<3F> +<2B>E<EFBFBD><13>%<25>%<25>e<EFBFBD>h<EFBFBD>h<EFBFBD>&<26>%<25>A<>G<EFBFBD><0E> <0A>%<25>&<26><1A>2<EFBFBD>A<EFBFBD>;<3B> I<01>C<EFBFBD>(+<2B> <0A> <0A><15><18><18>(A<>s<EFBFBD>}<7D>}<7D>s<EFBFBD>}<7D>}<7D>H<EFBFBD><1A>J<EFBFBD>J<EFBFBD>x<EFBFBD>(<28>E<EFBFBD><14><15><03>C<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>N<EFBFBD>+<2B>2<EFBFBD>e<EFBFBD>j<EFBFBD>j<EFBFBD>\<5C><12>H<EFBFBD>:<3A>Q<EFBFBD>G<>H<>  I<01>rc<00>2<00>t<00>}|j|j<00>}|s-td|j<00><00><02>t j
d<02>|j r|j |_|jr|j|_|jr|j|_|jrt|j<00>|_ |jr|j|_ |j|<02>td|j<00><00><02>y)zEdit an existing memory.r[r\u✓ Memory updated: N) rr`r1r+rarbrrr!rr r"r0)r5r6r8s r<00>cmd_edit_memoryrp<00>s<><00><00> <17>\<5C>F<EFBFBD> <12>J<EFBFBD>J<EFBFBD>t<EFBFBD>w<EFBFBD>w<EFBFBD> <1F>E<EFBFBD> <10> <0A>"<22>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>,<2C>-<2D> <0B><08><08><11> <0B> <0B>y<EFBFBD>y<EFBFBD><19>Y<EFBFBD>Y<EFBFBD><05>
<EFBFBD> <0B><17><17> <20>,<2C>,<2C><05><19> <0B>|<7C>|<7C><1C> <0C> <0C><05> <0A> <0B>y<EFBFBD>y<EFBFBD><1F><04> <09> <09>*<2A><05>
<EFBFBD> <0B>y<EFBFBD>y<EFBFBD><19>Y<EFBFBD>Y<EFBFBD><05>
<EFBFBD>
<EFBFBD>K<EFBFBD>K<EFBFBD><05><16> <09> <20><15><18><18>
<EFBFBD>
+<2B>,rc<00>b<00>t<00>}|js8td|j<00>d<02><03>}|j <00>dk7r t d<04>y|j |j<00>rt d|j<00><00><02>yt d|j<00><00><02>tjd<08>y) zDelete a memory.zDelete memory z? [y/N] <20>yz
Cancelled.Nu✓ Memory deleted: r[r\) r<00>forcer-r1<00>lowerr+<00>deleterarb)r5r6<00>confirms r<00>cmd_delete_memoryrw<00>s<><00><00> <17>\<5C>F<EFBFBD> <0F>:<3A>:<3A><17>.<2E><14><17><17> <09><18>:<3A>;<3B><07> <12>=<3D>=<3D>?<3F>c<EFBFBD> !<21> <11>,<2C> <1F> <12> <0A>}<7D>}<7D>T<EFBFBD>W<EFBFBD>W<EFBFBD><1D> <0A>$<24>T<EFBFBD>W<EFBFBD>W<EFBFBD>I<EFBFBD>.<2E>/<2F> <0A>"<22>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>,<2C>-<2D> <0B><08><08><11> rc<00><><00>t<00>}|j|j<00>rtd|j<00><00><02>ytd|j<00><00><02>t j
d<03>y)zArchive a memory.u✓ Memory archived: r[r\N)r<00>archiver1r+rarb)r5r6s r<00>cmd_archive_memoryrz<00>sL<00><00> <17>\<5C>F<EFBFBD> <0A>~<7E>~<7E>d<EFBFBD>g<EFBFBD>g<EFBFBD><1E> <0A>%<25>d<EFBFBD>g<EFBFBD>g<EFBFBD>Y<EFBFBD>/<2F>0<> <0A>"<22>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>,<2C>-<2D> <0B><08><08><11> rc
<00>r<00><03>t<00>}t|jj<00><00>}|jr2|D<00>cgc]'}|jj
|jvs<01>&|<03><02>)}}|j r2|D<00>cgc]'}|j j
|j vs<01>&|<03><02>)}}|jr/|D<00><03>cgc]#<00>t<00>fd<01>|jD<00><00>s<01>"<22><03><02>%}}|jdk(r|jd<03>d<04><05>nZ|jdk(r|jd<07>d<04><05>n6|jdk(r|jd <09><00>
<EFBFBD>n|jd <0B><00>
<EFBFBD>|jr|d |j}td t|<02><00>d<0E><03>|D]<5D>}|j<00>}|dk(rdn|<05>d<11>}td|jj
d<13>d|jd dd<16>d|<06>d<18><07>td|jd d<00>t|j<00>dkDrdnd<1C><00><03><00><>y cc}wcc}wcc}w)zList all memories.c3<00>:<00>K<00>|]}|<01>jv<00><01><00>y<00>w<01>N)r")<03>.0rT<00>es <20>r<00> <genexpr>z$cmd_list_memories.<locals>.<genexpr><3E>s<00><><00><><00>,K<>Q<EFBFBD>Q<EFBFBD>!<21>&<26>&<26>[<5B>,K<>s<00><01>datec<00><00>|jSr})rc<00>rs r<00><lambda>z#cmd_list_memories.<locals>.<lambda><3E>s
<00><00>1<EFBFBD><<3C><<3C>rT)<02>key<65>reverse<73>accessc<00><00>|jSr})rer<>s rr<>z#cmd_list_memories.<locals>.<lambda><3E>s
<00><00>1<EFBFBD>><3E>><3E>rrc<00>6<00>|jj<00>Sr})rrtr<>s rr<>z#cmd_list_memories.<locals>.<lambda><3E>s<00><00>1<EFBFBD>6<EFBFBD>6<EFBFBD><<3C><<3C>><3E>r)r<>c<00>"<00>|j<00>Sr})rSr<>s rr<>z#cmd_list_memories.<locals>.<lambda><3E>s <00><00>1<EFBFBD>:<3A>:<3A><<3C>rNzTotal: z
memories
r<00>todayzd ago<67>[rJrK<00>(<00>40r)r*<00> <20><z...r>)r<00>list<73> _memories<65>valuesrr2r <00>tag<61>anyrPrGr+r4rSrr)r5r6<00>entriesrr8<00>age<67>age_strs ` r<00>cmd_list_memoriesr<73><00>s<><00><><00> <17>\<5C>F<EFBFBD><12>6<EFBFBD>#<23>#<23>*<2A>*<2A>,<2C>-<2D>G<EFBFBD> <0B>y<EFBFBD>y<EFBFBD>%<25>C<><11><11><16><16><1C><1C><14><19><19>)B<>1<EFBFBD>C<><07>C<> <0B>z<EFBFBD>z<EFBFBD>%<25>E<><11><11><17><17><1D><1D>$<24>*<2A>*<2A>)D<>1<EFBFBD>E<><07>E<> <0B>x<EFBFBD>x<EFBFBD>%<25>L<><11><13>,K<>$<24>(<28>(<28>,K<>)K<>1<EFBFBD>L<><07>L<> <0C>y<EFBFBD>y<EFBFBD>F<EFBFBD><1A><0F> <0C> <0C>/<2F><14> <0C>><3E> <0A><19><19>h<EFBFBD> <1E><0F> <0C> <0C>1<>4<EFBFBD> <0C>@<40> <0A><19><19>f<EFBFBD> <1C><0F> <0C> <0C>1<> <0C>2<><0F> <0C> <0C>/<2F> <0C>0<> <0B>z<EFBFBD>z<EFBFBD><19>+<2B>4<EFBFBD>:<3A>:<3A>&<26><07> <09>G<EFBFBD>C<EFBFBD><07>L<EFBFBD>><3E><1B>
-<2D>.<2E><18>[<01><05><13>n<EFBFBD>n<EFBFBD><1E><03> <20>A<EFBFBD>X<EFBFBD>'<27>c<EFBFBD>U<EFBFBD>%<25>=<3D><07> <0A><01>%<25>*<2A>*<2A>"<22>"<22>2<EFBFBD>&<26>b<EFBFBD><15><1A><1A>C<EFBFBD>R<EFBFBD><1F><12>(<<3C>B<EFBFBD>w<EFBFBD>i<EFBFBD>q<EFBFBD>I<>J<> <0A><02>5<EFBFBD>$<24>$<24>S<EFBFBD>b<EFBFBD>)<29>*<2A>C<EFBFBD><05>8I<38>8I<38>4J<34>R<EFBFBD>4O<34>5<EFBFBD>UW<55>*X<>Y<>Z<> [<01><>+D<01><>E<><45>Ls#<00>'H*<04>'H*<04>='H/<04>%H/<04><#H4<04> H4c<00>r<00>t<00>}td<01>|j|j<00><02>}|s td<03>ytdt |<02><00>d<06><03>|D]+\}}td|j
<00>d|j
<00>d <09><05><00>-|jr td
<EFBFBD>ytd t |<02><00>d <0C><03>y) zConsolidate similar memories.z Scanning for similar memories...)<01>dry_runz,No similar memories found for consolidation.NrIz pairs to consolidate:u • 'u' → merged into '<27>'z
(Dry run - no changes made)u
✓ Consolidated z memory pairs)rr+<00> consolidater<65>r4r)r5r6<00>merged<65>old<6C>news r<00>cmd_consolidater<65><00>s<><00><00> <17>\<5C>F<EFBFBD> <09>
,<2C>-<2D> <13> <1F> <1F><04> <0C> <0C> <1F> 5<>F<EFBFBD> <11> <0A><<3C>=<3D><0E> <09>F<EFBFBD>3<EFBFBD>v<EFBFBD>;<3B>-<2D>5<>
6<EFBFBD>7<><1A>B<01><08><03>S<EFBFBD> <0A><07><03><08><08>z<EFBFBD>!4<>S<EFBFBD>X<EFBFBD>X<EFBFBD>J<EFBFBD>a<EFBFBD>@<40>A<>B<01> <0C>|<7C>|<7C> <0A>-<2D>.<2E> <0A>#<23>C<EFBFBD><06>K<EFBFBD>=<3D> <0A>><3E>?rc<00>t<00>t<00>}|j<00>}|jrt|j<00>}n2t j
<00>j d<01>}td|<04>d<03><03>}|jtj|d<04><05>d<06><07>td|d j<00><00>d
|<03><00><04>y ) zExport memories.z %Y%m%d_%H%M%S<>ap_knowledge_export_z.json<6F>)<01>indentzutf-8)<01>encodingu ✓ Exported <20>memoriesz memories to N) r<00>
export_all<EFBFBD>outputrr<00>utcnow<6F>strftime<6D>
write_text<EFBFBD>json<6F>dumpsr+<00>__len__)r5r6<00>data<74> output_path<74> timestamps r<00>
cmd_exportr<EFBFBD>s<><00><00> <17>\<5C>F<EFBFBD> <11> <1C> <1C> <1E>D<EFBFBD> <0B>{<7B>{<7B><1A>4<EFBFBD>;<3B>;<3B>'<27> <0B><1C>O<EFBFBD>O<EFBFBD>%<25>.<2E>.<2E><EFBFBD>?<3F> <09><1A>1<>)<29><1B>E<EFBFBD>B<>C<> <0B><0F><1A><1A>4<EFBFBD>:<3A>:<3A>d<EFBFBD>1<EFBFBD>5<><07><1A>H<> <09>M<EFBFBD>$<24>z<EFBFBD>*<2A>2<>2<>4<>5<>]<5D>;<3B>-<2D>
P<EFBFBD>Qrc<00><00>t<00>}tjt|j<00>j <00><00>}|j ||j<00><01>\}}td|<03>d<03><03>|rtd|<04>d<05><03>yy)zImport memories.)<01> overwriteu ✓ Imported z memoriesz
Skipped z, (already exist, use --overwrite to replace)N) rr<><00>loadsr<00>file<6C> read_text<78> import_datar<61>r+)r5r6r<><00>imported<65>skippeds r<00>
cmd_importr<EFBFBD>sq<00><00> <17>\<5C>F<EFBFBD> <0F>:<3A>:<3A>d<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>o<EFBFBD>/<2F>/<2F>1<> 2<>D<EFBFBD><1E>*<2A>*<2A>4<EFBFBD>4<EFBFBD>><3E>><3E>*<2A>J<><15>H<EFBFBD>g<EFBFBD> <09>M<EFBFBD>(<28><1A>9<EFBFBD>
-<2D>.<2E><0E> <0A>
<EFBFBD>7<EFBFBD>)<29>#O<>P<>Q<>rc<00><00>t<00>}t|<01>}|jry|j<00>}t d<01>t d|dxsd<04><00><02>t d|dxsd<04><00><02>t d|d<00><00><02>t d |d
<00><00><02>t d |d <00><00><02>y |j
rM|j |jrt|j<00>nd |j <00><0E>}t d|<04><00><02>|jrK|j|j<00><10>\}}}t d|<05>d|<06><00><04>|rt dt|<07><00>d<14><03>|jr/|j|j xsd<15><16>}t d|<04><00><02>y y )zSync with father.z Sync Status:z Last export: <20> last_export<72>Neverz Last import: <20> last_importz Pending exports: <20>pending_exportsz Pending imports: <20>pending_importsz Unresolved conflicts: <20>unresolved_conflictsN)r <00>since_last_exportu✓ Exported to: )<01> auto_resolveu✓ Imported: z , Skipped: u⚠ z conflicts need resolutionr>)<01>notesu✓ Package created: )rr <00>status<75> sync_statusr+<00>export<72>export_for_fatherr r
<00>full<6C>import_<74>import_from_fatherr<72>r4<00>package<67>create_father_packager<65>)r5r6<00>syncr<63>r9r<>r<><00> conflictss r<00>cmd_syncr<63>$s<><00><00> <17>\<5C>F<EFBFBD> <15>f<EFBFBD> <1D>D<EFBFBD> <0B>{<7B>{<7B><15>!<21>!<21>#<23><06> <0A>n<EFBFBD><1D> <0A><0F><06>}<7D> 5<> @<40><17>A<>B<>C<> <0A><0F><06>}<7D> 5<> @<40><17>A<>B<>C<> <0A>#<23>F<EFBFBD>+<<3C>$=<3D>#><3E>?<3F>@<40> <0A>#<23>F<EFBFBD>+<<3C>$=<3D>#><3E>?<3F>@<40> <0A>(<28><16>0F<30>)G<>(H<>I<>J<><0E> <0B>{<7B>{<7B><13>%<25>%<25>-1<>Z<EFBFBD>Z<EFBFBD>+<2B>d<EFBFBD>j<EFBFBD>j<EFBFBD>)<29>T<EFBFBD>"&<26>)<29>)<29>m<EFBFBD>&<26>
<EFBFBD><04> <0E>!<21>$<24><16>(<28>)<29> <0B>|<7C>|<7C>'+<2B>'><3E>'><3E>D<EFBFBD>L]<5D>L]<5D>'><3E>'^<5E>$<24><08>'<27>9<EFBFBD> <0A><0E>x<EFBFBD>j<EFBFBD> <0B>G<EFBFBD>9<EFBFBD>=<3D>><3E> <14> <11>D<EFBFBD><13>Y<EFBFBD><1E>(<28>(B<>C<> D<> <0B>|<7C>|<7C><13>)<29>)<29><04>
<EFBFBD>
<EFBFBD>0@<40>b<EFBFBD>)<29>A<><04> <0A>%<25>d<EFBFBD>V<EFBFBD>,<2C>-<2D>rc<00>l<00>t<00>}|j<00>}td<01>t<00>td|d<00><00><02>td|d<00><00><02>t<00>td<06>|dj<00>D]\}}td|d <09>d
|<04><00><04><00>t<00>td <0B>|d j<00>D]\}}td|d <09>d
|<04><00><04><00>t<00>td <0A>|dj<00>D]\}}td|d <09>d
|<04><00><04><00>t<00>td|dd<11>d<12><03>td|dd<15><04><02>t |j
<00>}|j<00>}t<00>td<16>td|d<00><00><02>td|d<00><00><02>td|dd<1D><04><02>y)zShow statistics.z# AP Knowledge Base StatisticszTotal memories: <20>total_memorieszTotal relationships: <20>total_relationshipsz
## By Type<70>by_typer<65>rJz: z ## By Scope<70>by_scopez ## By Source<63> by_sourcez Average age: <20> avg_age_daysz.1fz dayszAverage confidence: <20>avg_confidencerLz## Knowledge Graphz Nodes: <20> total_nodesz Edges: <20> total_edgesz Avg clustering: <20>avg_clusteringz.3fN)r<00> get_statsr+<00>itemsr r) r5r6<00>stats<74>mem_type<70>countr r#ri<00> graph_statss r<00> cmd_statsr<73>Es<><00><00> <17>\<5C>F<EFBFBD> <12> <1C> <1C> <1E>E<EFBFBD> <09>
*<2A>+<2B> <09>G<EFBFBD> <09> <1C>U<EFBFBD>#3<>4<>5<>
6<EFBFBD>7<> <09> !<21>%<25>(=<3D>"><3E>!?<3F>
@<40>A<> <09>G<EFBFBD> <09>,<2C><17> <20><19>+<2B>1<>1<>3<>+<2B><0F><08>%<25> <0A><02>8<EFBFBD>B<EFBFBD>-<2D>r<EFBFBD>%<25><17>)<29>*<2A>+<2B> <09>G<EFBFBD> <09>-<2D><18><1D>j<EFBFBD>)<29>/<2F>/<2F>1<>(<28> <0C><05>u<EFBFBD> <0A><02>5<EFBFBD><12>*<2A>B<EFBFBD>u<EFBFBD>g<EFBFBD>&<26>'<27>(<28> <09>G<EFBFBD> <09>.<2E><19><1E>{<7B>+<2B>1<>1<>3<>)<29> <0A><06><05> <0A><02>6<EFBFBD>"<22>+<2B>R<EFBFBD><05>w<EFBFBD>'<27>(<28>)<29> <09>G<EFBFBD> <09>M<EFBFBD>%<25><0E>/<2F><03>4<>E<EFBFBD>
:<3A>;<3B> <09> <20><15>'7<>!8<><13> =<3D>
><3E>?<3F> <1B>6<EFBFBD>?<3F>?<3F> +<2B>E<EFBFBD><17>/<2F>/<2F>#<23>K<EFBFBD> <09>G<EFBFBD> <09>
<1E><1F> <09>I<EFBFBD>k<EFBFBD>-<2D>0<>1<>
2<EFBFBD>3<> <09>I<EFBFBD>k<EFBFBD>-<2D>0<>1<>
2<EFBFBD>3<> <09> <1E>{<7B>+;<3B><<3C>S<EFBFBD>A<>
B<EFBFBD>Crc<00>p<00>t<00>}t|j<00>} |j<00>}t d|<03><00><02>y#t
$r8}t d|<04><00><02>t d<03>t jd<04>Yd}~yd}~wt$r-}t d|<04><00><02>t jd<04>Yd}~yd}~wwxYw)zVisualize knowledge graph.u✓ Visualization saved: zError: z*Install matplotlib: pip install matplotlibr\NzError creating visualization: ) rr r<00> visualizer+<00> ImportErrorrarb<00> Exception)r5r6rir9rs r<00> cmd_visualizer<65>hs<><00><00> <17>\<5C>F<EFBFBD> <1A>6<EFBFBD>?<3F>?<3F> +<2B>E<EFBFBD> <14><14><EFBFBD><EFBFBD> <20><04> <0A>)<29>$<24><16>0<>1<><31> <16><14> <0A><07><01>s<EFBFBD>m<EFBFBD><1C> <0A>:<3A>;<3B> <0B><08><08><11> <0B> <0B><> <14><14> <0A>.<2E>q<EFBFBD>c<EFBFBD>2<>3<> <0B><08><08><11> <0B> <0B><><14>s#<00>A<00> B5<03> .A<<03>< B5<03>#B0<03>0B5c<00>^<00>t<00>}t|j<00>}ddlm}|j |j |j||j<00>|jxsd|jxsd<04><05>td|j <00>d|j<00>d|j<00><00><06>y )
z'Create a relationship between memories.r)<01>RelationshipTyper>r)rgrh<00>rel_typer<00>strengthu✓ Created relationship: z --[z]--> N) rr r<00> memory_typesr<73><00>add_relationshipr#<00>targetrrr<>r+)r5r6rir<>s r<00>
cmd_relater<EFBFBD>ys<><00><00> <17>\<5C>F<EFBFBD> <1A>6<EFBFBD>?<3F>?<3F> +<2B>E<EFBFBD>-<2D> <09><1A><1A><16>+<2B>+<2B><16>+<2B>+<2B>!<21>$<24>)<29>)<29>,<2C><18>$<24>$<24>*<2A><02><15><1D><1D>%<25>#<23> <1B><06>
<EFBFBD> &<26>t<EFBFBD>{<7B>{<7B>m<EFBFBD>4<EFBFBD><04> <09> <09>{<7B>%<25><04> <0B> <0B>}<7D>
U<EFBFBD>Vrc<00><> <00>tjdd<02><03>}|jdd<05><06>}|jdd<08> <09>}|j d
d d d <0A><0E>|j ddd<11> <09>|j ddgd<14>dd<16><17>|j ddddgdd<1C><17>|j ddd<1F> <09>|j d d!d"d#<23>$<24>|j d%d&<26> <09>|j d't
d(<28>)<29>|j t<00>*<2A>|jd+d,<2C> <09>}|j d-d.d/<2F>0<EFBFBD>|j dgd<14>d"d1<64>2<EFBFBD>|j dddgd"d3<64>2<EFBFBD>|j d d!d"d4<64>$<24>|j d5d!d"d6<64>$<24>|j d%d7<64> <09>|j d8t
d9<64>)<29>|j d:td;<3B>)<29>|j d<d=td>d?<3F>@<40>|j dAgdB<64>dCdD<64><17>|j t<00>*<2A>|jdEdF<64> <09>}|j dGdH<64> <09>|j t<00>*<2A>|jdIdJ<64> <09>}|j dGdH<64> <09>|j d
dK<EFBFBD> <09>|j ddL<64> <09>|j ddM<64> <09>|j dgd<14>dN<64>O<EFBFBD>|j d d"dP<64>0<EFBFBD>|j t<00>*<2A>|jdQdR<64> <09>}|j dGdH<64> <09>|j dSdTdUdV<64>W<EFBFBD>|j t<00>*<2A>|jdXdY<64> <09>}|j dGdH<64> <09>|j t<00>*<2A>|jdZd[<5B> <09>}|j dgd<14>d"d1<64>2<EFBFBD>|j dddgd"d3<64>2<EFBFBD>|j d\d"d]<5D>0<EFBFBD>|j dAgd^<5E>d_dD<64><17>|j d<d=td`<60>)<29>|j t<00>*<2A>|jdadb<64> <09>} | j dcd dUdd<64>W<EFBFBD>| j t<00>*<2A>|jdedf<64> <09>}
|
j dgdhdi<64> <09>|
j t <00>*<2A>|jdjdk<64> <09>} | j dldm<64> <09>| j dndUdo<64>W<EFBFBD>| j t"<00>*<2A>|jdpdq<64> <09>} | j drdUds<64>W<EFBFBD>| j dtdUdu<64>W<EFBFBD>| j dvdwdUdx<64>y<EFBFBD>| j dzdUd{<7B>W<EFBFBD>| j dddgd|<7C>O<EFBFBD>| j d}dUd~<7E>W<EFBFBD>| j ddUd<55><64>W<EFBFBD>| j d<>d<EFBFBD><64> <09>| j t$<00>*<2A>|jd<>d<EFBFBD><64> <09>} | j t&<00>*<2A>|jd<>d<EFBFBD><64> <09>}|j t(<00>*<2A>|jd<>d<EFBFBD><64> <09>}|j d<>d<EFBFBD><64> <09>|j d<>d<EFBFBD><64> <09>|j dd gd<><64>d<><64><EFBFBD><EFBFBD>|j dd<><64> <09>|j d<>t
d<>d<EFBFBD><64>@<40>|j t*<00>*<2A>|j-<00>}|j.<00>%|j1<00>t3j4d<><64>|j7|<10>y)<29>Nzap-kbz2AP Knowledge Base - Manage Allegro-Primus memories)<02>progr<00>command<6E>Commands)<02>dest<73>helpz
add-memoryzAdd a new memory)r<>z--namez-nTz Memory name)<02>requiredr<64>z --descriptionz-dzOne-line descriptionz--typez-t)<04>fact<63> procedure<72> observation<6F>lessonr<6E>z Memory type)<03>choices<65>defaultr<74>z--scopez-s<>private<74>teamz Memory scopez --contentz-cz#Memory content (or read from stdin)z--tags<67>TAG<41>+<2B>Tags)<03>metavar<61>nargsr<73>z--sourcezSource of memoryz --confidencezConfidence score (0-1))rr<>)<01>funcrQzSearch memoriesrN<00>?z Search query)rr<>zFilter by type)r<>rr<>zFilter by scopezFilter by tags (any)z
--tags-allzFilter by tags (all)zFilter by sourcez--min-confidencezMinimum confidencez --max-agezMaximum age in daysz--limitz-lr?zMaximum results)rr<>r<>z--sort)r@r<>rXr<>r@z
Sort order<65>showz Show a memoryr1z Memory ID<49>editz Edit a memoryzNew namezNew descriptionz New contentzNew type)r<>r<>zNew tagsruzDelete a memoryz--forcez-f<>
store_truezSkip confirmation)<02>actionr<6E>ryzArchive a memoryr<79>z List memoriesz--tagz Filter by tag)r<>r<>r<>rr<>z Limit resultsr<73>zConsolidate similar memoriesz --dry-runz*Show what would be merged without doing itr<74>zExport memoriesz--outputz-ozOutput file path<74>importzImport memoriesr<73>zImport file pathz --overwritezOverwrite existing memoriesr<73>zSync with fatherz--statuszShow sync statusz--exportzExport for fatherz--importr<74>zImport from father)r<>r r<>z --packagez"Create complete package for fatherzScope for exportz--fullz!Full export (not just since last)z--auto-resolvezAuto-resolve import conflictsz--noteszNotes for father packager<65>zShow statisticsr<73>zVisualize knowledge graph<70>relatez$Create relationship between memoriesr#zSource memory IDr<44>zTarget memory ID)rj<00>
depends_on<EFBFBD>
supersedes<EFBFBD> derived_from<6F>conflicts_withzRelationship type)r<>r<>r<>zRelationship descriptionz
--strengthrzRelationship strengthr\)<1C>argparse<73>ArgumentParser<65>add_subparsers<72>
add_parser<EFBFBD> add_argument<6E>float<61> set_defaultsr<<00>intrYrnrprwrzr<>r<>r<>r<>r<>r<>r<>r<><00>
parse_argsr<EFBFBD><00>
print_helprarbr)<11>parser<65>
subparsers<EFBFBD>add_p<5F>search_p<5F>show_p<5F>edit_p<5F>del_p<5F> archive_p<5F>list_p<5F>cons_p<5F>export_p<5F>import_p<5F>sync_p<5F>stats_p<5F>viz_p<5F>relate_pr5s r<00>mainr,<00>sc<00><00> <15> $<24> $<24> <14>H<><06>F<EFBFBD><18>&<26>&<26>I<EFBFBD>J<EFBFBD>&<26>G<>J<EFBFBD> <17> !<21> !<21>,<2C>5G<35> !<21> H<>E<EFBFBD> <09><16><16>x<EFBFBD><14><04>=<3D><16>I<> <09><16><16><EFBFBD><04>3I<33><16>J<> <09><16><16>x<EFBFBD><14>/]<5D>%<25>M<EFBFBD><17>;<3B> <09><16><16>y<EFBFBD>$<24><19>F<EFBFBD>0C<30>(<28>~<7E><17>?<3F> <09><16><16>{<7B>D<EFBFBD>/T<><16>U<> <09><16><16>x<EFBFBD><15>c<EFBFBD><06><16>G<> <09><16><16>z<EFBFBD>(:<3A><16>;<3B> <09><16><16>~<7E>E<EFBFBD>8P<38><16>Q<> <09><16><16>N<EFBFBD><16>+<2B><1A>$<24>$<24>X<EFBFBD>4E<34>$<24>F<>H<EFBFBD> <0C><19><19>'<27><13>><3E><19>B<> <0C><19><19>(<28>,Z<> #<23>*:<3A><1A><<3C> <0C><19><19>)<29>i<EFBFBD><16>-@<40> #<23>*;<3B><1A>=<3D> <0C><19><19>(<28>E<EFBFBD><13>CY<43><19>Z<> <0C><19><19>,<2C><05>S<EFBFBD>G]<5D><19>^<5E> <0C><19><19>*<2A>+=<3D><19>><3E> <0C><19><19>,<2C>5<EFBFBD>?S<><19>T<> <0C><19><19>+<2B>C<EFBFBD>6K<36><19>L<> <0C><19><19>)<29>T<EFBFBD><03>R<EFBFBD>FW<46><19>X<> <0C><19><19>(<28>,X<>"-<2D>L<EFBFBD><1A>B<01> <0C><19><19>2<><19>3<><18> "<22> "<22>6<EFBFBD><0F> "<22> @<40>F<EFBFBD>
<EFBFBD><17><17><04>;<3B><17>/<2F>
<EFBFBD><17><17>_<EFBFBD><17>-<2D><18> "<22> "<22>6<EFBFBD><0F> "<22> @<40>F<EFBFBD>
<EFBFBD><17><17><04>;<3B><17>/<2F>
<EFBFBD><17><17><08>z<EFBFBD><17>2<>
<EFBFBD><17><17><0F>.?<3F><17>@<40>
<EFBFBD><17><17> <0B>-<2D><17>8<>
<EFBFBD><17><17><08>*X<>'<27><18>)<29>
<EFBFBD><17><17><08><03>*<2A><17>=<3D>
<EFBFBD><17><17>_<EFBFBD><17>-<2D> <17> !<21> !<21>(<28>1B<31> !<21> C<>E<EFBFBD> <09><16><16>t<EFBFBD>+<2B><16>.<2E> <09><16><16>y<EFBFBD>$<24>|<7C>BU<42><16>V<> <09><16><16>-<2D><16>.<2E><1B>%<25>%<25>i<EFBFBD>6H<36>%<25>I<>I<EFBFBD> <0A><1A><1A>4<EFBFBD>k<EFBFBD><1A>2<> <0A><1A><1A> 2<><1A>3<><18> "<22> "<22>6<EFBFBD><0F> "<22> @<40>F<EFBFBD>
<EFBFBD><17><17><08>*X<>!<21>(8<><18>:<3A>
<EFBFBD><17><17> <09>I<EFBFBD>v<EFBFBD>+><3E>!<21>(9<><18>;<3B>
<EFBFBD><17><17><07>s<EFBFBD><1F><17>A<>
<EFBFBD><17><17><08>*K<> &<26>\<5C><18>;<3B>
<EFBFBD><17><17> <09>4<EFBFBD>c<EFBFBD><0F><17>H<>
<EFBFBD><17><17>.<2E><17>/<2F><18> "<22> "<22>=<3D>7U<37> "<22> V<>F<EFBFBD>
<EFBFBD><17><17> <0B>T<EFBFBD>,<2C>I<><18>K<01>
<EFBFBD><17><17>_<EFBFBD><17>-<2D><1A>$<24>$<24>X<EFBFBD>4E<34>$<24>F<>H<EFBFBD> <0C><19><19>*<2A>d<EFBFBD>1C<31><19>D<> <0C><19><19>z<EFBFBD><19>*<2A><1A>$<24>$<24>X<EFBFBD>4E<34>$<24>F<>H<EFBFBD> <0C><19><19>&<26>'9<><19>:<3A> <0C><19><19>-<2D> <0C><<3C><1A>><3E> <0C><19><19>z<EFBFBD><19>*<2A><18> "<22> "<22>6<EFBFBD>0B<30> "<22> C<>F<EFBFBD>
<EFBFBD><17><17>
<EFBFBD><<3C>>P<><17>Q<>
<EFBFBD><17><17>
<EFBFBD><<3C>>Q<><17>R<>
<EFBFBD><17><17>
<EFBFBD><19><<3C>1<><18>3<>
<EFBFBD><17><17> <0B>L<EFBFBD>A<><18>C<01>
<EFBFBD><17><17> <09>I<EFBFBD>v<EFBFBD>+><3E>/<2F><18>1<>
<EFBFBD><17><17><08><1C>@<40><18>B<01>
<EFBFBD><17><17>(<28><1C><<3C><18>><3E>
<EFBFBD><17><17> <09>(B<><17>C<>
<EFBFBD><17><17>X<EFBFBD><17>&<26><19>#<23>#<23>G<EFBFBD>2C<32>#<23>D<>G<EFBFBD> <0B><18><18>i<EFBFBD><18>(<28> <17> !<21> !<21>+<2B>4O<34> !<21> P<>E<EFBFBD> <09><16><16>M<EFBFBD><16>*<2A><1A>$<24>$<24>X<EFBFBD>4Z<34>$<24>[<5B>H<EFBFBD> <0C><19><19>(<28>);<3B><19><<3C> <0C><19><19>(<28>);<3B><19><<3C> <0C><19><19>(<28>T<EFBFBD>"k<>2<><1A>4<> <0A><19><19>/<2F>0J<30><19>K<> <0C><19><19>,<2C>U<EFBFBD>C<EFBFBD>F]<5D><19>^<5E> <0C><19><19>z<EFBFBD><19>*<2A> <11> <1C> <1C> <1E>D<EFBFBD> <0B>|<7C>|<7C><1B><0E><19><19><1B> <0B><08><08><11> <0B><08>I<EFBFBD>I<EFBFBD>d<EFBFBD>Or<00>__main__)+<2B>__doc__rar<>r<00>pathlibrr<00>typingrrr9<00>insert<72>str<74>__file__<5F>parentr<74>rrr r
r6r <00>knowledge_graphr r<>r rr<rYrnrprwrzr<>r<>r<>r<>r<>r<>r<>r<>r,<00>__name__<5F>rr<00><module>r8s<><00><01><04>& <0B> <0B><0F><18><1D>!<21><04><08><08><0F><0F><01>3<EFBFBD>t<EFBFBD>H<EFBFBD>~<7E>,<2C>,<2C>-<2D>.<2E>J<>J<>"<22>*<2A><1B>%<25>O<EFBFBD>%<25>%0<>P <10>FI<01>D-<2D>0<14>"<14> [<01>F@<01>. R<01>
R<01>.<2E>B D<01>F<14>"W<01>$I<14>X <0C>z<EFBFBD><19><08>F<EFBFBD>r