npcsh 1.1.18__py3-none-any.whl → 1.1.20__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. npcsh/_state.py +19 -7
  2. npcsh/benchmark/npcsh_agent.py +47 -16
  3. npcsh/config.py +1 -0
  4. npcsh/diff_viewer.py +452 -0
  5. npcsh/npc_team/jinxs/bin/config_tui.jinx +300 -0
  6. npcsh/npc_team/jinxs/bin/jinxs.jinx +407 -0
  7. npcsh/npc_team/jinxs/bin/kg.jinx +941 -0
  8. npcsh/npc_team/jinxs/bin/memories.jinx +317 -0
  9. npcsh/npc_team/jinxs/bin/models.jinx +343 -0
  10. npcsh/npc_team/jinxs/bin/nql.jinx +380 -50
  11. npcsh/npc_team/jinxs/bin/setup.jinx +241 -0
  12. npcsh/npc_team/jinxs/bin/sync.jinx +143 -150
  13. npcsh/npc_team/jinxs/bin/team.jinx +504 -0
  14. npcsh/npc_team/jinxs/incognide/add_tab.jinx +1 -1
  15. npcsh/npc_team/jinxs/incognide/close_pane.jinx +1 -1
  16. npcsh/npc_team/jinxs/incognide/close_tab.jinx +1 -1
  17. npcsh/npc_team/jinxs/incognide/confirm.jinx +1 -1
  18. npcsh/npc_team/jinxs/incognide/focus_pane.jinx +1 -1
  19. npcsh/npc_team/jinxs/incognide/list_panes.jinx +1 -1
  20. npcsh/npc_team/jinxs/incognide/navigate.jinx +1 -1
  21. npcsh/npc_team/jinxs/incognide/notify.jinx +1 -1
  22. npcsh/npc_team/jinxs/incognide/open_pane.jinx +1 -1
  23. npcsh/npc_team/jinxs/incognide/read_pane.jinx +1 -1
  24. npcsh/npc_team/jinxs/incognide/run_terminal.jinx +1 -1
  25. npcsh/npc_team/jinxs/incognide/send_message.jinx +1 -1
  26. npcsh/npc_team/jinxs/incognide/split_pane.jinx +1 -1
  27. npcsh/npc_team/jinxs/incognide/switch_npc.jinx +1 -1
  28. npcsh/npc_team/jinxs/incognide/switch_tab.jinx +1 -1
  29. npcsh/npc_team/jinxs/incognide/write_file.jinx +1 -1
  30. npcsh/npc_team/jinxs/incognide/zen_mode.jinx +1 -1
  31. npcsh/npc_team/jinxs/lib/core/search/db_search.jinx +1 -1
  32. npcsh/npc_team/jinxs/lib/core/search/file_search.jinx +1 -1
  33. npcsh/npc_team/jinxs/lib/core/search/kg_search.jinx +1 -1
  34. npcsh/npc_team/jinxs/lib/core/search/mem_search.jinx +1 -1
  35. npcsh/npc_team/jinxs/lib/core/search/web_search.jinx +1 -1
  36. npcsh/npc_team/jinxs/lib/research/paper_search.jinx +1 -1
  37. npcsh/npc_team/jinxs/lib/research/semantic_scholar.jinx +1 -1
  38. npcsh/npc_team/jinxs/modes/alicanto.jinx +1 -1
  39. npcsh/npc_team/jinxs/modes/arxiv.jinx +1 -1
  40. npcsh/npc_team/jinxs/modes/corca.jinx +1 -1
  41. npcsh/npc_team/jinxs/modes/guac.jinx +4 -6
  42. npcsh/npc_team/jinxs/modes/plonk.jinx +1 -1
  43. npcsh/npc_team/jinxs/modes/pti.jinx +1 -1
  44. npcsh/npc_team/jinxs/modes/reattach.jinx +1 -1
  45. npcsh/npc_team/jinxs/modes/spool.jinx +1 -1
  46. npcsh/npc_team/jinxs/modes/wander.jinx +1 -1
  47. npcsh/routes.py +8 -2
  48. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/add_tab.jinx +1 -1
  49. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/alicanto.jinx +1 -1
  50. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/arxiv.jinx +1 -1
  51. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/close_pane.jinx +1 -1
  52. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/close_tab.jinx +1 -1
  53. npcsh-1.1.20.data/data/npcsh/npc_team/config_tui.jinx +300 -0
  54. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/confirm.jinx +1 -1
  55. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/corca.jinx +1 -1
  56. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/db_search.jinx +1 -1
  57. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/file_search.jinx +1 -1
  58. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/focus_pane.jinx +1 -1
  59. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/guac.jinx +4 -6
  60. npcsh-1.1.20.data/data/npcsh/npc_team/jinxs.jinx +407 -0
  61. npcsh-1.1.20.data/data/npcsh/npc_team/kg.jinx +941 -0
  62. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/kg_search.jinx +1 -1
  63. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/list_panes.jinx +1 -1
  64. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/mem_search.jinx +1 -1
  65. npcsh-1.1.20.data/data/npcsh/npc_team/memories.jinx +317 -0
  66. npcsh-1.1.20.data/data/npcsh/npc_team/models.jinx +343 -0
  67. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/navigate.jinx +1 -1
  68. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/notify.jinx +1 -1
  69. npcsh-1.1.20.data/data/npcsh/npc_team/nql.jinx +471 -0
  70. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/open_pane.jinx +1 -1
  71. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/paper_search.jinx +1 -1
  72. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/plonk.jinx +1 -1
  73. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/pti.jinx +1 -1
  74. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/read_pane.jinx +1 -1
  75. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/reattach.jinx +1 -1
  76. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/run_terminal.jinx +1 -1
  77. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/semantic_scholar.jinx +1 -1
  78. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/send_message.jinx +1 -1
  79. npcsh-1.1.20.data/data/npcsh/npc_team/setup.jinx +241 -0
  80. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/split_pane.jinx +1 -1
  81. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/spool.jinx +1 -1
  82. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/switch_npc.jinx +1 -1
  83. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/switch_tab.jinx +1 -1
  84. npcsh-1.1.20.data/data/npcsh/npc_team/sync.jinx +223 -0
  85. npcsh-1.1.20.data/data/npcsh/npc_team/team.jinx +504 -0
  86. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/wander.jinx +1 -1
  87. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/web_search.jinx +1 -1
  88. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/write_file.jinx +1 -1
  89. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/zen_mode.jinx +1 -1
  90. {npcsh-1.1.18.dist-info → npcsh-1.1.20.dist-info}/METADATA +21 -14
  91. npcsh-1.1.20.dist-info/RECORD +248 -0
  92. {npcsh-1.1.18.dist-info → npcsh-1.1.20.dist-info}/entry_points.txt +7 -0
  93. npcsh/npc_team/jinxs/lib/utils/jinxs.jinx +0 -331
  94. npcsh-1.1.18.data/data/npcsh/npc_team/jinxs.jinx +0 -331
  95. npcsh-1.1.18.data/data/npcsh/npc_team/nql.jinx +0 -141
  96. npcsh-1.1.18.data/data/npcsh/npc_team/sync.jinx +0 -230
  97. npcsh-1.1.18.dist-info/RECORD +0 -235
  98. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/alicanto.npc +0 -0
  99. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/alicanto.png +0 -0
  100. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/benchmark.jinx +0 -0
  101. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/browser_action.jinx +0 -0
  102. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/browser_screenshot.jinx +0 -0
  103. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/build.jinx +0 -0
  104. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/chat.jinx +0 -0
  105. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/click.jinx +0 -0
  106. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/close_browser.jinx +0 -0
  107. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/cmd.jinx +0 -0
  108. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/compile.jinx +0 -0
  109. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/compress.jinx +0 -0
  110. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/convene.jinx +0 -0
  111. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/corca.npc +0 -0
  112. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/corca.png +0 -0
  113. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/corca_example.png +0 -0
  114. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/delegate.jinx +0 -0
  115. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/edit_file.jinx +0 -0
  116. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/frederic.npc +0 -0
  117. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/frederic4.png +0 -0
  118. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/guac.npc +0 -0
  119. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/guac.png +0 -0
  120. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/help.jinx +0 -0
  121. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/incognide.jinx +0 -0
  122. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/init.jinx +0 -0
  123. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/kadiefa.npc +0 -0
  124. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/kadiefa.png +0 -0
  125. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/key_press.jinx +0 -0
  126. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/launch_app.jinx +0 -0
  127. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/load_file.jinx +0 -0
  128. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/mem_review.jinx +0 -0
  129. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/npcsh.ctx +0 -0
  130. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  131. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/open_browser.jinx +0 -0
  132. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/ots.jinx +0 -0
  133. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/paste.jinx +0 -0
  134. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/plonk.npc +0 -0
  135. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/plonk.png +0 -0
  136. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/plonkjr.npc +0 -0
  137. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/plonkjr.png +0 -0
  138. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/python.jinx +0 -0
  139. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/roll.jinx +0 -0
  140. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sample.jinx +0 -0
  141. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/screenshot.jinx +0 -0
  142. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/search.jinx +0 -0
  143. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/serve.jinx +0 -0
  144. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/set.jinx +0 -0
  145. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sh.jinx +0 -0
  146. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/shh.jinx +0 -0
  147. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sibiji.npc +0 -0
  148. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sibiji.png +0 -0
  149. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sleep.jinx +0 -0
  150. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/spool.png +0 -0
  151. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/sql.jinx +0 -0
  152. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/switch.jinx +0 -0
  153. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/switches.jinx +0 -0
  154. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/teamviz.jinx +0 -0
  155. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/trigger.jinx +0 -0
  156. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/type_text.jinx +0 -0
  157. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/usage.jinx +0 -0
  158. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/verbose.jinx +0 -0
  159. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/vixynt.jinx +0 -0
  160. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/wait.jinx +0 -0
  161. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/yap.jinx +0 -0
  162. {npcsh-1.1.18.data → npcsh-1.1.20.data}/data/npcsh/npc_team/yap.png +0 -0
  163. {npcsh-1.1.18.dist-info → npcsh-1.1.20.dist-info}/WHEEL +0 -0
  164. {npcsh-1.1.18.dist-info → npcsh-1.1.20.dist-info}/licenses/LICENSE +0 -0
  165. {npcsh-1.1.18.dist-info → npcsh-1.1.20.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,248 @@
1
+ npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ npcsh/_state.py,sha256=Wlt28r-aI5ePnCVwA4Y8byGF2nxVNtC4-dXg1T0Aq1E,151802
3
+ npcsh/alicanto.py,sha256=xIm2Om1QlTcckvh5NQqrs-2HrEXF378dQcoOD7FRjhk,2392
4
+ npcsh/build.py,sha256=xYYyy3GD0iLWGpZ3rqrephYjYW1Bt39xZyKqXrWSzSo,7663
5
+ npcsh/completion.py,sha256=IOjt7MHnIQgeVub6eJ0q3kooRfYtvRjgUXQHtH8Shjw,5573
6
+ npcsh/config.py,sha256=3OQ11mwR-ZAOIest9ZjyLM6ICgpUQDLZpOhOqdOHrrk,5552
7
+ npcsh/conversation_viewer.py,sha256=ynP0S1WP6tzM8K-ZRGHAQ94z7dMBFkvNbczSUO2fB0g,12850
8
+ npcsh/corca.py,sha256=jlrK7QnO08dxPqJR8uto9ebceLIPFV3f3QjOhnPFxkc,1558
9
+ npcsh/diff_viewer.py,sha256=jw_1xHoGrjFCmBzB7qP9zAIIanVgG-b7mxVzLQLE-HI,15959
10
+ npcsh/execution.py,sha256=Rd9Qt365CI_9S9-IvRBGEYImlMsM7hb1CkTVs-445fs,5259
11
+ npcsh/guac.py,sha256=d4n16mCqKkJ5JrQM0CxBgTtbUY8rac7qsMtjXvUh12k,1332
12
+ npcsh/mcp_helpers.py,sha256=2whJgdwIYhAFzgvskya2_uJkUyqVWC3rLHwYfVolHzg,11164
13
+ npcsh/mcp_server.py,sha256=9gVZ9rqUaOgGkbHlcU567JgrwKqnnDucDVtB1KufgbY,8434
14
+ npcsh/npc.py,sha256=NPfkEyRv6fOtlPI1WHfQr5Ofetc2hRcKl82i_CKqcKM,11641
15
+ npcsh/npcsh.py,sha256=OECs5OBFPjVUAxek5pPfNB0zBfqhJpJwI0IR0e8Gklw,18463
16
+ npcsh/parsing.py,sha256=eGATFUkDvHu5pVbh0RswhWEmGjcIsLaDwgxTtPbC9sk,2943
17
+ npcsh/plonk.py,sha256=MUGunZcSq_7LWBzkrJp3SoEYt75szsoXtZfirsQw3EM,1715
18
+ npcsh/pti.py,sha256=8IyU-kCRwYoBxB9877lqLpy87-DEoWMg2CjiJTj9Hhg,1773
19
+ npcsh/routes.py,sha256=Z05fK9jZqt0_Ka0Wcjk1NRt8C65Fg-zGhTEJSjHsO7M,5172
20
+ npcsh/spool.py,sha256=b-AAZdk_fDk7vA-08wc-LO0FJt-yigcUU3ZUXF41V4E,1498
21
+ npcsh/ui.py,sha256=owFTZ7KRvWzyMaEYLfwJVv08hNmg9Yqj5RKNTVIcLeM,7281
22
+ npcsh/wander.py,sha256=zslcHfH-mAmBlSgc1JVNOlss0Ig85hzNkpmBW9W8JYM,2278
23
+ npcsh/yap.py,sha256=QhIr0MyHjznbqfJl9CK93EccN4E7jnlp1QpRzkYc7_c,1583
24
+ npcsh/benchmark/__init__.py,sha256=ljV4XCxPBXYNewcqiGx3oExMm2H_sgCwinDgc4xQOZE,898
25
+ npcsh/benchmark/npcsh_agent.py,sha256=xNr-u_mkLRkVVYgIM2dnaDXiohMWe5rjfeK0GMOULTg,12279
26
+ npcsh/benchmark/runner.py,sha256=dIbPds2V3xTItvTHIGvi8D4cqYNi7uhyvBhjxYWGJsY,20234
27
+ npcsh/benchmark/templates/install-npcsh.sh.j2,sha256=pkhszKhK9AMO6_KYBE-G2vzj4UISzPGy1vFnyILlCdI,977
28
+ npcsh/npc_team/alicanto.npc,sha256=MjCeCKhC4OqKO0Rxa5U_SLEui7Lh8M2hXabcVfqEDhc,1455
29
+ npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
30
+ npcsh/npc_team/corca.npc,sha256=Iu9bRD_OFVYQVyn0PLB_Kp91qzcHiHyo7VwmkXz2S-0,1667
31
+ npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
32
+ npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
33
+ npcsh/npc_team/frederic.npc,sha256=1-TcFRWm5RsSnLoeZG_SN4JUU0Ynu6CzV-h6Wfasjto,1945
34
+ npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
35
+ npcsh/npc_team/guac.npc,sha256=bOMEMXxvL4B-xdGqtq7hWf_gZpdMlo4OqER7c9iBsiM,797
36
+ npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
37
+ npcsh/npc_team/kadiefa.npc,sha256=tg9YZ3dTlXS8CIEb544G5UYvGndPhgdlQoLWRV5j-JY,1758
38
+ npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
39
+ npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
40
+ npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
41
+ npcsh/npc_team/plonk.npc,sha256=z2fd5U0qaymiqHvkunQxCGQ1N2Mx6DMeErcltrJWrqw,1341
42
+ npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
43
+ npcsh/npc_team/plonkjr.npc,sha256=umvWEigYLJBzzqSpF70lbf75612q8LxxGeYHT1Oq21Q,1568
44
+ npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
45
+ npcsh/npc_team/sibiji.npc,sha256=iYv7KXULbyWLPWhFwM7sNbMT4RNHWMvl10bdzmJdRO4,1624
46
+ npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
47
+ npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
48
+ npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
49
+ npcsh/npc_team/jinxs/bin/benchmark.jinx,sha256=W4sMNdjmv1ZZSu1ynsm7GDeTd5mTfhrZ51-TBmZQpYg,6101
50
+ npcsh/npc_team/jinxs/bin/config_tui.jinx,sha256=xt04M4S7vQPT-cKuIMBJujjVwGBXvjnnfeERCNs4Wew,11371
51
+ npcsh/npc_team/jinxs/bin/jinxs.jinx,sha256=64A8euErDU9tb0aIOx8r6uLZvsXUV5U8ABUe2x7cPoY,16220
52
+ npcsh/npc_team/jinxs/bin/kg.jinx,sha256=u3uwuUf55EtYsQE2lFixxRaS7Urng_sCyNKubkDhyWg,43585
53
+ npcsh/npc_team/jinxs/bin/memories.jinx,sha256=Xovr8HZje2FChPlss5ZgphsWjQJPYaAuXoURYxLdO3w,11148
54
+ npcsh/npc_team/jinxs/bin/models.jinx,sha256=1t55bsOP2QXaTQQvu1UwecU2IsxB3os9Y3S6pObuaEk,14398
55
+ npcsh/npc_team/jinxs/bin/nql.jinx,sha256=uSTaWKugPythAoeTTcQ36moJ1QXp0_CepwxYRiFUN-Q,20140
56
+ npcsh/npc_team/jinxs/bin/roll.jinx,sha256=Yp9Hg6_aMfQ1366-kKJ2gLjxXyAauoolRXtJva3KUOg,2172
57
+ npcsh/npc_team/jinxs/bin/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
58
+ npcsh/npc_team/jinxs/bin/setup.jinx,sha256=aVmstYMIb58gOYARpSfoKbbOFOykDL9nBK4tZ78xi9w,10597
59
+ npcsh/npc_team/jinxs/bin/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
60
+ npcsh/npc_team/jinxs/bin/team.jinx,sha256=m3yOx0S5MelJ49dr6H7FUtAGUymNkkBRFUipDtpGisk,20250
61
+ npcsh/npc_team/jinxs/bin/vixynt.jinx,sha256=Zv56WANlzXcuT1PcaftkGcKnHr94PaA80WvN25O8pS8,4284
62
+ npcsh/npc_team/jinxs/incognide/add_tab.jinx,sha256=knJ7uIUVwpPPWZ2Sy4MYf14rwqBnQ-wUk56rZPLDCbk,233
63
+ npcsh/npc_team/jinxs/incognide/close_pane.jinx,sha256=9L72Eb_sJd9AC1c47hq7ogjk8OagOem5yg5hrzrlXVs,271
64
+ npcsh/npc_team/jinxs/incognide/close_tab.jinx,sha256=h5G8xXWnka59LDV-Go2Xk-KVITojnQ4ghup1gUvOnVA,234
65
+ npcsh/npc_team/jinxs/incognide/confirm.jinx,sha256=1xPmu0ocnmysdJcv6PftYe7kwx9h3uyA6ntS5rbgFPk,257
66
+ npcsh/npc_team/jinxs/incognide/focus_pane.jinx,sha256=wGSCQe_yquRPm3i9VQ3QbIKglIa5Fnh94RKdAn5ggZA,229
67
+ npcsh/npc_team/jinxs/incognide/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
68
+ npcsh/npc_team/jinxs/incognide/list_panes.jinx,sha256=AGE9eZ4ftzkFV3_M053AXsL742e3B5ApZ1JXzFz0j9s,262
69
+ npcsh/npc_team/jinxs/incognide/navigate.jinx,sha256=Cz5lSrn3I9yHx2VuV9c038yDLIPlw2WVBt1LxmtUdB0,240
70
+ npcsh/npc_team/jinxs/incognide/notify.jinx,sha256=ZJB37upTsSOLLiVUJQanVQ6ee0jZd4SY7lkufL-zSPQ,236
71
+ npcsh/npc_team/jinxs/incognide/open_pane.jinx,sha256=-rL9VKtSqzPu_lLPLMGTlRwNHqqLH5wN8jfj989fip0,471
72
+ npcsh/npc_team/jinxs/incognide/read_pane.jinx,sha256=80M-ecIDDkgiIuI9lvfp4_ECSFu7Xa3zYDex1HGzRSs,326
73
+ npcsh/npc_team/jinxs/incognide/run_terminal.jinx,sha256=YjkUWtGvfE0ATrPeX-IQ8dVPpN5ChBD29Iq09XVyVfM,243
74
+ npcsh/npc_team/jinxs/incognide/send_message.jinx,sha256=8TYBJxrgBLA2xuIXgXw1qH3X9nYQzFJwpi6CJOk6uFY,236
75
+ npcsh/npc_team/jinxs/incognide/split_pane.jinx,sha256=-taNskdEb3hQEUGFdrrVw_tyAL-g5fHwqhCBfH50RW4,290
76
+ npcsh/npc_team/jinxs/incognide/switch_npc.jinx,sha256=8pQvKa_nZD6DXy7uV9NAi0ff9xWbA0HMFdsEIVyHjZQ,241
77
+ npcsh/npc_team/jinxs/incognide/switch_tab.jinx,sha256=ZUdJdbqs0oSwOuDFiBPAxqN58-VX53gXNINsRjVL50U,239
78
+ npcsh/npc_team/jinxs/incognide/write_file.jinx,sha256=RauswZGoAbSyz44YgWqzHR_jJBLsndstRQ7hLploCeU,285
79
+ npcsh/npc_team/jinxs/incognide/zen_mode.jinx,sha256=_iR9c2yvDIrhd98f5d_8_fNJJi_k9AePejQ_sAZrwTI,228
80
+ npcsh/npc_team/jinxs/lib/browser/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
81
+ npcsh/npc_team/jinxs/lib/browser/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
82
+ npcsh/npc_team/jinxs/lib/browser/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
83
+ npcsh/npc_team/jinxs/lib/browser/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
84
+ npcsh/npc_team/jinxs/lib/computer_use/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
85
+ npcsh/npc_team/jinxs/lib/computer_use/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
86
+ npcsh/npc_team/jinxs/lib/computer_use/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
87
+ npcsh/npc_team/jinxs/lib/computer_use/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
88
+ npcsh/npc_team/jinxs/lib/computer_use/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
89
+ npcsh/npc_team/jinxs/lib/computer_use/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
90
+ npcsh/npc_team/jinxs/lib/computer_use/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
91
+ npcsh/npc_team/jinxs/lib/core/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
92
+ npcsh/npc_team/jinxs/lib/core/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
93
+ npcsh/npc_team/jinxs/lib/core/compress.jinx,sha256=zFYcGyDb4KBhpE5E2EPZZ3c01pgKI5-CnlQOl7lxfn8,6563
94
+ npcsh/npc_team/jinxs/lib/core/edit_file.jinx,sha256=L31cjWFIlTU4PWOAoZTV1SaCT6qkuY_JIOsR9i5fa1U,3707
95
+ npcsh/npc_team/jinxs/lib/core/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
96
+ npcsh/npc_team/jinxs/lib/core/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
97
+ npcsh/npc_team/jinxs/lib/core/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
98
+ npcsh/npc_team/jinxs/lib/core/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
99
+ npcsh/npc_team/jinxs/lib/core/search.jinx,sha256=ZdW4wK_jyCKAQv7h-WRe1tEtgHxr3AHqPdZ60jfRs_A,1236
100
+ npcsh/npc_team/jinxs/lib/core/sh.jinx,sha256=RzpvJ0f3tmmrl7W8mxKBaOFtjmKuEXQjhKYYF_EaeyQ,844
101
+ npcsh/npc_team/jinxs/lib/core/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
102
+ npcsh/npc_team/jinxs/lib/core/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
103
+ npcsh/npc_team/jinxs/lib/core/search/db_search.jinx,sha256=ybNQZ8PG6dVDXYf9yClE9XN25VfAKJlH4aBQqtcWReE,17476
104
+ npcsh/npc_team/jinxs/lib/core/search/file_search.jinx,sha256=V50yVEe0vAdl_D0IPjcl89BeSGE1dsfhWWqy3bYbY3c,16417
105
+ npcsh/npc_team/jinxs/lib/core/search/kg_search.jinx,sha256=bzchZXiTrZou17AWVTYWMPmIeVFyERjfo5_peVxvZOk,21114
106
+ npcsh/npc_team/jinxs/lib/core/search/mem_review.jinx,sha256=glxH4xySb6YEEdqlgqBTQPXiVJ2iN9LKrb2ZczM7P-0,2478
107
+ npcsh/npc_team/jinxs/lib/core/search/mem_search.jinx,sha256=nfi30bZuZRCnhOd1nuZtOOLauNXGqpp0kYy9wRyuo98,19979
108
+ npcsh/npc_team/jinxs/lib/core/search/web_search.jinx,sha256=4YUb8XsCxDs2lRYJYz2RyLj_-bNc1EYx8Wjyh_mbrKg,13434
109
+ npcsh/npc_team/jinxs/lib/orchestration/convene.jinx,sha256=W4-eRFHXpJe7Bt-8uC79wWygj4KUv15DNnGMJA1gJXA,8828
110
+ npcsh/npc_team/jinxs/lib/orchestration/delegate.jinx,sha256=wsFBQfhcAT2o-hg05U_HGhHcJyDWjpdlRJc0g3iE40I,8017
111
+ npcsh/npc_team/jinxs/lib/research/paper_search.jinx,sha256=epZGExFhnGrQHU8o6rmgwOF-f2ydAX3WP0aCyLHEp-E,20605
112
+ npcsh/npc_team/jinxs/lib/research/semantic_scholar.jinx,sha256=jqBkQX55JfcZAiwwlio6hfSLfqlHYyo1cUQW3JWwKkc,21543
113
+ npcsh/npc_team/jinxs/lib/utils/build.jinx,sha256=TOsNjTEGlg5aSoYX_hmzywj3W6hlGPUOq7okmCzzaRg,2555
114
+ npcsh/npc_team/jinxs/lib/utils/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
115
+ npcsh/npc_team/jinxs/lib/utils/help.jinx,sha256=BESlgpCj02ZnLSMGpQJ8YpWMi_Z6eTo8wDet7K0M4I4,2089
116
+ npcsh/npc_team/jinxs/lib/utils/init.jinx,sha256=UPCtj_XKCC51MzuMAAKlWRwhCKfbB9T96P-8fvhquIQ,1315
117
+ npcsh/npc_team/jinxs/lib/utils/serve.jinx,sha256=EXp58rquPHZcJthrScc-NACrrQu2RzVHzPnfZAR_kcE,762
118
+ npcsh/npc_team/jinxs/lib/utils/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
119
+ npcsh/npc_team/jinxs/lib/utils/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
120
+ npcsh/npc_team/jinxs/lib/utils/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
121
+ npcsh/npc_team/jinxs/lib/utils/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
122
+ npcsh/npc_team/jinxs/lib/utils/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
123
+ npcsh/npc_team/jinxs/lib/utils/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
124
+ npcsh/npc_team/jinxs/lib/utils/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
125
+ npcsh/npc_team/jinxs/modes/alicanto.jinx,sha256=KQzitUexO39LJaXhEJQrbSUzoIF5Gr4FUFWjB5IuGUI,14308
126
+ npcsh/npc_team/jinxs/modes/arxiv.jinx,sha256=1EicdbFtAJ29-O_sZo4S_5znYEAMtGqEhrOm0XgMPKg,38138
127
+ npcsh/npc_team/jinxs/modes/corca.jinx,sha256=XCs68hme-qDei1yaVMblyOK_ewk-eNxMUsOqd9aD-wc,18095
128
+ npcsh/npc_team/jinxs/modes/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
129
+ npcsh/npc_team/jinxs/modes/plonk.jinx,sha256=BOWystuASMDWppMIN6tKiRm0uOFyKP4E6kQi2dO4pUA,16062
130
+ npcsh/npc_team/jinxs/modes/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
131
+ npcsh/npc_team/jinxs/modes/reattach.jinx,sha256=4R-SFhuE6LhHRnegR_GL8c4l1ilRBoz3nuSE6jvyWP4,13989
132
+ npcsh/npc_team/jinxs/modes/spool.jinx,sha256=eAK2SSFyIlxmNsn2yhNy6LoTtBLnpz4l8_pQXuGtUzo,14949
133
+ npcsh/npc_team/jinxs/modes/wander.jinx,sha256=_fcliJKQzcG72MsM4835T8daiinzUzc6USU3lhGDIo4,17885
134
+ npcsh/npc_team/jinxs/modes/yap.jinx,sha256=IyfyblJ1jKVYTAsX7w4oRFY8eTj2hHpjnFUft_3eTOo,9881
135
+ npcsh-1.1.20.data/data/npcsh/npc_team/add_tab.jinx,sha256=knJ7uIUVwpPPWZ2Sy4MYf14rwqBnQ-wUk56rZPLDCbk,233
136
+ npcsh-1.1.20.data/data/npcsh/npc_team/alicanto.jinx,sha256=KQzitUexO39LJaXhEJQrbSUzoIF5Gr4FUFWjB5IuGUI,14308
137
+ npcsh-1.1.20.data/data/npcsh/npc_team/alicanto.npc,sha256=MjCeCKhC4OqKO0Rxa5U_SLEui7Lh8M2hXabcVfqEDhc,1455
138
+ npcsh-1.1.20.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
139
+ npcsh-1.1.20.data/data/npcsh/npc_team/arxiv.jinx,sha256=1EicdbFtAJ29-O_sZo4S_5znYEAMtGqEhrOm0XgMPKg,38138
140
+ npcsh-1.1.20.data/data/npcsh/npc_team/benchmark.jinx,sha256=W4sMNdjmv1ZZSu1ynsm7GDeTd5mTfhrZ51-TBmZQpYg,6101
141
+ npcsh-1.1.20.data/data/npcsh/npc_team/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
142
+ npcsh-1.1.20.data/data/npcsh/npc_team/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
143
+ npcsh-1.1.20.data/data/npcsh/npc_team/build.jinx,sha256=TOsNjTEGlg5aSoYX_hmzywj3W6hlGPUOq7okmCzzaRg,2555
144
+ npcsh-1.1.20.data/data/npcsh/npc_team/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
145
+ npcsh-1.1.20.data/data/npcsh/npc_team/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
146
+ npcsh-1.1.20.data/data/npcsh/npc_team/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
147
+ npcsh-1.1.20.data/data/npcsh/npc_team/close_pane.jinx,sha256=9L72Eb_sJd9AC1c47hq7ogjk8OagOem5yg5hrzrlXVs,271
148
+ npcsh-1.1.20.data/data/npcsh/npc_team/close_tab.jinx,sha256=h5G8xXWnka59LDV-Go2Xk-KVITojnQ4ghup1gUvOnVA,234
149
+ npcsh-1.1.20.data/data/npcsh/npc_team/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
150
+ npcsh-1.1.20.data/data/npcsh/npc_team/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
151
+ npcsh-1.1.20.data/data/npcsh/npc_team/compress.jinx,sha256=zFYcGyDb4KBhpE5E2EPZZ3c01pgKI5-CnlQOl7lxfn8,6563
152
+ npcsh-1.1.20.data/data/npcsh/npc_team/config_tui.jinx,sha256=xt04M4S7vQPT-cKuIMBJujjVwGBXvjnnfeERCNs4Wew,11371
153
+ npcsh-1.1.20.data/data/npcsh/npc_team/confirm.jinx,sha256=1xPmu0ocnmysdJcv6PftYe7kwx9h3uyA6ntS5rbgFPk,257
154
+ npcsh-1.1.20.data/data/npcsh/npc_team/convene.jinx,sha256=W4-eRFHXpJe7Bt-8uC79wWygj4KUv15DNnGMJA1gJXA,8828
155
+ npcsh-1.1.20.data/data/npcsh/npc_team/corca.jinx,sha256=XCs68hme-qDei1yaVMblyOK_ewk-eNxMUsOqd9aD-wc,18095
156
+ npcsh-1.1.20.data/data/npcsh/npc_team/corca.npc,sha256=Iu9bRD_OFVYQVyn0PLB_Kp91qzcHiHyo7VwmkXz2S-0,1667
157
+ npcsh-1.1.20.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
158
+ npcsh-1.1.20.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
159
+ npcsh-1.1.20.data/data/npcsh/npc_team/db_search.jinx,sha256=ybNQZ8PG6dVDXYf9yClE9XN25VfAKJlH4aBQqtcWReE,17476
160
+ npcsh-1.1.20.data/data/npcsh/npc_team/delegate.jinx,sha256=wsFBQfhcAT2o-hg05U_HGhHcJyDWjpdlRJc0g3iE40I,8017
161
+ npcsh-1.1.20.data/data/npcsh/npc_team/edit_file.jinx,sha256=L31cjWFIlTU4PWOAoZTV1SaCT6qkuY_JIOsR9i5fa1U,3707
162
+ npcsh-1.1.20.data/data/npcsh/npc_team/file_search.jinx,sha256=V50yVEe0vAdl_D0IPjcl89BeSGE1dsfhWWqy3bYbY3c,16417
163
+ npcsh-1.1.20.data/data/npcsh/npc_team/focus_pane.jinx,sha256=wGSCQe_yquRPm3i9VQ3QbIKglIa5Fnh94RKdAn5ggZA,229
164
+ npcsh-1.1.20.data/data/npcsh/npc_team/frederic.npc,sha256=1-TcFRWm5RsSnLoeZG_SN4JUU0Ynu6CzV-h6Wfasjto,1945
165
+ npcsh-1.1.20.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
166
+ npcsh-1.1.20.data/data/npcsh/npc_team/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
167
+ npcsh-1.1.20.data/data/npcsh/npc_team/guac.npc,sha256=bOMEMXxvL4B-xdGqtq7hWf_gZpdMlo4OqER7c9iBsiM,797
168
+ npcsh-1.1.20.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
169
+ npcsh-1.1.20.data/data/npcsh/npc_team/help.jinx,sha256=BESlgpCj02ZnLSMGpQJ8YpWMi_Z6eTo8wDet7K0M4I4,2089
170
+ npcsh-1.1.20.data/data/npcsh/npc_team/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
171
+ npcsh-1.1.20.data/data/npcsh/npc_team/init.jinx,sha256=UPCtj_XKCC51MzuMAAKlWRwhCKfbB9T96P-8fvhquIQ,1315
172
+ npcsh-1.1.20.data/data/npcsh/npc_team/jinxs.jinx,sha256=64A8euErDU9tb0aIOx8r6uLZvsXUV5U8ABUe2x7cPoY,16220
173
+ npcsh-1.1.20.data/data/npcsh/npc_team/kadiefa.npc,sha256=tg9YZ3dTlXS8CIEb544G5UYvGndPhgdlQoLWRV5j-JY,1758
174
+ npcsh-1.1.20.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
175
+ npcsh-1.1.20.data/data/npcsh/npc_team/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
176
+ npcsh-1.1.20.data/data/npcsh/npc_team/kg.jinx,sha256=u3uwuUf55EtYsQE2lFixxRaS7Urng_sCyNKubkDhyWg,43585
177
+ npcsh-1.1.20.data/data/npcsh/npc_team/kg_search.jinx,sha256=bzchZXiTrZou17AWVTYWMPmIeVFyERjfo5_peVxvZOk,21114
178
+ npcsh-1.1.20.data/data/npcsh/npc_team/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
179
+ npcsh-1.1.20.data/data/npcsh/npc_team/list_panes.jinx,sha256=AGE9eZ4ftzkFV3_M053AXsL742e3B5ApZ1JXzFz0j9s,262
180
+ npcsh-1.1.20.data/data/npcsh/npc_team/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
181
+ npcsh-1.1.20.data/data/npcsh/npc_team/mem_review.jinx,sha256=glxH4xySb6YEEdqlgqBTQPXiVJ2iN9LKrb2ZczM7P-0,2478
182
+ npcsh-1.1.20.data/data/npcsh/npc_team/mem_search.jinx,sha256=nfi30bZuZRCnhOd1nuZtOOLauNXGqpp0kYy9wRyuo98,19979
183
+ npcsh-1.1.20.data/data/npcsh/npc_team/memories.jinx,sha256=Xovr8HZje2FChPlss5ZgphsWjQJPYaAuXoURYxLdO3w,11148
184
+ npcsh-1.1.20.data/data/npcsh/npc_team/models.jinx,sha256=1t55bsOP2QXaTQQvu1UwecU2IsxB3os9Y3S6pObuaEk,14398
185
+ npcsh-1.1.20.data/data/npcsh/npc_team/navigate.jinx,sha256=Cz5lSrn3I9yHx2VuV9c038yDLIPlw2WVBt1LxmtUdB0,240
186
+ npcsh-1.1.20.data/data/npcsh/npc_team/notify.jinx,sha256=ZJB37upTsSOLLiVUJQanVQ6ee0jZd4SY7lkufL-zSPQ,236
187
+ npcsh-1.1.20.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
188
+ npcsh-1.1.20.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
189
+ npcsh-1.1.20.data/data/npcsh/npc_team/nql.jinx,sha256=uSTaWKugPythAoeTTcQ36moJ1QXp0_CepwxYRiFUN-Q,20140
190
+ npcsh-1.1.20.data/data/npcsh/npc_team/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
191
+ npcsh-1.1.20.data/data/npcsh/npc_team/open_pane.jinx,sha256=-rL9VKtSqzPu_lLPLMGTlRwNHqqLH5wN8jfj989fip0,471
192
+ npcsh-1.1.20.data/data/npcsh/npc_team/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
193
+ npcsh-1.1.20.data/data/npcsh/npc_team/paper_search.jinx,sha256=epZGExFhnGrQHU8o6rmgwOF-f2ydAX3WP0aCyLHEp-E,20605
194
+ npcsh-1.1.20.data/data/npcsh/npc_team/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
195
+ npcsh-1.1.20.data/data/npcsh/npc_team/plonk.jinx,sha256=BOWystuASMDWppMIN6tKiRm0uOFyKP4E6kQi2dO4pUA,16062
196
+ npcsh-1.1.20.data/data/npcsh/npc_team/plonk.npc,sha256=z2fd5U0qaymiqHvkunQxCGQ1N2Mx6DMeErcltrJWrqw,1341
197
+ npcsh-1.1.20.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
198
+ npcsh-1.1.20.data/data/npcsh/npc_team/plonkjr.npc,sha256=umvWEigYLJBzzqSpF70lbf75612q8LxxGeYHT1Oq21Q,1568
199
+ npcsh-1.1.20.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
200
+ npcsh-1.1.20.data/data/npcsh/npc_team/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
201
+ npcsh-1.1.20.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
202
+ npcsh-1.1.20.data/data/npcsh/npc_team/read_pane.jinx,sha256=80M-ecIDDkgiIuI9lvfp4_ECSFu7Xa3zYDex1HGzRSs,326
203
+ npcsh-1.1.20.data/data/npcsh/npc_team/reattach.jinx,sha256=4R-SFhuE6LhHRnegR_GL8c4l1ilRBoz3nuSE6jvyWP4,13989
204
+ npcsh-1.1.20.data/data/npcsh/npc_team/roll.jinx,sha256=Yp9Hg6_aMfQ1366-kKJ2gLjxXyAauoolRXtJva3KUOg,2172
205
+ npcsh-1.1.20.data/data/npcsh/npc_team/run_terminal.jinx,sha256=YjkUWtGvfE0ATrPeX-IQ8dVPpN5ChBD29Iq09XVyVfM,243
206
+ npcsh-1.1.20.data/data/npcsh/npc_team/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
207
+ npcsh-1.1.20.data/data/npcsh/npc_team/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
208
+ npcsh-1.1.20.data/data/npcsh/npc_team/search.jinx,sha256=ZdW4wK_jyCKAQv7h-WRe1tEtgHxr3AHqPdZ60jfRs_A,1236
209
+ npcsh-1.1.20.data/data/npcsh/npc_team/semantic_scholar.jinx,sha256=jqBkQX55JfcZAiwwlio6hfSLfqlHYyo1cUQW3JWwKkc,21543
210
+ npcsh-1.1.20.data/data/npcsh/npc_team/send_message.jinx,sha256=8TYBJxrgBLA2xuIXgXw1qH3X9nYQzFJwpi6CJOk6uFY,236
211
+ npcsh-1.1.20.data/data/npcsh/npc_team/serve.jinx,sha256=EXp58rquPHZcJthrScc-NACrrQu2RzVHzPnfZAR_kcE,762
212
+ npcsh-1.1.20.data/data/npcsh/npc_team/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
213
+ npcsh-1.1.20.data/data/npcsh/npc_team/setup.jinx,sha256=aVmstYMIb58gOYARpSfoKbbOFOykDL9nBK4tZ78xi9w,10597
214
+ npcsh-1.1.20.data/data/npcsh/npc_team/sh.jinx,sha256=RzpvJ0f3tmmrl7W8mxKBaOFtjmKuEXQjhKYYF_EaeyQ,844
215
+ npcsh-1.1.20.data/data/npcsh/npc_team/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
216
+ npcsh-1.1.20.data/data/npcsh/npc_team/sibiji.npc,sha256=iYv7KXULbyWLPWhFwM7sNbMT4RNHWMvl10bdzmJdRO4,1624
217
+ npcsh-1.1.20.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
218
+ npcsh-1.1.20.data/data/npcsh/npc_team/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
219
+ npcsh-1.1.20.data/data/npcsh/npc_team/split_pane.jinx,sha256=-taNskdEb3hQEUGFdrrVw_tyAL-g5fHwqhCBfH50RW4,290
220
+ npcsh-1.1.20.data/data/npcsh/npc_team/spool.jinx,sha256=eAK2SSFyIlxmNsn2yhNy6LoTtBLnpz4l8_pQXuGtUzo,14949
221
+ npcsh-1.1.20.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
222
+ npcsh-1.1.20.data/data/npcsh/npc_team/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
223
+ npcsh-1.1.20.data/data/npcsh/npc_team/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
224
+ npcsh-1.1.20.data/data/npcsh/npc_team/switch_npc.jinx,sha256=8pQvKa_nZD6DXy7uV9NAi0ff9xWbA0HMFdsEIVyHjZQ,241
225
+ npcsh-1.1.20.data/data/npcsh/npc_team/switch_tab.jinx,sha256=ZUdJdbqs0oSwOuDFiBPAxqN58-VX53gXNINsRjVL50U,239
226
+ npcsh-1.1.20.data/data/npcsh/npc_team/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
227
+ npcsh-1.1.20.data/data/npcsh/npc_team/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
228
+ npcsh-1.1.20.data/data/npcsh/npc_team/team.jinx,sha256=m3yOx0S5MelJ49dr6H7FUtAGUymNkkBRFUipDtpGisk,20250
229
+ npcsh-1.1.20.data/data/npcsh/npc_team/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
230
+ npcsh-1.1.20.data/data/npcsh/npc_team/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
231
+ npcsh-1.1.20.data/data/npcsh/npc_team/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
232
+ npcsh-1.1.20.data/data/npcsh/npc_team/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
233
+ npcsh-1.1.20.data/data/npcsh/npc_team/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
234
+ npcsh-1.1.20.data/data/npcsh/npc_team/vixynt.jinx,sha256=Zv56WANlzXcuT1PcaftkGcKnHr94PaA80WvN25O8pS8,4284
235
+ npcsh-1.1.20.data/data/npcsh/npc_team/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
236
+ npcsh-1.1.20.data/data/npcsh/npc_team/wander.jinx,sha256=_fcliJKQzcG72MsM4835T8daiinzUzc6USU3lhGDIo4,17885
237
+ npcsh-1.1.20.data/data/npcsh/npc_team/web_search.jinx,sha256=4YUb8XsCxDs2lRYJYz2RyLj_-bNc1EYx8Wjyh_mbrKg,13434
238
+ npcsh-1.1.20.data/data/npcsh/npc_team/write_file.jinx,sha256=RauswZGoAbSyz44YgWqzHR_jJBLsndstRQ7hLploCeU,285
239
+ npcsh-1.1.20.data/data/npcsh/npc_team/yap.jinx,sha256=IyfyblJ1jKVYTAsX7w4oRFY8eTj2hHpjnFUft_3eTOo,9881
240
+ npcsh-1.1.20.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
241
+ npcsh-1.1.20.data/data/npcsh/npc_team/zen_mode.jinx,sha256=_iR9c2yvDIrhd98f5d_8_fNJJi_k9AePejQ_sAZrwTI,228
242
+ npcsh-1.1.20.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
243
+ project/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
244
+ npcsh-1.1.20.dist-info/METADATA,sha256=OOros_4i7nSQoD466WUHU1wn7rdNzoiSb3vE1SuVtCA,39573
245
+ npcsh-1.1.20.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
246
+ npcsh-1.1.20.dist-info/entry_points.txt,sha256=FRrTOhGr12vNYgzQh3q-YZaqJ0BM2ccVhkSjyMJYd18,687
247
+ npcsh-1.1.20.dist-info/top_level.txt,sha256=sbA6l0H-5EUmtoSA3SJTzrFzT_BmsFtf1FOUq8P8vL0,14
248
+ npcsh-1.1.20.dist-info/RECORD,,
@@ -1,10 +1,15 @@
1
1
  [console_scripts]
2
2
  alicanto = npcsh.npcsh:main
3
3
  benchmark = npcsh.npc:jinx_main
4
+ config_tui = npcsh.npc:jinx_main
4
5
  corca = npcsh.npcsh:main
5
6
  frederic = npcsh.npcsh:main
6
7
  guac = npcsh.npcsh:main
8
+ jinxs = npcsh.npc:jinx_main
7
9
  kadiefa = npcsh.npcsh:main
10
+ kg = npcsh.npc:jinx_main
11
+ memories = npcsh.npc:jinx_main
12
+ models = npcsh.npc:jinx_main
8
13
  npc = npcsh.npc:main
9
14
  npcsh = npcsh.npcsh:main
10
15
  npcsh-bench = npcsh.benchmark.runner:main
@@ -13,6 +18,8 @@ plonk = npcsh.npcsh:main
13
18
  plonkjr = npcsh.npcsh:main
14
19
  roll = npcsh.npc:jinx_main
15
20
  sample = npcsh.npc:jinx_main
21
+ setup = npcsh.npc:jinx_main
16
22
  sibiji = npcsh.npcsh:main
17
23
  sync = npcsh.npc:jinx_main
24
+ team = npcsh.npc:jinx_main
18
25
  vixynt = npcsh.npc:jinx_main
@@ -1,331 +0,0 @@
1
- jinx_name: jinxs
2
- description: Interactive browser for available jinxs
3
- inputs:
4
- - path: ""
5
- - text: "false"
6
-
7
- steps:
8
- - name: list_jinxs
9
- engine: python
10
- code: |
11
- import os
12
- import sys
13
- import tty
14
- import termios
15
- from pathlib import Path
16
- import yaml
17
-
18
- filter_path = context.get('path', '').strip()
19
- text_mode = context.get('text', '').lower() in ('true', '1', 'yes')
20
-
21
- # Find jinxs directory from team or fallback
22
- jinxs_dir = None
23
- if hasattr(npc, 'team') and npc.team:
24
- if hasattr(npc.team, 'jinxs_dir') and npc.team.jinxs_dir:
25
- jinxs_dir = Path(npc.team.jinxs_dir)
26
- elif hasattr(npc.team, 'team_path') and npc.team.team_path:
27
- candidate = Path(npc.team.team_path) / "jinxs"
28
- if candidate.exists():
29
- jinxs_dir = candidate
30
-
31
- if not jinxs_dir:
32
- global_jinxs = Path.home() / ".npcsh" / "npc_team" / "jinxs"
33
- if global_jinxs.exists():
34
- jinxs_dir = global_jinxs
35
-
36
- if not jinxs_dir or not jinxs_dir.exists():
37
- context['output'] = "Error: Could not find jinxs directory"
38
- else:
39
- def get_jinx_info(jinx_path):
40
- try:
41
- with open(jinx_path, 'r') as f:
42
- content = f.read()
43
- header = content.split('steps:')[0] if 'steps:' in content else content
44
- data = yaml.safe_load(header)
45
- name = data.get('jinx_name', jinx_path.stem)
46
- desc = data.get('description', 'No description')
47
- inputs = data.get('inputs', [])
48
- return name, desc, inputs
49
- except:
50
- return jinx_path.stem, 'No description', []
51
-
52
- def get_all_jinxs(base_path):
53
- jinxs = []
54
- folders = set()
55
- for root, dirs, files in os.walk(base_path):
56
- dirs[:] = [d for d in dirs if not d.startswith('.')]
57
- rel_path = Path(root).relative_to(base_path)
58
- folder = str(rel_path) if str(rel_path) != '.' else 'root'
59
- if folder != 'root':
60
- folders.add(folder.split('/')[0])
61
- for jf in files:
62
- if jf.endswith('.jinx'):
63
- jinx_path = Path(root) / jf
64
- name, desc, inputs = get_jinx_info(jinx_path)
65
- jinxs.append({
66
- 'name': name,
67
- 'description': desc,
68
- 'inputs': inputs,
69
- 'folder': folder,
70
- 'path': str(jinx_path)
71
- })
72
- return jinxs, sorted(folders)
73
-
74
- all_jinxs, folders = get_all_jinxs(jinxs_dir)
75
- folders = ['root'] + list(folders)
76
-
77
- if text_mode or not all_jinxs:
78
- # Text-only output
79
- output_lines = ["Available Jinxs", "=" * 40, ""]
80
- by_folder = {}
81
- for j in all_jinxs:
82
- f = j['folder']
83
- if f not in by_folder:
84
- by_folder[f] = []
85
- by_folder[f].append(j)
86
-
87
- for folder in sorted(by_folder.keys()):
88
- if folder == 'root':
89
- output_lines.append("Root:")
90
- else:
91
- output_lines.append(f"{folder}/:")
92
- for j in by_folder[folder]:
93
- output_lines.append(f" /{j['name']} - {j['description'][:50]}")
94
- output_lines.append("")
95
-
96
- output_lines.append("Use /jinxs path=<folder> for details")
97
- output_lines.append("Use text=false for interactive TUI")
98
- context['output'] = "\n".join(output_lines)
99
- else:
100
- # Interactive TUI mode
101
- def get_terminal_size():
102
- try:
103
- size = os.get_terminal_size()
104
- return size.columns, size.lines
105
- except:
106
- return 80, 24
107
-
108
- width, height = get_terminal_size()
109
- selected_folder = 0
110
- selected_jinx = 0
111
- jinx_scroll = 0
112
- list_height = height - 5
113
- mode = 'list' # list or preview
114
- preview_scroll = 0
115
- filter_text = ''
116
-
117
- def get_jinxs_in_folder(folder):
118
- if folder == 'root':
119
- return [j for j in all_jinxs if j['folder'] == 'root']
120
- return [j for j in all_jinxs if j['folder'].startswith(folder)]
121
-
122
- def filter_jinxs(jinxs, text):
123
- if not text:
124
- return jinxs
125
- text = text.lower()
126
- return [j for j in jinxs if text in j['name'].lower() or text in j['description'].lower()]
127
-
128
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
129
-
130
- fd = sys.stdin.fileno()
131
- old_settings = termios.tcgetattr(fd)
132
-
133
- try:
134
- tty.setcbreak(fd)
135
- sys.stdout.write('\033[?25l')
136
- sys.stdout.write('\033[2J\033[H')
137
-
138
- while True:
139
- width, height = get_terminal_size()
140
- list_height = height - 5
141
-
142
- if mode == 'list':
143
- if selected_jinx < jinx_scroll:
144
- jinx_scroll = selected_jinx
145
- elif selected_jinx >= jinx_scroll + list_height:
146
- jinx_scroll = selected_jinx - list_height + 1
147
-
148
- sys.stdout.write('\033[H')
149
-
150
- # Header
151
- if mode == 'list':
152
- f = folders[selected_folder] if folders else 'none'
153
- flt = f" filter:'{filter_text}'" if filter_text else ""
154
- header = f" JINXS ({len(current_jinxs)}): {f}{flt} "
155
- else:
156
- j = current_jinxs[selected_jinx] if current_jinxs else {}
157
- header = f" PREVIEW: /{j.get('name', '')} "
158
- sys.stdout.write(f'\033[44;37;1m{header.ljust(width)}\033[0m\n')
159
-
160
- # Folder bar
161
- folder_bar = ""
162
- for i, f in enumerate(folders[:8]):
163
- if i == selected_folder:
164
- folder_bar += f'\033[47;30m [{f[:8]}] \033[0m'
165
- else:
166
- folder_bar += f' {f[:8]} '
167
- if len(folders) > 8:
168
- folder_bar += f'...+{len(folders)-8}'
169
- sys.stdout.write(f'{folder_bar[:width]}\n')
170
-
171
- if mode == 'list':
172
- for i in range(list_height):
173
- idx = jinx_scroll + i
174
- sys.stdout.write(f'\033[{3+i};1H\033[K')
175
- if idx >= len(current_jinxs):
176
- continue
177
-
178
- j = current_jinxs[idx]
179
- name = j['name'][:20]
180
- desc = j['description'][:width-25]
181
-
182
- if idx == selected_jinx:
183
- sys.stdout.write(f'\033[47;30;1m>/{name:<20} {desc}\033[0m')
184
- else:
185
- sys.stdout.write(f' /{name:<20} {desc}')
186
-
187
- # Status bar
188
- sys.stdout.write(f'\033[{height-2};1H\033[K\033[90m{"─" * width}\033[0m')
189
- j = current_jinxs[selected_jinx] if current_jinxs else {}
190
- path = j.get('path', '')[-50:] if j else ''
191
- sys.stdout.write(f'\033[{height-1};1H\033[K {path}'.ljust(width))
192
- sys.stdout.write(f'\033[{height};1H\033[K\033[44;37m h/l:Folder j/k:Jinx p:Preview Enter:Run f:Filter q:Quit [{selected_jinx+1}/{len(current_jinxs)}] \033[0m')
193
-
194
- else: # preview mode
195
- j = current_jinxs[selected_jinx]
196
- preview_lines = [
197
- f"Name: /{j['name']}",
198
- "",
199
- f"Description:",
200
- f" {j['description']}",
201
- "",
202
- f"Path: {j['path']}",
203
- f"Folder: {j['folder']}",
204
- "",
205
- ]
206
-
207
- if j.get('inputs'):
208
- preview_lines.append("Inputs:")
209
- for inp in j['inputs']:
210
- if isinstance(inp, dict):
211
- for k, v in inp.items():
212
- default = f" (default: {v})" if v else ""
213
- preview_lines.append(f" - {k}{default}")
214
- else:
215
- preview_lines.append(f" - {inp}")
216
- preview_lines.append("")
217
-
218
- preview_lines.append("Usage:")
219
- usage = f" /{j['name']}"
220
- if j.get('inputs'):
221
- for inp in j['inputs'][:3]:
222
- if isinstance(inp, dict):
223
- for k, v in inp.items():
224
- usage += f" {k}=<value>"
225
- preview_lines.append(usage)
226
-
227
- for i in range(list_height):
228
- idx = preview_scroll + i
229
- sys.stdout.write(f'\033[{3+i};1H\033[K')
230
- if idx < len(preview_lines):
231
- sys.stdout.write(preview_lines[idx][:width-1])
232
-
233
- sys.stdout.write(f'\033[{height-2};1H\033[K\033[90m{"─" * width}\033[0m')
234
- sys.stdout.write(f'\033[{height-1};1H\033[K [{preview_scroll+1}/{len(preview_lines)} lines]')
235
- sys.stdout.write(f'\033[{height};1H\033[K\033[44;37m j/k:Scroll b:Back Enter:Run q:Quit \033[0m')
236
-
237
- sys.stdout.flush()
238
-
239
- c = sys.stdin.read(1)
240
-
241
- if c == '\x1b':
242
- c2 = sys.stdin.read(1)
243
- if c2 == '[':
244
- c3 = sys.stdin.read(1)
245
- if c3 == 'A': # Up
246
- if mode == 'list' and selected_jinx > 0:
247
- selected_jinx -= 1
248
- elif mode == 'preview' and preview_scroll > 0:
249
- preview_scroll -= 1
250
- elif c3 == 'B': # Down
251
- if mode == 'list' and selected_jinx < len(current_jinxs) - 1:
252
- selected_jinx += 1
253
- elif mode == 'preview' and preview_scroll < 50:
254
- preview_scroll += 1
255
- elif c3 == 'C': # Right
256
- if mode == 'list' and selected_folder < len(folders) - 1:
257
- selected_folder += 1
258
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
259
- selected_jinx = 0
260
- jinx_scroll = 0
261
- elif c3 == 'D': # Left
262
- if mode == 'list' and selected_folder > 0:
263
- selected_folder -= 1
264
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
265
- selected_jinx = 0
266
- jinx_scroll = 0
267
- else:
268
- if mode == 'preview':
269
- mode = 'list'
270
- sys.stdout.write('\033[2J\033[H')
271
- else:
272
- context['output'] = "Cancelled."
273
- break
274
- continue
275
-
276
- if c == 'q' or c == '\x03':
277
- context['output'] = "Cancelled."
278
- break
279
- elif c == 'k':
280
- if mode == 'list' and selected_jinx > 0:
281
- selected_jinx -= 1
282
- elif mode == 'preview' and preview_scroll > 0:
283
- preview_scroll -= 1
284
- elif c == 'j':
285
- if mode == 'list' and selected_jinx < len(current_jinxs) - 1:
286
- selected_jinx += 1
287
- elif mode == 'preview' and preview_scroll < 50:
288
- preview_scroll += 1
289
- elif c == 'h' and mode == 'list':
290
- if selected_folder > 0:
291
- selected_folder -= 1
292
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
293
- selected_jinx = 0
294
- jinx_scroll = 0
295
- elif c == 'l' and mode == 'list':
296
- if selected_folder < len(folders) - 1:
297
- selected_folder += 1
298
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
299
- selected_jinx = 0
300
- jinx_scroll = 0
301
- elif c == 'f' and mode == 'list':
302
- # Toggle filter - cycle through common filters or clear
303
- if not filter_text:
304
- filter_text = 'search'
305
- elif filter_text == 'search':
306
- filter_text = 'core'
307
- elif filter_text == 'core':
308
- filter_text = 'browser'
309
- else:
310
- filter_text = ''
311
- current_jinxs = filter_jinxs(get_jinxs_in_folder(folders[selected_folder]), filter_text)
312
- selected_jinx = 0
313
- jinx_scroll = 0
314
- elif c == 'p' and mode == 'list' and current_jinxs:
315
- mode = 'preview'
316
- preview_scroll = 0
317
- sys.stdout.write('\033[2J\033[H')
318
- elif c == 'b' and mode == 'preview':
319
- mode = 'list'
320
- sys.stdout.write('\033[2J\033[H')
321
- elif c in ('\r', '\n') and current_jinxs:
322
- j = current_jinxs[selected_jinx]
323
- context['output'] = f"Run: /{j['name']}\n\nDescription: {j['description']}"
324
- context['selected_jinx'] = j
325
- break
326
-
327
- finally:
328
- termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
329
- sys.stdout.write('\033[?25h')
330
- sys.stdout.write('\033[2J\033[H')
331
- sys.stdout.flush()