npcsh 1.0.25__tar.gz → 1.0.27__tar.gz

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 (52) hide show
  1. {npcsh-1.0.25 → npcsh-1.0.27}/PKG-INFO +12 -6
  2. {npcsh-1.0.25 → npcsh-1.0.27}/README.md +11 -5
  3. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/_state.py +105 -105
  4. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/alicanto.py +88 -88
  5. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/corca.py +423 -81
  6. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/guac.py +110 -107
  7. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/mcp_helpers.py +45 -45
  8. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/mcp_server.py +16 -17
  9. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc.py +16 -17
  10. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/bash_executer.jinx +1 -1
  11. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/edit_file.jinx +6 -6
  12. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/image_generation.jinx +5 -5
  13. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/screen_cap.jinx +2 -2
  14. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npcsh.py +5 -2
  15. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/plonk.py +8 -8
  16. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/routes.py +110 -90
  17. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/spool.py +13 -13
  18. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/wander.py +37 -37
  19. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/yap.py +72 -72
  20. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/PKG-INFO +12 -6
  21. {npcsh-1.0.25 → npcsh-1.0.27}/setup.py +1 -1
  22. {npcsh-1.0.25 → npcsh-1.0.27}/LICENSE +0 -0
  23. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/__init__.py +0 -0
  24. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/alicanto.npc +0 -0
  25. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/alicanto.png +0 -0
  26. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/corca.npc +0 -0
  27. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/corca.png +0 -0
  28. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/foreman.npc +0 -0
  29. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/frederic.npc +0 -0
  30. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/frederic4.png +0 -0
  31. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/guac.png +0 -0
  32. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/internet_search.jinx +0 -0
  33. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/jinxs/python_executor.jinx +0 -0
  34. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/kadiefa.npc +0 -0
  35. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/kadiefa.png +0 -0
  36. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/npcsh.ctx +0 -0
  37. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/npcsh_sibiji.png +0 -0
  38. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/plonk.npc +0 -0
  39. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/plonk.png +0 -0
  40. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/plonkjr.npc +0 -0
  41. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/plonkjr.png +0 -0
  42. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/sibiji.npc +0 -0
  43. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/sibiji.png +0 -0
  44. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/spool.png +0 -0
  45. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/npc_team/yap.png +0 -0
  46. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh/pti.py +0 -0
  47. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/SOURCES.txt +0 -0
  48. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/dependency_links.txt +0 -0
  49. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/entry_points.txt +0 -0
  50. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/requires.txt +0 -0
  51. {npcsh-1.0.25 → npcsh-1.0.27}/npcsh.egg-info/top_level.txt +0 -0
  52. {npcsh-1.0.25 → npcsh-1.0.27}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: npcsh
3
- Version: 1.0.25
3
+ Version: 1.0.27
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
@@ -125,7 +125,7 @@ Once installed: run
125
125
  ```bash
126
126
  npcsh
127
127
  ```
128
- and you will enter the NPC shell. Additionally, the pip installation includes making the following CLI tools available in bash: `corca`, `guac`, `npc` cli, `pti`, `spool`, `wander`, and`yap`.
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
129
 
130
130
 
131
131
  # Usage
@@ -204,12 +204,14 @@ The core of npcsh's capabilities is powered by the NPC Data Layer. Upon initiali
204
204
  Users can extend NPC capabilities through simple YAML files:
205
205
 
206
206
  - **NPCs** (.npc): are defined with a name, primary directive, and optional model specifications
207
- - **Jinxs** (.jinx): specify function-like capabilities with preprocessing, execution, and postprocessing steps
208
- - **Context** (.ctx): Specify contextual information, team preferences, MCP server paths, database connections, and other environment variables that are loaded for the team. 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
207
+ - **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.
208
+ - **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.
209
209
 
210
210
  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.
211
211
 
212
- This architecture enables complex AI workflows while maintaining a simple, declarative syntax that abstracts away implementation complexity. By organizing AI capabilities as composable data structures rather than code, npcsh creates a more accessible and adaptable framework for AI automation.
212
+ 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.
213
+
214
+ 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`
213
215
 
214
216
  # Macros
215
217
  - activated by invoking `/<command> ...` in `npcsh`, macros 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. Some, like breathe, flush,
@@ -276,7 +278,11 @@ To see more about how to use the macros and modes in the NPC Shell, read the doc
276
278
  - `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.
277
279
 
278
280
  ## NPC Studio
279
- There is a graphical user interface that makes use of the NPC Toolkit through the NPC Studio. See the open source code for NPC Studio [here](https://github.com/npc-worldwide/npc-studio). Download the executables at [our website](https://enpisi.com/npc-studio).
281
+ 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/npc-studio). For the most up to date version, you can use NPC Studio by invoking it in npcsh
282
+ ```
283
+ /npc-studio
284
+ ```
285
+ which will download and set up and serve the NPC Studio application within your `~/.npcsh` folder. It requires `npm` and `node` to work.
280
286
 
281
287
  ## Mailing List
282
288
  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)!
@@ -25,7 +25,7 @@ Once installed: run
25
25
  ```bash
26
26
  npcsh
27
27
  ```
28
- and you will enter the NPC shell. Additionally, the pip installation includes making the following CLI tools available in bash: `corca`, `guac`, `npc` cli, `pti`, `spool`, `wander`, and`yap`.
28
+ 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`.
29
29
 
30
30
 
31
31
  # Usage
@@ -104,12 +104,14 @@ The core of npcsh's capabilities is powered by the NPC Data Layer. Upon initiali
104
104
  Users can extend NPC capabilities through simple YAML files:
105
105
 
106
106
  - **NPCs** (.npc): are defined with a name, primary directive, and optional model specifications
107
- - **Jinxs** (.jinx): specify function-like capabilities with preprocessing, execution, and postprocessing steps
108
- - **Context** (.ctx): Specify contextual information, team preferences, MCP server paths, database connections, and other environment variables that are loaded for the team. 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
107
+ - **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.
108
+ - **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.
109
109
 
110
110
  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.
111
111
 
112
- This architecture enables complex AI workflows while maintaining a simple, declarative syntax that abstracts away implementation complexity. By organizing AI capabilities as composable data structures rather than code, npcsh creates a more accessible and adaptable framework for AI automation.
112
+ 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.
113
+
114
+ 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`
113
115
 
114
116
  # Macros
115
117
  - activated by invoking `/<command> ...` in `npcsh`, macros 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. Some, like breathe, flush,
@@ -176,7 +178,11 @@ To see more about how to use the macros and modes in the NPC Shell, read the doc
176
178
  - `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.
177
179
 
178
180
  ## NPC Studio
179
- There is a graphical user interface that makes use of the NPC Toolkit through the NPC Studio. See the open source code for NPC Studio [here](https://github.com/npc-worldwide/npc-studio). Download the executables at [our website](https://enpisi.com/npc-studio).
181
+ 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/npc-studio). For the most up to date version, you can use NPC Studio by invoking it in npcsh
182
+ ```
183
+ /npc-studio
184
+ ```
185
+ which will download and set up and serve the NPC Studio application within your `~/.npcsh` folder. It requires `npm` and `node` to work.
180
186
 
181
187
  ## Mailing List
182
188
  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)!