npcsh 1.0.31__py3-none-any.whl → 1.0.32__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 (35) hide show
  1. npcsh/alicanto.py +1001 -1015
  2. npcsh/corca.py +61 -21
  3. npcsh/routes.py +16 -15
  4. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/METADATA +1 -1
  5. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/RECORD +35 -35
  6. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/alicanto.npc +0 -0
  7. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/alicanto.png +0 -0
  8. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/bash_executer.jinx +0 -0
  9. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/corca.npc +0 -0
  10. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/corca.png +0 -0
  11. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/edit_file.jinx +0 -0
  12. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/foreman.npc +0 -0
  13. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/frederic.npc +0 -0
  14. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/frederic4.png +0 -0
  15. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/guac.png +0 -0
  16. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/image_generation.jinx +0 -0
  17. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/internet_search.jinx +0 -0
  18. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/kadiefa.npc +0 -0
  19. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/kadiefa.png +0 -0
  20. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/npcsh.ctx +0 -0
  21. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  22. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/plonk.npc +0 -0
  23. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/plonk.png +0 -0
  24. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/plonkjr.npc +0 -0
  25. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/plonkjr.png +0 -0
  26. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/python_executor.jinx +0 -0
  27. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/screen_cap.jinx +0 -0
  28. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/sibiji.npc +0 -0
  29. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/sibiji.png +0 -0
  30. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/spool.png +0 -0
  31. {npcsh-1.0.31.data → npcsh-1.0.32.data}/data/npcsh/npc_team/yap.png +0 -0
  32. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/WHEEL +0 -0
  33. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/entry_points.txt +0 -0
  34. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/licenses/LICENSE +0 -0
  35. {npcsh-1.0.31.dist-info → npcsh-1.0.32.dist-info}/top_level.txt +0 -0
npcsh/corca.py CHANGED
@@ -7,6 +7,7 @@ from contextlib import AsyncExitStack
7
7
  from typing import Optional, Callable, Dict, Any, Tuple, List
8
8
  import shutil
9
9
  import traceback
10
+ from litellm.exceptions import Timeout, ContextWindowExceededError, RateLimitError
10
11
 
11
12
  try:
12
13
  from mcp import ClientSession, StdioServerParameters
@@ -250,6 +251,7 @@ def process_mcp_stream(stream_response, active_npc):
250
251
 
251
252
 
252
253
 
254
+
253
255
  def execute_command_corca(command: str, state: ShellState, command_history, selected_mcp_tools_names: Optional[List[str]] = None) -> Tuple[ShellState, Any]:
254
256
  mcp_tools_for_llm = []
255
257
 
