npcsh 1.1.21__py3-none-any.whl → 1.1.23__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 (188) hide show
  1. npcsh/_state.py +282 -125
  2. npcsh/benchmark/npcsh_agent.py +77 -232
  3. npcsh/benchmark/templates/install-npcsh.sh.j2 +12 -4
  4. npcsh/config.py +5 -2
  5. npcsh/mcp_server.py +9 -1
  6. npcsh/npc_team/alicanto.npc +8 -6
  7. npcsh/npc_team/corca.npc +5 -12
  8. npcsh/npc_team/frederic.npc +6 -9
  9. npcsh/npc_team/guac.npc +4 -4
  10. npcsh/npc_team/jinxs/lib/core/delegate.jinx +1 -1
  11. npcsh/npc_team/jinxs/lib/core/edit_file.jinx +84 -62
  12. npcsh/npc_team/jinxs/lib/core/sh.jinx +1 -1
  13. npcsh/npc_team/jinxs/lib/core/skill.jinx +59 -0
  14. npcsh/npc_team/jinxs/lib/utils/help.jinx +194 -10
  15. npcsh/npc_team/jinxs/lib/utils/init.jinx +528 -37
  16. npcsh/npc_team/jinxs/lib/utils/jinxs.jinx +0 -1
  17. npcsh/npc_team/jinxs/lib/utils/serve.jinx +938 -21
  18. npcsh/npc_team/jinxs/modes/alicanto.jinx +102 -41
  19. npcsh/npc_team/jinxs/modes/build.jinx +378 -0
  20. npcsh-1.1.21.data/data/npcsh/npc_team/config_tui.jinx → npcsh/npc_team/jinxs/modes/config.jinx +1 -1
  21. npcsh/npc_team/jinxs/modes/convene.jinx +670 -0
  22. npcsh/npc_team/jinxs/modes/corca.jinx +777 -387
  23. npcsh/npc_team/jinxs/modes/crond.jinx +818 -0
  24. npcsh/npc_team/jinxs/modes/kg.jinx +69 -2
  25. npcsh/npc_team/jinxs/modes/plonk.jinx +86 -15
  26. npcsh/npc_team/jinxs/modes/roll.jinx +368 -55
  27. npcsh/npc_team/jinxs/modes/skills.jinx +621 -0
  28. npcsh/npc_team/jinxs/modes/yap.jinx +1092 -177
  29. npcsh/npc_team/jinxs/skills/code-review/SKILL.md +45 -0
  30. npcsh/npc_team/jinxs/skills/debugging/SKILL.md +44 -0
  31. npcsh/npc_team/jinxs/skills/git-workflow.jinx +44 -0
  32. npcsh/npc_team/kadiefa.npc +6 -6
  33. npcsh/npc_team/npcsh.ctx +16 -0
  34. npcsh/npc_team/plonk.npc +5 -9
  35. npcsh/npc_team/sibiji.npc +15 -7
  36. npcsh/npcsh.py +1 -0
  37. npcsh/routes.py +0 -4
  38. npcsh/yap.py +22 -4
  39. npcsh-1.1.23.data/data/npcsh/npc_team/SKILL.md +44 -0
  40. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.jinx +102 -41
  41. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.npc +8 -6
  42. npcsh-1.1.23.data/data/npcsh/npc_team/build.jinx +378 -0
  43. npcsh/npc_team/jinxs/modes/config_tui.jinx → npcsh-1.1.23.data/data/npcsh/npc_team/config.jinx +1 -1
  44. npcsh-1.1.23.data/data/npcsh/npc_team/convene.jinx +670 -0
  45. npcsh-1.1.23.data/data/npcsh/npc_team/corca.jinx +820 -0
  46. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca.npc +5 -12
  47. npcsh-1.1.23.data/data/npcsh/npc_team/crond.jinx +818 -0
  48. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/delegate.jinx +1 -1
  49. npcsh-1.1.23.data/data/npcsh/npc_team/edit_file.jinx +119 -0
  50. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/frederic.npc +6 -9
  51. npcsh-1.1.23.data/data/npcsh/npc_team/git-workflow.jinx +44 -0
  52. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.npc +4 -4
  53. npcsh-1.1.23.data/data/npcsh/npc_team/help.jinx +236 -0
  54. npcsh-1.1.23.data/data/npcsh/npc_team/init.jinx +532 -0
  55. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/jinxs.jinx +0 -1
  56. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kadiefa.npc +6 -6
  57. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kg.jinx +69 -2
  58. npcsh-1.1.23.data/data/npcsh/npc_team/npcsh.ctx +34 -0
  59. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.jinx +86 -15
  60. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.npc +5 -9
  61. npcsh-1.1.23.data/data/npcsh/npc_team/roll.jinx +378 -0
  62. npcsh-1.1.23.data/data/npcsh/npc_team/serve.jinx +943 -0
  63. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sh.jinx +1 -1
  64. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sibiji.npc +15 -7
  65. npcsh-1.1.23.data/data/npcsh/npc_team/skill.jinx +59 -0
  66. npcsh-1.1.23.data/data/npcsh/npc_team/skills.jinx +621 -0
  67. npcsh-1.1.23.data/data/npcsh/npc_team/yap.jinx +1190 -0
  68. {npcsh-1.1.21.dist-info → npcsh-1.1.23.dist-info}/METADATA +404 -278
  69. npcsh-1.1.23.dist-info/RECORD +216 -0
  70. npcsh/npc_team/jinxs/incognide/add_tab.jinx +0 -11
  71. npcsh/npc_team/jinxs/incognide/close_pane.jinx +0 -9
  72. npcsh/npc_team/jinxs/incognide/close_tab.jinx +0 -10
  73. npcsh/npc_team/jinxs/incognide/confirm.jinx +0 -10
  74. npcsh/npc_team/jinxs/incognide/focus_pane.jinx +0 -9
  75. npcsh/npc_team/jinxs/incognide/list_panes.jinx +0 -8
  76. npcsh/npc_team/jinxs/incognide/navigate.jinx +0 -10
  77. npcsh/npc_team/jinxs/incognide/notify.jinx +0 -10
  78. npcsh/npc_team/jinxs/incognide/open_pane.jinx +0 -13
  79. npcsh/npc_team/jinxs/incognide/read_pane.jinx +0 -9
  80. npcsh/npc_team/jinxs/incognide/run_terminal.jinx +0 -10
  81. npcsh/npc_team/jinxs/incognide/send_message.jinx +0 -10
  82. npcsh/npc_team/jinxs/incognide/split_pane.jinx +0 -12
  83. npcsh/npc_team/jinxs/incognide/switch_npc.jinx +0 -10
  84. npcsh/npc_team/jinxs/incognide/switch_tab.jinx +0 -10
  85. npcsh/npc_team/jinxs/incognide/write_file.jinx +0 -11
  86. npcsh/npc_team/jinxs/incognide/zen_mode.jinx +0 -9
  87. npcsh/npc_team/jinxs/lib/core/convene.jinx +0 -232
  88. npcsh/npc_team/jinxs/lib/core/search/kg_search.jinx +0 -429
  89. npcsh/npc_team/jinxs/lib/core/search.jinx +0 -54
  90. npcsh/npc_team/jinxs/lib/utils/build.jinx +0 -65
  91. npcsh-1.1.21.data/data/npcsh/npc_team/add_tab.jinx +0 -11
  92. npcsh-1.1.21.data/data/npcsh/npc_team/build.jinx +0 -65
  93. npcsh-1.1.21.data/data/npcsh/npc_team/close_pane.jinx +0 -9
  94. npcsh-1.1.21.data/data/npcsh/npc_team/close_tab.jinx +0 -10
  95. npcsh-1.1.21.data/data/npcsh/npc_team/confirm.jinx +0 -10
  96. npcsh-1.1.21.data/data/npcsh/npc_team/convene.jinx +0 -232
  97. npcsh-1.1.21.data/data/npcsh/npc_team/corca.jinx +0 -430
  98. npcsh-1.1.21.data/data/npcsh/npc_team/edit_file.jinx +0 -97
  99. npcsh-1.1.21.data/data/npcsh/npc_team/focus_pane.jinx +0 -9
  100. npcsh-1.1.21.data/data/npcsh/npc_team/help.jinx +0 -52
  101. npcsh-1.1.21.data/data/npcsh/npc_team/init.jinx +0 -41
  102. npcsh-1.1.21.data/data/npcsh/npc_team/kg_search.jinx +0 -429
  103. npcsh-1.1.21.data/data/npcsh/npc_team/list_panes.jinx +0 -8
  104. npcsh-1.1.21.data/data/npcsh/npc_team/navigate.jinx +0 -10
  105. npcsh-1.1.21.data/data/npcsh/npc_team/notify.jinx +0 -10
  106. npcsh-1.1.21.data/data/npcsh/npc_team/npcsh.ctx +0 -18
  107. npcsh-1.1.21.data/data/npcsh/npc_team/open_pane.jinx +0 -13
  108. npcsh-1.1.21.data/data/npcsh/npc_team/read_pane.jinx +0 -9
  109. npcsh-1.1.21.data/data/npcsh/npc_team/roll.jinx +0 -65
  110. npcsh-1.1.21.data/data/npcsh/npc_team/run_terminal.jinx +0 -10
  111. npcsh-1.1.21.data/data/npcsh/npc_team/search.jinx +0 -54
  112. npcsh-1.1.21.data/data/npcsh/npc_team/send_message.jinx +0 -10
  113. npcsh-1.1.21.data/data/npcsh/npc_team/serve.jinx +0 -26
  114. npcsh-1.1.21.data/data/npcsh/npc_team/split_pane.jinx +0 -12
  115. npcsh-1.1.21.data/data/npcsh/npc_team/switch_npc.jinx +0 -10
  116. npcsh-1.1.21.data/data/npcsh/npc_team/switch_tab.jinx +0 -10
  117. npcsh-1.1.21.data/data/npcsh/npc_team/write_file.jinx +0 -11
  118. npcsh-1.1.21.data/data/npcsh/npc_team/yap.jinx +0 -275
  119. npcsh-1.1.21.data/data/npcsh/npc_team/zen_mode.jinx +0 -9
  120. npcsh-1.1.21.dist-info/RECORD +0 -243
  121. /npcsh/npc_team/jinxs/lib/{core → utils}/chat.jinx +0 -0
  122. /npcsh/npc_team/jinxs/lib/{core → utils}/cmd.jinx +0 -0
  123. /npcsh/npc_team/jinxs/{incognide → lib/utils}/incognide.jinx +0 -0
  124. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.png +0 -0
  125. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/arxiv.jinx +0 -0
  126. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/benchmark.jinx +0 -0
  127. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/browser_action.jinx +0 -0
  128. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/browser_screenshot.jinx +0 -0
  129. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/chat.jinx +0 -0
  130. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/click.jinx +0 -0
  131. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/close_browser.jinx +0 -0
  132. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/cmd.jinx +0 -0
  133. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/compile.jinx +0 -0
  134. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/compress.jinx +0 -0
  135. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca.png +0 -0
  136. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca_example.png +0 -0
  137. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/db_search.jinx +0 -0
  138. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/file_search.jinx +0 -0
  139. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/frederic4.png +0 -0
  140. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/git.jinx +0 -0
  141. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.jinx +0 -0
  142. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.png +0 -0
  143. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/incognide.jinx +0 -0
  144. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kadiefa.png +0 -0
  145. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/key_press.jinx +0 -0
  146. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/launch_app.jinx +0 -0
  147. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/load_file.jinx +0 -0
  148. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/memories.jinx +0 -0
  149. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/models.jinx +0 -0
  150. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  151. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/nql.jinx +0 -0
  152. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/open_browser.jinx +0 -0
  153. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/ots.jinx +0 -0
  154. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/papers.jinx +0 -0
  155. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/paste.jinx +0 -0
  156. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.png +0 -0
  157. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonkjr.png +0 -0
  158. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/pti.jinx +0 -0
  159. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/python.jinx +0 -0
  160. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/reattach.jinx +0 -0
  161. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sample.jinx +0 -0
  162. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/screenshot.jinx +0 -0
  163. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/set.jinx +0 -0
  164. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/setup.jinx +0 -0
  165. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/shh.jinx +0 -0
  166. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sibiji.png +0 -0
  167. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sleep.jinx +0 -0
  168. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/spool.jinx +0 -0
  169. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/spool.png +0 -0
  170. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sql.jinx +0 -0
  171. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/switch.jinx +0 -0
  172. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/switches.jinx +0 -0
  173. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sync.jinx +0 -0
  174. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/team.jinx +0 -0
  175. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/teamviz.jinx +0 -0
  176. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/trigger.jinx +0 -0
  177. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/type_text.jinx +0 -0
  178. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/usage.jinx +0 -0
  179. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/verbose.jinx +0 -0
  180. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/vixynt.jinx +0 -0
  181. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/wait.jinx +0 -0
  182. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/wander.jinx +0 -0
  183. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/web_search.jinx +0 -0
  184. {npcsh-1.1.21.data → npcsh-1.1.23.data}/data/npcsh/npc_team/yap.png +0 -0
  185. {npcsh-1.1.21.dist-info → npcsh-1.1.23.dist-info}/WHEEL +0 -0
  186. {npcsh-1.1.21.dist-info → npcsh-1.1.23.dist-info}/entry_points.txt +0 -0
  187. {npcsh-1.1.21.dist-info → npcsh-1.1.23.dist-info}/licenses/LICENSE +0 -0
  188. {npcsh-1.1.21.dist-info → npcsh-1.1.23.dist-info}/top_level.txt +0 -0
