npcsh 0.1.2__py3-none-any.whl → 1.1.13__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 (143) hide show
  1. npcsh/_state.py +3508 -0
  2. npcsh/alicanto.py +65 -0
  3. npcsh/build.py +291 -0
  4. npcsh/completion.py +206 -0
  5. npcsh/config.py +163 -0
  6. npcsh/corca.py +50 -0
  7. npcsh/execution.py +185 -0
  8. npcsh/guac.py +46 -0
  9. npcsh/mcp_helpers.py +357 -0
  10. npcsh/mcp_server.py +299 -0
  11. npcsh/npc.py +323 -0
  12. npcsh/npc_team/alicanto.npc +2 -0
  13. npcsh/npc_team/alicanto.png +0 -0
  14. npcsh/npc_team/corca.npc +12 -0
  15. npcsh/npc_team/corca.png +0 -0
  16. npcsh/npc_team/corca_example.png +0 -0
  17. npcsh/npc_team/foreman.npc +7 -0
  18. npcsh/npc_team/frederic.npc +6 -0
  19. npcsh/npc_team/frederic4.png +0 -0
  20. npcsh/npc_team/guac.png +0 -0
  21. npcsh/npc_team/jinxs/code/python.jinx +11 -0
  22. npcsh/npc_team/jinxs/code/sh.jinx +34 -0
  23. npcsh/npc_team/jinxs/code/sql.jinx +16 -0
  24. npcsh/npc_team/jinxs/modes/alicanto.jinx +194 -0
  25. npcsh/npc_team/jinxs/modes/corca.jinx +249 -0
  26. npcsh/npc_team/jinxs/modes/guac.jinx +317 -0
  27. npcsh/npc_team/jinxs/modes/plonk.jinx +214 -0
  28. npcsh/npc_team/jinxs/modes/pti.jinx +170 -0
  29. npcsh/npc_team/jinxs/modes/spool.jinx +161 -0
  30. npcsh/npc_team/jinxs/modes/wander.jinx +186 -0
  31. npcsh/npc_team/jinxs/modes/yap.jinx +262 -0
  32. npcsh/npc_team/jinxs/npc_studio/npc-studio.jinx +77 -0
  33. npcsh/npc_team/jinxs/utils/agent.jinx +17 -0
  34. npcsh/npc_team/jinxs/utils/chat.jinx +44 -0
  35. npcsh/npc_team/jinxs/utils/cmd.jinx +44 -0
  36. npcsh/npc_team/jinxs/utils/compress.jinx +140 -0
  37. npcsh/npc_team/jinxs/utils/core/build.jinx +65 -0
  38. npcsh/npc_team/jinxs/utils/core/compile.jinx +50 -0
  39. npcsh/npc_team/jinxs/utils/core/help.jinx +52 -0
  40. npcsh/npc_team/jinxs/utils/core/init.jinx +41 -0
  41. npcsh/npc_team/jinxs/utils/core/jinxs.jinx +32 -0
  42. npcsh/npc_team/jinxs/utils/core/set.jinx +40 -0
  43. npcsh/npc_team/jinxs/utils/edit_file.jinx +94 -0
  44. npcsh/npc_team/jinxs/utils/load_file.jinx +35 -0
  45. npcsh/npc_team/jinxs/utils/ots.jinx +61 -0
  46. npcsh/npc_team/jinxs/utils/roll.jinx +68 -0
  47. npcsh/npc_team/jinxs/utils/sample.jinx +56 -0
  48. npcsh/npc_team/jinxs/utils/search.jinx +130 -0
  49. npcsh/npc_team/jinxs/utils/serve.jinx +26 -0
  50. npcsh/npc_team/jinxs/utils/sleep.jinx +116 -0
  51. npcsh/npc_team/jinxs/utils/trigger.jinx +61 -0
  52. npcsh/npc_team/jinxs/utils/usage.jinx +33 -0
  53. npcsh/npc_team/jinxs/utils/vixynt.jinx +144 -0
  54. npcsh/npc_team/kadiefa.npc +3 -0
  55. npcsh/npc_team/kadiefa.png +0 -0
  56. npcsh/npc_team/npcsh.ctx +18 -0
  57. npcsh/npc_team/npcsh_sibiji.png +0 -0
  58. npcsh/npc_team/plonk.npc +2 -0
  59. npcsh/npc_team/plonk.png +0 -0
  60. npcsh/npc_team/plonkjr.npc +2 -0
  61. npcsh/npc_team/plonkjr.png +0 -0
  62. npcsh/npc_team/sibiji.npc +3 -0
  63. npcsh/npc_team/sibiji.png +0 -0
  64. npcsh/npc_team/spool.png +0 -0
  65. npcsh/npc_team/yap.png +0 -0
  66. npcsh/npcsh.py +296 -112
  67. npcsh/parsing.py +118 -0
  68. npcsh/plonk.py +54 -0
  69. npcsh/pti.py +54 -0
  70. npcsh/routes.py +139 -0
  71. npcsh/spool.py +48 -0
  72. npcsh/ui.py +199 -0
  73. npcsh/wander.py +62 -0
  74. npcsh/yap.py +50 -0
  75. npcsh-1.1.13.data/data/npcsh/npc_team/agent.jinx +17 -0
  76. npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.jinx +194 -0
  77. npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.npc +2 -0
  78. npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.png +0 -0
  79. npcsh-1.1.13.data/data/npcsh/npc_team/build.jinx +65 -0
  80. npcsh-1.1.13.data/data/npcsh/npc_team/chat.jinx +44 -0
  81. npcsh-1.1.13.data/data/npcsh/npc_team/cmd.jinx +44 -0
  82. npcsh-1.1.13.data/data/npcsh/npc_team/compile.jinx +50 -0
  83. npcsh-1.1.13.data/data/npcsh/npc_team/compress.jinx +140 -0
  84. npcsh-1.1.13.data/data/npcsh/npc_team/corca.jinx +249 -0
  85. npcsh-1.1.13.data/data/npcsh/npc_team/corca.npc +12 -0
  86. npcsh-1.1.13.data/data/npcsh/npc_team/corca.png +0 -0
  87. npcsh-1.1.13.data/data/npcsh/npc_team/corca_example.png +0 -0
  88. npcsh-1.1.13.data/data/npcsh/npc_team/edit_file.jinx +94 -0
  89. npcsh-1.1.13.data/data/npcsh/npc_team/foreman.npc +7 -0
  90. npcsh-1.1.13.data/data/npcsh/npc_team/frederic.npc +6 -0
  91. npcsh-1.1.13.data/data/npcsh/npc_team/frederic4.png +0 -0
  92. npcsh-1.1.13.data/data/npcsh/npc_team/guac.jinx +317 -0
  93. npcsh-1.1.13.data/data/npcsh/npc_team/guac.png +0 -0
  94. npcsh-1.1.13.data/data/npcsh/npc_team/help.jinx +52 -0
  95. npcsh-1.1.13.data/data/npcsh/npc_team/init.jinx +41 -0
  96. npcsh-1.1.13.data/data/npcsh/npc_team/jinxs.jinx +32 -0
  97. npcsh-1.1.13.data/data/npcsh/npc_team/kadiefa.npc +3 -0
  98. npcsh-1.1.13.data/data/npcsh/npc_team/kadiefa.png +0 -0
  99. npcsh-1.1.13.data/data/npcsh/npc_team/load_file.jinx +35 -0
  100. npcsh-1.1.13.data/data/npcsh/npc_team/npc-studio.jinx +77 -0
  101. npcsh-1.1.13.data/data/npcsh/npc_team/npcsh.ctx +18 -0
  102. npcsh-1.1.13.data/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  103. npcsh-1.1.13.data/data/npcsh/npc_team/ots.jinx +61 -0
  104. npcsh-1.1.13.data/data/npcsh/npc_team/plonk.jinx +214 -0
  105. npcsh-1.1.13.data/data/npcsh/npc_team/plonk.npc +2 -0
  106. npcsh-1.1.13.data/data/npcsh/npc_team/plonk.png +0 -0
  107. npcsh-1.1.13.data/data/npcsh/npc_team/plonkjr.npc +2 -0
  108. npcsh-1.1.13.data/data/npcsh/npc_team/plonkjr.png +0 -0
  109. npcsh-1.1.13.data/data/npcsh/npc_team/pti.jinx +170 -0
  110. npcsh-1.1.13.data/data/npcsh/npc_team/python.jinx +11 -0
  111. npcsh-1.1.13.data/data/npcsh/npc_team/roll.jinx +68 -0
  112. npcsh-1.1.13.data/data/npcsh/npc_team/sample.jinx +56 -0
  113. npcsh-1.1.13.data/data/npcsh/npc_team/search.jinx +130 -0
  114. npcsh-1.1.13.data/data/npcsh/npc_team/serve.jinx +26 -0
  115. npcsh-1.1.13.data/data/npcsh/npc_team/set.jinx +40 -0
  116. npcsh-1.1.13.data/data/npcsh/npc_team/sh.jinx +34 -0
  117. npcsh-1.1.13.data/data/npcsh/npc_team/sibiji.npc +3 -0
  118. npcsh-1.1.13.data/data/npcsh/npc_team/sibiji.png +0 -0
  119. npcsh-1.1.13.data/data/npcsh/npc_team/sleep.jinx +116 -0
  120. npcsh-1.1.13.data/data/npcsh/npc_team/spool.jinx +161 -0
  121. npcsh-1.1.13.data/data/npcsh/npc_team/spool.png +0 -0
  122. npcsh-1.1.13.data/data/npcsh/npc_team/sql.jinx +16 -0
  123. npcsh-1.1.13.data/data/npcsh/npc_team/trigger.jinx +61 -0
  124. npcsh-1.1.13.data/data/npcsh/npc_team/usage.jinx +33 -0
  125. npcsh-1.1.13.data/data/npcsh/npc_team/vixynt.jinx +144 -0
  126. npcsh-1.1.13.data/data/npcsh/npc_team/wander.jinx +186 -0
  127. npcsh-1.1.13.data/data/npcsh/npc_team/yap.jinx +262 -0
  128. npcsh-1.1.13.data/data/npcsh/npc_team/yap.png +0 -0
  129. npcsh-1.1.13.dist-info/METADATA +522 -0
  130. npcsh-1.1.13.dist-info/RECORD +135 -0
  131. {npcsh-0.1.2.dist-info → npcsh-1.1.13.dist-info}/WHEEL +1 -1
  132. npcsh-1.1.13.dist-info/entry_points.txt +9 -0
  133. {npcsh-0.1.2.dist-info → npcsh-1.1.13.dist-info/licenses}/LICENSE +1 -1
  134. npcsh/command_history.py +0 -81
  135. npcsh/helpers.py +0 -36
  136. npcsh/llm_funcs.py +0 -295
  137. npcsh/main.py +0 -5
  138. npcsh/modes.py +0 -343
  139. npcsh/npc_compiler.py +0 -124
  140. npcsh-0.1.2.dist-info/METADATA +0 -99
  141. npcsh-0.1.2.dist-info/RECORD +0 -14
  142. npcsh-0.1.2.dist-info/entry_points.txt +0 -2
  143. {npcsh-0.1.2.dist-info → npcsh-1.1.13.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,522 @@
1
+ Metadata-Version: 2.4
2
+ Name: npcsh
3
+ Version: 1.1.13
4
+ Summary: npcsh is a command-line toolkit for using AI agents in novel ways.
5
+ Home-page: https://github.com/NPC-Worldwide/npcsh
6
+ Author: Christopher Agostino
7
+ Author-email: info@npcworldwi.de
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Requires-Python: >=3.10
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: npcpy
14
+ Requires-Dist: jinja2
15
+ Requires-Dist: litellm
16
+ Requires-Dist: docx
17
+ Requires-Dist: scipy
18
+ Requires-Dist: numpy
19
+ Requires-Dist: thefuzz
20
+ Requires-Dist: imagehash
21
+ Requires-Dist: requests
22
+ Requires-Dist: chroptiks
23
+ Requires-Dist: matplotlib
24
+ Requires-Dist: markdown
25
+ Requires-Dist: networkx
26
+ Requires-Dist: PyYAML
27
+ Requires-Dist: PyMuPDF
28
+ Requires-Dist: pyautogui
29
+ Requires-Dist: pydantic
30
+ Requires-Dist: pygments
31
+ Requires-Dist: sqlalchemy
32
+ Requires-Dist: termcolor
33
+ Requires-Dist: rich
34
+ Requires-Dist: colorama
35
+ Requires-Dist: Pillow
36
+ Requires-Dist: python-dotenv
37
+ Requires-Dist: pandas
38
+ Requires-Dist: beautifulsoup4
39
+ Requires-Dist: duckduckgo-search
40
+ Requires-Dist: flask
41
+ Requires-Dist: flask_cors
42
+ Requires-Dist: redis
43
+ Requires-Dist: psycopg2-binary
44
+ Requires-Dist: flask_sse
45
+ Requires-Dist: wikipedia
46
+ Requires-Dist: mcp
47
+ Provides-Extra: lite
48
+ Requires-Dist: anthropic; extra == "lite"
49
+ Requires-Dist: openai; extra == "lite"
50
+ Requires-Dist: google-generativeai; extra == "lite"
51
+ Requires-Dist: google-genai; extra == "lite"
52
+ Provides-Extra: local
53
+ Requires-Dist: sentence_transformers; extra == "local"
54
+ Requires-Dist: opencv-python; extra == "local"
55
+ Requires-Dist: ollama; extra == "local"
56
+ Requires-Dist: kuzu; extra == "local"
57
+ Requires-Dist: chromadb; extra == "local"
58
+ Requires-Dist: diffusers; extra == "local"
59
+ Requires-Dist: nltk; extra == "local"
60
+ Requires-Dist: torch; extra == "local"
61
+ Requires-Dist: darts; extra == "local"
62
+ Provides-Extra: yap
63
+ Requires-Dist: pyaudio; extra == "yap"
64
+ Requires-Dist: gtts; extra == "yap"
65
+ Requires-Dist: playsound==1.2.2; extra == "yap"
66
+ Requires-Dist: pygame; extra == "yap"
67
+ Requires-Dist: faster_whisper; extra == "yap"
68
+ Requires-Dist: pyttsx3; extra == "yap"
69
+ Provides-Extra: all
70
+ Requires-Dist: anthropic; extra == "all"
71
+ Requires-Dist: openai; extra == "all"
72
+ Requires-Dist: google-generativeai; extra == "all"
73
+ Requires-Dist: google-genai; extra == "all"
74
+ Requires-Dist: sentence_transformers; extra == "all"
75
+ Requires-Dist: opencv-python; extra == "all"
76
+ Requires-Dist: ollama; extra == "all"
77
+ Requires-Dist: kuzu; extra == "all"
78
+ Requires-Dist: chromadb; extra == "all"
79
+ Requires-Dist: diffusers; extra == "all"
80
+ Requires-Dist: nltk; extra == "all"
81
+ Requires-Dist: torch; extra == "all"
82
+ Requires-Dist: darts; extra == "all"
83
+ Requires-Dist: pyaudio; extra == "all"
84
+ Requires-Dist: gtts; extra == "all"
85
+ Requires-Dist: playsound==1.2.2; extra == "all"
86
+ Requires-Dist: pygame; extra == "all"
87
+ Requires-Dist: faster_whisper; extra == "all"
88
+ Requires-Dist: pyttsx3; extra == "all"
89
+ Dynamic: author
90
+ Dynamic: author-email
91
+ Dynamic: classifier
92
+ Dynamic: description
93
+ Dynamic: description-content-type
94
+ Dynamic: home-page
95
+ Dynamic: license-file
96
+ Dynamic: provides-extra
97
+ Dynamic: requires-dist
98
+ Dynamic: requires-python
99
+ Dynamic: summary
100
+
101
+ <p align="center">
102
+ <a href= "https://github.com/npc-worldwide/npcsh/blob/main/docs/npcsh.md">
103
+ <img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npcsh.png" alt="npcsh logo" width=250></a>
104
+ </p>
105
+
106
+ # NPC Shell
107
+
108
+ The NPC shell is the toolkit for tomorrow, providing a suite of programs to make use of multi-modal LLMs and agents in novel interactive modes. `npcsh` is based in the command line, and so can be used wherever you work.
109
+
110
+ - It is developed to work reliably with small models and performs excellently with the state-of-the-art models from major model providers.
111
+ - Fundamentally, the core program of npcsh extends the familiar bash environment with an intelligent layer that lets users seamlessly ask agents questions, run pre-built or custom macros or agents, all without breaking the flow of command-line work.
112
+ - Switching between agents is a breeze in `npcsh`, letting you quickly and easily take advantage of a variety of agents (e.g. coding agents versus tool-calling agents versus prompt-based ReACT Flow agents) and personas (e.g. Data scientist, mapmaker with ennui, etc.).
113
+ - Project variables and context can be stored in team `.ctx` files. Personas (`.npc`) and Jinja execution templates (`.jinx`) are likewise stored in `yaml` within the global `npcsh` team or your project-specific one, letting you focus on adjusting and engineering context and system prompts iteratively so you can constantly improve your agent team's performance.
114
+
115
+ To get started:
116
+ ```bash
117
+ # for users who want to mainly use models through APIs (e.g. , gemini, grok, deepseek, anthropic, openai, mistral, , any others provided by litellm ):
118
+ pip install 'npcsh[lite]'
119
+ # for users who want to use local models (these install diffusers/transformers/torch stack so it is big.):
120
+ pip install 'npcsh[local]'
121
+ # for users who want to use the voice mode `yap`, see also the OS-specific installation instructions for installing needed system audio libraries
122
+ pip install 'npcsh[yap]'
123
+ ```
124
+ Once installed: run
125
+ ```bash
126
+ npcsh
127
+ ```
128
+ and you will enter the NPC shell. Additionally, the pip installation includes the following CLI tools available in bash: `corca`, `guac`, `npc` cli, `pti`, `spool`, `wander`, and`yap`.
129
+
130
+
131
+ # Usage
132
+ - Get help with a task:
133
+ ```bash
134
+ npcsh>can you help me identify what process is listening on port 5337?
135
+ ```
136
+ <p align="center">
137
+ <img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/port5337.png" alt="example of running npcsh to check what processes are listening on port 5337", width=600>
138
+ </p>
139
+
140
+ - Edit files
141
+ ```bash
142
+ npcsh>please read through the markdown files in the docs folder and suggest changes based on the current implementation in the src folder
143
+ ```
144
+
145
+
146
+ - **Search**
147
+ - search the web
148
+ ```bash
149
+ /search "cerulean city" perplexity
150
+
151
+ ```
152
+ <p align="center">
153
+ <img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/search.gif" alt="example of search results", width=600>
154
+ </p>
155
+
156
+ - search approved memories
157
+ ```bash
158
+ /search query="how to deploy python apps" memory=true
159
+ ```
160
+
161
+ - search the knowledge graph
162
+
163
+ ```bash
164
+ /search query="user preferences for database" kg=true
165
+ ```
166
+
167
+ - execute a RAG search across files
168
+
169
+ ```bash
170
+ /search --rag -f ~/docs/api.md,~/docs/config.yaml "authentication setup"
171
+ ```
172
+
173
+ - brainblast search (searches many keyword combinations)
174
+
175
+ ```bash
176
+ /search query="git commands" brainblast=true
177
+ ```
178
+
179
+ - web search with specific provider
180
+
181
+ ```bash
182
+ /search query="family vacations" sprovider="perplexity"
183
+ ```
184
+
185
+ - **Computer Use**
186
+
187
+ ```bash
188
+ /plonk 'find out the latest news on cnn' gemma3:12b ollama
189
+ ```
190
+
191
+ - **Generate Image**
192
+ ```bash
193
+ /vixynt 'generate an image of a rabbit eating ham in the brink of dawn' model='gpt-image-1' provider='openai'
194
+ ```
195
+ <p align="center">
196
+ <img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/rabbit.PNG" alt="a rabbit eating ham in the bring of dawn", width=250>
197
+ </p>
198
+ - **Generate Video**
199
+ ```bash
200
+ /roll 'generate a video of a hat riding a dog' veo-3.1-fast-generate-preview gemini
201
+ ```
202
+
203
+ <p align="center">
204
+ <img src="https://raw.githubusercontent.com/NPC-Worldwide/npcsh/main/test_data/hatridingdog.gif" alt="video of a hat riding a dog", width=250>
205
+ </p>
206
+
207
+ - **Serve an NPC Team**
208
+ ```bash
209
+ /serve --port 5337 --cors='http://localhost:5137/'
210
+ ```
211
+ - **Screenshot Analysis**: select an area on your screen and then send your question to the LLM
212
+ ```bash
213
+ /ots
214
+ ```
215
+ - **Use an mcp server**: make use of NPCs with MCP servers.
216
+ ```bash
217
+ /corca --mcp-server-path /path.to.server.py
218
+ ```
219
+
220
+ - **Build an NPC Team**:
221
+
222
+ ``` bash
223
+ npc build flask --output ./dist --port 5337
224
+ npc build docker --output ./deploy
225
+ npc build cli --output ./bin
226
+ npc build static --api_url https://api.example.com
227
+ ```
228
+
229
+ # NPC Data Layer
230
+
231
+ The core of npcsh's capabilities is powered by the NPC Data Layer. Upon initialization, a user will be prompted to make a team in the current directory or to use a global team stored in `~/.npcsh/` which houses the NPC team with its jinxs, models, contexts, assembly lines. By implementing these components as simple data structures, users can focus on tweaking the relevant parts of their multi-agent systems.
232
+
233
+ ## Creating Custom Components
234
+
235
+ Users can extend NPC capabilities through simple YAML files:
236
+
237
+ - **NPCs** (.npc): are defined with a name, primary directive, and optional model specifications
238
+ - **Jinxs** (.jinx): Jinja execution templates that provide function-like capabilities and scaleable extensibility through Jinja references to call other jinxs to build upon. Jinxs are executed through prompt-based flows, allowing them to be used by models regardless of their tool-calling capabilities, making it possible then to enable agents at the edge of computing through this simple methodology.
239
+ - **Context** (.ctx): Specify contextual information, team preferences, MCP server paths, database connections, and other environment variables that are loaded for the team or for specific agents (e.g. `GUAC_FORENPC`). Teams are specified by their path and the team name in the `<team>.ctx` file. Teams organize collections of NPCs with shared context and specify a coordinator within the team context who is used whenever the team is called upon for orchestration.
240
+
241
+ The NPC Shell system integrates the capabilities of `npcpy` to maintain conversation history, track command execution, and provide intelligent autocomplete through an extensible command routing system. State is preserved between sessions, allowing for continuous knowledge building over time.
242
+
243
+ This architecture enables users to build complex AI workflows while maintaining a simple, declarative syntax that abstracts away implementation complexity. By organizing AI capabilities in composable data structures rather than code, `npcsh` creates a more accessible and adaptable framework for AI automation that can scale more intentionally. Within teams can be subteams, and these sub-teams may be called upon for orchestration, but importantly, when the orchestrator is deciding between using one of its own team's NPCs versus yielding to a sub-team, they see only the descriptions of the subteams rather than the full persona descriptions for each of the sub-team's agents, making it easier for the orchestrator to better delineate and keep their attention focused by restricting the number of options in each decisino step. Thus, they may yield to the sub-team's orchestrator, letting them decide which sub-team NPC to use based on their own team's agents.
244
+
245
+ Importantly, users can switch easily between the NPCs they are chatting with by typing `/n npc_name` within the NPC shell. Likewise, they can create Jinxs and then use them from within the NPC shell by invoking the jinx name and the arguments required for the Jinx; `/<jinx_name> arg1 arg2`
246
+
247
+ # Jinx as macros
248
+ - activated by invoking `/<jinx_name> ...` in `npcsh`, jinxs can be called in bash or through the `npc` CLI. In our examples, we provide both `npcsh` calls as well as bash calls with the `npc` cli where relevant. For converting any `/<command>` in `npcsh` to a bash version, replace the `/` with `npc ` and the macro command will be invoked as a positional argument.
249
+ - `/alicanto` - Conduct deep research with multiple perspectives, identifying gold insights and cliff warnings. Usage: `/alicanto 'query to be researched' --num-npcs <int> --depth <int>`
250
+ - `/build` - Builds the current npc team to an executable format . Usage: `/build <output[flask,docker,cli,static]> --options`
251
+ - `/breathe` - Condense context on a regular cadence. Usage: `/breathe -p <provider: NPCSH_CHAT_PROVIDER> -m <model: NPCSH_CHAT_MODEL>`
252
+ - `/compile` - Compile NPC profiles. Usage: `/compile <path_to_npc> `
253
+ - `/corca` - Enter the Corca MCP-powered agentic shell. Usage: `/corca [--mcp-server-path path]`
254
+ - `/guac` - Enter guac mode. Usage: `/guac`
255
+ - `/help` - Show help for commands, NPCs, or Jinxs. Usage: `/help`
256
+ - `/init` - Initialize NPC project. Usage: `/init`
257
+ - `/jinxs` - Show available jinxs for the current NPC/Team. Usage: `/jinxs`
258
+ - `/<jinx_name>` - Run a jinx with specified command line arguments. `/<jinx_name> jinx_arg1 jinx_arg2`
259
+ - `/npc-studio` - Start npc studio. Pulls NPC Studio github to `~/.npcsh/npc-studio` and launches it in development mode after installing necessary NPM dependencies.Usage: `/npc-studio`
260
+ - `/ots` - Take screenshot and analyze with vision model. Usage: `/ots filename=<output_file_name_for_screenshot>` then select an area, and you will be prompted for your request.
261
+ - `/plonk` - Use vision model to interact with GUI. Usage: `/plonk '<task description>' `
262
+ - `/pti` - Use pardon-the-interruption mode to interact with reasoning model LLM. Usage: `/pti`
263
+ - `/roll` - generate a video with video generation model. Usage: `/roll '<description_for_a_movie>' --vgmodel <NPCSH_VIDEO_GEN_MODEL> --vgprovider <NPCSH_VIDEO_GEN_PROVIDER>`
264
+ - `/sample` - Send a context-free prompt to an LLM, letting you get fresh answers without needing to start a separate conversation/shell. Usage: `/sample -m <NPCSH_CHAT_MODEL> 'question to sample --temp <float> --top_k int`
265
+ - `/search` - Execute a search command on the web, in your memories, in the knowledge graph, or in documents with rag. Usage: `/search 'search query' --sprovider <provider>` where provider is currently limited to DuckDuckGo, Perplexity, and Exa with more coming soon through litellm. Wikipedia integration ongoing. See above for more search specific examples.
266
+ - `/serve` - Serve an NPC Team server.
267
+ - `/set` - Set configuration values.
268
+ - Usage:
269
+ - `/set model gemma3:4b`,
270
+ - `/set provider ollama`,
271
+ - `/set NPCSH_VIDEO_GEN_PROVIDER diffusers`
272
+ - `/sleep` - Evolve knowledge graph with options for dreaming. Usage: `/sleep --ops link_facts,deepen`
273
+ - `/spool` - Enter interactive chat (spool) mode with an npc with fresh context or files for rag. Usage: `/spool --attachments 'path1,path2,path3' -n <npc_name> -m <modell> -p <provider>`
274
+ - `/trigger` - Execute a trigger command. Usage: `/trigger 'a description of a trigger to implement with system daemons/file system listeners.' -m gemma3:27b -p ollama`
275
+ - `/vixynt` - Generate and edit images from text descriptions using local models, openai, gemini.
276
+ - Usage:
277
+ - Gen Image: `/vixynt -igp <NPCSH_IMAGE_GEN_PROVIDER> --igmodel <NPCSH_IMAGE_GEN_MODEL> --output_file <path_to_file> width=<int:1024> height =<int:1024> 'description of image`
278
+ - Edit Image: `/vixynt 'edit this....' --attachments '/path/to/image.png,/path/to/image.jpeg'`
279
+ - `/wander` - A method for LLMs to think on a problem by switching between states of high temperature and low temperature. Usage: `/wander 'query to wander about' --provider "ollama" --model "deepseek-r1:32b" environment="a vast dark ocean" interruption-likelihood=.1`
280
+ - `/yap` - Enter voice chat (yap) mode. Usage: `/yap -n <npc_to_chat_with>`
281
+
282
+ ## Common Command-Line Flags:
283
+
284
+ ```
285
+ Flag Shorthand | Flag Shorthand | Flag Shorthand | Flag Shorthand
286
+ ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------
287
+ --attachments (-a) | --height (-h) | --num_npcs (-num_n) | --team (-tea)
288
+ --config_dir (-con) | --igmodel (-igm) | --output_file (-o) | --temperature (-t)
289
+ --cors (-cor) | --igprovider (-igp) | --plots_dir (-pl) | --top_k
290
+ --creativity (-cr) | --lang (-l) | --port (-po) | --top_p
291
+ --depth (-d) | --max_tokens (-ma) | --provider (-pr) | --vmodel (-vm)
292
+ --emodel (-em) | --messages (-me) | --refresh_period (-re) | --vprovider (-vp)
293
+ --eprovider (-ep) | --model (-mo) | --rmodel (-rm) | --width (-w)
294
+ --exploration (-ex) | --npc (-np) | --rprovider (-rp) |
295
+ --format (-f) | --num_frames (-num_f) | --sprovider (-s) |
296
+ ```
297
+ '
298
+
299
+ ## Read the Docs
300
+ To see more about how to use the jinxs and modes in the NPC Shell, read the docs at [npc-shell.readthedocs.io](https://npc-shell.readthedocs.io/en/latest/)
301
+
302
+
303
+ ## Inference Capabilities
304
+ - `npcsh` works with local and enterprise LLM providers through its LiteLLM integration, allowing users to run inference from Ollama, LMStudio, vLLM, MLX, OpenAI, Anthropic, Gemini, and Deepseek, making it a versatile tool for both simple commands and sophisticated AI-driven tasks.
305
+
306
+ ## NPC Studio
307
+ There is a graphical user interface that makes use of the NPC Toolkit through the NPC Studio. See the source code for NPC Studio [here](https://github.com/npc-worldwide/npc-studio). Download the executables at [our website](https://enpisi.com/downloads). For the most up to date development version, you can use NPC Studio by invoking it in npcsh
308
+
309
+ ```
310
+ /npc-studio
311
+ ```
312
+ which will download and set up and serve the NPC Studio application within your `~/.npcsh` folder. It requires `npm` and `node` to work, and of course npcpy !
313
+
314
+ ## Mailing List and Community
315
+ Interested to stay in the loop and to hear the latest and greatest about `npcpy`, `npcsh`, and NPC Studio? Be sure to sign up for the [newsletter](https://forms.gle/n1NzQmwjsV4xv1B2A)!
316
+
317
+ [Join the discord to discuss ideas for npc tools](https://discord.gg/VvYVT5YC)
318
+ ## Support
319
+ If you appreciate the work here, [consider supporting NPC Worldwide with a monthly donation](https://buymeacoffee.com/npcworldwide), [buying NPC-WW themed merch](https://enpisi.com/shop), [using and subscribing to Lavanzaro](lavanzaro.com),s or hiring us to help you explore how to use the NPC Toolkit and AI tools to help your business or research team, please reach out to info@npcworldwi.de .
320
+
321
+
322
+ ## Installation
323
+ `npcsh` is available on PyPI and can be installed using pip. Before installing, make sure you have the necessary dependencies installed on your system. Below are the instructions for installing such dependencies on Linux, Mac, and Windows. If you find any other dependencies that are needed, please let us know so we can update the installation instructions to be more accommodating.
324
+
325
+ ### Linux install
326
+ <details> <summary> Toggle </summary>
327
+
328
+ ```bash
329
+
330
+ # these are for audio primarily, skip if you dont need tts
331
+ sudo apt-get install espeak
332
+ sudo apt-get install portaudio19-dev python3-pyaudio
333
+ sudo apt-get install alsa-base alsa-utils
334
+ sudo apt-get install libcairo2-dev
335
+ sudo apt-get install libgirepository1.0-dev
336
+ sudo apt-get install ffmpeg
337
+
338
+ # for triggers
339
+ sudo apt install inotify-tools
340
+
341
+
342
+ #And if you don't have ollama installed, use this:
343
+ curl -fsSL https://ollama.com/install.sh | sh
344
+
345
+ ollama pull llama3.2
346
+ ollama pull llava:7b
347
+ ollama pull nomic-embed-text
348
+ pip install npcsh
349
+ # if you want to install with the API libraries
350
+ pip install 'npcsh[lite]'
351
+ # if you want the full local package set up (ollama, diffusers, transformers, cuda etc.)
352
+ pip install 'npcsh[local]'
353
+ # if you want to use tts/stt
354
+ pip install 'npcsh[yap]'
355
+ # if you want everything:
356
+ pip install 'npcsh[all]'
357
+
358
+ ```
359
+
360
+ </details>
361
+
362
+
363
+ ### Mac install
364
+
365
+ <details> <summary> Toggle </summary>
366
+
367
+ ```bash
368
+ #mainly for audio
369
+ brew install portaudio
370
+ brew install ffmpeg
371
+ brew install pygobject3
372
+
373
+ # for triggers
374
+ brew install inotify-tools
375
+
376
+
377
+ brew install ollama
378
+ brew services start ollama
379
+ ollama pull llama3.2
380
+ ollama pull llava:7b
381
+ ollama pull nomic-embed-text
382
+ pip install npcsh
383
+ # if you want to install with the API libraries
384
+ pip install npcsh[lite]
385
+ # if you want the full local package set up (ollama, diffusers, transformers, cuda etc.)
386
+ pip install npcsh[local]
387
+ # if you want to use tts/stt
388
+ pip install npcsh[yap]
389
+
390
+ # if you want everything:
391
+ pip install npcsh[all]
392
+ ```
393
+ </details>
394
+
395
+ ### Windows Install
396
+
397
+ <details> <summary> Toggle </summary>
398
+ Download and install ollama exe.
399
+
400
+ Then, in a powershell. Download and install ffmpeg.
401
+
402
+ ```powershell
403
+ ollama pull llama3.2
404
+ ollama pull llava:7b
405
+ ollama pull nomic-embed-text
406
+ pip install npcsh
407
+ # if you want to install with the API libraries
408
+ pip install 'npcsh[lite]'
409
+ # if you want the full local package set up (ollama, diffusers, transformers, cuda etc.)
410
+ pip install 'npcsh[local]'
411
+ # if you want to use tts/stt
412
+ pip install 'npcsh[yap]'
413
+
414
+ # if you want everything:
415
+ pip install 'npcsh[all]'
416
+ ```
417
+ As of now, npcsh appears to work well with some of the core functionalities like /ots and /yap.
418
+
419
+ </details>
420
+
421
+ ### Fedora Install (under construction)
422
+
423
+ <details> <summary> Toggle </summary>
424
+
425
+ ```bash
426
+ python3-dev #(fixes hnswlib issues with chroma db)
427
+ xhost + (pyautogui)
428
+ python-tkinter (pyautogui)
429
+ ```
430
+
431
+ </details>
432
+
433
+ ## Startup Configuration and Project Structure
434
+ To initialize the NPC shell environment parameters correctly, first start the NPC shell:
435
+ ```bash
436
+ npcsh
437
+ ```
438
+ When initialized, `npcsh` will generate a `.npcshrc` file in your home directory that stores your npcsh settings.
439
+ Here is an example of what the `.npcshrc` file might look like after this has been run.
440
+ ```bash
441
+ # NPCSH Configuration File
442
+ export NPCSH_INITIALIZED=1
443
+ export NPCSH_DB_PATH='~/npcsh_history.db'
444
+ export NPCSH_CHAT_MODEL=gemma3:4b
445
+ export NPCSH_CHAT_PROVIDER=ollama
446
+ export NPCSH_DEFAULT_MODE=agent
447
+ export NPCSH_EMBEDDING_MODEL=nomic-embed-text
448
+ export NPCSH_EMBEDDING_PROVIDER=ollama
449
+ export NPCSH_IMAGE_GEN_MODEL=gpt-image-1
450
+ export NPCSH_IMAGE_GEN_PROVIDER=openai
451
+ export NPCSH_INITIALIZED=1
452
+ export NPCSH_REASONING_MODEL=deepseek-r1
453
+ export NPCSH_REASONING_PROVIDER=deepseek
454
+ export NPCSH_SEARCH_PROVIDER=duckduckgo
455
+ export NPCSH_STREAM_OUTPUT=1
456
+ export NPCSH_VECTOR_DB_PATH=~/npcsh_chroma.db
457
+ export NPCSH_VIDEO_GEN_MODEL=runwayml/stable-diffusion-v1-5
458
+ export NPCSH_VIDEO_GEN_PROVIDER=diffusers
459
+ export NPCSH_VISION_MODEL=gpt-4o-mini
460
+ export NPCSH_VISION_PROVIDER=openai
461
+ ```
462
+
463
+ `npcsh` also comes with a set of jinxs and NPCs that are used in processing. It will generate a folder at `~/.npcsh/` that contains the tools and NPCs that are used in the shell and these will be used in the absence of other project-specific ones. Additionally, `npcsh` records interactions and compiled information about npcs within a local SQLite database at the path specified in the `.npcshrc `file. This will default to `~/npcsh_history.db` if not specified. When the data mode is used to load or analyze data in CSVs or PDFs, these data will be stored in the same database for future reference.
464
+
465
+ The installer will automatically add this file to your shell config, but if it does not do so successfully for whatever reason you can add the following to your `.bashrc` or `.zshrc`:
466
+
467
+ ```bash
468
+ # Source NPCSH configuration
469
+ if [ -f ~/.npcshrc ]; then
470
+ . ~/.npcshrc
471
+ fi
472
+ ```
473
+
474
+ We support inference via all providers supported by litellm. For openai-compatible providers that are not explicitly named in litellm, use simply `openai-like` as the provider. The default provider must be one of `['openai','anthropic','ollama', 'gemini', 'deepseek', 'openai-like']` and the model must be one available from those providers.
475
+
476
+ To use tools that require API keys, create an `.env` file in the folder where you are working or place relevant API keys as env variables in your `~/.npcshrc`. If you already have these API keys set in a `~/.bashrc` or a `~/.zshrc` or similar files, you need not additionally add them to `~/.npcshrc` or to an `.env` file. Here is an example of what an `.env` file might look like:
477
+
478
+ ```bash
479
+ export OPENAI_API_KEY="your_openai_key"
480
+ export ANTHROPIC_API_KEY="your_anthropic_key"
481
+ export DEEPSEEK_API_KEY='your_deepseek_key'
482
+ export GEMINI_API_KEY='your_gemini_key'
483
+ export PERPLEXITY_API_KEY='your_perplexity_key'
484
+ ```
485
+
486
+
487
+ Individual npcs can also be set to use different models and providers by setting the `model` and `provider` keys in the npc files.
488
+
489
+ Once initialized and set up, you will find the following in your `~/.npcsh` directory:
490
+ ```bash
491
+ ~/.npcsh/
492
+ ├── npc_team/ # Global NPCs
493
+ │ ├── jinxs/ # Global tools
494
+ │ └── assembly_lines/ # Workflow pipelines
495
+ │ └── sibiji.npc # globally available npc
496
+ │ └── npcsh.ctx # global context file
497
+
498
+
499
+
500
+ ```
501
+ For cases where you wish to set up a project specific set of NPCs, jinxs, and assembly lines, add a `npc_team` directory to your project and `npcsh` should be able to pick up on its presence, like so:
502
+ ```bash
503
+ ./npc_team/ # Project-specific NPCs
504
+ ├── jinxs/ # Project jinxs #example jinx next
505
+ │ └── example.jinx
506
+ └── assembly_lines/ # Agentic Workflows
507
+ └── example.line
508
+ └── models/ # Project workflows
509
+ └── example.model
510
+ └── example1.npc # Example NPC
511
+ └── example2.npc # Example NPC
512
+ └── team.ctx # Example ctx
513
+
514
+
515
+ ```
516
+
517
+ ## Contributing
518
+ Contributions are welcome! Please submit issues and pull requests on the GitHub repository.
519
+
520
+
521
+ ## License
522
+ This project is licensed under the MIT License.
@@ -0,0 +1,135 @@
1
+ npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ npcsh/_state.py,sha256=u4vd_igIChOJZYmrKeowW8vgmW1i3bISO2QaVu8WJWo,126564
3
+ npcsh/alicanto.py,sha256=SXxpT525cOje1J60OMwpaEdWfyPVTEecl_dTVpOvUYQ,2415
4
+ npcsh/build.py,sha256=UuId0_rQml40A4U1KuvMekRyfB30s8HiLsXFJjqrBmM,7692
5
+ npcsh/completion.py,sha256=iX7JDBGC_Tiutr3Iux5zB6eHKu2bLsJfv9Klln0iUq8,5666
6
+ npcsh/config.py,sha256=1m5WNft9PbAlDCTMmnA_tI27UracAvME7MCC9udBvMg,5541
7
+ npcsh/corca.py,sha256=zZRcW_EDoVsz6Xhyos1dlOgk7oNF2-bJvHraLGLj8pc,1568
8
+ npcsh/execution.py,sha256=sgM6HwAfGnattdItKtNpzvQJhhDh5ro2mPfp2swFbys,5270
9
+ npcsh/guac.py,sha256=nU33ONVP4He0ak9kKP1sJLsoMBm0Zl8q0Zp7h17Ev1E,1342
10
+ npcsh/mcp_helpers.py,sha256=9TsCfcquGu_vX4WaKlY3J3P13-uxruQKrXng-jJ5YyY,11176
11
+ npcsh/mcp_server.py,sha256=Lfpabnwi_xu0UudJxQ_YNyyCn2f0_JjzorhWmIeclwY,8777
12
+ npcsh/npc.py,sha256=yqgqZDLwqniIbbDu-vaJf31fWVbOrtgNnFXfjDBk-D8,9853
13
+ npcsh/npcsh.py,sha256=P3Ce0TATwDXRGKT00ilKawVZUKJFAt9ImIYbtGWdin4,11906
14
+ npcsh/parsing.py,sha256=eGATFUkDvHu5pVbh0RswhWEmGjcIsLaDwgxTtPbC9sk,2943
15
+ npcsh/plonk.py,sha256=34ORKsIFkIK9BK5nNM4KQRprA-RVXe1vLk_vHNK4wmI,1725
16
+ npcsh/pti.py,sha256=zTqE6bH4H_QOqJ4zQbC4-vT_dm7TE9iUIqTbIGb_bxY,1783
17
+ npcsh/routes.py,sha256=27rZUwiMK12WuFEDOxLL_F_F8GjmHlFBxKQRuvElrHI,4967
18
+ npcsh/spool.py,sha256=G0Sc_veJVKqoEdeOCTkBfAwFSHIMK5oAwYel1rr463A,1508
19
+ npcsh/ui.py,sha256=unUQvgaVbE1LapC9xK2Cirho2WQo57EyERVvEMYcnHU,6485
20
+ npcsh/wander.py,sha256=CRQ8eCaIckJL21wLCXTjj5f0bnVmUEK_vHipFGKghGs,2288
21
+ npcsh/yap.py,sha256=jvGHHaFfPgQheLwWC_ORn63eGDPOq9vZCh-OBaSeu3A,1593
22
+ npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
23
+ npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
24
+ npcsh/npc_team/corca.npc,sha256=NtZW1mQ_AMOHlfMCfl8A3uA00UMuHuO95FzRg6kUixo,631
25
+ npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
26
+ npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
27
+ npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
28
+ npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
29
+ npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
30
+ npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
31
+ npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
32
+ npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
33
+ npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
34
+ npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
35
+ npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
36
+ npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
37
+ npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
38
+ npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
39
+ npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
40
+ npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
41
+ npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
42
+ npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
43
+ npcsh/npc_team/jinxs/code/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
44
+ npcsh/npc_team/jinxs/code/sh.jinx,sha256=5cX7LWqbyXrqzjhjVWY3hw0intjA7mtFtk0nNK3fooo,943
45
+ npcsh/npc_team/jinxs/code/sql.jinx,sha256=qKheyMHZQe-YJBisLFwApiwUph0Gn7lbkz_WFueymWA,574
46
+ npcsh/npc_team/jinxs/modes/alicanto.jinx,sha256=5WzVIvlNOOr6TQ5c9AgAnQSSf8TVoBHCxmm3Y7m0tx0,7512
47
+ npcsh/npc_team/jinxs/modes/corca.jinx,sha256=FVdRJec6RAfA33we_QvvRa8LzWdVQOmZ9gjuRB8H-UQ,10046
48
+ npcsh/npc_team/jinxs/modes/guac.jinx,sha256=fuQBbKrWqRjhlhpn0vikhfMrCUx8heS9SUO9aL1uEE4,12733
49
+ npcsh/npc_team/jinxs/modes/plonk.jinx,sha256=7zOig7Qn5CuXHZRO0UeG_-036Xj7QZBd4knzn8iCNWo,8983
50
+ npcsh/npc_team/jinxs/modes/pti.jinx,sha256=HRWK5IKMiZUX9jToNIQOkO3RB6q6HSm4g6pNe1sXwYw,6436
51
+ npcsh/npc_team/jinxs/modes/spool.jinx,sha256=MLmqcnsytTQjektI7feD9bwUu3m-plPme1tRM6_zO6M,6446
52
+ npcsh/npc_team/jinxs/modes/wander.jinx,sha256=fw5007M-MiZnRSl_BMJRyIU4GGDyXemmj8cPzcrWyMw,7638
53
+ npcsh/npc_team/jinxs/modes/yap.jinx,sha256=EU_10qxp-GIaCUfJo0sldl4N4989yd5tysfr4J_8biw,9596
54
+ npcsh/npc_team/jinxs/npc_studio/npc-studio.jinx,sha256=0aY-z399BRIXIL3TLMTcYDiHjDm-krZy0CnYfiskQUo,2234
55
+ npcsh/npc_team/jinxs/utils/agent.jinx,sha256=8aw99XNfslRz2OZIzufptBEKZwyyzdfD9PpC7f2gQYA,529
56
+ npcsh/npc_team/jinxs/utils/chat.jinx,sha256=zSrhjm58SkcpIbHtfpWbBKWF_ha6f7HdZLkiY1Ad9Qg,1405
57
+ npcsh/npc_team/jinxs/utils/cmd.jinx,sha256=9pRiNmSeraimszsWg3HVIqvvhe8F40JJHaSkOFhkqm8,1406
58
+ npcsh/npc_team/jinxs/utils/compress.jinx,sha256=B2dMsT-jrMWzjQfMhRIuO7afgqj7MJngshz5DBMmu7s,6834
59
+ npcsh/npc_team/jinxs/utils/edit_file.jinx,sha256=jExsHctvapG2xlze6E7ZR3oSLS9hJTYKKd41dQwgOLw,3488
60
+ npcsh/npc_team/jinxs/utils/load_file.jinx,sha256=KdL3nhYWL2-8A0-lN2A2NIe0mAgoc-fIWzpFJnnLPZs,1264
61
+ npcsh/npc_team/jinxs/utils/ots.jinx,sha256=DKoSVgH_ZcmOaZ2-R-Yn80KyCiYgqG25JG6e4wQwP64,2301
62
+ npcsh/npc_team/jinxs/utils/roll.jinx,sha256=RhYhDDdyKcWjVhVSU7dX_DMn5s4rz-nY6pXmtr6tytM,2908
63
+ npcsh/npc_team/jinxs/utils/sample.jinx,sha256=7cWwfAZFgWxaTkIL1gpFFryQ3mjvVjoWYAov-zOFn_E,2237
64
+ npcsh/npc_team/jinxs/utils/search.jinx,sha256=RtnQtF0TSWHryr1h6x4VX00zofqNCOjMwOBzysDAhT8,5472
65
+ npcsh/npc_team/jinxs/utils/serve.jinx,sha256=D-a-UafymNfAWeLW1sLM_Ef-971SF9TPcUvYu70AIlk,837
66
+ npcsh/npc_team/jinxs/utils/sleep.jinx,sha256=c-7Dn4aLuX7WyBVcvuk3sqcbIutqKIz1N9sBfPNzhck,5301
67
+ npcsh/npc_team/jinxs/utils/trigger.jinx,sha256=YVFPEH6mT9HiAyfPZOCcBpKB033g6K4QCJO0sfgKSQA,2458
68
+ npcsh/npc_team/jinxs/utils/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
69
+ npcsh/npc_team/jinxs/utils/vixynt.jinx,sha256=gsBtTTOtwYkIE43AjOf6U6cc1aLyl9sQiwdM00vrzA4,5662
70
+ npcsh/npc_team/jinxs/utils/core/build.jinx,sha256=QrShGspHwP1z073334vhUIIJZ_3pMJWN_DX_DPPVslU,2771
71
+ npcsh/npc_team/jinxs/utils/core/compile.jinx,sha256=Rjdm5jf3ech1E3cnpLz-o2tbJuVvEoQGAp0FQRAU7qo,2526
72
+ npcsh/npc_team/jinxs/utils/core/help.jinx,sha256=OquhUEgcYZp-gu5Wgl3pOZnswxGQ96RoNG08tHjC9-4,2091
73
+ npcsh/npc_team/jinxs/utils/core/init.jinx,sha256=QBb1uOTvMlD-x3S7zPASH5TBZRwNhMQvK6t3DdC2mVw,1596
74
+ npcsh/npc_team/jinxs/utils/core/jinxs.jinx,sha256=rF432zHrVeccbGKm5tHxd_bZ7OQk355xB6LTlEIXiuI,1269
75
+ npcsh/npc_team/jinxs/utils/core/set.jinx,sha256=hQY_0muEtnWtfXsdK9cPwSvIevCimiJJn1-yhGC_VxM,1381
76
+ npcsh-1.1.13.data/data/npcsh/npc_team/agent.jinx,sha256=8aw99XNfslRz2OZIzufptBEKZwyyzdfD9PpC7f2gQYA,529
77
+ npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.jinx,sha256=5WzVIvlNOOr6TQ5c9AgAnQSSf8TVoBHCxmm3Y7m0tx0,7512
78
+ npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.npc,sha256=y9yDY3lq8ZwxQxpnrgle8w5IJwZqvxDepZFU4OaZCtg,148
79
+ npcsh-1.1.13.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
80
+ npcsh-1.1.13.data/data/npcsh/npc_team/build.jinx,sha256=QrShGspHwP1z073334vhUIIJZ_3pMJWN_DX_DPPVslU,2771
81
+ npcsh-1.1.13.data/data/npcsh/npc_team/chat.jinx,sha256=zSrhjm58SkcpIbHtfpWbBKWF_ha6f7HdZLkiY1Ad9Qg,1405
82
+ npcsh-1.1.13.data/data/npcsh/npc_team/cmd.jinx,sha256=9pRiNmSeraimszsWg3HVIqvvhe8F40JJHaSkOFhkqm8,1406
83
+ npcsh-1.1.13.data/data/npcsh/npc_team/compile.jinx,sha256=Rjdm5jf3ech1E3cnpLz-o2tbJuVvEoQGAp0FQRAU7qo,2526
84
+ npcsh-1.1.13.data/data/npcsh/npc_team/compress.jinx,sha256=B2dMsT-jrMWzjQfMhRIuO7afgqj7MJngshz5DBMmu7s,6834
85
+ npcsh-1.1.13.data/data/npcsh/npc_team/corca.jinx,sha256=FVdRJec6RAfA33we_QvvRa8LzWdVQOmZ9gjuRB8H-UQ,10046
86
+ npcsh-1.1.13.data/data/npcsh/npc_team/corca.npc,sha256=NtZW1mQ_AMOHlfMCfl8A3uA00UMuHuO95FzRg6kUixo,631
87
+ npcsh-1.1.13.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
88
+ npcsh-1.1.13.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
89
+ npcsh-1.1.13.data/data/npcsh/npc_team/edit_file.jinx,sha256=jExsHctvapG2xlze6E7ZR3oSLS9hJTYKKd41dQwgOLw,3488
90
+ npcsh-1.1.13.data/data/npcsh/npc_team/foreman.npc,sha256=WqB8jLfBToGmr8c1vip1KOnTHxfXlGXwDUGnZoDMQr0,327
91
+ npcsh-1.1.13.data/data/npcsh/npc_team/frederic.npc,sha256=EE2dOUItp-VKuW3ZMSHffmIEO4evjPcU2W_C4P3WXbY,362
92
+ npcsh-1.1.13.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
93
+ npcsh-1.1.13.data/data/npcsh/npc_team/guac.jinx,sha256=fuQBbKrWqRjhlhpn0vikhfMrCUx8heS9SUO9aL1uEE4,12733
94
+ npcsh-1.1.13.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
95
+ npcsh-1.1.13.data/data/npcsh/npc_team/help.jinx,sha256=OquhUEgcYZp-gu5Wgl3pOZnswxGQ96RoNG08tHjC9-4,2091
96
+ npcsh-1.1.13.data/data/npcsh/npc_team/init.jinx,sha256=QBb1uOTvMlD-x3S7zPASH5TBZRwNhMQvK6t3DdC2mVw,1596
97
+ npcsh-1.1.13.data/data/npcsh/npc_team/jinxs.jinx,sha256=rF432zHrVeccbGKm5tHxd_bZ7OQk355xB6LTlEIXiuI,1269
98
+ npcsh-1.1.13.data/data/npcsh/npc_team/kadiefa.npc,sha256=Yl5a4wrfe4F2f6Ndw_ukzlVVX7NE9g_mG-3QqJSkg_o,381
99
+ npcsh-1.1.13.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
100
+ npcsh-1.1.13.data/data/npcsh/npc_team/load_file.jinx,sha256=KdL3nhYWL2-8A0-lN2A2NIe0mAgoc-fIWzpFJnnLPZs,1264
101
+ npcsh-1.1.13.data/data/npcsh/npc_team/npc-studio.jinx,sha256=0aY-z399BRIXIL3TLMTcYDiHjDm-krZy0CnYfiskQUo,2234
102
+ npcsh-1.1.13.data/data/npcsh/npc_team/npcsh.ctx,sha256=-jKYaPm2YbZHAGgWAXhyPIwhiNe1H1ZRFg1Zc7tHSxk,1049
103
+ npcsh-1.1.13.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
104
+ npcsh-1.1.13.data/data/npcsh/npc_team/ots.jinx,sha256=DKoSVgH_ZcmOaZ2-R-Yn80KyCiYgqG25JG6e4wQwP64,2301
105
+ npcsh-1.1.13.data/data/npcsh/npc_team/plonk.jinx,sha256=7zOig7Qn5CuXHZRO0UeG_-036Xj7QZBd4knzn8iCNWo,8983
106
+ npcsh-1.1.13.data/data/npcsh/npc_team/plonk.npc,sha256=u1m2a1D512XGQ2kC3eWDAY8Y2IvpkNU73DI_CPE65UE,90
107
+ npcsh-1.1.13.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
108
+ npcsh-1.1.13.data/data/npcsh/npc_team/plonkjr.npc,sha256=It-i-BEuG0XddKk0d85onk2aJr9Pe5pLnJzNaCWaQIM,87
109
+ npcsh-1.1.13.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
110
+ npcsh-1.1.13.data/data/npcsh/npc_team/pti.jinx,sha256=HRWK5IKMiZUX9jToNIQOkO3RB6q6HSm4g6pNe1sXwYw,6436
111
+ npcsh-1.1.13.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
112
+ npcsh-1.1.13.data/data/npcsh/npc_team/roll.jinx,sha256=RhYhDDdyKcWjVhVSU7dX_DMn5s4rz-nY6pXmtr6tytM,2908
113
+ npcsh-1.1.13.data/data/npcsh/npc_team/sample.jinx,sha256=7cWwfAZFgWxaTkIL1gpFFryQ3mjvVjoWYAov-zOFn_E,2237
114
+ npcsh-1.1.13.data/data/npcsh/npc_team/search.jinx,sha256=RtnQtF0TSWHryr1h6x4VX00zofqNCOjMwOBzysDAhT8,5472
115
+ npcsh-1.1.13.data/data/npcsh/npc_team/serve.jinx,sha256=D-a-UafymNfAWeLW1sLM_Ef-971SF9TPcUvYu70AIlk,837
116
+ npcsh-1.1.13.data/data/npcsh/npc_team/set.jinx,sha256=hQY_0muEtnWtfXsdK9cPwSvIevCimiJJn1-yhGC_VxM,1381
117
+ npcsh-1.1.13.data/data/npcsh/npc_team/sh.jinx,sha256=5cX7LWqbyXrqzjhjVWY3hw0intjA7mtFtk0nNK3fooo,943
118
+ npcsh-1.1.13.data/data/npcsh/npc_team/sibiji.npc,sha256=Hb4wXKIObKKgibwnio5hLec9yd_9bKDCA87Nm2zijFA,216
119
+ npcsh-1.1.13.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
120
+ npcsh-1.1.13.data/data/npcsh/npc_team/sleep.jinx,sha256=c-7Dn4aLuX7WyBVcvuk3sqcbIutqKIz1N9sBfPNzhck,5301
121
+ npcsh-1.1.13.data/data/npcsh/npc_team/spool.jinx,sha256=MLmqcnsytTQjektI7feD9bwUu3m-plPme1tRM6_zO6M,6446
122
+ npcsh-1.1.13.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
123
+ npcsh-1.1.13.data/data/npcsh/npc_team/sql.jinx,sha256=qKheyMHZQe-YJBisLFwApiwUph0Gn7lbkz_WFueymWA,574
124
+ npcsh-1.1.13.data/data/npcsh/npc_team/trigger.jinx,sha256=YVFPEH6mT9HiAyfPZOCcBpKB033g6K4QCJO0sfgKSQA,2458
125
+ npcsh-1.1.13.data/data/npcsh/npc_team/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
126
+ npcsh-1.1.13.data/data/npcsh/npc_team/vixynt.jinx,sha256=gsBtTTOtwYkIE43AjOf6U6cc1aLyl9sQiwdM00vrzA4,5662
127
+ npcsh-1.1.13.data/data/npcsh/npc_team/wander.jinx,sha256=fw5007M-MiZnRSl_BMJRyIU4GGDyXemmj8cPzcrWyMw,7638
128
+ npcsh-1.1.13.data/data/npcsh/npc_team/yap.jinx,sha256=EU_10qxp-GIaCUfJo0sldl4N4989yd5tysfr4J_8biw,9596
129
+ npcsh-1.1.13.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
130
+ npcsh-1.1.13.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
131
+ npcsh-1.1.13.dist-info/METADATA,sha256=Or6zdBrjLCOABV_FXFSJFbU1Y6cjDxJgmLhfysWxpAQ,25805
132
+ npcsh-1.1.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
133
+ npcsh-1.1.13.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
134
+ npcsh-1.1.13.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
135
+ npcsh-1.1.13.dist-info/RECORD,,