@@ -270,27 +272,63 @@ def execute_command_corca(command: str, state: ShellState, command_history, sele
270
272
 
271
273
  active_npc = state.npc if isinstance(state.npc, NPC) else NPC(name="default")
272
274
 
273
- if len(state.messages) > 20:
274
- compressed_state = active_npc.compress_planning_state({
275
- "goal": "ongoing session",
276
- "facts": [],
277
- "successes": [],
278
- "mistakes": [],
279
- "todos": [],
280
- "constraints": []
281
- })
282
- state.messages = [{"role": "system", "content": f"Session context: {compressed_state}"}]
283
-
284
- response_dict = get_llm_response(
285
- prompt=command,
286
- npc=state.npc,
287
- messages=state.messages,
288
- tools=mcp_tools_for_llm,
289
- auto_process_tool_calls=False,
290
- stream=state.stream_output,
291
- team=state.team
292
- )
293
-
275
+ if len(state.messages) > 50:
276
+ compressed_state = active_npc.compress_planning_state(state.messages)
277
+ state.messages = [{"role": "system", "content": compressed_state}]
278
+ print(compressed_state)
279
+
280
+ try:
281
+ response_dict = get_llm_response(
282
+ prompt=command,
283
+ npc=state.npc,
284
+ messages=state.messages,
285
+ tools=mcp_tools_for_llm,
286
+ auto_process_tool_calls=False,
287
+ stream=state.stream_output,
288
+ team=state.team
289
+ )
290
+ except Timeout:
291
+ response_dict = get_llm_response(
292
+ prompt=command,
293
+ npc=state.npc,
294
+ messages=state.messages,
295
+ tools=mcp_tools_for_llm,
296
+ auto_process_tool_calls=False,
297
+ stream=state.stream_output,
298
+ team=state.team
299
+ )
300
+ except ContextWindowExceededError:
301
+ compressed_state = active_npc.compress_planning_state(state.messages)
302
+ state.messages = [{"role": "system", "content": compressed_state}]
303
+
304
+ response_dict = get_llm_response(
305
+ prompt=command,
306
+ npc=state.npc,
307
+ messages=state.messages,
308
+ tools=mcp_tools_for_llm,
309
+ auto_process_tool_calls=False,
310
+ stream=state.stream_output,
311
+ team=state.team
312
+ )
313
+ except RateLimitError:
314
+ import time
315
+ print('rate limit hit... waiting 60 seconds')
316
+ time.sleep(60)
317
+ print('compressing..... ')
318
+ compressed_state = active_npc.compress_planning_state(state.messages)
319
+ state.messages = [{"role": "system", "content": compressed_state}]
320
+
321
+ response_dict = get_llm_response(
322
+ prompt=command,
323
+ npc=state.npc,
324
+ messages=state.messages,
325
+ tools=mcp_tools_for_llm,
326
+ auto_process_tool_calls=False,
327
+ stream=state.stream_output,
328
+ team=state.team
329
+ )
330
+
331
+
294
332
  stream_response = response_dict.get('response')
295
333
  messages = response_dict.get('messages', state.messages)
296
334
 
@@ -308,6 +346,8 @@ def execute_command_corca(command: str, state: ShellState, command_history, sele
308
346
  "tool_calls": tool_calls,
309
347
  "messages": state.messages
310
348
  }
349
+
350
+
311
351
  def _resolve_and_copy_mcp_server_path(
312
352
  explicit_path: Optional[str],
313
353
  current_path: Optional[str],
npcsh/routes.py CHANGED
@@ -1130,18 +1130,11 @@ def yap_handler(command: str, **kwargs):
1130
1130
  @router.route("alicanto", "Conduct deep research with multiple perspectives, identifying gold insights and cliff warnings")
1131
1131
  def alicanto_handler(command: str, **kwargs):
1132
1132
  messages = safe_get(kwargs, "messages", [])
1133
-
1134
-
1135
1133
  parts = shlex.split(command)
1136
-
1137
1134
 
1138
1135
  query = ""
1139
1136
  num_npcs = safe_get(kwargs, 'num_npcs', 5)
1140
1137
  depth = safe_get(kwargs, 'depth', 3)
1141
- exploration_factor = safe_get(kwargs, 'exploration', 0.3)
1142
- creativity_factor = safe_get(kwargs, 'creativity', 0.5)
1143
- output_format = safe_get(kwargs, 'format', 'report')
1144
-
1145
1138
 
1146
1139
  i = 1
1147
1140
  while i < len(parts):
@@ -1217,17 +1210,25 @@ def alicanto_handler(command: str, **kwargs):
1217
1210
 
1218
1211
  try:
1219
1212
  logging.info(f"Starting Alicanto research on: {query}")
1213
+ model = safe_get(kwargs, 'model')
1214
+ if len(model) == 0 :
1215
+ model = NPCSH_CHAT_MODEL
1216
+ provider = safe_get(kwargs, 'provider')
1217
+ if len(provider) == 0 :
1218
+ provider = NPCSH_CHAT_PROVIDER
1219
+
1220
+
1221
+ print('model: ', model)
1222
+ print('provider: ', provider)
1223
+
1220
1224
  result = alicanto(
1221
- request=query,
1225
+ query,
1222
1226
  num_npcs=num_npcs,
1223
1227
  depth=depth,
1224
- memory=3,
1225
- context=None,
1226
- model=safe_get(kwargs, 'model', NPCSH_CHAT_MODEL),
1227
- provider=safe_get(kwargs, 'provider', NPCSH_CHAT_PROVIDER),
1228
- exploration_factor=exploration_factor,
1229
- creativity_factor=creativity_factor,
1230
- output_format=output_format
1228
+ model=model,
1229
+ provider=provider,
1230
+ max_steps = safe_get(kwargs, 'max_steps', 20),
1231
+
1231
1232
  )
1232
1233
 
1233
1234
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: npcsh
3
- Version: 1.0.31
3
+ Version: 1.0.32
4
4
  Summary: npcsh is a command-line toolkit for using AI agents in novel ways.
5
5
  Home-page: https://github.com/NPC-Worldwide/npcsh
6
6
  Author: Christopher Agostino
@@ -1,7 +1,7 @@
1
1
  npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  npcsh/_state.py,sha256=sntRSm9DKthandawaLCf-semAm_1CNx3AUh-066G248,86498
3
- npcsh/alicanto.py,sha256=S-_mFtEzE8CKWSctJawUtAKmVLgUz-loODTDtL0f6eo,41538
4
- npcsh/corca.py,sha256=XuaNVhZ1Yslx43AcdmApViUXMuWMoXncLaNT0wwiHmk,47737
3
+ npcsh/alicanto.py,sha256=ZftzxfQPQuuj9VB9V2FCTQN5NIE9Rvsg4iNiNqOUE6U,38118
4
+ npcsh/corca.py,sha256=iX_20JYYak_KKEKgG-S5buKkBc-1iZ-k2YdPr1FDG2A,49141
5
5
  npcsh/guac.py,sha256=sVdLYVkzkQw6TE7crtLUX0QJZFkzQthWZTe1p7IfAQE,80412
6
6
  npcsh/mcp_helpers.py,sha256=9TsCfcquGu_vX4WaKlY3J3P13-uxruQKrXng-jJ5YyY,11176
7
7
  npcsh/mcp_server.py,sha256=krc1rhiSU9gI76w99Ph3Mk7OyUVzfiEXKMvVid-7-Ik,5201
@@ -9,7 +9,7 @@ npcsh/npc.py,sha256=OjCDu03hAcXyqPbzMeBBr1cBnmQsB1FBhd7kLNsWALc,8330
9
9
  npcsh/npcsh.py,sha256=3WLkZxHGzRekVGxHiJUA4VFyhC3A1jwX11aB0kgzE9s,8818
10
10
  npcsh/plonk.py,sha256=IfOuiE5FBvk-EIsrWFjGy0SrNywDpn4a49E7seBtEmY,14246
11
11
  npcsh/pti.py,sha256=UciiiH2Kz4ERQFy0-FX6BQEU2VxYQEUril-_Cvj76Y0,7853
12
- npcsh/routes.py,sha256=1r9WI3fVtj_vy7ZdL_90R9DtX2UulYrqer1SQG8pJks,44213
12
+ npcsh/routes.py,sha256=ulQMLrNwOAQqfbHC1Nijr8lkn9v4efviCdkgZe9T0iY,44106
13
13
  npcsh/spool.py,sha256=oCive2dbn1o3UGUJnFMzfON6g4bOnauuzyyQBgul6RI,9839
14
14
  npcsh/wander.py,sha256=8WOX8az8BXjizXGraEvu-ZVphi6PECKZzo9alTK4gmA,21730
15
15
  npcsh/yap.py,sha256=QU-j9eg8zixXG6nyjoIYXsanJ4FjPnzhS4aJ241HLxw,18467
@@ -39,35 +39,35 @@ npcsh/npc_team/jinxs/image_generation.jinx,sha256=bQxZdEm0_eqvf_OJSHw3qarp8Klp3L
39
39
  npcsh/npc_team/jinxs/internet_search.jinx,sha256=s8zVxwKFUAof_VzQrwB5dpAQdeJ6hUBkbIdRsT-I5mo,1267
40
40
  npcsh/npc_team/jinxs/python_executor.jinx,sha256=vZz3pZaj1BnPFHMs_wpyjRc0b32JR4rLhZfulCMDF1s,398
41
41
  npcsh/npc_team/jinxs/screen_cap.jinx,sha256=-4DG0EiEe61N_kMhVqqHKhLVGOLuZQT9ax6IZk20NjI,960
42
- npcsh-1.0.31.data/data/npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
43
- npcsh-1.0.31.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
44
- npcsh-1.0.31.data/data/npcsh/npc_team/bash_executer.jinx,sha256=C_oQccOY8cKevMMPLRdznlMOccQvLgyzyOIThXvmrD8,692
45
- npcsh-1.0.31.data/data/npcsh/npc_team/corca.npc,sha256=HI3Bs6KlUBPMz7icF1TRE8-V3f3EdU_VxvQxEpru3L4,662
46
- npcsh-1.0.31.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
47
- npcsh-1.0.31.data/data/npcsh/npc_team/edit_file.jinx,sha256=4PaJs8g_cdeDpbQwQSBycU5RDA0rczEC_NpLfLjo74Y,3490
48
- npcsh-1.0.31.data/data/npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
49
- npcsh-1.0.31.data/data/npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
50
- npcsh-1.0.31.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
51
- npcsh-1.0.31.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
52
- npcsh-1.0.31.data/data/npcsh/npc_team/image_generation.jinx,sha256=bQxZdEm0_eqvf_OJSHw3qarp8Klp3LlBDv1_HY3COo4,1307
53
- npcsh-1.0.31.data/data/npcsh/npc_team/internet_search.jinx,sha256=s8zVxwKFUAof_VzQrwB5dpAQdeJ6hUBkbIdRsT-I5mo,1267
54
- npcsh-1.0.31.data/data/npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
55
- npcsh-1.0.31.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
56
- npcsh-1.0.31.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
57
- npcsh-1.0.31.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
58
- npcsh-1.0.31.data/data/npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
59
- npcsh-1.0.31.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
60
- npcsh-1.0.31.data/data/npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
61
- npcsh-1.0.31.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
62
- npcsh-1.0.31.data/data/npcsh/npc_team/python_executor.jinx,sha256=vZz3pZaj1BnPFHMs_wpyjRc0b32JR4rLhZfulCMDF1s,398
63
- npcsh-1.0.31.data/data/npcsh/npc_team/screen_cap.jinx,sha256=-4DG0EiEe61N_kMhVqqHKhLVGOLuZQT9ax6IZk20NjI,960
64
- npcsh-1.0.31.data/data/npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
65
- npcsh-1.0.31.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
66
- npcsh-1.0.31.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
67
- npcsh-1.0.31.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
68
- npcsh-1.0.31.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
69
- npcsh-1.0.31.dist-info/METADATA,sha256=gAjnehN3A7kfXcP4WxyuZnf2JwKBBklbLjUl2VtCuS4,25486
70
- npcsh-1.0.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
- npcsh-1.0.31.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
72
- npcsh-1.0.31.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
73
- npcsh-1.0.31.dist-info/RECORD,,
42
+ npcsh-1.0.32.data/data/npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
43
+ npcsh-1.0.32.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
44
+ npcsh-1.0.32.data/data/npcsh/npc_team/bash_executer.jinx,sha256=C_oQccOY8cKevMMPLRdznlMOccQvLgyzyOIThXvmrD8,692
45
+ npcsh-1.0.32.data/data/npcsh/npc_team/corca.npc,sha256=HI3Bs6KlUBPMz7icF1TRE8-V3f3EdU_VxvQxEpru3L4,662
46
+ npcsh-1.0.32.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
47
+ npcsh-1.0.32.data/data/npcsh/npc_team/edit_file.jinx,sha256=4PaJs8g_cdeDpbQwQSBycU5RDA0rczEC_NpLfLjo74Y,3490
48
+ npcsh-1.0.32.data/data/npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
49
+ npcsh-1.0.32.data/data/npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
50
+ npcsh-1.0.32.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
51
+ npcsh-1.0.32.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
52
+ npcsh-1.0.32.data/data/npcsh/npc_team/image_generation.jinx,sha256=bQxZdEm0_eqvf_OJSHw3qarp8Klp3LlBDv1_HY3COo4,1307
53
+ npcsh-1.0.32.data/data/npcsh/npc_team/internet_search.jinx,sha256=s8zVxwKFUAof_VzQrwB5dpAQdeJ6hUBkbIdRsT-I5mo,1267
54
+ npcsh-1.0.32.data/data/npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
55
+ npcsh-1.0.32.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
56
+ npcsh-1.0.32.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
57
+ npcsh-1.0.32.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
58
+ npcsh-1.0.32.data/data/npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
59
+ npcsh-1.0.32.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
60
+ npcsh-1.0.32.data/data/npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
61
+ npcsh-1.0.32.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
62
+ npcsh-1.0.32.data/data/npcsh/npc_team/python_executor.jinx,sha256=vZz3pZaj1BnPFHMs_wpyjRc0b32JR4rLhZfulCMDF1s,398
63
+ npcsh-1.0.32.data/data/npcsh/npc_team/screen_cap.jinx,sha256=-4DG0EiEe61N_kMhVqqHKhLVGOLuZQT9ax6IZk20NjI,960
64
+ npcsh-1.0.32.data/data/npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
65
+ npcsh-1.0.32.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
66
+ npcsh-1.0.32.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
67
+ npcsh-1.0.32.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
68
+ npcsh-1.0.32.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
69
+ npcsh-1.0.32.dist-info/METADATA,sha256=FmgUyMW-g9qkavXUoHlMl9juRc-b1Jka6yyDzj8kN1s,25486
70
+ npcsh-1.0.32.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
+ npcsh-1.0.32.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
72
+ npcsh-1.0.32.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
73
+ npcsh-1.0.32.dist-info/RECORD,,
File without changes