npcsh 1.1.5__py3-none-any.whl → 1.1.7__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 (76) hide show
  1. npcsh/_state.py +483 -336
  2. npcsh/npc_team/jinxs/code/sh.jinx +0 -1
  3. npcsh/npc_team/jinxs/code/sql.jinx +1 -3
  4. npcsh/npc_team/jinxs/utils/npc-studio.jinx +33 -38
  5. npcsh/npc_team/jinxs/utils/ots.jinx +34 -65
  6. npcsh/npc_team/jinxs/utils/search.jinx +130 -0
  7. npcsh/npc_team/jinxs/utils/vixynt.jinx +33 -45
  8. npcsh/routes.py +32 -14
  9. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/npc-studio.jinx +33 -38
  10. npcsh-1.1.7.data/data/npcsh/npc_team/ots.jinx +61 -0
  11. npcsh-1.1.7.data/data/npcsh/npc_team/search.jinx +130 -0
  12. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sh.jinx +0 -1
  13. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sql.jinx +1 -3
  14. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/vixynt.jinx +33 -45
  15. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/METADATA +1 -10
  16. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/RECORD +65 -73
  17. npcsh/npc_team/jinxs/utils/search/brainblast.jinx +0 -51
  18. npcsh/npc_team/jinxs/utils/search/kg_search.jinx +0 -43
  19. npcsh/npc_team/jinxs/utils/search/memory_search.jinx +0 -36
  20. npcsh/npc_team/jinxs/utils/search/rag.jinx +0 -70
  21. npcsh/npc_team/jinxs/utils/search/search.jinx +0 -192
  22. npcsh-1.1.5.data/data/npcsh/npc_team/brainblast.jinx +0 -51
  23. npcsh-1.1.5.data/data/npcsh/npc_team/kg_search.jinx +0 -43
  24. npcsh-1.1.5.data/data/npcsh/npc_team/memory_search.jinx +0 -36
  25. npcsh-1.1.5.data/data/npcsh/npc_team/ots.jinx +0 -92
  26. npcsh-1.1.5.data/data/npcsh/npc_team/rag.jinx +0 -70
  27. npcsh-1.1.5.data/data/npcsh/npc_team/search.jinx +0 -192
  28. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/alicanto.jinx +0 -0
  29. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/alicanto.npc +0 -0
  30. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/alicanto.png +0 -0
  31. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/breathe.jinx +0 -0
  32. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/build.jinx +0 -0
  33. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/compile.jinx +0 -0
  34. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/corca.jinx +0 -0
  35. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/corca.npc +0 -0
  36. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/corca.png +0 -0
  37. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/corca_example.png +0 -0
  38. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/edit_file.jinx +0 -0
  39. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/flush.jinx +0 -0
  40. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/foreman.npc +0 -0
  41. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/frederic.npc +0 -0
  42. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/frederic4.png +0 -0
  43. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/guac.jinx +0 -0
  44. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/guac.png +0 -0
  45. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/help.jinx +0 -0
  46. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/init.jinx +0 -0
  47. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/jinxs.jinx +0 -0
  48. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/kadiefa.npc +0 -0
  49. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/kadiefa.png +0 -0
  50. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/npcsh.ctx +0 -0
  51. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  52. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plan.jinx +0 -0
  53. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plonk.jinx +0 -0
  54. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plonk.npc +0 -0
  55. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plonk.png +0 -0
  56. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plonkjr.npc +0 -0
  57. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/plonkjr.png +0 -0
  58. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/pti.jinx +0 -0
  59. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/python.jinx +0 -0
  60. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/roll.jinx +0 -0
  61. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sample.jinx +0 -0
  62. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/serve.jinx +0 -0
  63. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/set.jinx +0 -0
  64. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sibiji.npc +0 -0
  65. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sibiji.png +0 -0
  66. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/sleep.jinx +0 -0
  67. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/spool.jinx +0 -0
  68. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/spool.png +0 -0
  69. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/trigger.jinx +0 -0
  70. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/wander.jinx +0 -0
  71. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/yap.jinx +0 -0
  72. {npcsh-1.1.5.data → npcsh-1.1.7.data}/data/npcsh/npc_team/yap.png +0 -0
  73. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/WHEEL +0 -0
  74. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/entry_points.txt +0 -0
  75. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/licenses/LICENSE +0 -0
  76. {npcsh-1.1.5.dist-info → npcsh-1.1.7.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- npcsh/_state.py,sha256=cwuyzgYt1Rg5HsLPuRHeuPjK73bNliAsJhCiTogn-AI,98930
2
+ npcsh/_state.py,sha256=VZs5snF-jWNXO5S8ALdiqdeQ9Ytw0q8qlBTEojtLtcI,101688
3
3
  npcsh/alicanto.py,sha256=QCuTtMOgjFkjfrwZZdZBhfp-ETbimlOrXJQiZhClzT0,42160
4
4
  npcsh/build.py,sha256=UuId0_rQml40A4U1KuvMekRyfB30s8HiLsXFJjqrBmM,7692
5
5
  npcsh/corca.py,sha256=bhEzGlmnq_-VXksuQm6yEdDBgd_-x5WKlt27hw7YVcQ,60698
@@ -10,7 +10,7 @@ npcsh/npc.py,sha256=yqgqZDLwqniIbbDu-vaJf31fWVbOrtgNnFXfjDBk-D8,9853
10
10
  npcsh/npcsh.py,sha256=T6iE_tAV_yWYkxFB1Z0qhYrQxrE-eyh1RmaIQA-3xDQ,9383
11
11
  npcsh/plonk.py,sha256=IfOuiE5FBvk-EIsrWFjGy0SrNywDpn4a49E7seBtEmY,14246
12
12
  npcsh/pti.py,sha256=UciiiH2Kz4ERQFy0-FX6BQEU2VxYQEUril-_Cvj76Y0,7853
13
- npcsh/routes.py,sha256=97gMh_mk2Ec1ge1BApCdIX7L8_jT5XElylOSONyVPxY,4229
13
+ npcsh/routes.py,sha256=nlp_rd8eDyg2vTuXom9JMtmkWSzISu9u6Oc0lJjxKsQ,5024
14
14
  npcsh/spool.py,sha256=oCive2dbn1o3UGUJnFMzfON6g4bOnauuzyyQBgul6RI,9839
15
15
  npcsh/wander.py,sha256=8WOX8az8BXjizXGraEvu-ZVphi6PECKZzo9alTK4gmA,21730
16
16
  npcsh/yap.py,sha256=QU-j9eg8zixXG6nyjoIYXsanJ4FjPnzhS4aJ241HLxw,18467
@@ -36,8 +36,8 @@ npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,356
36
36
  npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
37
37
  npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
38
38
  npcsh/npc_team/jinxs/code/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
39
- npcsh/npc_team/jinxs/code/sh.jinx,sha256=r-pS_B51PxND7SFdZIGDLr2Ln6kA3FOqv4Vv1KYBThY,681
40
- npcsh/npc_team/jinxs/code/sql.jinx,sha256=FHbyGb9WHwzx0CbZis7oJxFMYy8fvOaFtb2kLXj_gCM,666
39
+ npcsh/npc_team/jinxs/code/sh.jinx,sha256=Z_Cuok4FDUxuZGPCuqWS9D3TPI9SdkaZY4U_TCnie2g,666
40
+ npcsh/npc_team/jinxs/code/sql.jinx,sha256=U3scchBO3tqCQRIErC-W87eLtiCv-YGmN7ftqyIvcVc,582
41
41
  npcsh/npc_team/jinxs/modes/alicanto.jinx,sha256=MknpYUX0eIvi5vG9gkoTkJvF_LcFbAp_hQ0qkYEBr3c,4014
42
42
  npcsh/npc_team/jinxs/modes/corca.jinx,sha256=OFzxSHoBJ2Yoc34mtTpd9B_CtGdqbpgcCN3Qt39YJeA,1028
43
43
  npcsh/npc_team/jinxs/modes/guac.jinx,sha256=UIVXw8c-m-lh10bxL2yl2n94TQ_SjZSwLP3sLFGv0k4,1616
@@ -49,84 +49,76 @@ npcsh/npc_team/jinxs/modes/yap.jinx,sha256=eaI665zjaLH2FUwHoO3iC1Uzo9bGA-a1UMtBR
49
49
  npcsh/npc_team/jinxs/utils/breathe.jinx,sha256=WDw13P3Q0M03HdZu-vqhbOhefLjaMZ5oUcct_W4kUsY,739
50
50
  npcsh/npc_team/jinxs/utils/edit_file.jinx,sha256=jExsHctvapG2xlze6E7ZR3oSLS9hJTYKKd41dQwgOLw,3488
51
51
  npcsh/npc_team/jinxs/utils/flush.jinx,sha256=ngzFu4-dnKkqqL0QM9iX9XBxyWOmQdVcJTFb1GhajVo,1422
52
- npcsh/npc_team/jinxs/utils/npc-studio.jinx,sha256=eWXtvQfRG8CFOG0Ut_Sqh0h1Tlm4-a1qKVO1G5vmMAY,2744
53
- npcsh/npc_team/jinxs/utils/ots.jinx,sha256=5zUaD5b1J1LiU2YmH2HjVjCOxpDUNfZ-PQZiaWENdFw,4111
52
+ npcsh/npc_team/jinxs/utils/npc-studio.jinx,sha256=0aY-z399BRIXIL3TLMTcYDiHjDm-krZy0CnYfiskQUo,2234
53
+ npcsh/npc_team/jinxs/utils/ots.jinx,sha256=5Dpsyf0h2M80mkdZnouMp1PSK9S0TCPrINRLoP_1tOc,2303
54
54
  npcsh/npc_team/jinxs/utils/plan.jinx,sha256=hCIG9nGI56C1SeGuGAUcR3XnJ25kHaDnUn1VCv8vszY,1234
55
55
  npcsh/npc_team/jinxs/utils/roll.jinx,sha256=FHoqXXqFgucaW7UJW_14DcRcRlVPBgFeaPJPoATx5BY,2882
56
56
  npcsh/npc_team/jinxs/utils/sample.jinx,sha256=7cWwfAZFgWxaTkIL1gpFFryQ3mjvVjoWYAov-zOFn_E,2237
57
+ npcsh/npc_team/jinxs/utils/search.jinx,sha256=7R37sElFo-XooRNKYqHaouQ-lOxmAxew_8uSXQfNP_Q,5421
57
58
  npcsh/npc_team/jinxs/utils/serve.jinx,sha256=qly_3MThU3TRyJI2grHlhYOqEY1VT-XxubPIuWdZrpU,1056
58
59
  npcsh/npc_team/jinxs/utils/sleep.jinx,sha256=c-7Dn4aLuX7WyBVcvuk3sqcbIutqKIz1N9sBfPNzhck,5301
59
60
  npcsh/npc_team/jinxs/utils/trigger.jinx,sha256=rS913e2qJzNBC0wmmecgzN3f4v8o1os8AZQOPjnW8ho,1456
60
- npcsh/npc_team/jinxs/utils/vixynt.jinx,sha256=ekdKXMQWafAGXgqs83OLNrfrlvXRT1RiaazNCFkumtw,5609
61
+ npcsh/npc_team/jinxs/utils/vixynt.jinx,sha256=ECNE02omzgvJ2B8ZO8K6OylMa3lLGBNEEeFZ-oXiKC0,4070
61
62
  npcsh/npc_team/jinxs/utils/core/build.jinx,sha256=QrShGspHwP1z073334vhUIIJZ_3pMJWN_DX_DPPVslU,2771
62
63
  npcsh/npc_team/jinxs/utils/core/compile.jinx,sha256=Rjdm5jf3ech1E3cnpLz-o2tbJuVvEoQGAp0FQRAU7qo,2526
63
64
  npcsh/npc_team/jinxs/utils/core/help.jinx,sha256=OquhUEgcYZp-gu5Wgl3pOZnswxGQ96RoNG08tHjC9-4,2091
64
65
  npcsh/npc_team/jinxs/utils/core/init.jinx,sha256=QBb1uOTvMlD-x3S7zPASH5TBZRwNhMQvK6t3DdC2mVw,1596
65
66
  npcsh/npc_team/jinxs/utils/core/jinxs.jinx,sha256=rF432zHrVeccbGKm5tHxd_bZ7OQk355xB6LTlEIXiuI,1269
66
67
  npcsh/npc_team/jinxs/utils/core/set.jinx,sha256=hQY_0muEtnWtfXsdK9cPwSvIevCimiJJn1-yhGC_VxM,1381
67
- npcsh/npc_team/jinxs/utils/search/brainblast.jinx,sha256=VvGbl6V5OdPHE8CFWLUXy78iEpHyBJbXogMY_l4Otgg,2279
68
- npcsh/npc_team/jinxs/utils/search/kg_search.jinx,sha256=zZiXLWtu9MwLn_HDEGmYfYF3ntfqbVqjM6IjhHyu634,1250
69
- npcsh/npc_team/jinxs/utils/search/memory_search.jinx,sha256=KoHA-FvZ325UQiBNnvnKboz2uIy4i1J6q55frybWPEM,1040
70
- npcsh/npc_team/jinxs/utils/search/rag.jinx,sha256=hKnjDo6pvtyfqGOcxQGZqfLPOWh0f-NoUzE61nX_bA4,3276
71
- npcsh/npc_team/jinxs/utils/search/search.jinx,sha256=bh53tVgsvP5mONF5e6X2vj40qRo4iA8NB1jUkwIBn8I,8687
72
- npcsh-1.1.5.data/data/npcsh/npc_team/alicanto.jinx,sha256=MknpYUX0eIvi5vG9gkoTkJvF_LcFbAp_hQ0qkYEBr3c,4014
73
- npcsh-1.1.5.data/data/npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
74
- npcsh-1.1.5.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
75
- npcsh-1.1.5.data/data/npcsh/npc_team/brainblast.jinx,sha256=VvGbl6V5OdPHE8CFWLUXy78iEpHyBJbXogMY_l4Otgg,2279
76
- npcsh-1.1.5.data/data/npcsh/npc_team/breathe.jinx,sha256=WDw13P3Q0M03HdZu-vqhbOhefLjaMZ5oUcct_W4kUsY,739
77
- npcsh-1.1.5.data/data/npcsh/npc_team/build.jinx,sha256=QrShGspHwP1z073334vhUIIJZ_3pMJWN_DX_DPPVslU,2771
78
- npcsh-1.1.5.data/data/npcsh/npc_team/compile.jinx,sha256=Rjdm5jf3ech1E3cnpLz-o2tbJuVvEoQGAp0FQRAU7qo,2526
79
- npcsh-1.1.5.data/data/npcsh/npc_team/corca.jinx,sha256=OFzxSHoBJ2Yoc34mtTpd9B_CtGdqbpgcCN3Qt39YJeA,1028
80
- npcsh-1.1.5.data/data/npcsh/npc_team/corca.npc,sha256=NtZW1mQ_AMOHlfMCfl8A3uA00UMuHuO95FzRg6kUixo,631
81
- npcsh-1.1.5.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
82
- npcsh-1.1.5.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
83
- npcsh-1.1.5.data/data/npcsh/npc_team/edit_file.jinx,sha256=jExsHctvapG2xlze6E7ZR3oSLS9hJTYKKd41dQwgOLw,3488
84
- npcsh-1.1.5.data/data/npcsh/npc_team/flush.jinx,sha256=ngzFu4-dnKkqqL0QM9iX9XBxyWOmQdVcJTFb1GhajVo,1422
85
- npcsh-1.1.5.data/data/npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
86
- npcsh-1.1.5.data/data/npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
87
- npcsh-1.1.5.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
88
- npcsh-1.1.5.data/data/npcsh/npc_team/guac.jinx,sha256=UIVXw8c-m-lh10bxL2yl2n94TQ_SjZSwLP3sLFGv0k4,1616
89
- npcsh-1.1.5.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
90
- npcsh-1.1.5.data/data/npcsh/npc_team/help.jinx,sha256=OquhUEgcYZp-gu5Wgl3pOZnswxGQ96RoNG08tHjC9-4,2091
91
- npcsh-1.1.5.data/data/npcsh/npc_team/init.jinx,sha256=QBb1uOTvMlD-x3S7zPASH5TBZRwNhMQvK6t3DdC2mVw,1596
92
- npcsh-1.1.5.data/data/npcsh/npc_team/jinxs.jinx,sha256=rF432zHrVeccbGKm5tHxd_bZ7OQk355xB6LTlEIXiuI,1269
93
- npcsh-1.1.5.data/data/npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
94
- npcsh-1.1.5.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
95
- npcsh-1.1.5.data/data/npcsh/npc_team/kg_search.jinx,sha256=zZiXLWtu9MwLn_HDEGmYfYF3ntfqbVqjM6IjhHyu634,1250
96
- npcsh-1.1.5.data/data/npcsh/npc_team/memory_search.jinx,sha256=KoHA-FvZ325UQiBNnvnKboz2uIy4i1J6q55frybWPEM,1040
97
- npcsh-1.1.5.data/data/npcsh/npc_team/npc-studio.jinx,sha256=eWXtvQfRG8CFOG0Ut_Sqh0h1Tlm4-a1qKVO1G5vmMAY,2744
98
- npcsh-1.1.5.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
99
- npcsh-1.1.5.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
100
- npcsh-1.1.5.data/data/npcsh/npc_team/ots.jinx,sha256=5zUaD5b1J1LiU2YmH2HjVjCOxpDUNfZ-PQZiaWENdFw,4111
101
- npcsh-1.1.5.data/data/npcsh/npc_team/plan.jinx,sha256=hCIG9nGI56C1SeGuGAUcR3XnJ25kHaDnUn1VCv8vszY,1234
102
- npcsh-1.1.5.data/data/npcsh/npc_team/plonk.jinx,sha256=3f5MvkYBFh5Z3iDhs5vFxPT6acgw7OZLqVA-Mxtm_vc,2559
103
- npcsh-1.1.5.data/data/npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
104
- npcsh-1.1.5.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
105
- npcsh-1.1.5.data/data/npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
106
- npcsh-1.1.5.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
107
- npcsh-1.1.5.data/data/npcsh/npc_team/pti.jinx,sha256=Yw32GQS9LvYkukEfjq6R1GLAL6fWACYBz9JuVecZJEo,1126
108
- npcsh-1.1.5.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
109
- npcsh-1.1.5.data/data/npcsh/npc_team/rag.jinx,sha256=hKnjDo6pvtyfqGOcxQGZqfLPOWh0f-NoUzE61nX_bA4,3276
110
- npcsh-1.1.5.data/data/npcsh/npc_team/roll.jinx,sha256=FHoqXXqFgucaW7UJW_14DcRcRlVPBgFeaPJPoATx5BY,2882
111
- npcsh-1.1.5.data/data/npcsh/npc_team/sample.jinx,sha256=7cWwfAZFgWxaTkIL1gpFFryQ3mjvVjoWYAov-zOFn_E,2237
112
- npcsh-1.1.5.data/data/npcsh/npc_team/search.jinx,sha256=bh53tVgsvP5mONF5e6X2vj40qRo4iA8NB1jUkwIBn8I,8687
113
- npcsh-1.1.5.data/data/npcsh/npc_team/serve.jinx,sha256=qly_3MThU3TRyJI2grHlhYOqEY1VT-XxubPIuWdZrpU,1056
114
- npcsh-1.1.5.data/data/npcsh/npc_team/set.jinx,sha256=hQY_0muEtnWtfXsdK9cPwSvIevCimiJJn1-yhGC_VxM,1381
115
- npcsh-1.1.5.data/data/npcsh/npc_team/sh.jinx,sha256=r-pS_B51PxND7SFdZIGDLr2Ln6kA3FOqv4Vv1KYBThY,681
116
- npcsh-1.1.5.data/data/npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
117
- npcsh-1.1.5.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
118
- npcsh-1.1.5.data/data/npcsh/npc_team/sleep.jinx,sha256=c-7Dn4aLuX7WyBVcvuk3sqcbIutqKIz1N9sBfPNzhck,5301
119
- npcsh-1.1.5.data/data/npcsh/npc_team/spool.jinx,sha256=A4upAI4LnXxYUjY0Rz1_kAhRCDpz08XWPTgisiH06A4,1664
120
- npcsh-1.1.5.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
121
- npcsh-1.1.5.data/data/npcsh/npc_team/sql.jinx,sha256=FHbyGb9WHwzx0CbZis7oJxFMYy8fvOaFtb2kLXj_gCM,666
122
- npcsh-1.1.5.data/data/npcsh/npc_team/trigger.jinx,sha256=rS913e2qJzNBC0wmmecgzN3f4v8o1os8AZQOPjnW8ho,1456
123
- npcsh-1.1.5.data/data/npcsh/npc_team/vixynt.jinx,sha256=ekdKXMQWafAGXgqs83OLNrfrlvXRT1RiaazNCFkumtw,5609
124
- npcsh-1.1.5.data/data/npcsh/npc_team/wander.jinx,sha256=Svc6zjmoXr4BbDg5SN4DB1Byhh75AmIeAItcJCBIlcc,3513
125
- npcsh-1.1.5.data/data/npcsh/npc_team/yap.jinx,sha256=eaI665zjaLH2FUwHoO3iC1Uzo9bGA-a1UMtBRBTEHC0,898
126
- npcsh-1.1.5.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
127
- npcsh-1.1.5.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
128
- npcsh-1.1.5.dist-info/METADATA,sha256=j6DiStTuCDO45E5KuL5uGeMLg5kz_kjNXKZivVvBGdk,25841
129
- npcsh-1.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
130
- npcsh-1.1.5.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
131
- npcsh-1.1.5.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
132
- npcsh-1.1.5.dist-info/RECORD,,
68
+ npcsh-1.1.7.data/data/npcsh/npc_team/alicanto.jinx,sha256=MknpYUX0eIvi5vG9gkoTkJvF_LcFbAp_hQ0qkYEBr3c,4014
69
+ npcsh-1.1.7.data/data/npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
70
+ npcsh-1.1.7.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
71
+ npcsh-1.1.7.data/data/npcsh/npc_team/breathe.jinx,sha256=WDw13P3Q0M03HdZu-vqhbOhefLjaMZ5oUcct_W4kUsY,739
72
+ npcsh-1.1.7.data/data/npcsh/npc_team/build.jinx,sha256=QrShGspHwP1z073334vhUIIJZ_3pMJWN_DX_DPPVslU,2771
73
+ npcsh-1.1.7.data/data/npcsh/npc_team/compile.jinx,sha256=Rjdm5jf3ech1E3cnpLz-o2tbJuVvEoQGAp0FQRAU7qo,2526
74
+ npcsh-1.1.7.data/data/npcsh/npc_team/corca.jinx,sha256=OFzxSHoBJ2Yoc34mtTpd9B_CtGdqbpgcCN3Qt39YJeA,1028
75
+ npcsh-1.1.7.data/data/npcsh/npc_team/corca.npc,sha256=NtZW1mQ_AMOHlfMCfl8A3uA00UMuHuO95FzRg6kUixo,631
76
+ npcsh-1.1.7.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
77
+ npcsh-1.1.7.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
78
+ npcsh-1.1.7.data/data/npcsh/npc_team/edit_file.jinx,sha256=jExsHctvapG2xlze6E7ZR3oSLS9hJTYKKd41dQwgOLw,3488
79
+ npcsh-1.1.7.data/data/npcsh/npc_team/flush.jinx,sha256=ngzFu4-dnKkqqL0QM9iX9XBxyWOmQdVcJTFb1GhajVo,1422
80
+ npcsh-1.1.7.data/data/npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
81
+ npcsh-1.1.7.data/data/npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
82
+ npcsh-1.1.7.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
83
+ npcsh-1.1.7.data/data/npcsh/npc_team/guac.jinx,sha256=UIVXw8c-m-lh10bxL2yl2n94TQ_SjZSwLP3sLFGv0k4,1616
84
+ npcsh-1.1.7.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
85
+ npcsh-1.1.7.data/data/npcsh/npc_team/help.jinx,sha256=OquhUEgcYZp-gu5Wgl3pOZnswxGQ96RoNG08tHjC9-4,2091
86
+ npcsh-1.1.7.data/data/npcsh/npc_team/init.jinx,sha256=QBb1uOTvMlD-x3S7zPASH5TBZRwNhMQvK6t3DdC2mVw,1596
87
+ npcsh-1.1.7.data/data/npcsh/npc_team/jinxs.jinx,sha256=rF432zHrVeccbGKm5tHxd_bZ7OQk355xB6LTlEIXiuI,1269
88
+ npcsh-1.1.7.data/data/npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
89
+ npcsh-1.1.7.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
90
+ npcsh-1.1.7.data/data/npcsh/npc_team/npc-studio.jinx,sha256=0aY-z399BRIXIL3TLMTcYDiHjDm-krZy0CnYfiskQUo,2234
91
+ npcsh-1.1.7.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
92
+ npcsh-1.1.7.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
93
+ npcsh-1.1.7.data/data/npcsh/npc_team/ots.jinx,sha256=5Dpsyf0h2M80mkdZnouMp1PSK9S0TCPrINRLoP_1tOc,2303
94
+ npcsh-1.1.7.data/data/npcsh/npc_team/plan.jinx,sha256=hCIG9nGI56C1SeGuGAUcR3XnJ25kHaDnUn1VCv8vszY,1234
95
+ npcsh-1.1.7.data/data/npcsh/npc_team/plonk.jinx,sha256=3f5MvkYBFh5Z3iDhs5vFxPT6acgw7OZLqVA-Mxtm_vc,2559
96
+ npcsh-1.1.7.data/data/npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
97
+ npcsh-1.1.7.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
98
+ npcsh-1.1.7.data/data/npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
99
+ npcsh-1.1.7.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
100
+ npcsh-1.1.7.data/data/npcsh/npc_team/pti.jinx,sha256=Yw32GQS9LvYkukEfjq6R1GLAL6fWACYBz9JuVecZJEo,1126
101
+ npcsh-1.1.7.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
102
+ npcsh-1.1.7.data/data/npcsh/npc_team/roll.jinx,sha256=FHoqXXqFgucaW7UJW_14DcRcRlVPBgFeaPJPoATx5BY,2882
103
+ npcsh-1.1.7.data/data/npcsh/npc_team/sample.jinx,sha256=7cWwfAZFgWxaTkIL1gpFFryQ3mjvVjoWYAov-zOFn_E,2237
104
+ npcsh-1.1.7.data/data/npcsh/npc_team/search.jinx,sha256=7R37sElFo-XooRNKYqHaouQ-lOxmAxew_8uSXQfNP_Q,5421
105
+ npcsh-1.1.7.data/data/npcsh/npc_team/serve.jinx,sha256=qly_3MThU3TRyJI2grHlhYOqEY1VT-XxubPIuWdZrpU,1056
106
+ npcsh-1.1.7.data/data/npcsh/npc_team/set.jinx,sha256=hQY_0muEtnWtfXsdK9cPwSvIevCimiJJn1-yhGC_VxM,1381
107
+ npcsh-1.1.7.data/data/npcsh/npc_team/sh.jinx,sha256=Z_Cuok4FDUxuZGPCuqWS9D3TPI9SdkaZY4U_TCnie2g,666
108
+ npcsh-1.1.7.data/data/npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
109
+ npcsh-1.1.7.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
110
+ npcsh-1.1.7.data/data/npcsh/npc_team/sleep.jinx,sha256=c-7Dn4aLuX7WyBVcvuk3sqcbIutqKIz1N9sBfPNzhck,5301
111
+ npcsh-1.1.7.data/data/npcsh/npc_team/spool.jinx,sha256=A4upAI4LnXxYUjY0Rz1_kAhRCDpz08XWPTgisiH06A4,1664
112
+ npcsh-1.1.7.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
113
+ npcsh-1.1.7.data/data/npcsh/npc_team/sql.jinx,sha256=U3scchBO3tqCQRIErC-W87eLtiCv-YGmN7ftqyIvcVc,582
114
+ npcsh-1.1.7.data/data/npcsh/npc_team/trigger.jinx,sha256=rS913e2qJzNBC0wmmecgzN3f4v8o1os8AZQOPjnW8ho,1456
115
+ npcsh-1.1.7.data/data/npcsh/npc_team/vixynt.jinx,sha256=ECNE02omzgvJ2B8ZO8K6OylMa3lLGBNEEeFZ-oXiKC0,4070
116
+ npcsh-1.1.7.data/data/npcsh/npc_team/wander.jinx,sha256=Svc6zjmoXr4BbDg5SN4DB1Byhh75AmIeAItcJCBIlcc,3513
117
+ npcsh-1.1.7.data/data/npcsh/npc_team/yap.jinx,sha256=eaI665zjaLH2FUwHoO3iC1Uzo9bGA-a1UMtBRBTEHC0,898
118
+ npcsh-1.1.7.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
119
+ npcsh-1.1.7.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
120
+ npcsh-1.1.7.dist-info/METADATA,sha256=GARFW0KJF_Se51zHQvaB1QCcCICBFUikwCRVGdA2sC4,25292
121
+ npcsh-1.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
122
+ npcsh-1.1.7.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
123
+ npcsh-1.1.7.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
124
+ npcsh-1.1.7.dist-info/RECORD,,
@@ -1,51 +0,0 @@
1
- jinx_name: "brainblast"
2
- description: "Execute an advanced chunked search on command history"
3
- inputs:
4
- - search_query: "" # Required search terms.
5
- - history_db_path: "~/npcsh_history.db" # Path to the command history database.
6
- steps:
7
- - name: "execute_brainblast"
8
- engine: "python"
9
- code: |
10
- import os
11
- import traceback
12
- from npcpy.memory.command_history import CommandHistory
13
- from npcpy.memory.search import execute_brainblast_command
14
-
15
- search_query = context.get('search_query')
16
- history_db_path = context.get('history_db_path')
17
- output_messages = context.get('messages', [])
18
-
19
- if not search_query or not search_query.strip():
20
- context['output'] = "Usage: /brainblast <search_terms>"
21
- context['messages'] = output_messages
22
- exit()
23
-
24
- command_history = context.get('command_history')
25
- if not command_history:
26
- try:
27
- command_history = CommandHistory(os.path.expanduser(history_db_path))
28
- context['command_history'] = command_history # Add to context for potential reuse
29
- except Exception as e:
30
- context['output'] = f"Error connecting to command history: {e}"
31
- context['messages'] = output_messages
32
- exit()
33
-
34
- try:
35
- # The original handler passed **kwargs, so we pass current context
36
- # The execute_brainblast_command might filter out 'messages' itself
37
- result = execute_brainblast_command(
38
- command=search_query,
39
- command_history=command_history,
40
- **{k:v for k,v in context.items() if k != 'messages'}) # Exclude messages if not expected
41
-
42
- if isinstance(result, dict):
43
- context['output'] = result.get('output', 'Brainblast search executed.')
44
- context['messages'] = result.get('messages', output_messages)
45
- else:
46
- context['output'] = str(result)
47
- context['messages'] = output_messages
48
- except Exception as e:
49
- traceback.print_exc()
50
- context['output'] = f"Error executing brainblast command: {e}"
51
- context['messages'] = output_messages
@@ -1,43 +0,0 @@
1
- jinx_name: search_kg
2
- description: Search knowledge graph for relevant facts
3
- inputs:
4
- - query
5
- steps:
6
- - name: retrieve_facts
7
- engine: python
8
- code: |
9
- from npcpy.memory.command_history import load_kg_from_db
10
- import os
11
-
12
- kg = load_kg_from_db(
13
- command_history.engine,
14
- team.name if team else '__none__',
15
- npc.name if hasattr(npc, 'name') else '__none__',
16
- os.getcwd()
17
- )
18
-
19
- query_lower = '{{ query }}'.lower()
20
- matching_facts = []
21
-
22
- if kg and 'facts' in kg:
23
- for fact in kg['facts']:
24
- statement = fact.get('statement', '').lower()
25
- if query_lower in statement:
26
- matching_facts.append(fact)
27
-
28
- output = []
29
- for i, fact in enumerate(matching_facts[:10], 1):
30
- statement = fact.get('statement', '')
31
- fact_type = fact.get('type', 'unknown')
32
- output.append(f"{i}. [{fact_type}] {statement}")
33
-
34
- output = "\n".join(output) if output else "No facts found"
35
-
36
- - name: analyze_facts
37
- engine: natural
38
- code: |
39
- Knowledge graph facts for query "{{ query }}":
40
-
41
- {{ retrieve_facts }}
42
-
43
- Analyze how these facts relate to the query.
@@ -1,36 +0,0 @@
1
- jinx_name: search_memories
2
- description: Search through approved memories for relevant context
3
- inputs:
4
- - query
5
- steps:
6
- - name: retrieve_memories
7
- engine: python
8
- code: |
9
- from npcsh._state import get_relevant_memories
10
- import os
11
-
12
- memories = get_relevant_memories(
13
- command_history=command_history,
14
- npc_name=npc.name if hasattr(npc, 'name') else '__none__',
15
- team_name=team.name if team else '__none__',
16
- path=os.getcwd(),
17
- query='{{ query }}',
18
- max_memories=10,
19
- state=state
20
- )
21
-
22
- output = []
23
- for i, mem in enumerate(memories, 1):
24
- content = mem.get('final_memory', mem.get('initial_memory', ''))
25
- output.append(f"{i}. {content}")
26
-
27
- output = "\n".join(output) if output else "No memories found"
28
-
29
- - name: format_results
30
- engine: natural
31
- code: |
32
- Found memories for query "{{ query }}":
33
-
34
- {{ retrieve_memories }}
35
-
36
- Summarize the key points from these memories.
@@ -1,70 +0,0 @@
1
- jinx_name: "rag"
2
- description: "Execute a RAG command using ChromaDB embeddings with optional file input (-f/--file)"
3
- inputs:
4
- - query: "" # Required search query for RAG.
5
- - file_paths: "" # Optional comma-separated file paths to include in RAG.
6
- - vector_db_path: "~/npcsh_chroma.db" # Path to the ChromaDB vector database.
7
- - emodel: "" # Embedding model to use. Defaults to NPCSH_EMBEDDING_MODEL or NPC's model.
8
- - eprovider: "" # Embedding provider to use. Defaults to NPCSH_EMBEDDING_PROVIDER or NPC's provider.
9
- steps:
10
- - name: "execute_rag"
11
- engine: "python"
12
- code: |
13
- import os
14
- import traceback
15
- from npcpy.data.load import load_file_contents
16
- from npcpy.memory.search import execute_rag_command
17
- # Assuming NPCSH_EMBEDDING_MODEL and NPCSH_EMBEDDING_PROVIDER are accessible
18
-
19
- query = context.get('query')
20
- file_paths_str = context.get('file_paths')
21
- vector_db_path = context.get('vector_db_path')
22
- embedding_model = context.get('emodel')
23
- embedding_provider = context.get('eprovider')
24
- output_messages = context.get('messages', [])
25
- current_npc = context.get('npc')
26
-
27
- file_paths = []
28
- if file_paths_str and file_paths_str.strip():
29
- file_paths = [os.path.abspath(os.path.expanduser(p.strip())) for p in file_paths_str.split(',')]
30
-
31
- if not query and not file_paths:
32
- context['output'] = "Usage: /rag [-f file_path] <query>"
33
- context['messages'] = output_messages
34
- exit()
35
-
36
- # Fallback for model/provider if not explicitly set in Jinx inputs
37
- if not embedding_model and current_npc and current_npc.model:
38
- embedding_model = current_npc.model
39
- if not embedding_provider and current_npc and current_npc.provider:
40
- embedding_provider = current_npc.provider
41
-
42
- # Final fallbacks (these would ideally come from npcsh._state config)
43
- if not embedding_model: embedding_model = "nomic-ai/nomic-embed-text-v1.5" # Example default
44
- if not embedding_provider: embedding_provider = "ollama" # Example default
45
-
46
- try:
47
- file_contents = []
48
- for file_path in file_paths:
49
- try:
50
- chunks = load_file_contents(file_path)
51
- file_name = os.path.basename(file_path)
52
- file_contents.extend([f"[{file_name}] {chunk}" for chunk in chunks])
53
- except Exception as file_err:
54
- file_contents.append(f"Error processing file {file_path}: {str(file_err)}")
55
-
56
- result = execute_rag_command(
57
- command=query,
58
- vector_db_path=os.path.expanduser(vector_db_path),
59
- embedding_model=embedding_model,
60
- embedding_provider=embedding_provider,
61
- file_contents=file_contents if file_paths else None,
62
- **{k:v for k,v in context.items() if k not in ['messages', 'query', 'file_paths']} # Pass other context
63
- )
64
- context['output'] = result.get('response')
65
- context['messages'] = result.get('messages', output_messages)
66
-
67
- except Exception as e:
68
- traceback.print_exc()
69
- context['output'] = f"Error executing RAG command: {e}"
70
- context['messages'] = output_messages
@@ -1,192 +0,0 @@
1
- jinx_name: "search"
2
- description: "Execute web search or memory/KG search. Usage: /search [-m/-mem | -kg] <query>"
3
- inputs:
4
- - query: "" # Required search query.
5
- - search_type: "web" # Type of search: "web", "memory", or "kg".
6
- - sprovider: "" # Search provider for web search. Defaults to NPCSH_SEARCH_PROVIDER.
7
- - history_db_path: "~/npcsh_history.db" # Path to the command history database for memory/KG search.
8
- steps:
9
- - name: "execute_search"
10
- engine: "python"
11
- code: |
12
- import os
13
- import traceback
14
- from npcpy.data.web import search_web
15
- from npcpy.memory.command_history import CommandHistory, load_kg_from_db, save_kg_to_db # For KG search
16
- from npcsh._state import get_relevant_memories # For memory search
17
- # Assuming NPCSH_SEARCH_PROVIDER is accessible
18
-
19
- query = context.get('query')
20
- search_type = context.get('search_type')
21
- search_provider = context.get('sprovider')
22
- history_db_path = context.get('history_db_path')
23
- output_messages = context.get('messages', [])
24
- current_npc = context.get('npc')
25
- current_team = context.get('team')
26
-
27
- if not query or not query.strip():
28
- context['output'] = (
29
- "Usage:\n"
30
- " /search <query> - Web search\n"
31
- " /search -m <query> - Memory search\n"
32
- " /search -kg <query> - Knowledge graph search"
33
- )
34
- context['messages'] = output_messages
35
- exit()
36
-
37
- def search_memories(query_str, current_context, output_msgs):
38
- command_history = current_context.get('command_history')
39
- if not command_history:
40
- db_path = os.path.expanduser(current_context.get("history_db_path", "~/npcsh_history.db"))
41
- try:
42
- command_history = CommandHistory(db_path)
43
- current_context['command_history'] = command_history
44
- except Exception as e:
45
- return {"output": f"Error connecting to history: {e}", "messages": output_msgs}
46
-
47
- npc_name = current_context.get('npc_name', '__none__')
48
- team_name = current_context.get('team_name', '__none__')
49
- current_path = current_context.get('current_path', os.getcwd())
50
- state = current_context.get('state')
51
-
52
- try:
53
- memories = get_relevant_memories(
54
- command_history=command_history,
55
- npc_name=npc_name,
56
- team_name=team_name,
57
- path=current_path,
58
- query=query_str,
59
- max_memories=10,
60
- state=state
61
- )
62
-
63
- if not memories:
64
- output = f"No memories found for query: '{query_str}'"
65
- else:
66
- output = f"Found {len(memories)} memories:\n\n"
67
- for i, mem in enumerate(memories, 1):
68
- final_mem = (
69
- mem.get('final_memory') or
70
- mem.get('initial_memory')
71
- )
72
- timestamp = mem.get('timestamp', 'unknown')
73
- output += f"{i}. [{timestamp}] {final_mem}\n"
74
-
75
- return {"output": output, "messages": output_msgs}
76
-
77
- except Exception as e:
78
- traceback.print_exc()
79
- return {"output": f"Error searching memories: {e}", "messages": output_msgs}
80
-
81
- def search_knowledge_graph(query_str, current_context, output_msgs):
82
- command_history = current_context.get('command_history')
83
- if not command_history:
84
- db_path = os.path.expanduser(current_context.get("history_db_path", "~/npcsh_history.db"))
85
- try:
86
- command_history = CommandHistory(db_path)
87
- current_context['command_history'] = command_history
88
- except Exception as e:
89
- return {"output": f"Error connecting to history: {e}", "messages": output_msgs}
90
-
91
- npc_name = current_context.get('npc_name', '__none__')
92
- team_name = current_context.get('team_name', '__none__')
93
- current_path = current_context.get('current_path', os.getcwd())
94
-
95
- try:
96
- engine = command_history.engine
97
- kg = load_kg_from_db(
98
- engine,
99
- team_name,
100
- npc_name,
101
- current_path
102
- )
103
-
104
- if not kg or not kg.get('facts'):
105
- return {
106
- "output": (
107
- f"No knowledge graph found for current scope.\n"
108
- f"Scope: Team='{team_name}', "
109
- f"NPC='{npc_name}', Path='{current_path}'"
110
- ),
111
- "messages": output_msgs
112
- }
113
-
114
- query_lower = query_str.lower()
115
- matching_facts = []
116
- matching_concepts = []
117
-
118
- for fact in kg.get('facts', []):
119
- statement = fact.get('statement', '').lower()
120
- if query_lower in statement:
121
- matching_facts.append(fact)
122
-
123
- for concept in kg.get('concepts', []):
124
- name = concept.get('name', '').lower()
125
- desc = concept.get('description', '').lower()
126
- if query_lower in name or query_lower in desc:
127
- matching_concepts.append(concept)
128
-
129
- output = f"Knowledge Graph Search Results for '{query_str}':\n\n"
130
-
131
- if matching_facts:
132
- output += f"## Facts ({len(matching_facts)}):\n"
133
- for i, fact in enumerate(matching_facts, 1):
134
- output += f"{i}. {fact.get('statement')}\n"
135
- output += "\n"
136
-
137
- if matching_concepts:
138
- output += f"## Concepts ({len(matching_concepts)}):\n"
139
- for i, concept in enumerate(matching_concepts, 1):
140
- name = concept.get('name')
141
- desc = concept.get('description', '')
142
- output += f"{i}. {name}: {desc}\n"
143
-
144
- if not matching_facts and not matching_concepts:
145
- output += "No matching facts or concepts found."
146
-
147
- return {"output": output, "messages": output_msgs}
148
-
149
- except Exception as e:
150
- traceback.print_exc()
151
- return {"output": f"Error searching KG: {e}", "messages": output_msgs}
152
-
153
- def search_web_default(query_str, current_context, output_msgs):
154
- # Fallback for search_provider if not explicitly set in Jinx inputs
155
- current_search_provider = current_context.get('sprovider')
156
- # If NPCSH_SEARCH_PROVIDER is accessible, use it. Otherwise, a default.
157
- # For Jinx, let's just use a hardcoded default if not provided.
158
- if not current_search_provider:
159
- current_search_provider = "google" # Example default
160
-
161
- # Assuming render_markdown is accessible
162
- # render_markdown(f'- Searching {current_search_provider} for "{query_str}"') # Not directly supported in Jinx steps
163
-
164
- try:
165
- search_results = search_web(query_str, provider=current_search_provider)
166
- output = (
167
- "\n".join([f"- {res}" for res in search_results])
168
- if search_results
169
- else "No results found."
170
- )
171
- except Exception as e:
172
- traceback.print_exc()
173
- output = f"Error during web search: {e}"
174
-
175
- return {"output": output, "messages": output_msgs}
176
-
177
-
178
- # Populate npc_name, team_name, current_path for search functions
179
- context['npc_name'] = current_npc.name if isinstance(current_npc, type(None).__class__) else "__none__"
180
- context['team_name'] = current_team.name if current_team else "__none__"
181
- context['current_path'] = os.getcwd() # Or get from context if available
182
-
183
- final_result = None
184
- if search_type == 'memory':
185
- final_result = search_memories(query, context, output_messages)
186
- elif search_type == 'kg':
187
- final_result = search_knowledge_graph(query, context, output_messages)
188
- else:
189
- final_result = search_web_default(query, context, output_messages)
190
-
191
- context['output'] = final_result.get('output')
192
- context['messages'] = final_result.get('messages', output_messages)
@@ -1,51 +0,0 @@
1
- jinx_name: "brainblast"
2
- description: "Execute an advanced chunked search on command history"
3
- inputs:
4
- - search_query: "" # Required search terms.
5
- - history_db_path: "~/npcsh_history.db" # Path to the command history database.
6
- steps:
7
- - name: "execute_brainblast"
8
- engine: "python"
9
- code: |
10
- import os
11
- import traceback
12
- from npcpy.memory.command_history import CommandHistory
13
- from npcpy.memory.search import execute_brainblast_command
14
-
15
- search_query = context.get('search_query')
16
- history_db_path = context.get('history_db_path')
17
- output_messages = context.get('messages', [])
18
-
19
- if not search_query or not search_query.strip():
20
- context['output'] = "Usage: /brainblast <search_terms>"
21
- context['messages'] = output_messages
22
- exit()
23
-
24
- command_history = context.get('command_history')
25
- if not command_history:
26
- try:
27
- command_history = CommandHistory(os.path.expanduser(history_db_path))
28
- context['command_history'] = command_history # Add to context for potential reuse
29
- except Exception as e:
30
- context['output'] = f"Error connecting to command history: {e}"
31
- context['messages'] = output_messages
32
- exit()
33
-
34
- try:
35
- # The original handler passed **kwargs, so we pass current context
36
- # The execute_brainblast_command might filter out 'messages' itself
37
- result = execute_brainblast_command(
38
- command=search_query,
39
- command_history=command_history,
40
- **{k:v for k,v in context.items() if k != 'messages'}) # Exclude messages if not expected
41
-
42
- if isinstance(result, dict):
43
- context['output'] = result.get('output', 'Brainblast search executed.')
44
- context['messages'] = result.get('messages', output_messages)
45
- else:
46
- context['output'] = str(result)
47
- context['messages'] = output_messages
48
- except Exception as e:
49
- traceback.print_exc()
50
- context['output'] = f"Error executing brainblast command: {e}"
51
- context['messages'] = output_messages