janito 3.9.0__tar.gz → 3.10.0__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 (484) hide show
  1. {janito-3.9.0 → janito-3.10.0}/.gitignore +71 -66
  2. {janito-3.9.0/janito.egg-info → janito-3.10.0}/PKG-INFO +84 -84
  3. janito-3.10.0/docs/agent/agent-lifecycle.md +75 -0
  4. janito-3.10.0/docs/agent/tools-workflow-lifecycle.md +116 -0
  5. {janito-3.9.0 → janito-3.10.0}/docs/cerebras-setup.md +73 -73
  6. {janito-3.9.0 → janito-3.10.0}/docs/concepts/analysis-style.md +40 -41
  7. {janito-3.9.0 → janito-3.10.0}/docs/concepts/language-model-clients.md +45 -45
  8. {janito-3.9.0 → janito-3.10.0}/docs/concepts/prompt-design-style.md +96 -97
  9. {janito-3.9.0 → janito-3.10.0}/docs/meta/developer-toolchain.md +39 -40
  10. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/filemanager.md +48 -1
  11. {janito-3.9.0 → janito-3.10.0}/docs/reference/api.md +106 -106
  12. janito-3.10.0/janito/agent_events.py +75 -0
  13. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/session.py +1 -0
  14. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/__init__.py +2 -0
  15. janito-3.10.0/janito/cli/chat_mode/shell/commands/interactive.py +33 -0
  16. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/toolbar.py +16 -1
  17. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/runner.py +33 -0
  18. {janito-3.9.0 → janito-3.10.0}/janito/cli/main_cli.py +9 -0
  19. {janito-3.9.0 → janito-3.10.0}/janito/cli/prompt_core.py +301 -302
  20. {janito-3.9.0 → janito-3.10.0}/janito/cli/rich_terminal_reporter.py +170 -179
  21. {janito-3.9.0 → janito-3.10.0}/janito/cli/single_shot_mode/handler.py +19 -0
  22. {janito-3.9.0 → janito-3.10.0}/janito/llm/agent.py +59 -0
  23. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/__init__.py +7 -0
  24. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/create_directory.py +44 -1
  25. janito-3.10.0/janito/tests/test_tool_adapter_case_insensitive.py +112 -0
  26. {janito-3.9.0 → janito-3.10.0}/janito/tools/tools_adapter.py +514 -510
  27. {janito-3.9.0 → janito-3.10.0/janito.egg-info}/PKG-INFO +84 -84
  28. {janito-3.9.0 → janito-3.10.0}/janito.egg-info/SOURCES.txt +5 -1
  29. janito-3.10.0/janito.egg-info/top_level.txt +1 -0
  30. {janito-3.9.0 → janito-3.10.0}/mkdocs.yml +88 -88
  31. {janito-3.9.0 → janito-3.10.0}/mkdocs_hooks.py +51 -51
  32. {janito-3.9.0 → janito-3.10.0}/setup.cfg +4 -4
  33. janito-3.9.0/janito.egg-info/top_level.txt +0 -2
  34. janito-3.9.0/plugins/core/filemanager/tools/create_directory.py +0 -70
  35. {janito-3.9.0 → janito-3.10.0}/.codespellrc +0 -0
  36. {janito-3.9.0 → janito-3.10.0}/.gitattributes +0 -0
  37. {janito-3.9.0 → janito-3.10.0}/.github/workflows/python-app.yml.disabled +0 -0
  38. {janito-3.9.0 → janito-3.10.0}/.pre-commit-config.yaml +0 -0
  39. {janito-3.9.0 → janito-3.10.0}/.secrets.baseline +0 -0
  40. {janito-3.9.0 → janito-3.10.0}/.vscode/settings.json +0 -0
  41. {janito-3.9.0 → janito-3.10.0}/LICENSE +0 -0
  42. {janito-3.9.0 → janito-3.10.0}/MARKET_ANALYST_README.md +0 -0
  43. {janito-3.9.0 → janito-3.10.0}/README-dev.md +0 -0
  44. {janito-3.9.0 → janito-3.10.0}/README.md +0 -0
  45. {janito-3.9.0 → janito-3.10.0}/RELEASE_COMPARISON.md +0 -0
  46. {janito-3.9.0 → janito-3.10.0}/UPDATING_DOCS.md +0 -0
  47. {janito-3.9.0 → janito-3.10.0}/adding_mcp.txt +0 -0
  48. {janito-3.9.0 → janito-3.10.0}/docs/CHANGELOG.md +0 -0
  49. {janito-3.9.0 → janito-3.10.0}/docs/DIV.md +0 -0
  50. {janito-3.9.0 → janito-3.10.0}/docs/Interfaces.txt +0 -0
  51. {janito-3.9.0 → janito-3.10.0}/docs/PROFILES.md +0 -0
  52. {janito-3.9.0 → janito-3.10.0}/docs/TOOLBAR-STYLING.md +0 -0
  53. {janito-3.9.0 → janito-3.10.0}/docs/about/costs.md +0 -0
  54. {janito-3.9.0 → janito-3.10.0}/docs/about/vs-webchats.md +0 -0
  55. {janito-3.9.0 → janito-3.10.0}/docs/about/why.md +0 -0
  56. {janito-3.9.0 → janito-3.10.0}/docs/alibaba-setup.md +0 -0
  57. {janito-3.9.0 → janito-3.10.0}/docs/alternatives.md +0 -0
  58. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/CHANGELOG.md +0 -0
  59. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/CHANGELOG_2.16.0.md +0 -0
  60. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/CHANGELOG_2.23.0.md +0 -0
  61. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/CHANGELOG_2.26.0.md +0 -0
  62. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/CHANGELOG_2.27.0.md +0 -0
  63. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/RELEASE_NOTES_2.22.0.md +0 -0
  64. {janito-3.9.0 → janito-3.10.0}/docs/changelogs/RELEASE_NOTES_2.24.1.md +0 -0
  65. {janito-3.9.0 → janito-3.10.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  66. {janito-3.9.0 → janito-3.10.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
  67. {janito-3.9.0 → janito-3.10.0}/docs/code_intelligence/code-generation-observability.md +0 -0
  68. {janito-3.9.0 → janito-3.10.0}/docs/code_intelligence/our-approach.md +0 -0
  69. {janito-3.9.0 → janito-3.10.0}/docs/code_intelligence/why-string-replacement.md +0 -0
  70. {janito-3.9.0 → janito-3.10.0}/docs/concepts/human-guided-ai.md +0 -0
  71. {janito-3.9.0 → janito-3.10.0}/docs/concepts/index.md +0 -0
  72. {janito-3.9.0 → janito-3.10.0}/docs/deepseek-setup.md +0 -0
  73. {janito-3.9.0 → janito-3.10.0}/docs/driver-flow.md +0 -0
  74. {janito-3.9.0 → janito-3.10.0}/docs/driver-request-cancellation.md +0 -0
  75. {janito-3.9.0 → janito-3.10.0}/docs/drivers/events.md +0 -0
  76. {janito-3.9.0 → janito-3.10.0}/docs/drivers.md +0 -0
  77. {janito-3.9.0 → janito-3.10.0}/docs/event-bus.md +0 -0
  78. {janito-3.9.0 → janito-3.10.0}/docs/guides/configuration.md +0 -0
  79. {janito-3.9.0 → janito-3.10.0}/docs/guides/developing.md +0 -0
  80. {janito-3.9.0 → janito-3.10.0}/docs/guides/disabled-tools.md +0 -0
  81. {janito-3.9.0 → janito-3.10.0}/docs/guides/installation.md +0 -0
  82. {janito-3.9.0 → janito-3.10.0}/docs/guides/market-data-sources.md +0 -0
  83. {janito-3.9.0 → janito-3.10.0}/docs/guides/profiles.md +0 -0
  84. {janito-3.9.0 → janito-3.10.0}/docs/guides/prompting/README.md +0 -0
  85. {janito-3.9.0 → janito-3.10.0}/docs/guides/read-chart-examples.md +0 -0
  86. {janito-3.9.0 → janito-3.10.0}/docs/guides/security-commands.md +0 -0
  87. {janito-3.9.0 → janito-3.10.0}/docs/guides/single-shot-terminal.md +0 -0
  88. {janito-3.9.0 → janito-3.10.0}/docs/guides/stock-market-guide.md +0 -0
  89. {janito-3.9.0 → janito-3.10.0}/docs/guides/terminal-shell.md +0 -0
  90. {janito-3.9.0 → janito-3.10.0}/docs/guides/tools-developer-guide.md +0 -0
  91. {janito-3.9.0 → janito-3.10.0}/docs/guides/url-whitelist.md +0 -0
  92. {janito-3.9.0 → janito-3.10.0}/docs/guides/using.md +0 -0
  93. {janito-3.9.0 → janito-3.10.0}/docs/guides/using_tools.md +0 -0
  94. {janito-3.9.0 → janito-3.10.0}/docs/ibm-setup.md +0 -0
  95. {janito-3.9.0 → janito-3.10.0}/docs/imgs/code-generation-observability.png +0 -0
  96. {janito-3.9.0 → janito-3.10.0}/docs/imgs/code_generation_observability.png +0 -0
  97. {janito-3.9.0 → janito-3.10.0}/docs/imgs/happy-programmer.png +0 -0
  98. {janito-3.9.0 → janito-3.10.0}/docs/imgs/happy-programmer.svg +0 -0
  99. {janito-3.9.0 → janito-3.10.0}/docs/imgs/terminal-one-shot.png +0 -0
  100. {janito-3.9.0 → janito-3.10.0}/docs/imgs/terminal-shell.png +0 -0
  101. {janito-3.9.0 → janito-3.10.0}/docs/imgs/terminal_one_shot.png +0 -0
  102. {janito-3.9.0 → janito-3.10.0}/docs/imgs/terminal_shell.png +0 -0
  103. {janito-3.9.0 → janito-3.10.0}/docs/index.md +0 -0
  104. {janito-3.9.0 → janito-3.10.0}/docs/llm-drivers-required-config.md +0 -0
  105. {janito-3.9.0 → janito-3.10.0}/docs/llm-drivers.md +0 -0
  106. {janito-3.9.0 → janito-3.10.0}/docs/meta/quality-checks.txt +0 -0
  107. {janito-3.9.0 → janito-3.10.0}/docs/mistral-setup.md +0 -0
  108. {janito-3.9.0 → janito-3.10.0}/docs/moonshot-setup.md +0 -0
  109. {janito-3.9.0 → janito-3.10.0}/docs/openai-setup.md +0 -0
  110. {janito-3.9.0 → janito-3.10.0}/docs/overrides/partials/copyright.html +0 -0
  111. {janito-3.9.0 → janito-3.10.0}/docs/plugins/README.md +0 -0
  112. {janito-3.9.0 → janito-3.10.0}/docs/plugins/api-reference.md +0 -0
  113. {janito-3.9.0 → janito-3.10.0}/docs/plugins/architecture.md +0 -0
  114. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/codeanalyzer.md +0 -0
  115. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/imagedisplay.md +0 -0
  116. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/pythondev.md +0 -0
  117. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/system.md +0 -0
  118. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/userinterface.md +0 -0
  119. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/visualization.md +0 -0
  120. {janito-3.9.0 → janito-3.10.0}/docs/plugins/built-in-plugins/webtools.md +0 -0
  121. {janito-3.9.0 → janito-3.10.0}/docs/plugins/configuration.md +0 -0
  122. {janito-3.9.0 → janito-3.10.0}/docs/plugins/examples/advanced.md +0 -0
  123. {janito-3.9.0 → janito-3.10.0}/docs/plugins/examples/basic.md +0 -0
  124. {janito-3.9.0 → janito-3.10.0}/docs/plugins/examples/intermediate.md +0 -0
  125. {janito-3.9.0 → janito-3.10.0}/docs/plugins/plugin-development.md +0 -0
  126. {janito-3.9.0 → janito-3.10.0}/docs/plugins/plugin-resources.md +0 -0
  127. {janito-3.9.0 → janito-3.10.0}/docs/plugins/publishing.md +0 -0
  128. {janito-3.9.0 → janito-3.10.0}/docs/plugins/remote-plugins.md +0 -0
  129. {janito-3.9.0 → janito-3.10.0}/docs/plugins/testing.md +0 -0
  130. {janito-3.9.0 → janito-3.10.0}/docs/provider-platform-access.md +0 -0
  131. {janito-3.9.0 → janito-3.10.0}/docs/public-sources.md +0 -0
  132. {janito-3.9.0 → janito-3.10.0}/docs/reference/azure-openai.md +0 -0
  133. {janito-3.9.0 → janito-3.10.0}/docs/reference/cli-options.md +0 -0
  134. {janito-3.9.0 → janito-3.10.0}/docs/reference/message-handler-model.md +0 -0
  135. {janito-3.9.0 → janito-3.10.0}/docs/reference/rich-message-handler.md +0 -0
  136. {janito-3.9.0 → janito-3.10.0}/docs/security.md +0 -0
  137. {janito-3.9.0 → janito-3.10.0}/docs/supported-providers-models.md +0 -0
  138. {janito-3.9.0 → janito-3.10.0}/docs/tools/search-text.md +0 -0
  139. {janito-3.9.0 → janito-3.10.0}/docs/tools/show-image-grid.md +0 -0
  140. {janito-3.9.0 → janito-3.10.0}/docs/tools/show-image.md +0 -0
  141. {janito-3.9.0 → janito-3.10.0}/docs/tools-index.md +0 -0
  142. {janito-3.9.0 → janito-3.10.0}/docs/tools-natural-results.md +0 -0
  143. {janito-3.9.0 → janito-3.10.0}/docs/tools-precision.md +0 -0
  144. {janito-3.9.0 → janito-3.10.0}/docs/z-ai-setup.md +0 -0
  145. {janito-3.9.0 → janito-3.10.0}/examples/loop_protection_example.py +0 -0
  146. {janito-3.9.0 → janito-3.10.0}/examples/loop_protection_tool_example.py +0 -0
  147. {janito-3.9.0 → janito-3.10.0}/get_nasdaq_top.py +0 -0
  148. {janito-3.9.0 → janito-3.10.0}/ibm-logo.txt +0 -0
  149. {janito-3.9.0 → janito-3.10.0}/janito/README.md +0 -0
  150. {janito-3.9.0 → janito-3.10.0}/janito/__init__.py +0 -0
  151. {janito-3.9.0 → janito-3.10.0}/janito/__main__.py +0 -0
  152. {janito-3.9.0 → janito-3.10.0}/janito/_version.py +0 -0
  153. {janito-3.9.0 → janito-3.10.0}/janito/agent/setup_agent.py +0 -0
  154. {janito-3.9.0 → janito-3.10.0}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  155. {janito-3.9.0 → janito-3.10.0}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  156. {janito-3.9.0 → janito-3.10.0}/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -0
  157. {janito-3.9.0 → janito-3.10.0}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  158. {janito-3.9.0 → janito-3.10.0}/janito/cli/__init__.py +0 -0
  159. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/bindings.py +0 -0
  160. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  161. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  162. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/script_runner.py +0 -0
  163. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  164. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  165. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  166. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  167. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  168. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  169. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  170. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  171. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  172. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  173. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  174. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  175. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  176. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  177. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  178. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/provider.py +0 -0
  179. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  180. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  181. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/security/__init__.py +0 -0
  182. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +0 -0
  183. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/security_command.py +0 -0
  184. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  185. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  186. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  187. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/unrestricted.py +0 -0
  188. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  189. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  190. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  191. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  192. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  193. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  194. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  195. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  196. {janito-3.9.0 → janito-3.10.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  197. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/enable_disable_plugin.py +0 -0
  198. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_config.py +0 -0
  199. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_drivers.py +0 -0
  200. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_models.py +0 -0
  201. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_plugins.py +0 -0
  202. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_profiles.py +0 -0
  203. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_providers.py +0 -0
  204. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_providers_region.py +0 -0
  205. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/list_tools.py +0 -0
  206. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/model_selection.py +0 -0
  207. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/model_utils.py +0 -0
  208. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/ping_providers.py +0 -0
  209. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  210. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/show_config.py +0 -0
  211. {janito-3.9.0 → janito-3.10.0}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  212. {janito-3.9.0 → janito-3.10.0}/janito/cli/config.py +0 -0
  213. {janito-3.9.0 → janito-3.10.0}/janito/cli/console.py +0 -0
  214. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/__init__.py +0 -0
  215. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/event_logger.py +0 -0
  216. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/getters.py +0 -0
  217. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/model_guesser.py +0 -0
  218. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/setters.py +0 -0
  219. {janito-3.9.0 → janito-3.10.0}/janito/cli/core/unsetters.py +0 -0
  220. {janito-3.9.0 → janito-3.10.0}/janito/cli/main.py +0 -0
  221. {janito-3.9.0 → janito-3.10.0}/janito/cli/prompt_handler.py +0 -0
  222. {janito-3.9.0 → janito-3.10.0}/janito/cli/prompt_setup.py +0 -0
  223. {janito-3.9.0 → janito-3.10.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  224. {janito-3.9.0 → janito-3.10.0}/janito/cli/utils.py +0 -0
  225. {janito-3.9.0 → janito-3.10.0}/janito/cli/verbose_output.py +0 -0
  226. {janito-3.9.0 → janito-3.10.0}/janito/config.py +0 -0
  227. {janito-3.9.0 → janito-3.10.0}/janito/config_manager.py +0 -0
  228. {janito-3.9.0 → janito-3.10.0}/janito/conversation_history.py +0 -0
  229. {janito-3.9.0 → janito-3.10.0}/janito/dir_walk_utils.py +0 -0
  230. {janito-3.9.0 → janito-3.10.0}/janito/docs/GETTING_STARTED.md +0 -0
  231. {janito-3.9.0 → janito-3.10.0}/janito/driver_events.py +0 -0
  232. {janito-3.9.0 → janito-3.10.0}/janito/drivers/azure_openai/driver.py +0 -0
  233. {janito-3.9.0 → janito-3.10.0}/janito/drivers/cerebras/__init__.py +0 -0
  234. {janito-3.9.0 → janito-3.10.0}/janito/drivers/dashscope.bak.zip +0 -0
  235. {janito-3.9.0 → janito-3.10.0}/janito/drivers/openai/README.md +0 -0
  236. {janito-3.9.0 → janito-3.10.0}/janito/drivers/openai/driver.py +0 -0
  237. {janito-3.9.0 → janito-3.10.0}/janito/drivers/openai_responses.bak.zip +0 -0
  238. {janito-3.9.0 → janito-3.10.0}/janito/drivers/zai/__init__.py +0 -0
  239. {janito-3.9.0 → janito-3.10.0}/janito/drivers/zai/driver.py +0 -0
  240. {janito-3.9.0 → janito-3.10.0}/janito/event_bus/__init__.py +0 -0
  241. {janito-3.9.0 → janito-3.10.0}/janito/event_bus/bus.py +0 -0
  242. {janito-3.9.0 → janito-3.10.0}/janito/event_bus/event.py +0 -0
  243. {janito-3.9.0 → janito-3.10.0}/janito/event_bus/handler.py +0 -0
  244. {janito-3.9.0 → janito-3.10.0}/janito/event_bus/queue_bus.py +0 -0
  245. {janito-3.9.0 → janito-3.10.0}/janito/exceptions.py +0 -0
  246. {janito-3.9.0 → janito-3.10.0}/janito/formatting.py +0 -0
  247. {janito-3.9.0 → janito-3.10.0}/janito/formatting_token.py +0 -0
  248. {janito-3.9.0 → janito-3.10.0}/janito/gitignore_utils.py +0 -0
  249. {janito-3.9.0 → janito-3.10.0}/janito/hello.txt +0 -0
  250. {janito-3.9.0 → janito-3.10.0}/janito/i18n/__init__.py +0 -0
  251. {janito-3.9.0 → janito-3.10.0}/janito/i18n/it.py +0 -0
  252. {janito-3.9.0 → janito-3.10.0}/janito/i18n/messages.py +0 -0
  253. {janito-3.9.0 → janito-3.10.0}/janito/i18n/pt.py +0 -0
  254. {janito-3.9.0 → janito-3.10.0}/janito/llm/README.md +0 -0
  255. {janito-3.9.0 → janito-3.10.0}/janito/llm/__init__.py +0 -0
  256. {janito-3.9.0 → janito-3.10.0}/janito/llm/auth.py +0 -0
  257. {janito-3.9.0 → janito-3.10.0}/janito/llm/auth_utils.py +0 -0
  258. {janito-3.9.0 → janito-3.10.0}/janito/llm/driver.py +0 -0
  259. {janito-3.9.0 → janito-3.10.0}/janito/llm/driver_config.py +0 -0
  260. {janito-3.9.0 → janito-3.10.0}/janito/llm/driver_config_builder.py +0 -0
  261. {janito-3.9.0 → janito-3.10.0}/janito/llm/driver_input.py +0 -0
  262. {janito-3.9.0 → janito-3.10.0}/janito/llm/message_parts.py +0 -0
  263. {janito-3.9.0 → janito-3.10.0}/janito/llm/model.py +0 -0
  264. {janito-3.9.0 → janito-3.10.0}/janito/llm/provider.py +0 -0
  265. {janito-3.9.0 → janito-3.10.0}/janito/mkdocs.yml +0 -0
  266. {janito-3.9.0 → janito-3.10.0}/janito/perf_singleton.py +0 -0
  267. {janito-3.9.0 → janito-3.10.0}/janito/performance_collector.py +0 -0
  268. {janito-3.9.0 → janito-3.10.0}/janito/platform_discovery.py +0 -0
  269. {janito-3.9.0 → janito-3.10.0}/janito/plugins/__init__.py +0 -0
  270. {janito-3.9.0 → janito-3.10.0}/janito/plugins/auto_loader.py +0 -0
  271. {janito-3.9.0 → janito-3.10.0}/janito/plugins/auto_loader_fixed.py +0 -0
  272. {janito-3.9.0 → janito-3.10.0}/janito/plugins/base.py +0 -0
  273. {janito-3.9.0 → janito-3.10.0}/janito/plugins/builtin.py +0 -0
  274. {janito-3.9.0 → janito-3.10.0}/janito/plugins/config.py +0 -0
  275. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +0 -0
  276. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/core.py +0 -0
  277. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/txt_validator.py +0 -0
  278. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core_adapter.py +0 -0
  279. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core_loader.py +0 -0
  280. {janito-3.9.0 → janito-3.10.0}/janito/plugins/core_loader_fixed.py +0 -0
  281. {janito-3.9.0 → janito-3.10.0}/janito/plugins/discovery.py +0 -0
  282. {janito-3.9.0 → janito-3.10.0}/janito/plugins/discovery_core.py +0 -0
  283. {janito-3.9.0 → janito-3.10.0}/janito/plugins/manager.py +0 -0
  284. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/__init__.py +0 -0
  285. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/adapter.py +0 -0
  286. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/ask_user.py +0 -0
  287. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/copy_file.py +0 -0
  288. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/create_file.py +0 -0
  289. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/delete_text_in_file.py +0 -0
  290. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/fetch_url.py +0 -0
  291. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/find_files.py +0 -0
  292. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/__init__.py +0 -0
  293. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/core.py +0 -0
  294. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/java_outline.py +0 -0
  295. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/markdown_outline.py +0 -0
  296. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/python_outline.py +0 -0
  297. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/get_file_outline/search_outline.py +0 -0
  298. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/move_file.py +0 -0
  299. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/open_html_in_browser.py +0 -0
  300. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/open_url.py +0 -0
  301. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/python_code_run.py +0 -0
  302. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/python_command_run.py +0 -0
  303. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/python_file_run.py +0 -0
  304. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/read_chart.py +0 -0
  305. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/read_files.py +0 -0
  306. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/remove_directory.py +0 -0
  307. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/remove_file.py +0 -0
  308. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/replace_text_in_file.py +0 -0
  309. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/run_bash_command.py +0 -0
  310. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/run_powershell_command.py +0 -0
  311. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/search_text/__init__.py +0 -0
  312. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/search_text/core.py +0 -0
  313. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/search_text/match_lines.py +0 -0
  314. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/search_text/pattern_utils.py +0 -0
  315. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/search_text/traverse_directory.py +0 -0
  316. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/show_image.py +0 -0
  317. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/show_image_grid.py +0 -0
  318. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/__init__.py +0 -0
  319. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/core.py +0 -0
  320. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/css_validator.py +0 -0
  321. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/html_validator.py +0 -0
  322. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/jinja2_validator.py +0 -0
  323. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/js_validator.py +0 -0
  324. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/json_validator.py +0 -0
  325. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/markdown_validator.py +0 -0
  326. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/ps1_validator.py +0 -0
  327. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/python_validator.py +0 -0
  328. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/txt_validator.py +0 -0
  329. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/xml_validator.py +0 -0
  330. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/validate_file_syntax/yaml_validator.py +0 -0
  331. {janito-3.9.0 → janito-3.10.0}/janito/plugins/tools/local/view_file.py +0 -0
  332. {janito-3.9.0 → janito-3.10.0}/janito/provider_config.py +0 -0
  333. {janito-3.9.0 → janito-3.10.0}/janito/provider_registry.py +0 -0
  334. {janito-3.9.0 → janito-3.10.0}/janito/providers/__init__.py +0 -0
  335. {janito-3.9.0 → janito-3.10.0}/janito/providers/alibaba/__init__.py +0 -0
  336. {janito-3.9.0 → janito-3.10.0}/janito/providers/alibaba/model_info.py +0 -0
  337. {janito-3.9.0 → janito-3.10.0}/janito/providers/alibaba/provider.py +0 -0
  338. {janito-3.9.0 → janito-3.10.0}/janito/providers/anthropic/model_info.py +0 -0
  339. {janito-3.9.0 → janito-3.10.0}/janito/providers/anthropic/provider.py +0 -0
  340. {janito-3.9.0 → janito-3.10.0}/janito/providers/azure_openai/model_info.py +0 -0
  341. {janito-3.9.0 → janito-3.10.0}/janito/providers/azure_openai/provider.py +0 -0
  342. {janito-3.9.0 → janito-3.10.0}/janito/providers/cerebras/__init__.py +0 -0
  343. {janito-3.9.0 → janito-3.10.0}/janito/providers/cerebras/model_info.py +0 -0
  344. {janito-3.9.0 → janito-3.10.0}/janito/providers/cerebras/provider.py +0 -0
  345. {janito-3.9.0 → janito-3.10.0}/janito/providers/dashscope.bak.zip +0 -0
  346. {janito-3.9.0 → janito-3.10.0}/janito/providers/deepseek/__init__.py +0 -0
  347. {janito-3.9.0 → janito-3.10.0}/janito/providers/deepseek/model_info.py +0 -0
  348. {janito-3.9.0 → janito-3.10.0}/janito/providers/deepseek/provider.py +0 -0
  349. {janito-3.9.0 → janito-3.10.0}/janito/providers/google/__init__.py +0 -0
  350. {janito-3.9.0 → janito-3.10.0}/janito/providers/google/model_info.py +0 -0
  351. {janito-3.9.0 → janito-3.10.0}/janito/providers/google/provider.py +0 -0
  352. {janito-3.9.0 → janito-3.10.0}/janito/providers/ibm/README.md +0 -0
  353. {janito-3.9.0 → janito-3.10.0}/janito/providers/ibm/__init__.py +0 -0
  354. {janito-3.9.0 → janito-3.10.0}/janito/providers/ibm/model_info.py +0 -0
  355. {janito-3.9.0 → janito-3.10.0}/janito/providers/ibm/provider.py +0 -0
  356. {janito-3.9.0 → janito-3.10.0}/janito/providers/mistral/__init__.py +0 -0
  357. {janito-3.9.0 → janito-3.10.0}/janito/providers/mistral/model_info.py +0 -0
  358. {janito-3.9.0 → janito-3.10.0}/janito/providers/mistral/provider.py +0 -0
  359. {janito-3.9.0 → janito-3.10.0}/janito/providers/moonshot/__init__.py +0 -0
  360. {janito-3.9.0 → janito-3.10.0}/janito/providers/moonshot/model_info.py +0 -0
  361. {janito-3.9.0 → janito-3.10.0}/janito/providers/moonshot/provider.py +0 -0
  362. {janito-3.9.0 → janito-3.10.0}/janito/providers/openai/__init__.py +0 -0
  363. {janito-3.9.0 → janito-3.10.0}/janito/providers/openai/model_info.py +0 -0
  364. {janito-3.9.0 → janito-3.10.0}/janito/providers/openai/provider.py +0 -0
  365. {janito-3.9.0 → janito-3.10.0}/janito/providers/openai/schema_generator.py +0 -0
  366. {janito-3.9.0 → janito-3.10.0}/janito/providers/registry.py +0 -0
  367. {janito-3.9.0 → janito-3.10.0}/janito/providers/zai/__init__.py +0 -0
  368. {janito-3.9.0 → janito-3.10.0}/janito/providers/zai/model_info.py +0 -0
  369. {janito-3.9.0 → janito-3.10.0}/janito/providers/zai/provider.py +0 -0
  370. {janito-3.9.0 → janito-3.10.0}/janito/providers/zai/schema_generator.py +0 -0
  371. {janito-3.9.0 → janito-3.10.0}/janito/regions/__init__.py +0 -0
  372. {janito-3.9.0 → janito-3.10.0}/janito/regions/cli.py +0 -0
  373. {janito-3.9.0 → janito-3.10.0}/janito/regions/geo_utils.py +0 -0
  374. {janito-3.9.0 → janito-3.10.0}/janito/regions/provider_regions.py +0 -0
  375. {janito-3.9.0 → janito-3.10.0}/janito/report_events.py +0 -0
  376. {janito-3.9.0 → janito-3.10.0}/janito/shell.bak.zip +0 -0
  377. {janito-3.9.0 → janito-3.10.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  378. {janito-3.9.0 → janito-3.10.0}/janito/tools/README.md +0 -0
  379. {janito-3.9.0 → janito-3.10.0}/janito/tools/__init__.py +0 -0
  380. {janito-3.9.0 → janito-3.10.0}/janito/tools/base.py +0 -0
  381. {janito-3.9.0 → janito-3.10.0}/janito/tools/disabled_tools.py +0 -0
  382. {janito-3.9.0 → janito-3.10.0}/janito/tools/function_adapter.py +0 -0
  383. {janito-3.9.0 → janito-3.10.0}/janito/tools/inspect_registry.py +0 -0
  384. {janito-3.9.0 → janito-3.10.0}/janito/tools/loop_protection.py +0 -0
  385. {janito-3.9.0 → janito-3.10.0}/janito/tools/loop_protection_decorator.py +0 -0
  386. {janito-3.9.0 → janito-3.10.0}/janito/tools/outline_file.bak.zip +0 -0
  387. {janito-3.9.0 → janito-3.10.0}/janito/tools/path_security.py +0 -0
  388. {janito-3.9.0 → janito-3.10.0}/janito/tools/path_utils.py +0 -0
  389. {janito-3.9.0 → janito-3.10.0}/janito/tools/permissions.py +0 -0
  390. {janito-3.9.0 → janito-3.10.0}/janito/tools/permissions_parse.py +0 -0
  391. {janito-3.9.0 → janito-3.10.0}/janito/tools/tool_base.py +0 -0
  392. {janito-3.9.0 → janito-3.10.0}/janito/tools/tool_events.py +0 -0
  393. {janito-3.9.0 → janito-3.10.0}/janito/tools/tool_run_exception.py +0 -0
  394. {janito-3.9.0 → janito-3.10.0}/janito/tools/tool_use_tracker.py +0 -0
  395. {janito-3.9.0 → janito-3.10.0}/janito/tools/tool_utils.py +0 -0
  396. {janito-3.9.0 → janito-3.10.0}/janito/tools/tools_schema.py +0 -0
  397. {janito-3.9.0 → janito-3.10.0}/janito/tools/url_whitelist.py +0 -0
  398. {janito-3.9.0 → janito-3.10.0}/janito/utils.py +0 -0
  399. {janito-3.9.0 → janito-3.10.0}/janito.egg-info/dependency_links.txt +0 -0
  400. {janito-3.9.0 → janito-3.10.0}/janito.egg-info/entry_points.txt +0 -0
  401. {janito-3.9.0 → janito-3.10.0}/janito.egg-info/requires.txt +0 -0
  402. {janito-3.9.0 → janito-3.10.0}/market_prompt_fix.py +0 -0
  403. {janito-3.9.0 → janito-3.10.0}/plugins/__init__.py +0 -0
  404. {janito-3.9.0 → janito-3.10.0}/plugins/core/__init__.py +0 -0
  405. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/__init__.py +0 -0
  406. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py +0 -0
  407. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/core.py +0 -0
  408. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/java_outline.py +0 -0
  409. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/markdown_outline.py +0 -0
  410. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/python_outline.py +0 -0
  411. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/get_file_outline/search_outline.py +0 -0
  412. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/search_text/__init__.py +0 -0
  413. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/search_text/core.py +0 -0
  414. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/search_text/match_lines.py +0 -0
  415. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/search_text/pattern_utils.py +0 -0
  416. {janito-3.9.0 → janito-3.10.0}/plugins/core/codeanalyzer/tools/search_text/traverse_directory.py +0 -0
  417. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/__init__.py +0 -0
  418. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/copy_file.py +0 -0
  419. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/create_file.py +0 -0
  420. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/delete_text_in_file.py +0 -0
  421. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/find_files.py +0 -0
  422. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/move_file.py +0 -0
  423. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/read_files.py +0 -0
  424. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/remove_directory.py +0 -0
  425. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/remove_file.py +0 -0
  426. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/replace_text_in_file.py +0 -0
  427. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +0 -0
  428. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/core.py +0 -0
  429. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/css_validator.py +0 -0
  430. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/html_validator.py +0 -0
  431. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/jinja2_validator.py +0 -0
  432. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/js_validator.py +0 -0
  433. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/json_validator.py +0 -0
  434. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/markdown_validator.py +0 -0
  435. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/ps1_validator.py +0 -0
  436. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/python_validator.py +0 -0
  437. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/xml_validator.py +0 -0
  438. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/validate_file_syntax/yaml_validator.py +0 -0
  439. {janito-3.9.0 → janito-3.10.0}/plugins/core/filemanager/tools/view_file.py +0 -0
  440. {janito-3.9.0 → janito-3.10.0}/plugins/core/imagedisplay/__init__.py +0 -0
  441. {janito-3.9.0 → janito-3.10.0}/plugins/core/imagedisplay/plugin.py +0 -0
  442. {janito-3.9.0 → janito-3.10.0}/plugins/core/imagedisplay/tools/__init__.py +0 -0
  443. {janito-3.9.0 → janito-3.10.0}/plugins/core/imagedisplay/tools/show_image.py +0 -0
  444. {janito-3.9.0 → janito-3.10.0}/plugins/core/imagedisplay/tools/show_image_grid.py +0 -0
  445. {janito-3.9.0 → janito-3.10.0}/plugins/core/system/__init__.py +0 -0
  446. {janito-3.9.0 → janito-3.10.0}/plugins/core/system/tools/run_bash_command.py +0 -0
  447. {janito-3.9.0 → janito-3.10.0}/plugins/core/system/tools/run_powershell_command.py +0 -0
  448. {janito-3.9.0 → janito-3.10.0}/plugins/dev/__init__.py +0 -0
  449. {janito-3.9.0 → janito-3.10.0}/plugins/dev/pythondev/__init__.py +0 -0
  450. {janito-3.9.0 → janito-3.10.0}/plugins/dev/pythondev/tools/python_code_run.py +0 -0
  451. {janito-3.9.0 → janito-3.10.0}/plugins/dev/pythondev/tools/python_command_run.py +0 -0
  452. {janito-3.9.0 → janito-3.10.0}/plugins/dev/pythondev/tools/python_file_run.py +0 -0
  453. {janito-3.9.0 → janito-3.10.0}/plugins/dev/visualization/__init__.py +0 -0
  454. {janito-3.9.0 → janito-3.10.0}/plugins/dev/visualization/tools/read_chart.py +0 -0
  455. {janito-3.9.0 → janito-3.10.0}/plugins/example_plugin.py +0 -0
  456. {janito-3.9.0 → janito-3.10.0}/plugins/ui/__init__.py +0 -0
  457. {janito-3.9.0 → janito-3.10.0}/plugins/ui/userinterface/__init__.py +0 -0
  458. {janito-3.9.0 → janito-3.10.0}/plugins/ui/userinterface/tools/ask_user.py +0 -0
  459. {janito-3.9.0 → janito-3.10.0}/plugins/web/__init__.py +0 -0
  460. {janito-3.9.0 → janito-3.10.0}/plugins/web/webtools/__init__.py +0 -0
  461. {janito-3.9.0 → janito-3.10.0}/plugins/web/webtools/tools/fetch_url.py +0 -0
  462. {janito-3.9.0 → janito-3.10.0}/plugins/web/webtools/tools/open_html_in_browser.py +0 -0
  463. {janito-3.9.0 → janito-3.10.0}/plugins/web/webtools/tools/open_url.py +0 -0
  464. {janito-3.9.0 → janito-3.10.0}/plugins.txt +0 -0
  465. {janito-3.9.0 → janito-3.10.0}/pyproject.toml +0 -0
  466. {janito-3.9.0 → janito-3.10.0}/requirements-dev.txt +0 -0
  467. {janito-3.9.0 → janito-3.10.0}/requirements.txt +0 -0
  468. {janito-3.9.0 → janito-3.10.0}/tests/local/get_file_outline/test_core_outline.py +0 -0
  469. {janito-3.9.0 → janito-3.10.0}/tests/local/test_read_file/__init__.py +0 -0
  470. {janito-3.9.0 → janito-3.10.0}/tests/local/test_read_file/read_file.py +0 -0
  471. {janito-3.9.0 → janito-3.10.0}/tests/local/test_read_file/test_read_file.py +0 -0
  472. {janito-3.9.0 → janito-3.10.0}/tests/local/test_read_files.py +0 -0
  473. {janito-3.9.0 → janito-3.10.0}/tests/test_cli_list_models.py +0 -0
  474. {janito-3.9.0 → janito-3.10.0}/tests/test_cli_list_providers.py +0 -0
  475. {janito-3.9.0 → janito-3.10.0}/tests/test_cli_list_providers_alibaba.py +0 -0
  476. {janito-3.9.0 → janito-3.10.0}/tests/test_cli_list_providers_moonshot.py +0 -0
  477. {janito-3.9.0 → janito-3.10.0}/tests/test_cli_version.py +0 -0
  478. {janito-3.9.0 → janito-3.10.0}/tests/test_disabled_tools.py +0 -0
  479. {janito-3.9.0 → janito-3.10.0}/tests/test_plugin_system.py +0 -0
  480. {janito-3.9.0 → janito-3.10.0}/tests/test_provider_alibaba.py +0 -0
  481. {janito-3.9.0 → janito-3.10.0}/tests/test_provider_cerebras.py +0 -0
  482. {janito-3.9.0 → janito-3.10.0}/tests/test_provider_moonshot.py +0 -0
  483. {janito-3.9.0 → janito-3.10.0}/tools/release.py +0 -0
  484. {janito-3.9.0 → janito-3.10.0}/tox.ini +0 -0
@@ -1,66 +1,71 @@
1
- # Byte-compiled / optimized / DLL files
2
- __pycache__/
3
- *.py[cod]
4
- *$py.class
5
-
6
- # Distribution / packaging
7
- .Python
8
- build/
9
- develop-eggs/
10
- dist/
11
- downloads/
12
- eggs/
13
- .eggs/
14
- lib/
15
- lib64/
16
- parts/
17
- sdist/
18
- var/
19
- *.egg-info/
20
- .installed.cfg
21
- *.egg
22
-
23
- # Wheel files
24
- *.whl
25
-
26
- # Installer logs
27
- pip-log.txt
28
- pip-delete-this-directory.txt
29
-
30
- # Unit test / coverage reports
31
- htmlcov/
32
- .tox/
33
- .nox/
34
- .coverage
35
- .coverage.*
36
- .cache
37
- nosetests.xml
38
- coverage.xml
39
- *.cover
40
- .hypothesis/
41
- .pytest_cache/
42
-
43
- # Jupyter Notebook
44
- .ipynb_checkpoints
45
-
46
- # pyenv
47
- .python-version
48
-
49
- # mypy
50
- .mypy_cache/
51
- .dmypy.json
52
-
53
- # Pyre type checker
54
- .pyre/
55
-
56
- # Backup files
57
- *.bak
58
-
59
- # Ruff cache
60
- .ruff_cache/
61
-
62
- # Janito logs/history (if not needed in VCS)
63
- .janito/
64
-
65
- # MkDocs build output
66
- site/
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ .Python
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ # Wheel files
24
+ *.whl
25
+
26
+ # Installer logs
27
+ pip-log.txt
28
+ pip-delete-this-directory.txt
29
+
30
+ # Unit test / coverage reports
31
+ htmlcov/
32
+ .tox/
33
+ .nox/
34
+ .coverage
35
+ .coverage.*
36
+ .cache
37
+ nosetests.xml
38
+ coverage.xml
39
+ *.cover
40
+ .hypothesis/
41
+ .pytest_cache/
42
+
43
+ # Jupyter Notebook
44
+ .ipynb_checkpoints
45
+
46
+ # pyenv
47
+ .python-version
48
+
49
+ # mypy
50
+ .mypy_cache/
51
+ .dmypy.json
52
+
53
+ # Pyre type checker
54
+ .pyre/
55
+
56
+ # Backup files
57
+ *.bak
58
+
59
+ # Ruff cache
60
+ .ruff_cache/
61
+
62
+ # Janito logs/history (if not needed in VCS)
63
+ .janito/
64
+
65
+ # MkDocs build output
66
+ site/
67
+
68
+ # Virtual environments
69
+ .venv/
70
+ venv/
71
+ env/
@@ -1,84 +1,84 @@
1
- Metadata-Version: 2.4
2
- Name: janito
3
- Version: 3.9.0
4
- Summary: A new Python package called janito.
5
- Author-email: João Pinto <janito@ikignosis.org>
6
- Project-URL: Homepage, https://github.com/ikignosis/janito
7
- Requires-Python: >=3.7
8
- Description-Content-Type: text/markdown
9
- License-File: LICENSE
10
- Requires-Dist: attrs==25.3.0
11
- Requires-Dist: rich==14.0.0
12
- Requires-Dist: pathspec==0.12.1
13
- Requires-Dist: setuptools>=61.0
14
- Requires-Dist: pyyaml>=6.0
15
- Requires-Dist: jinja2>=3.0.0
16
- Requires-Dist: prompt_toolkit>=3.0.51
17
- Requires-Dist: lxml>=5.4.0
18
- Requires-Dist: requests>=2.32.4
19
- Requires-Dist: bs4>=0.0.2
20
- Requires-Dist: questionary>=2.0.1
21
- Requires-Dist: openai>=1.68.0
22
- Requires-Dist: Pillow>=10.0.0
23
- Provides-Extra: dev
24
- Requires-Dist: pytest; extra == "dev"
25
- Requires-Dist: pre-commit; extra == "dev"
26
- Requires-Dist: ruff==0.11.9; extra == "dev"
27
- Requires-Dist: detect-secrets==1.4.0; extra == "dev"
28
- Requires-Dist: codespell==2.4.1; extra == "dev"
29
- Requires-Dist: black; extra == "dev"
30
- Requires-Dist: questionary>=2.0.1; extra == "dev"
31
- Requires-Dist: setuptools_scm>=8.0; extra == "dev"
32
- Provides-Extra: coder
33
- Requires-Dist: janito-coder; extra == "coder"
34
- Dynamic: license-file
35
-
36
- # Janito
37
-
38
- ```bash
39
- $ janito --help
40
- Usage: janito <command>
41
-
42
- Interact with Nine API resources. See https://docs.nineapis.ch for the full API docs.
43
-
44
- Run "janito <command> --help" for more information on a command.
45
- ```
46
-
47
- ## Setup
48
-
49
- ```bash
50
- # If you have go already installed
51
- go install github.com/ninech/janito@latest
52
-
53
- # Homebrew
54
- brew install ninech/taps/janito
55
-
56
- # Debian/Ubuntu
57
- echo "deb [trusted=yes] https://repo.nine.ch/deb/ /" | sudo tee /etc/apt/sources.list.d/repo.nine.ch.list
58
- sudo apt-get update
59
- sudo apt-get install janito
60
-
61
- # Fedora/RHEL
62
- cat <<EOF > /etc/yum.repos.d/repo.nine.ch.repo
63
- [repo.nine.ch]
64
- name=Nine Repo
65
- baseurl=https://repo.nine.ch/yum/
66
- enabled=1
67
- gpgcheck=0
68
- EOF
69
- dnf install janito
70
-
71
- # Arch
72
- # Install yay: https://github.com/Jguer/yay#binary
73
- yay --version
74
- yay -S janito-bin
75
- ```
76
-
77
- For Windows users, janito is also built for arm64 and amd64. You can download the
78
- latest exe file from the [releases](https://github.com/ninech/janito/releases) and
79
- install it.
80
-
81
- ## Getting started
82
-
83
- * login to the API using `janito auth login`
84
- * run `janito --help` to get a list of all available commands
1
+ Metadata-Version: 2.4
2
+ Name: janito
3
+ Version: 3.10.0
4
+ Summary: A new Python package called janito.
5
+ Author-email: João Pinto <janito@ikignosis.org>
6
+ Project-URL: Homepage, https://github.com/ikignosis/janito
7
+ Requires-Python: >=3.7
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: attrs==25.3.0
11
+ Requires-Dist: rich==14.0.0
12
+ Requires-Dist: pathspec==0.12.1
13
+ Requires-Dist: setuptools>=61.0
14
+ Requires-Dist: pyyaml>=6.0
15
+ Requires-Dist: jinja2>=3.0.0
16
+ Requires-Dist: prompt_toolkit>=3.0.51
17
+ Requires-Dist: lxml>=5.4.0
18
+ Requires-Dist: requests>=2.32.4
19
+ Requires-Dist: bs4>=0.0.2
20
+ Requires-Dist: questionary>=2.0.1
21
+ Requires-Dist: openai>=1.68.0
22
+ Requires-Dist: Pillow>=10.0.0
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest; extra == "dev"
25
+ Requires-Dist: pre-commit; extra == "dev"
26
+ Requires-Dist: ruff==0.11.9; extra == "dev"
27
+ Requires-Dist: detect-secrets==1.4.0; extra == "dev"
28
+ Requires-Dist: codespell==2.4.1; extra == "dev"
29
+ Requires-Dist: black; extra == "dev"
30
+ Requires-Dist: questionary>=2.0.1; extra == "dev"
31
+ Requires-Dist: setuptools_scm>=8.0; extra == "dev"
32
+ Provides-Extra: coder
33
+ Requires-Dist: janito-coder; extra == "coder"
34
+ Dynamic: license-file
35
+
36
+ # Janito
37
+
38
+ ```bash
39
+ $ janito --help
40
+ Usage: janito <command>
41
+
42
+ Interact with Nine API resources. See https://docs.nineapis.ch for the full API docs.
43
+
44
+ Run "janito <command> --help" for more information on a command.
45
+ ```
46
+
47
+ ## Setup
48
+
49
+ ```bash
50
+ # If you have go already installed
51
+ go install github.com/ninech/janito@latest
52
+
53
+ # Homebrew
54
+ brew install ninech/taps/janito
55
+
56
+ # Debian/Ubuntu
57
+ echo "deb [trusted=yes] https://repo.nine.ch/deb/ /" | sudo tee /etc/apt/sources.list.d/repo.nine.ch.list
58
+ sudo apt-get update
59
+ sudo apt-get install janito
60
+
61
+ # Fedora/RHEL
62
+ cat <<EOF > /etc/yum.repos.d/repo.nine.ch.repo
63
+ [repo.nine.ch]
64
+ name=Nine Repo
65
+ baseurl=https://repo.nine.ch/yum/
66
+ enabled=1
67
+ gpgcheck=0
68
+ EOF
69
+ dnf install janito
70
+
71
+ # Arch
72
+ # Install yay: https://github.com/Jguer/yay#binary
73
+ yay --version
74
+ yay -S janito-bin
75
+ ```
76
+
77
+ For Windows users, janito is also built for arm64 and amd64. You can download the
78
+ latest exe file from the [releases](https://github.com/ninech/janito/releases) and
79
+ install it.
80
+
81
+ ## Getting started
82
+
83
+ * login to the API using `janito auth login`
84
+ * run `janito --help` to get a list of all available commands
@@ -0,0 +1,75 @@
1
+ # Agent Lifecycle and Tool Execution Synchronization
2
+
3
+ This document details the lifecycle of an agent in Janito, focusing on how state and events are synchronized with tool execution.
4
+
5
+ ## Overview
6
+
7
+ The agent lifecycle in Janito involves several key phases, from initialization to tool execution and event handling. Understanding this lifecycle is crucial for developers working with or extending the agent system.
8
+
9
+ ## Agent Initialization
10
+
11
+ 1. **Configuration Loading**: The agent loads its configuration, including enabled tools, permissions, and other settings.
12
+ 2. **Event Bus Setup**: An event bus is initialized for internal communication between components.
13
+ 3. **Tool Registration**: Tools are registered with the appropriate adapters, making them available for execution.
14
+ 4. **Permission Initialization**: Global permission settings are established, determining which tools can be used.
15
+
16
+ ## Main Execution Loop
17
+
18
+ The agent operates in a continuous loop that processes user input, executes tools, and responds with results:
19
+
20
+ 1. **Input Processing**: The agent receives input from the user or other sources.
21
+ 2. **Planning**: Based on the input, the agent determines which tools to use and in what order.
22
+ 3. **Tool Execution**: Tools are executed with the necessary parameters.
23
+ 4. **Result Processing**: The agent processes the results from tool executions.
24
+ 5. **Response Generation**: A response is generated and sent back to the user.
25
+
26
+ ## Tool Execution Lifecycle
27
+
28
+ When a tool is executed, it goes through a specific lifecycle:
29
+
30
+ 1. **Discovery**: The agent looks up the tool by name in the tools registry.
31
+ 2. **Permission Validation**: The tool's required permissions are checked against the global allowed permissions.
32
+ 3. **Argument Validation**: The provided arguments are validated against the tool's signature and schema.
33
+ 4. **Path Security Check**: For tools that work with file paths, path security validation ensures that only allowed paths are accessed.
34
+ 5. **Execution**: The tool is executed with the provided arguments.
35
+ 6. **Event Publishing**: Throughout the execution process, various events are published to the event bus:
36
+
37
+ - `ToolCallStarted`: When a tool execution begins
38
+ - `ToolCallFinished`: When a tool execution completes successfully
39
+ - `ToolCallError`: When a tool execution encounters an error
40
+
41
+ ## Event Synchronization
42
+
43
+ Events play a crucial role in synchronizing state throughout the agent lifecycle:
44
+
45
+ 1. **Tool Events**: Published during tool execution to track progress and handle errors.
46
+ 2. **Report Events**: Used for user-facing messages, including actions, errors, warnings, and success messages.
47
+ 3. **System Events**: Handle internal state changes and system-level notifications.
48
+
49
+ The event bus ensures that all components can react to important events in real-time, maintaining consistency across the system.
50
+
51
+ ## State Management
52
+
53
+ The agent maintains several types of state:
54
+
55
+ 1. **Configuration State**: Settings that control agent behavior.
56
+ 2. **Permission State**: Current allowed permissions for tool execution.
57
+ 3. **Execution State**: Information about currently running tools and their progress.
58
+ 4. **Conversation State**: History of interactions with the user.
59
+
60
+ State changes are synchronized through the event bus, ensuring all components have access to the most current information.
61
+
62
+ ## Error Handling and Recovery
63
+
64
+ The agent includes comprehensive error handling:
65
+
66
+ 1. **Tool Errors**: Caught and converted to `ToolCallException` with detailed error messages.
67
+ 2. **Permission Violations**: Detected and prevented before tool execution.
68
+ 3. **Path Security Violations**: Prevented through path validation.
69
+ 4. **Loop Protection**: Prevents infinite execution loops through decorator-based protection.
70
+
71
+ When errors occur, they are published to the event bus and handled appropriately by the agent's error recovery mechanisms.
72
+
73
+ ## Conclusion
74
+
75
+ The agent lifecycle in Janito is designed to be robust, secure, and extensible. By understanding how state and events are synchronized with tool execution, developers can effectively work with and extend the agent system.
@@ -0,0 +1,116 @@
1
+ # Agent and Tools Workflow and Lifecycle
2
+
3
+ This document explains how tools are integrated into Janito's agent system, covering their workflow from registration to execution and the overall lifecycle.
4
+
5
+ ## Overview
6
+
7
+ Janito's agent system uses a modular approach to tool management, allowing for flexible registration, permission control, and execution of various tools. Tools are implemented as classes that inherit from `ToolBase` and are registered with a tools adapter.
8
+
9
+ ## Tool Registration
10
+
11
+ ### 1. Tool Implementation
12
+
13
+ Tools are implemented as classes that inherit from `ToolBase`:
14
+
15
+ - Must define a `permissions` attribute of type `ToolPermissions`
16
+ - Must implement a `run` method with proper type hints and docstrings
17
+ - Should have a unique `tool_name` class attribute
18
+
19
+ Example:
20
+ ```python
21
+ from janito.tools.tool_base import ToolBase, ToolPermissions
22
+ from janito.plugins.adapters.local.adapter import register_local_tool
23
+
24
+ @register_local_tool
25
+ class MyTool(ToolBase):
26
+ """
27
+ Processes a file a given number of times.
28
+ """
29
+ permissions = ToolPermissions(read=True, write=True)
30
+ tool_name = "my_tool"
31
+
32
+ def run(self, filename: str, count: int) -> str:
33
+ """
34
+ Processes the specified file repeatedly.
35
+
36
+ Args:
37
+ filename (str): The path to the file to process.
38
+ count (int): How many times to process the file.
39
+
40
+ Returns:
41
+ str: Status message after processing.
42
+ """
43
+ # Implementation here
44
+ return f"Processed {filename} {count} times"
45
+ ```
46
+
47
+ ### 2. Tool Registration
48
+
49
+ Tools can be registered in two ways:
50
+
51
+ 1. Using the `@register_local_tool` decorator
52
+ 2. Manually registering with a `LocalToolsAdapter` instance
53
+
54
+ The decorator approach automatically registers the tool with the singleton adapter.
55
+
56
+ ## Tool Permissions
57
+
58
+ Each tool defines its required permissions using the `ToolPermissions` named tuple:
59
+
60
+ - `read`: Permission to read files
61
+ - `write`: Permission to write/modify files
62
+ - `execute`: Permission to execute commands
63
+
64
+ These permissions are checked against the global allowed permissions at runtime.
65
+
66
+ ## Tool Execution Lifecycle
67
+
68
+ ### 1. Tool Discovery
69
+
70
+ When the agent needs to execute a tool, it first looks up the tool by name using the tools adapter.
71
+
72
+ ### 2. Permission Validation
73
+
74
+ The adapter checks if the tool's required permissions are allowed by the current permission settings.
75
+
76
+ ### 3. Argument Validation
77
+
78
+ Before execution, the tool's arguments are validated against both the function signature and any defined schema.
79
+
80
+ ### 4. Path Security Check
81
+
82
+ For tools that work with file paths, path security validation ensures that only allowed paths are accessed.
83
+
84
+ ### 5. Execution
85
+
86
+ The tool is executed with the provided arguments, and the result is returned.
87
+
88
+ ### 6. Event Publishing
89
+
90
+ Throughout the execution process, various events are published to the event bus:
91
+
92
+ - `ToolCallStarted`: When a tool execution begins
93
+ - `ToolCallFinished`: When a tool execution completes successfully
94
+ - `ToolCallError`: When a tool execution encounters an error
95
+
96
+ ## Error Handling
97
+
98
+ The tools adapter includes comprehensive error handling:
99
+
100
+ - Missing or invalid arguments are caught and reported
101
+ - Path security violations are detected and prevented
102
+ - Loop protection prevents infinite execution loops
103
+ - Runtime errors in tools are caught and converted to `ToolCallException`
104
+
105
+ ## Customization
106
+
107
+ The tools system can be customized by:
108
+
109
+ 1. Implementing custom tools adapters for different execution environments
110
+ 2. Modifying permission settings at runtime
111
+ 3. Disabling specific tools through configuration
112
+ 4. Extending the base `ToolBase` class for specialized functionality
113
+
114
+ ## Conclusion
115
+
116
+ Janito's agent and tools system provides a robust, secure, and extensible framework for integrating various functionalities. By following the established patterns for tool implementation and registration, developers can easily add new capabilities while maintaining security and consistency.
@@ -1,73 +1,73 @@
1
- # Cerebras Setup Guide
2
-
3
- This guide will help you set up Janito to use Cerebras as an LLM provider.
4
-
5
- ## Prerequisites
6
-
7
- 1. A Cerebras account
8
- 2. An API key from Cerebras
9
-
10
- ## Getting an API Key
11
-
12
- 1. Visit the [Cerebras API Keys page](https://api.cerebras.ai/)
13
- 2. Log in to your account
14
- 3. Generate a new API key
15
- 4. Copy the API key for use in Janito
16
-
17
- ## Configuration
18
-
19
- To configure Janito to use Cerebras, you need to set your API key:
20
-
21
- ```bash
22
- janito --set-api-key YOUR_CEREBRAS_API_KEY -p cerebras
23
- ```
24
-
25
- Replace `YOUR_CEREBRAS_API_KEY` with the API key you obtained from Cerebras.
26
-
27
- ## Usage
28
-
29
- After setting up your API key, you can use Cerebras models with Janito:
30
-
31
- ```bash
32
- janito -p cerebras "Hello, how are you?"
33
- ```
34
-
35
- By default, Janito will use the `qwen-3-coder-480b` model. You can specify a different model if needed:
36
-
37
- ```bash
38
- janito -p cerebras -m qwen-3-coder-480b "Explain quantum computing"
39
- ```
40
-
41
- ## Available Models
42
-
43
- Cerebras offers several models through their API:
44
-
45
- **Production Models:**
46
-
47
- - `llama-4-scout-17b-16e-instruct`
48
- - `llama-3.3-70b`
49
- - `llama3.1-8b`
50
- - `qwen-3-32b`
51
-
52
- **Preview Models:**
53
-
54
- - `llama-4-maverick-17b-128e-instruct`
55
- - `qwen-3-235b-a22b-instruct-2507`
56
- - `qwen-3-235b-a22b-thinking-2507`
57
- - `qwen-3-coder-480b`
58
- - `gpt-oss-120b`
59
-
60
- **Notes:**
61
-
62
- - `qwen-3-coder-480b`: 32k context, reasoning-focused model with function calling support
63
-
64
- ## Troubleshooting
65
-
66
- If you encounter issues:
67
-
68
- 1. Verify your API key is correct and active
69
- 2. Check that you have internet connectivity
70
- 3. Ensure you're using a supported model name
71
- 4. Check the Cerebras status page for any service outages
72
-
73
- For further assistance, consult the [Cerebras documentation](https://api.cerebras.ai/docs) or [Janito documentation](https://docs.janito.dev).
1
+ # Cerebras Setup Guide
2
+
3
+ This guide will help you set up Janito to use Cerebras as an LLM provider.
4
+
5
+ ## Prerequisites
6
+
7
+ 1. A Cerebras account
8
+ 2. An API key from Cerebras
9
+
10
+ ## Getting an API Key
11
+
12
+ 1. Visit the [Cerebras API Keys page](https://api.cerebras.ai/)
13
+ 2. Log in to your account
14
+ 3. Generate a new API key
15
+ 4. Copy the API key for use in Janito
16
+
17
+ ## Configuration
18
+
19
+ To configure Janito to use Cerebras, you need to set your API key:
20
+
21
+ ```bash
22
+ janito --set-api-key YOUR_CEREBRAS_API_KEY -p cerebras
23
+ ```
24
+
25
+ Replace `YOUR_CEREBRAS_API_KEY` with the API key you obtained from Cerebras.
26
+
27
+ ## Usage
28
+
29
+ After setting up your API key, you can use Cerebras models with Janito:
30
+
31
+ ```bash
32
+ janito -p cerebras "Hello, how are you?"
33
+ ```
34
+
35
+ By default, Janito will use the `qwen-3-coder-480b` model. You can specify a different model if needed:
36
+
37
+ ```bash
38
+ janito -p cerebras -m qwen-3-coder-480b "Explain quantum computing"
39
+ ```
40
+
41
+ ## Available Models
42
+
43
+ Cerebras offers several models through their API:
44
+
45
+ **Production Models:**
46
+
47
+ - `llama-4-scout-17b-16e-instruct`
48
+ - `llama-3.3-70b`
49
+ - `llama3.1-8b`
50
+ - `qwen-3-32b`
51
+
52
+ **Preview Models:**
53
+
54
+ - `llama-4-maverick-17b-128e-instruct`
55
+ - `qwen-3-235b-a22b-instruct-2507`
56
+ - `qwen-3-235b-a22b-thinking-2507`
57
+ - `qwen-3-coder-480b`
58
+ - `gpt-oss-120b`
59
+
60
+ **Notes:**
61
+
62
+ - `qwen-3-coder-480b`: 32k context, reasoning-focused model with function calling support
63
+
64
+ ## Troubleshooting
65
+
66
+ If you encounter issues:
67
+
68
+ 1. Verify your API key is correct and active
69
+ 2. Check that you have internet connectivity
70
+ 3. Ensure you're using a supported model name
71
+ 4. Check the Cerebras status page for any service outages
72
+
73
+ For further assistance, consult the [Cerebras documentation](https://api.cerebras.ai/docs).