@@ -1,26 +0,0 @@
1
- jinx_name: "serve"
2
- description: "Serve an NPC Team"
3
- inputs:
4
- - port: 5337
5
- - cors: ""
6
- steps:
7
- - name: "start_flask_server"
8
- engine: "python"
9
- code: |
10
- from npcpy.serve import start_flask_server
11
-
12
- port = context.get('port')
13
- cors_str = context.get('cors')
14
- output_messages = context.get('messages', [])
15
-
16
- cors_origins = None
17
- if cors_str and cors_str.strip():
18
- cors_origins = [origin.strip() for origin in cors_str.split(",")]
19
-
20
- start_flask_server(
21
- port=int(port), # Ensure port is an integer
22
- cors_origins=cors_origins,
23
- )
24
-
25
- context['output'] = "NPC Team server started. Execution of this jinx will pause until the server is stopped."
26
- context['messages'] = output_messages
@@ -1,12 +0,0 @@
1
- jinx_name: studio_split_pane
2
- description: Split an existing pane to create a new pane alongside it.
3
- inputs:
4
- - paneId: "active"
5
- - direction: "right"
6
- - type: ""
7
- - path: ""
8
- steps:
9
- - name: frontend_action
10
- engine: python
11
- code: |
12
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_switch_npc
2
- description: Switch the active NPC in a chat pane.
3
- inputs:
4
- - paneId: "active"
5
- - npcName: ""
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_switch_tab
2
- description: Switch to a specific tab in a pane.
3
- inputs:
4
- - paneId: "active"
5
- - tabIndex: 0
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,11 +0,0 @@
1
- jinx_name: studio_write_file
2
- description: Write content to an editor pane. Updates the file content in the pane.
3
- inputs:
4
- - paneId: "active"
5
- - content: ""
6
- - path: ""
7
- steps:
8
- - name: frontend_action
9
- engine: python
10
- code: |
11
- context['output'] = "Action executed by frontend"
@@ -1,275 +0,0 @@
1
- jinx_name: yap
2
- description: Voice chat mode - speech-to-text input, text-to-speech output
3
- inputs:
4
- - model: null
5
- - provider: null
6
- - tts_model: kokoro
7
- - voice: af_heart
8
- - files: null
9
-
10
- steps:
11
- - name: yap_repl
12
- engine: python
13
- code: |
14
- import os
15
- import sys
16
- import time
17
- import tempfile
18
- import threading
19
- import queue
20
- from termcolor import colored
21
-
22
- # Audio imports with graceful fallback
23
- try:
24
- import torch
25
- import pyaudio
26
- import wave
27
- import numpy as np
28
- from faster_whisper import WhisperModel
29
- from gtts import gTTS
30
- from npcpy.data.audio import (
31
- FORMAT, CHANNELS, RATE, CHUNK,
32
- transcribe_recording, convert_mp3_to_wav
33
- )
34
- AUDIO_AVAILABLE = True
35
- except ImportError as e:
36
- AUDIO_AVAILABLE = False
37
- print(colored(f"Audio dependencies not available: {e}", "yellow"))
38
- print("Install with: pip install npcsh[audio]")
39
-
40
- from npcpy.llm_funcs import get_llm_response
41
- from npcpy.npc_sysenv import get_system_message, render_markdown
42
- from npcpy.data.load import load_file_contents
43
- from npcpy.data.text import rag_search
44
-
45
- npc = context.get('npc')
46
- team = context.get('team')
47
- messages = context.get('messages', [])
48
- files = context.get('files')
49
- tts_model = context.get('tts_model', 'kokoro')
50
- voice = context.get('voice', 'af_heart')
51
-
52
- # Resolve npc if it's a string (npc name) rather than NPC object
53
- if isinstance(npc, str) and team:
54
- npc = team.get(npc) if hasattr(team, 'get') else None
55
- elif isinstance(npc, str):
56
- npc = None
57
-
58
- model = context.get('model') or (npc.model if npc and hasattr(npc, 'model') else None)
59
- provider = context.get('provider') or (npc.provider if npc and hasattr(npc, 'provider') else None)
60
-
61
- print("""
62
- ██╗ ██╗ █████╗ ██████╗
63
- ╚██╗ ██╔╝██╔══██╗██╔══██╗
64
- ╚████╔╝ ███████║██████╔╝
65
- ╚██╔╝ ██╔══██║██╔═══╝
66
- ██║ ██║ ██║██║
67
- ╚═╝ ╚═╝ ╚═╝╚═╝
68
-
69
- Voice Chat Mode
70
- """)
71
-
72
- npc_name = npc.name if npc else "yap"
73
- print(f"Entering yap mode (NPC: {npc_name}). Type '/yq' to exit.")
74
-
75
- if not AUDIO_AVAILABLE:
76
- print(colored("Audio not available. Falling back to text mode.", "yellow"))
77
-
78
- # Load files for RAG context
79
- loaded_chunks = {}
80
- if files:
81
- if isinstance(files, str):
82
- files = [f.strip() for f in files.split(',')]
83
- for file_path in files:
84
- file_path = os.path.expanduser(file_path)
85
- if os.path.exists(file_path):
86
- try:
87
- chunks = load_file_contents(file_path)
88
- loaded_chunks[file_path] = chunks
89
- print(colored(f"Loaded: {file_path}", "green"))
90
- except Exception as e:
91
- print(colored(f"Error loading {file_path}: {e}", "red"))
92
-
93
- # System message for concise voice responses
94
- sys_msg = get_system_message(npc) if npc else "You are a helpful assistant."
95
- sys_msg += "\n\nProvide brief responses of 1-2 sentences unless asked for more detail. Keep responses clear and conversational for voice."
96
-
97
- if not messages or messages[0].get("role") != "system":
98
- messages.insert(0, {"role": "system", "content": sys_msg})
99
-
100
- # Audio state
101
- vad_model = None
102
- whisper_model = None
103
-
104
- if AUDIO_AVAILABLE:
105
- try:
106
- # Load VAD model for voice activity detection
107
- vad_model, _ = torch.hub.load(
108
- repo_or_dir="snakers4/silero-vad",
109
- model="silero_vad",
110
- force_reload=False,
111
- onnx=False,
112
- verbose=False
113
- )
114
- vad_model.to('cpu')
115
- print(colored("VAD model loaded.", "green"))
116
-
117
- # Load Whisper for STT
118
- whisper_model = WhisperModel("base", device="cpu", compute_type="int8")
119
- print(colored("Whisper model loaded.", "green"))
120
- except Exception as e:
121
- print(colored(f"Error loading audio models: {e}", "red"))
122
- AUDIO_AVAILABLE = False
123
-
124
- def speak_text(text, tts_model='kokoro', voice='af_heart'):
125
- """Convert text to speech and play it"""
126
- if not AUDIO_AVAILABLE:
127
- return
128
-
129
- try:
130
- # Use gTTS as fallback
131
- tts = gTTS(text=text, lang='en')
132
- with tempfile.NamedTemporaryFile(suffix='.mp3', delete=False) as f:
133
- tts.save(f.name)
134
- wav_path = convert_mp3_to_wav(f.name)
135
-
136
- # Play audio
137
- import subprocess
138
- if sys.platform == 'darwin':
139
- subprocess.run(['afplay', wav_path], check=True)
140
- elif sys.platform == 'linux':
141
- subprocess.run(['aplay', wav_path], check=True)
142
- else:
143
- # Windows
144
- import winsound
145
- winsound.PlaySound(wav_path, winsound.SND_FILENAME)
146
-
147
- for _p in [f.name, wav_path]:
148
- try:
149
- os.remove(_p)
150
- except:
151
- pass
152
- except Exception as e:
153
- print(colored(f"TTS error: {e}", "red"))
154
-
155
- def record_audio(duration=5):
156
- """Record audio from microphone"""
157
- if not AUDIO_AVAILABLE:
158
- return None
159
-
160
- try:
161
- p = pyaudio.PyAudio()
162
- stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK)
163
-
164
- print(colored("Recording...", "cyan"), end='', flush=True)
165
- frames = []
166
- for _ in range(0, int(RATE / CHUNK * duration)):
167
- data = stream.read(CHUNK)
168
- frames.append(data)
169
- print(colored(" Done.", "cyan"))
170
-
171
- stream.stop_stream()
172
- stream.close()
173
- p.terminate()
174
-
175
- # Save to temp file
176
- with tempfile.NamedTemporaryFile(suffix='.wav', delete=False) as f:
177
- wf = wave.open(f.name, 'wb')
178
- wf.setnchannels(CHANNELS)
179
- wf.setsampwidth(p.get_sample_size(FORMAT))
180
- wf.setframerate(RATE)
181
- wf.writeframes(b''.join(frames))
182
- wf.close()
183
- return f.name
184
- except Exception as e:
185
- print(colored(f"Recording error: {e}", "red"))
186
- return None
187
-
188
- def transcribe_audio(audio_path):
189
- """Transcribe audio to text using Whisper"""
190
- if not whisper_model or not audio_path:
191
- return ""
192
-
193
- try:
194
- segments, _ = whisper_model.transcribe(audio_path, beam_size=5)
195
- text = " ".join([seg.text for seg in segments])
196
- try:
197
- os.remove(audio_path)
198
- except:
199
- pass
200
- return text.strip()
201
- except Exception as e:
202
- print(colored(f"Transcription error: {e}", "red"))
203
- return ""
204
-
205
- # REPL loop
206
- while True:
207
- try:
208
- # Voice input or text input
209
- if AUDIO_AVAILABLE:
210
- prompt_str = f"{npc_name}:yap> [Press Enter to speak, or type] "
211
- else:
212
- prompt_str = f"{npc_name}:yap> "
213
-
214
- user_input = input(prompt_str).strip()
215
-
216
- if user_input.lower() == "/yq":
217
- print("Exiting yap mode.")
218
- break
219
-
220
- # Empty input = record audio
221
- if not user_input and AUDIO_AVAILABLE:
222
- audio_path = record_audio(5)
223
- if audio_path:
224
- user_input = transcribe_audio(audio_path)
225
- if user_input:
226
- print(colored(f"You said: {user_input}", "cyan"))
227
- else:
228
- print(colored("Could not transcribe audio.", "yellow"))
229
- continue
230
- else:
231
- continue
232
-
233
- if not user_input:
234
- continue
235
-
236
- # Add RAG context if files loaded
237
- current_prompt = user_input
238
- if loaded_chunks:
239
- context_content = ""
240
- for filename, chunks in loaded_chunks.items():
241
- full_text = "\n".join(chunks)
242
- retrieved = rag_search(user_input, full_text, similarity_threshold=0.3)
243
- if retrieved:
244
- context_content += f"\n{retrieved}\n"
245
- if context_content:
246
- current_prompt += f"\n\nContext:{context_content}"
247
-
248
- # Get response
249
- resp = get_llm_response(
250
- current_prompt,
251
- model=model,
252
- provider=provider,
253
- messages=messages,
254
- stream=False, # Don't stream for voice
255
- npc=npc
256
- )
257
-
258
- messages = resp.get('messages', messages)
259
- response_text = str(resp.get('response', ''))
260
-
261
- # Display and speak response
262
- print(colored(f"{npc_name}: ", "green") + response_text)
263
-
264
- if AUDIO_AVAILABLE:
265
- speak_text(response_text, tts_model, voice)
266
-
267
- except KeyboardInterrupt:
268
- print("\nUse '/yq' to exit or continue.")
269
- continue
270
- except EOFError:
271
- print("\nExiting yap mode.")
272
- break
273
-
274
- context['output'] = "Exited yap mode."
275
- context['messages'] = messages
@@ -1,9 +0,0 @@
1
- jinx_name: studio_zen_mode
2
- description: Toggle zen mode (fullscreen) for a pane.
3
- inputs:
4
- - paneId: "active"
5
- steps:
6
- - name: frontend_action
7
- engine: python
8
- code: |
9
- context['output'] = "Action executed by frontend"
@@ -1,243 +0,0 @@
1
- npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- npcsh/_state.py,sha256=HCtE5xv_KuAUOjR82JJi-JtV0n_lzKSWmLI68Gu79QY,147985
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=rG88E_-jXyCyrBnca6QqlxUP_Yl_JW8If0ca0YNjk_s,15955
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=194ZFlCSD7bDBWFV2VB69x7Jaze4VAI5bWhPhAT2aho,20698
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=IHqo8CWLo15t_OZdTEBsWJRiinyjPkyUPg39UGMzc68,5264
20
- npcsh/salmon_simulation.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- npcsh/spool.py,sha256=b-AAZdk_fDk7vA-08wc-LO0FJt-yigcUU3ZUXF41V4E,1498
22
- npcsh/ui.py,sha256=owFTZ7KRvWzyMaEYLfwJVv08hNmg9Yqj5RKNTVIcLeM,7281
23
- npcsh/wander.py,sha256=zslcHfH-mAmBlSgc1JVNOlss0Ig85hzNkpmBW9W8JYM,2278
24
- npcsh/yap.py,sha256=QhIr0MyHjznbqfJl9CK93EccN4E7jnlp1QpRzkYc7_c,1583
25
- npcsh/benchmark/__init__.py,sha256=ljV4XCxPBXYNewcqiGx3oExMm2H_sgCwinDgc4xQOZE,898
26
- npcsh/benchmark/npcsh_agent.py,sha256=xNr-u_mkLRkVVYgIM2dnaDXiohMWe5rjfeK0GMOULTg,12279
27
- npcsh/benchmark/runner.py,sha256=dIbPds2V3xTItvTHIGvi8D4cqYNi7uhyvBhjxYWGJsY,20234
28
- npcsh/benchmark/templates/install-npcsh.sh.j2,sha256=pkhszKhK9AMO6_KYBE-G2vzj4UISzPGy1vFnyILlCdI,977
29
- npcsh/npc_team/alicanto.npc,sha256=MjCeCKhC4OqKO0Rxa5U_SLEui7Lh8M2hXabcVfqEDhc,1455
30
- npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
31
- npcsh/npc_team/corca.npc,sha256=Iu9bRD_OFVYQVyn0PLB_Kp91qzcHiHyo7VwmkXz2S-0,1667
32
- npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
33
- npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
34
- npcsh/npc_team/frederic.npc,sha256=1-TcFRWm5RsSnLoeZG_SN4JUU0Ynu6CzV-h6Wfasjto,1945
35
- npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
36
- npcsh/npc_team/guac.npc,sha256=bOMEMXxvL4B-xdGqtq7hWf_gZpdMlo4OqER7c9iBsiM,797
37
- npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
38
- npcsh/npc_team/kadiefa.npc,sha256=tg9YZ3dTlXS8CIEb544G5UYvGndPhgdlQoLWRV5j-JY,1758
39
- npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
40
- npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
41
- npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
42
- npcsh/npc_team/plonk.npc,sha256=z2fd5U0qaymiqHvkunQxCGQ1N2Mx6DMeErcltrJWrqw,1341
43
- npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
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/incognide/add_tab.jinx,sha256=knJ7uIUVwpPPWZ2Sy4MYf14rwqBnQ-wUk56rZPLDCbk,233
50
- npcsh/npc_team/jinxs/incognide/close_pane.jinx,sha256=9L72Eb_sJd9AC1c47hq7ogjk8OagOem5yg5hrzrlXVs,271
51
- npcsh/npc_team/jinxs/incognide/close_tab.jinx,sha256=h5G8xXWnka59LDV-Go2Xk-KVITojnQ4ghup1gUvOnVA,234
52
- npcsh/npc_team/jinxs/incognide/confirm.jinx,sha256=1xPmu0ocnmysdJcv6PftYe7kwx9h3uyA6ntS5rbgFPk,257
53
- npcsh/npc_team/jinxs/incognide/focus_pane.jinx,sha256=wGSCQe_yquRPm3i9VQ3QbIKglIa5Fnh94RKdAn5ggZA,229
54
- npcsh/npc_team/jinxs/incognide/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
55
- npcsh/npc_team/jinxs/incognide/list_panes.jinx,sha256=AGE9eZ4ftzkFV3_M053AXsL742e3B5ApZ1JXzFz0j9s,262
56
- npcsh/npc_team/jinxs/incognide/navigate.jinx,sha256=Cz5lSrn3I9yHx2VuV9c038yDLIPlw2WVBt1LxmtUdB0,240
57
- npcsh/npc_team/jinxs/incognide/notify.jinx,sha256=ZJB37upTsSOLLiVUJQanVQ6ee0jZd4SY7lkufL-zSPQ,236
58
- npcsh/npc_team/jinxs/incognide/open_pane.jinx,sha256=-rL9VKtSqzPu_lLPLMGTlRwNHqqLH5wN8jfj989fip0,471
59
- npcsh/npc_team/jinxs/incognide/read_pane.jinx,sha256=80M-ecIDDkgiIuI9lvfp4_ECSFu7Xa3zYDex1HGzRSs,326
60
- npcsh/npc_team/jinxs/incognide/run_terminal.jinx,sha256=YjkUWtGvfE0ATrPeX-IQ8dVPpN5ChBD29Iq09XVyVfM,243
61
- npcsh/npc_team/jinxs/incognide/send_message.jinx,sha256=8TYBJxrgBLA2xuIXgXw1qH3X9nYQzFJwpi6CJOk6uFY,236
62
- npcsh/npc_team/jinxs/incognide/split_pane.jinx,sha256=-taNskdEb3hQEUGFdrrVw_tyAL-g5fHwqhCBfH50RW4,290
63
- npcsh/npc_team/jinxs/incognide/switch_npc.jinx,sha256=8pQvKa_nZD6DXy7uV9NAi0ff9xWbA0HMFdsEIVyHjZQ,241
64
- npcsh/npc_team/jinxs/incognide/switch_tab.jinx,sha256=ZUdJdbqs0oSwOuDFiBPAxqN58-VX53gXNINsRjVL50U,239
65
- npcsh/npc_team/jinxs/incognide/write_file.jinx,sha256=RauswZGoAbSyz44YgWqzHR_jJBLsndstRQ7hLploCeU,285
66
- npcsh/npc_team/jinxs/incognide/zen_mode.jinx,sha256=_iR9c2yvDIrhd98f5d_8_fNJJi_k9AePejQ_sAZrwTI,228
67
- npcsh/npc_team/jinxs/lib/browser/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
68
- npcsh/npc_team/jinxs/lib/browser/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
69
- npcsh/npc_team/jinxs/lib/browser/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
70
- npcsh/npc_team/jinxs/lib/browser/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
71
- npcsh/npc_team/jinxs/lib/computer_use/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
72
- npcsh/npc_team/jinxs/lib/computer_use/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
73
- npcsh/npc_team/jinxs/lib/computer_use/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
74
- npcsh/npc_team/jinxs/lib/computer_use/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
75
- npcsh/npc_team/jinxs/lib/computer_use/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
76
- npcsh/npc_team/jinxs/lib/computer_use/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
77
- npcsh/npc_team/jinxs/lib/computer_use/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
78
- npcsh/npc_team/jinxs/lib/core/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
79
- npcsh/npc_team/jinxs/lib/core/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
80
- npcsh/npc_team/jinxs/lib/core/compress.jinx,sha256=t3n2B6rwebyGOIDZ3PAQZm1b5YdDHYqO-lWlHYOQVWw,20661
81
- npcsh/npc_team/jinxs/lib/core/convene.jinx,sha256=W4-eRFHXpJe7Bt-8uC79wWygj4KUv15DNnGMJA1gJXA,8828
82
- npcsh/npc_team/jinxs/lib/core/delegate.jinx,sha256=wsFBQfhcAT2o-hg05U_HGhHcJyDWjpdlRJc0g3iE40I,8017
83
- npcsh/npc_team/jinxs/lib/core/edit_file.jinx,sha256=L31cjWFIlTU4PWOAoZTV1SaCT6qkuY_JIOsR9i5fa1U,3707
84
- npcsh/npc_team/jinxs/lib/core/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
85
- npcsh/npc_team/jinxs/lib/core/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
86
- npcsh/npc_team/jinxs/lib/core/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
87
- npcsh/npc_team/jinxs/lib/core/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
88
- npcsh/npc_team/jinxs/lib/core/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
89
- npcsh/npc_team/jinxs/lib/core/search.jinx,sha256=ZdW4wK_jyCKAQv7h-WRe1tEtgHxr3AHqPdZ60jfRs_A,1236
90
- npcsh/npc_team/jinxs/lib/core/sh.jinx,sha256=RzpvJ0f3tmmrl7W8mxKBaOFtjmKuEXQjhKYYF_EaeyQ,844
91
- npcsh/npc_team/jinxs/lib/core/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
92
- npcsh/npc_team/jinxs/lib/core/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
93
- npcsh/npc_team/jinxs/lib/core/search/db_search.jinx,sha256=9k33MH3Pbub_Hux7dNpEhQg7udyuoR5Yr-BtCHKAFU4,18066
94
- npcsh/npc_team/jinxs/lib/core/search/file_search.jinx,sha256=Ghf3ViI7SoRPjSzDREA6sqGxU5MUjNtEMw2vBDTtWK0,17007
95
- npcsh/npc_team/jinxs/lib/core/search/kg_search.jinx,sha256=kziAhjbO5okMN0FJfcy87f3K-1EELsNmQTNlD0Xdjew,21712
96
- npcsh/npc_team/jinxs/lib/core/search/web_search.jinx,sha256=AuphZ3IlczyEfFvCh2Rx93fJ_8d_oix8_kAinjhWaf4,15492
97
- npcsh/npc_team/jinxs/lib/utils/benchmark.jinx,sha256=3jWhOm4ijSipG-1jRvRNaYP-5YoTXaSbnczudNVd3XA,6097
98
- npcsh/npc_team/jinxs/lib/utils/build.jinx,sha256=TOsNjTEGlg5aSoYX_hmzywj3W6hlGPUOq7okmCzzaRg,2555
99
- npcsh/npc_team/jinxs/lib/utils/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
100
- npcsh/npc_team/jinxs/lib/utils/help.jinx,sha256=BESlgpCj02ZnLSMGpQJ8YpWMi_Z6eTo8wDet7K0M4I4,2089
101
- npcsh/npc_team/jinxs/lib/utils/init.jinx,sha256=UPCtj_XKCC51MzuMAAKlWRwhCKfbB9T96P-8fvhquIQ,1315
102
- npcsh/npc_team/jinxs/lib/utils/jinxs.jinx,sha256=wNa4Q1Q5cGaipPBUMBvOpGhbKfT46_Rg38YFDiX9u6Q,16278
103
- npcsh/npc_team/jinxs/lib/utils/models.jinx,sha256=5GiD-yKC2h5LWvwEOLdim8nJUqIl6FileBfUXKlHAiA,14424
104
- npcsh/npc_team/jinxs/lib/utils/serve.jinx,sha256=EXp58rquPHZcJthrScc-NACrrQu2RzVHzPnfZAR_kcE,762
105
- npcsh/npc_team/jinxs/lib/utils/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
106
- npcsh/npc_team/jinxs/lib/utils/setup.jinx,sha256=4pnNFtfVWJB4ogFLrTYATohpqa5OPABofCDK92lGxWQ,10627
107
- npcsh/npc_team/jinxs/lib/utils/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
108
- npcsh/npc_team/jinxs/lib/utils/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
109
- npcsh/npc_team/jinxs/lib/utils/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
110
- npcsh/npc_team/jinxs/lib/utils/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
111
- npcsh/npc_team/jinxs/lib/utils/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
112
- npcsh/npc_team/jinxs/lib/utils/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
113
- npcsh/npc_team/jinxs/lib/utils/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
114
- npcsh/npc_team/jinxs/modes/alicanto.jinx,sha256=eHRCBCz3M1fLiJwu2wSK0pgroZwzV7EPJDZzZGt8sKQ,71771
115
- npcsh/npc_team/jinxs/modes/arxiv.jinx,sha256=cYj0N1SkhaNXR8Rws7RgBB-5bjdtzu6vJ2Dq_Iwuj1M,38118
116
- npcsh/npc_team/jinxs/modes/config_tui.jinx,sha256=JNork0Ns-8ZN2kahX5YxljplmIOhtKa2kmaEeX1zPzA,12364
117
- npcsh/npc_team/jinxs/modes/corca.jinx,sha256=nAzxdhpB_Bq7oc3v-KesEiT7neJbHOFZeglYVUiAjZA,18083
118
- npcsh/npc_team/jinxs/modes/git.jinx,sha256=EUTAW9PDBXTazGOwWWrodEPUTfqUAnXpw7A2W7qoTiw,34677
119
- npcsh/npc_team/jinxs/modes/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
120
- npcsh/npc_team/jinxs/modes/kg.jinx,sha256=KWVERYnbE77KILRMbzvTqqh985hNURbLsSWjxwcrV2Q,43642
121
- npcsh/npc_team/jinxs/modes/memories.jinx,sha256=vFV-3xqgbeYw6FV2TWTANdcUV0jXvpWVVVfVF_5jQok,15598
122
- npcsh/npc_team/jinxs/modes/nql.jinx,sha256=T4CCFZLGBxKRsbz6nzAgEJSDNX08j_XMI96U7k-sgEc,19758
123
- npcsh/npc_team/jinxs/modes/papers.jinx,sha256=_MOyha7kmp2cDffCoXKtfNWFTLzfXCQXyoIizcZYBkI,29915
124
- npcsh/npc_team/jinxs/modes/plonk.jinx,sha256=fRvOWnOhpD98Wix7bOTbeFsz9dEeunJ7s53m4v9Fd1s,22325
125
- npcsh/npc_team/jinxs/modes/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
126
- npcsh/npc_team/jinxs/modes/reattach.jinx,sha256=yxArBZlOpVcjvU-tDUFNO0XWMUY-flhlGQonGIOnAdY,13977
127
- npcsh/npc_team/jinxs/modes/roll.jinx,sha256=Yp9Hg6_aMfQ1366-kKJ2gLjxXyAauoolRXtJva3KUOg,2172
128
- npcsh/npc_team/jinxs/modes/spool.jinx,sha256=II95LfPoOa1O2uNT3RXPA8r82tjp_px61Jy_tq3A6t0,14937
129
- npcsh/npc_team/jinxs/modes/team.jinx,sha256=0-t-ICICwce1X8fd8cY_1VGg_x_XQ90KD5ZEwE6p9jw,20291
130
- npcsh/npc_team/jinxs/modes/vixynt.jinx,sha256=LuTyHFdNFmeOnxu-qEzlJ-IP4aRWisIzFtSXhVDszwk,14601
131
- npcsh/npc_team/jinxs/modes/wander.jinx,sha256=vkU-CvkdEXaW4oEs4Tq0AHhhcCmPdLRWprPsjNOvxOk,30671
132
- npcsh/npc_team/jinxs/modes/yap.jinx,sha256=r_sLdGtrJqiMHhlkbknk-q-4Yt3ttu8Rky7mOvrXOT8,10021
133
- npcsh-1.1.21.data/data/npcsh/npc_team/add_tab.jinx,sha256=knJ7uIUVwpPPWZ2Sy4MYf14rwqBnQ-wUk56rZPLDCbk,233
134
- npcsh-1.1.21.data/data/npcsh/npc_team/alicanto.jinx,sha256=eHRCBCz3M1fLiJwu2wSK0pgroZwzV7EPJDZzZGt8sKQ,71771
135
- npcsh-1.1.21.data/data/npcsh/npc_team/alicanto.npc,sha256=MjCeCKhC4OqKO0Rxa5U_SLEui7Lh8M2hXabcVfqEDhc,1455
136
- npcsh-1.1.21.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
137
- npcsh-1.1.21.data/data/npcsh/npc_team/arxiv.jinx,sha256=cYj0N1SkhaNXR8Rws7RgBB-5bjdtzu6vJ2Dq_Iwuj1M,38118
138
- npcsh-1.1.21.data/data/npcsh/npc_team/benchmark.jinx,sha256=3jWhOm4ijSipG-1jRvRNaYP-5YoTXaSbnczudNVd3XA,6097
139
- npcsh-1.1.21.data/data/npcsh/npc_team/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
140
- npcsh-1.1.21.data/data/npcsh/npc_team/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
141
- npcsh-1.1.21.data/data/npcsh/npc_team/build.jinx,sha256=TOsNjTEGlg5aSoYX_hmzywj3W6hlGPUOq7okmCzzaRg,2555
142
- npcsh-1.1.21.data/data/npcsh/npc_team/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
143
- npcsh-1.1.21.data/data/npcsh/npc_team/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
144
- npcsh-1.1.21.data/data/npcsh/npc_team/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
145
- npcsh-1.1.21.data/data/npcsh/npc_team/close_pane.jinx,sha256=9L72Eb_sJd9AC1c47hq7ogjk8OagOem5yg5hrzrlXVs,271
146
- npcsh-1.1.21.data/data/npcsh/npc_team/close_tab.jinx,sha256=h5G8xXWnka59LDV-Go2Xk-KVITojnQ4ghup1gUvOnVA,234
147
- npcsh-1.1.21.data/data/npcsh/npc_team/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
148
- npcsh-1.1.21.data/data/npcsh/npc_team/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
149
- npcsh-1.1.21.data/data/npcsh/npc_team/compress.jinx,sha256=t3n2B6rwebyGOIDZ3PAQZm1b5YdDHYqO-lWlHYOQVWw,20661
150
- npcsh-1.1.21.data/data/npcsh/npc_team/config_tui.jinx,sha256=JNork0Ns-8ZN2kahX5YxljplmIOhtKa2kmaEeX1zPzA,12364
151
- npcsh-1.1.21.data/data/npcsh/npc_team/confirm.jinx,sha256=1xPmu0ocnmysdJcv6PftYe7kwx9h3uyA6ntS5rbgFPk,257
152
- npcsh-1.1.21.data/data/npcsh/npc_team/convene.jinx,sha256=W4-eRFHXpJe7Bt-8uC79wWygj4KUv15DNnGMJA1gJXA,8828
153
- npcsh-1.1.21.data/data/npcsh/npc_team/corca.jinx,sha256=nAzxdhpB_Bq7oc3v-KesEiT7neJbHOFZeglYVUiAjZA,18083
154
- npcsh-1.1.21.data/data/npcsh/npc_team/corca.npc,sha256=Iu9bRD_OFVYQVyn0PLB_Kp91qzcHiHyo7VwmkXz2S-0,1667
155
- npcsh-1.1.21.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
156
- npcsh-1.1.21.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
157
- npcsh-1.1.21.data/data/npcsh/npc_team/db_search.jinx,sha256=9k33MH3Pbub_Hux7dNpEhQg7udyuoR5Yr-BtCHKAFU4,18066
158
- npcsh-1.1.21.data/data/npcsh/npc_team/delegate.jinx,sha256=wsFBQfhcAT2o-hg05U_HGhHcJyDWjpdlRJc0g3iE40I,8017
159
- npcsh-1.1.21.data/data/npcsh/npc_team/edit_file.jinx,sha256=L31cjWFIlTU4PWOAoZTV1SaCT6qkuY_JIOsR9i5fa1U,3707
160
- npcsh-1.1.21.data/data/npcsh/npc_team/file_search.jinx,sha256=Ghf3ViI7SoRPjSzDREA6sqGxU5MUjNtEMw2vBDTtWK0,17007
161
- npcsh-1.1.21.data/data/npcsh/npc_team/focus_pane.jinx,sha256=wGSCQe_yquRPm3i9VQ3QbIKglIa5Fnh94RKdAn5ggZA,229
162
- npcsh-1.1.21.data/data/npcsh/npc_team/frederic.npc,sha256=1-TcFRWm5RsSnLoeZG_SN4JUU0Ynu6CzV-h6Wfasjto,1945
163
- npcsh-1.1.21.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
164
- npcsh-1.1.21.data/data/npcsh/npc_team/git.jinx,sha256=EUTAW9PDBXTazGOwWWrodEPUTfqUAnXpw7A2W7qoTiw,34677
165
- npcsh-1.1.21.data/data/npcsh/npc_team/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
166
- npcsh-1.1.21.data/data/npcsh/npc_team/guac.npc,sha256=bOMEMXxvL4B-xdGqtq7hWf_gZpdMlo4OqER7c9iBsiM,797
167
- npcsh-1.1.21.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
168
- npcsh-1.1.21.data/data/npcsh/npc_team/help.jinx,sha256=BESlgpCj02ZnLSMGpQJ8YpWMi_Z6eTo8wDet7K0M4I4,2089
169
- npcsh-1.1.21.data/data/npcsh/npc_team/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
170
- npcsh-1.1.21.data/data/npcsh/npc_team/init.jinx,sha256=UPCtj_XKCC51MzuMAAKlWRwhCKfbB9T96P-8fvhquIQ,1315
171
- npcsh-1.1.21.data/data/npcsh/npc_team/jinxs.jinx,sha256=wNa4Q1Q5cGaipPBUMBvOpGhbKfT46_Rg38YFDiX9u6Q,16278
172
- npcsh-1.1.21.data/data/npcsh/npc_team/kadiefa.npc,sha256=tg9YZ3dTlXS8CIEb544G5UYvGndPhgdlQoLWRV5j-JY,1758
173
- npcsh-1.1.21.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
174
- npcsh-1.1.21.data/data/npcsh/npc_team/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
175
- npcsh-1.1.21.data/data/npcsh/npc_team/kg.jinx,sha256=KWVERYnbE77KILRMbzvTqqh985hNURbLsSWjxwcrV2Q,43642
176
- npcsh-1.1.21.data/data/npcsh/npc_team/kg_search.jinx,sha256=kziAhjbO5okMN0FJfcy87f3K-1EELsNmQTNlD0Xdjew,21712
177
- npcsh-1.1.21.data/data/npcsh/npc_team/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
178
- npcsh-1.1.21.data/data/npcsh/npc_team/list_panes.jinx,sha256=AGE9eZ4ftzkFV3_M053AXsL742e3B5ApZ1JXzFz0j9s,262
179
- npcsh-1.1.21.data/data/npcsh/npc_team/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
180
- npcsh-1.1.21.data/data/npcsh/npc_team/memories.jinx,sha256=vFV-3xqgbeYw6FV2TWTANdcUV0jXvpWVVVfVF_5jQok,15598
181
- npcsh-1.1.21.data/data/npcsh/npc_team/models.jinx,sha256=5GiD-yKC2h5LWvwEOLdim8nJUqIl6FileBfUXKlHAiA,14424
182
- npcsh-1.1.21.data/data/npcsh/npc_team/navigate.jinx,sha256=Cz5lSrn3I9yHx2VuV9c038yDLIPlw2WVBt1LxmtUdB0,240
183
- npcsh-1.1.21.data/data/npcsh/npc_team/notify.jinx,sha256=ZJB37upTsSOLLiVUJQanVQ6ee0jZd4SY7lkufL-zSPQ,236
184
- npcsh-1.1.21.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
185
- npcsh-1.1.21.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
186
- npcsh-1.1.21.data/data/npcsh/npc_team/nql.jinx,sha256=T4CCFZLGBxKRsbz6nzAgEJSDNX08j_XMI96U7k-sgEc,19758
187
- npcsh-1.1.21.data/data/npcsh/npc_team/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
188
- npcsh-1.1.21.data/data/npcsh/npc_team/open_pane.jinx,sha256=-rL9VKtSqzPu_lLPLMGTlRwNHqqLH5wN8jfj989fip0,471
189
- npcsh-1.1.21.data/data/npcsh/npc_team/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
190
- npcsh-1.1.21.data/data/npcsh/npc_team/papers.jinx,sha256=_MOyha7kmp2cDffCoXKtfNWFTLzfXCQXyoIizcZYBkI,29915
191
- npcsh-1.1.21.data/data/npcsh/npc_team/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
192
- npcsh-1.1.21.data/data/npcsh/npc_team/plonk.jinx,sha256=fRvOWnOhpD98Wix7bOTbeFsz9dEeunJ7s53m4v9Fd1s,22325
193
- npcsh-1.1.21.data/data/npcsh/npc_team/plonk.npc,sha256=z2fd5U0qaymiqHvkunQxCGQ1N2Mx6DMeErcltrJWrqw,1341
194
- npcsh-1.1.21.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
195
- npcsh-1.1.21.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
196
- npcsh-1.1.21.data/data/npcsh/npc_team/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
197
- npcsh-1.1.21.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
198
- npcsh-1.1.21.data/data/npcsh/npc_team/read_pane.jinx,sha256=80M-ecIDDkgiIuI9lvfp4_ECSFu7Xa3zYDex1HGzRSs,326
199
- npcsh-1.1.21.data/data/npcsh/npc_team/reattach.jinx,sha256=yxArBZlOpVcjvU-tDUFNO0XWMUY-flhlGQonGIOnAdY,13977
200
- npcsh-1.1.21.data/data/npcsh/npc_team/roll.jinx,sha256=Yp9Hg6_aMfQ1366-kKJ2gLjxXyAauoolRXtJva3KUOg,2172
201
- npcsh-1.1.21.data/data/npcsh/npc_team/run_terminal.jinx,sha256=YjkUWtGvfE0ATrPeX-IQ8dVPpN5ChBD29Iq09XVyVfM,243
202
- npcsh-1.1.21.data/data/npcsh/npc_team/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
203
- npcsh-1.1.21.data/data/npcsh/npc_team/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
204
- npcsh-1.1.21.data/data/npcsh/npc_team/search.jinx,sha256=ZdW4wK_jyCKAQv7h-WRe1tEtgHxr3AHqPdZ60jfRs_A,1236
205
- npcsh-1.1.21.data/data/npcsh/npc_team/send_message.jinx,sha256=8TYBJxrgBLA2xuIXgXw1qH3X9nYQzFJwpi6CJOk6uFY,236
206
- npcsh-1.1.21.data/data/npcsh/npc_team/serve.jinx,sha256=EXp58rquPHZcJthrScc-NACrrQu2RzVHzPnfZAR_kcE,762
207
- npcsh-1.1.21.data/data/npcsh/npc_team/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
208
- npcsh-1.1.21.data/data/npcsh/npc_team/setup.jinx,sha256=4pnNFtfVWJB4ogFLrTYATohpqa5OPABofCDK92lGxWQ,10627
209
- npcsh-1.1.21.data/data/npcsh/npc_team/sh.jinx,sha256=RzpvJ0f3tmmrl7W8mxKBaOFtjmKuEXQjhKYYF_EaeyQ,844
210
- npcsh-1.1.21.data/data/npcsh/npc_team/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
211
- npcsh-1.1.21.data/data/npcsh/npc_team/sibiji.npc,sha256=iYv7KXULbyWLPWhFwM7sNbMT4RNHWMvl10bdzmJdRO4,1624
212
- npcsh-1.1.21.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
213
- npcsh-1.1.21.data/data/npcsh/npc_team/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
214
- npcsh-1.1.21.data/data/npcsh/npc_team/split_pane.jinx,sha256=-taNskdEb3hQEUGFdrrVw_tyAL-g5fHwqhCBfH50RW4,290
215
- npcsh-1.1.21.data/data/npcsh/npc_team/spool.jinx,sha256=II95LfPoOa1O2uNT3RXPA8r82tjp_px61Jy_tq3A6t0,14937
216
- npcsh-1.1.21.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
217
- npcsh-1.1.21.data/data/npcsh/npc_team/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
218
- npcsh-1.1.21.data/data/npcsh/npc_team/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
219
- npcsh-1.1.21.data/data/npcsh/npc_team/switch_npc.jinx,sha256=8pQvKa_nZD6DXy7uV9NAi0ff9xWbA0HMFdsEIVyHjZQ,241
220
- npcsh-1.1.21.data/data/npcsh/npc_team/switch_tab.jinx,sha256=ZUdJdbqs0oSwOuDFiBPAxqN58-VX53gXNINsRjVL50U,239
221
- npcsh-1.1.21.data/data/npcsh/npc_team/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
222
- npcsh-1.1.21.data/data/npcsh/npc_team/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
223
- npcsh-1.1.21.data/data/npcsh/npc_team/team.jinx,sha256=0-t-ICICwce1X8fd8cY_1VGg_x_XQ90KD5ZEwE6p9jw,20291
224
- npcsh-1.1.21.data/data/npcsh/npc_team/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
225
- npcsh-1.1.21.data/data/npcsh/npc_team/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
226
- npcsh-1.1.21.data/data/npcsh/npc_team/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
227
- npcsh-1.1.21.data/data/npcsh/npc_team/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
228
- npcsh-1.1.21.data/data/npcsh/npc_team/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
229
- npcsh-1.1.21.data/data/npcsh/npc_team/vixynt.jinx,sha256=LuTyHFdNFmeOnxu-qEzlJ-IP4aRWisIzFtSXhVDszwk,14601
230
- npcsh-1.1.21.data/data/npcsh/npc_team/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
231
- npcsh-1.1.21.data/data/npcsh/npc_team/wander.jinx,sha256=vkU-CvkdEXaW4oEs4Tq0AHhhcCmPdLRWprPsjNOvxOk,30671
232
- npcsh-1.1.21.data/data/npcsh/npc_team/web_search.jinx,sha256=AuphZ3IlczyEfFvCh2Rx93fJ_8d_oix8_kAinjhWaf4,15492
233
- npcsh-1.1.21.data/data/npcsh/npc_team/write_file.jinx,sha256=RauswZGoAbSyz44YgWqzHR_jJBLsndstRQ7hLploCeU,285
234
- npcsh-1.1.21.data/data/npcsh/npc_team/yap.jinx,sha256=r_sLdGtrJqiMHhlkbknk-q-4Yt3ttu8Rky7mOvrXOT8,10021
235
- npcsh-1.1.21.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
236
- npcsh-1.1.21.data/data/npcsh/npc_team/zen_mode.jinx,sha256=_iR9c2yvDIrhd98f5d_8_fNJJi_k9AePejQ_sAZrwTI,228
237
- npcsh-1.1.21.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
238
- project/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
239
- npcsh-1.1.21.dist-info/METADATA,sha256=JV_7PQw_at5__bhDNWxtvQT02NBYQj504JfGDPFVaSA,39574
240
- npcsh-1.1.21.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
241
- npcsh-1.1.21.dist-info/entry_points.txt,sha256=3ERDuLoIGCSQo166mcTibZ0ybjMly-3WSceNj-pql10,289
242
- npcsh-1.1.21.dist-info/top_level.txt,sha256=sbA6l0H-5EUmtoSA3SJTzrFzT_BmsFtf1FOUq8P8vL0,14
243
- npcsh-1.1.21.dist-info/RECORD,,
File without changes
File without changes