janito 2.19.0__tar.gz → 2.19.1__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 (329) hide show
  1. {janito-2.19.0 → janito-2.19.1}/PKG-INFO +1 -1
  2. janito-2.19.1/docs/index.md +53 -0
  3. janito-2.19.1/docs/overrides/partials/copyright.html +6 -0
  4. janito-2.19.1/docs/supported-providers-models.md +94 -0
  5. janito-2.19.1/janito/i18n/it.py +46 -0
  6. {janito-2.19.0 → janito-2.19.1}/janito/provider_registry.py +11 -1
  7. {janito-2.19.0 → janito-2.19.1}/janito/report_events.py +1 -0
  8. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/run_powershell_command.py +5 -14
  9. {janito-2.19.0 → janito-2.19.1}/janito/tools/tool_base.py +2 -0
  10. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/PKG-INFO +1 -1
  11. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/SOURCES.txt +4 -0
  12. {janito-2.19.0 → janito-2.19.1}/mkdocs.yml +6 -1
  13. janito-2.19.1/mkdocs_hooks.py +51 -0
  14. janito-2.19.0/docs/supported-providers-models.md +0 -77
  15. {janito-2.19.0 → janito-2.19.1}/.codespellrc +0 -0
  16. {janito-2.19.0 → janito-2.19.1}/.gitattributes +0 -0
  17. {janito-2.19.0 → janito-2.19.1}/.github/workflows/python-app.yml.disabled +0 -0
  18. {janito-2.19.0 → janito-2.19.1}/.gitignore +0 -0
  19. {janito-2.19.0 → janito-2.19.1}/.pre-commit-config.yaml +0 -0
  20. {janito-2.19.0 → janito-2.19.1}/.secrets.baseline +0 -0
  21. {janito-2.19.0 → janito-2.19.1}/.vscode/settings.json +0 -0
  22. {janito-2.19.0 → janito-2.19.1}/CHANGELOG.md +0 -0
  23. {janito-2.19.0 → janito-2.19.1}/CHANGELOG_2.16.0.md +0 -0
  24. {janito-2.19.0 → janito-2.19.1}/LICENSE +0 -0
  25. {janito-2.19.0 → janito-2.19.1}/README-dev.md +0 -0
  26. {janito-2.19.0 → janito-2.19.1}/README.md +0 -0
  27. {janito-2.19.0 → janito-2.19.1}/UPDATING_DOCS.md +0 -0
  28. {janito-2.19.0 → janito-2.19.1}/adding_mcp.txt +0 -0
  29. {janito-2.19.0 → janito-2.19.1}/docs/DIV.md +0 -0
  30. {janito-2.19.0 → janito-2.19.1}/docs/Interfaces.txt +0 -0
  31. {janito-2.19.0 → janito-2.19.1}/docs/TOOLBAR-STYLING.md +0 -0
  32. {janito-2.19.0 → janito-2.19.1}/docs/about/costs.md +0 -0
  33. {janito-2.19.0 → janito-2.19.1}/docs/about/vs-webchats.md +0 -0
  34. {janito-2.19.0 → janito-2.19.1}/docs/about/why.md +0 -0
  35. {janito-2.19.0 → janito-2.19.1}/docs/alibaba-setup.md +0 -0
  36. {janito-2.19.0 → janito-2.19.1}/docs/alternatives.md +0 -0
  37. {janito-2.19.0 → janito-2.19.1}/docs/cerebras-setup.md +0 -0
  38. {janito-2.19.0 → janito-2.19.1}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  39. {janito-2.19.0 → janito-2.19.1}/docs/code_intelligence/code-generation-challenges.md +0 -0
  40. {janito-2.19.0 → janito-2.19.1}/docs/code_intelligence/code-generation-observability.md +0 -0
  41. {janito-2.19.0 → janito-2.19.1}/docs/code_intelligence/our-approach.md +0 -0
  42. {janito-2.19.0 → janito-2.19.1}/docs/code_intelligence/why-string-replacement.md +0 -0
  43. {janito-2.19.0 → janito-2.19.1}/docs/concepts/analysis-style.md +0 -0
  44. {janito-2.19.0 → janito-2.19.1}/docs/concepts/human-guided-ai.md +0 -0
  45. {janito-2.19.0 → janito-2.19.1}/docs/concepts/index.md +0 -0
  46. {janito-2.19.0 → janito-2.19.1}/docs/concepts/language-model-clients.md +0 -0
  47. {janito-2.19.0 → janito-2.19.1}/docs/concepts/prompt-design-style.md +0 -0
  48. {janito-2.19.0 → janito-2.19.1}/docs/deepseek-setup.md +0 -0
  49. {janito-2.19.0 → janito-2.19.1}/docs/driver-flow.md +0 -0
  50. {janito-2.19.0 → janito-2.19.1}/docs/driver-request-cancellation.md +0 -0
  51. {janito-2.19.0 → janito-2.19.1}/docs/drivers/events.md +0 -0
  52. {janito-2.19.0 → janito-2.19.1}/docs/drivers.md +0 -0
  53. {janito-2.19.0 → janito-2.19.1}/docs/event-bus.md +0 -0
  54. {janito-2.19.0 → janito-2.19.1}/docs/guides/configuration.md +0 -0
  55. {janito-2.19.0 → janito-2.19.1}/docs/guides/developing.md +0 -0
  56. {janito-2.19.0 → janito-2.19.1}/docs/guides/disabled-tools.md +0 -0
  57. {janito-2.19.0 → janito-2.19.1}/docs/guides/installation.md +0 -0
  58. {janito-2.19.0 → janito-2.19.1}/docs/guides/profiles.md +0 -0
  59. {janito-2.19.0 → janito-2.19.1}/docs/guides/prompting/README.md +0 -0
  60. {janito-2.19.0 → janito-2.19.1}/docs/guides/single-shot-terminal.md +0 -0
  61. {janito-2.19.0 → janito-2.19.1}/docs/guides/terminal-shell.md +0 -0
  62. {janito-2.19.0 → janito-2.19.1}/docs/guides/tools-developer-guide.md +0 -0
  63. {janito-2.19.0 → janito-2.19.1}/docs/guides/using.md +0 -0
  64. {janito-2.19.0 → janito-2.19.1}/docs/guides/using_tools.md +0 -0
  65. {janito-2.19.0 → janito-2.19.1}/docs/imgs/code-generation-observability.png +0 -0
  66. {janito-2.19.0 → janito-2.19.1}/docs/imgs/code_generation_observability.png +0 -0
  67. {janito-2.19.0 → janito-2.19.1}/docs/imgs/happy-programmer.png +0 -0
  68. {janito-2.19.0 → janito-2.19.1}/docs/imgs/happy-programmer.svg +0 -0
  69. {janito-2.19.0 → janito-2.19.1}/docs/imgs/terminal-one-shot.png +0 -0
  70. {janito-2.19.0 → janito-2.19.1}/docs/imgs/terminal-shell.png +0 -0
  71. {janito-2.19.0 → janito-2.19.1}/docs/imgs/terminal_one_shot.png +0 -0
  72. {janito-2.19.0 → janito-2.19.1}/docs/imgs/terminal_shell.png +0 -0
  73. {janito-2.19.0 → janito-2.19.1}/docs/llm-drivers-required-config.md +0 -0
  74. {janito-2.19.0 → janito-2.19.1}/docs/llm-drivers.md +0 -0
  75. {janito-2.19.0 → janito-2.19.1}/docs/meta/developer-toolchain.md +0 -0
  76. {janito-2.19.0 → janito-2.19.1}/docs/meta/quality-checks.txt +0 -0
  77. {janito-2.19.0 → janito-2.19.1}/docs/moonshotai-setup.md +0 -0
  78. {janito-2.19.0 → janito-2.19.1}/docs/openai-setup.md +0 -0
  79. {janito-2.19.0 → janito-2.19.1}/docs/reference/api.md +0 -0
  80. {janito-2.19.0 → janito-2.19.1}/docs/reference/azure-openai.md +0 -0
  81. {janito-2.19.0 → janito-2.19.1}/docs/reference/cli-options.md +0 -0
  82. {janito-2.19.0 → janito-2.19.1}/docs/reference/message-handler-model.md +0 -0
  83. {janito-2.19.0 → janito-2.19.1}/docs/reference/rich-message-handler.md +0 -0
  84. {janito-2.19.0 → janito-2.19.1}/docs/security.md +0 -0
  85. {janito-2.19.0 → janito-2.19.1}/docs/tools/search-text.md +0 -0
  86. {janito-2.19.0 → janito-2.19.1}/docs/tools-index.md +0 -0
  87. {janito-2.19.0 → janito-2.19.1}/docs/tools-natural-results.md +0 -0
  88. {janito-2.19.0 → janito-2.19.1}/docs/tools-precision.md +0 -0
  89. {janito-2.19.0 → janito-2.19.1}/docs/z-ai-setup.md +0 -0
  90. {janito-2.19.0 → janito-2.19.1}/git_diff.txt +0 -0
  91. {janito-2.19.0 → janito-2.19.1}/github_diff +0 -0
  92. {janito-2.19.0 → janito-2.19.1}/janito/README.md +0 -0
  93. {janito-2.19.0 → janito-2.19.1}/janito/__init__.py +0 -0
  94. {janito-2.19.0 → janito-2.19.1}/janito/__main__.py +0 -0
  95. {janito-2.19.0 → janito-2.19.1}/janito/_version.py +0 -0
  96. {janito-2.19.0 → janito-2.19.1}/janito/agent/setup_agent.py +0 -0
  97. {janito-2.19.0 → janito-2.19.1}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  98. {janito-2.19.0 → janito-2.19.1}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  99. {janito-2.19.0 → janito-2.19.1}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  100. {janito-2.19.0 → janito-2.19.1}/janito/cli/__init__.py +0 -0
  101. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/bindings.py +0 -0
  102. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/chat_entry.py +0 -0
  103. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/prompt_style.py +0 -0
  104. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/script_runner.py +0 -0
  105. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/session.py +0 -0
  106. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/session_profile_select.py +0 -0
  107. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  108. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  109. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  110. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  111. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  112. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  113. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  114. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  115. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  116. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  117. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  118. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  119. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  120. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  121. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  122. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  123. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  124. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  125. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  126. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  127. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  128. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  129. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  130. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  131. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  132. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/input_history.py +0 -0
  133. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  134. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/session/history.py +0 -0
  135. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  136. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  137. {janito-2.19.0 → janito-2.19.1}/janito/cli/chat_mode/toolbar.py +0 -0
  138. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_config.py +0 -0
  139. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_drivers.py +0 -0
  140. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_models.py +0 -0
  141. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_profiles.py +0 -0
  142. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_providers.py +0 -0
  143. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_providers_region.py +0 -0
  144. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/list_tools.py +0 -0
  145. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/model_selection.py +0 -0
  146. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/model_utils.py +0 -0
  147. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/ping_providers.py +0 -0
  148. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/set_api_key.py +0 -0
  149. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/show_config.py +0 -0
  150. {janito-2.19.0 → janito-2.19.1}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  151. {janito-2.19.0 → janito-2.19.1}/janito/cli/config.py +0 -0
  152. {janito-2.19.0 → janito-2.19.1}/janito/cli/console.py +0 -0
  153. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/__init__.py +0 -0
  154. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/event_logger.py +0 -0
  155. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/getters.py +0 -0
  156. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/model_guesser.py +0 -0
  157. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/runner.py +0 -0
  158. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/setters.py +0 -0
  159. {janito-2.19.0 → janito-2.19.1}/janito/cli/core/unsetters.py +0 -0
  160. {janito-2.19.0 → janito-2.19.1}/janito/cli/main.py +0 -0
  161. {janito-2.19.0 → janito-2.19.1}/janito/cli/main_cli.py +0 -0
  162. {janito-2.19.0 → janito-2.19.1}/janito/cli/prompt_core.py +0 -0
  163. {janito-2.19.0 → janito-2.19.1}/janito/cli/prompt_handler.py +0 -0
  164. {janito-2.19.0 → janito-2.19.1}/janito/cli/prompt_setup.py +0 -0
  165. {janito-2.19.0 → janito-2.19.1}/janito/cli/rich_terminal_reporter.py +0 -0
  166. {janito-2.19.0 → janito-2.19.1}/janito/cli/single_shot_mode/__init__.py +0 -0
  167. {janito-2.19.0 → janito-2.19.1}/janito/cli/single_shot_mode/handler.py +0 -0
  168. {janito-2.19.0 → janito-2.19.1}/janito/cli/utils.py +0 -0
  169. {janito-2.19.0 → janito-2.19.1}/janito/cli/verbose_output.py +0 -0
  170. {janito-2.19.0 → janito-2.19.1}/janito/config.py +0 -0
  171. {janito-2.19.0 → janito-2.19.1}/janito/config_manager.py +0 -0
  172. {janito-2.19.0 → janito-2.19.1}/janito/conversation_history.py +0 -0
  173. {janito-2.19.0 → janito-2.19.1}/janito/dir_walk_utils.py +0 -0
  174. {janito-2.19.0 → janito-2.19.1}/janito/docs/GETTING_STARTED.md +0 -0
  175. {janito-2.19.0 → janito-2.19.1}/janito/driver_events.py +0 -0
  176. {janito-2.19.0 → janito-2.19.1}/janito/drivers/azure_openai/driver.py +0 -0
  177. {janito-2.19.0 → janito-2.19.1}/janito/drivers/cerebras/__init__.py +0 -0
  178. {janito-2.19.0 → janito-2.19.1}/janito/drivers/dashscope.bak.zip +0 -0
  179. {janito-2.19.0 → janito-2.19.1}/janito/drivers/openai/README.md +0 -0
  180. {janito-2.19.0 → janito-2.19.1}/janito/drivers/openai/driver.py +0 -0
  181. {janito-2.19.0 → janito-2.19.1}/janito/drivers/openai_responses.bak.zip +0 -0
  182. {janito-2.19.0 → janito-2.19.1}/janito/drivers/zai/__init__.py +0 -0
  183. {janito-2.19.0 → janito-2.19.1}/janito/drivers/zai/driver.py +0 -0
  184. {janito-2.19.0 → janito-2.19.1}/janito/event_bus/__init__.py +0 -0
  185. {janito-2.19.0 → janito-2.19.1}/janito/event_bus/bus.py +0 -0
  186. {janito-2.19.0 → janito-2.19.1}/janito/event_bus/event.py +0 -0
  187. {janito-2.19.0 → janito-2.19.1}/janito/event_bus/handler.py +0 -0
  188. {janito-2.19.0 → janito-2.19.1}/janito/event_bus/queue_bus.py +0 -0
  189. {janito-2.19.0 → janito-2.19.1}/janito/exceptions.py +0 -0
  190. {janito-2.19.0 → janito-2.19.1}/janito/formatting.py +0 -0
  191. {janito-2.19.0 → janito-2.19.1}/janito/formatting_token.py +0 -0
  192. {janito-2.19.0 → janito-2.19.1}/janito/gitignore_utils.py +0 -0
  193. {janito-2.19.0 → janito-2.19.1}/janito/i18n/__init__.py +0 -0
  194. {janito-2.19.0 → janito-2.19.1}/janito/i18n/messages.py +0 -0
  195. {janito-2.19.0 → janito-2.19.1}/janito/i18n/pt.py +0 -0
  196. {janito-2.19.0 → janito-2.19.1}/janito/llm/README.md +0 -0
  197. {janito-2.19.0 → janito-2.19.1}/janito/llm/__init__.py +0 -0
  198. {janito-2.19.0 → janito-2.19.1}/janito/llm/agent.py +0 -0
  199. {janito-2.19.0 → janito-2.19.1}/janito/llm/auth.py +0 -0
  200. {janito-2.19.0 → janito-2.19.1}/janito/llm/auth_utils.py +0 -0
  201. {janito-2.19.0 → janito-2.19.1}/janito/llm/driver.py +0 -0
  202. {janito-2.19.0 → janito-2.19.1}/janito/llm/driver_config.py +0 -0
  203. {janito-2.19.0 → janito-2.19.1}/janito/llm/driver_config_builder.py +0 -0
  204. {janito-2.19.0 → janito-2.19.1}/janito/llm/driver_input.py +0 -0
  205. {janito-2.19.0 → janito-2.19.1}/janito/llm/message_parts.py +0 -0
  206. {janito-2.19.0 → janito-2.19.1}/janito/llm/model.py +0 -0
  207. {janito-2.19.0 → janito-2.19.1}/janito/llm/provider.py +0 -0
  208. {janito-2.19.0 → janito-2.19.1}/janito/mkdocs.yml +0 -0
  209. {janito-2.19.0 → janito-2.19.1}/janito/perf_singleton.py +0 -0
  210. {janito-2.19.0 → janito-2.19.1}/janito/performance_collector.py +0 -0
  211. {janito-2.19.0 → janito-2.19.1}/janito/platform_discovery.py +0 -0
  212. {janito-2.19.0 → janito-2.19.1}/janito/provider_config.py +0 -0
  213. {janito-2.19.0 → janito-2.19.1}/janito/providers/__init__.py +0 -0
  214. {janito-2.19.0 → janito-2.19.1}/janito/providers/alibaba/__init__.py +0 -0
  215. {janito-2.19.0 → janito-2.19.1}/janito/providers/alibaba/model_info.py +0 -0
  216. {janito-2.19.0 → janito-2.19.1}/janito/providers/alibaba/provider.py +0 -0
  217. {janito-2.19.0 → janito-2.19.1}/janito/providers/anthropic/model_info.py +0 -0
  218. {janito-2.19.0 → janito-2.19.1}/janito/providers/anthropic/provider.py +0 -0
  219. {janito-2.19.0 → janito-2.19.1}/janito/providers/azure_openai/model_info.py +0 -0
  220. {janito-2.19.0 → janito-2.19.1}/janito/providers/azure_openai/provider.py +0 -0
  221. {janito-2.19.0 → janito-2.19.1}/janito/providers/cerebras/__init__.py +0 -0
  222. {janito-2.19.0 → janito-2.19.1}/janito/providers/cerebras/model_info.py +0 -0
  223. {janito-2.19.0 → janito-2.19.1}/janito/providers/cerebras/provider.py +0 -0
  224. {janito-2.19.0 → janito-2.19.1}/janito/providers/dashscope.bak.zip +0 -0
  225. {janito-2.19.0 → janito-2.19.1}/janito/providers/deepseek/__init__.py +0 -0
  226. {janito-2.19.0 → janito-2.19.1}/janito/providers/deepseek/model_info.py +0 -0
  227. {janito-2.19.0 → janito-2.19.1}/janito/providers/deepseek/provider.py +0 -0
  228. {janito-2.19.0 → janito-2.19.1}/janito/providers/google/__init__.py +0 -0
  229. {janito-2.19.0 → janito-2.19.1}/janito/providers/google/model_info.py +0 -0
  230. {janito-2.19.0 → janito-2.19.1}/janito/providers/google/provider.py +0 -0
  231. {janito-2.19.0 → janito-2.19.1}/janito/providers/moonshotai/__init__.py +0 -0
  232. {janito-2.19.0 → janito-2.19.1}/janito/providers/moonshotai/model_info.py +0 -0
  233. {janito-2.19.0 → janito-2.19.1}/janito/providers/moonshotai/provider.py +0 -0
  234. {janito-2.19.0 → janito-2.19.1}/janito/providers/openai/__init__.py +0 -0
  235. {janito-2.19.0 → janito-2.19.1}/janito/providers/openai/model_info.py +0 -0
  236. {janito-2.19.0 → janito-2.19.1}/janito/providers/openai/provider.py +0 -0
  237. {janito-2.19.0 → janito-2.19.1}/janito/providers/openai/schema_generator.py +0 -0
  238. {janito-2.19.0 → janito-2.19.1}/janito/providers/registry.py +0 -0
  239. {janito-2.19.0 → janito-2.19.1}/janito/providers/zai/__init__.py +0 -0
  240. {janito-2.19.0 → janito-2.19.1}/janito/providers/zai/model_info.py +0 -0
  241. {janito-2.19.0 → janito-2.19.1}/janito/providers/zai/provider.py +0 -0
  242. {janito-2.19.0 → janito-2.19.1}/janito/providers/zai/schema_generator.py +0 -0
  243. {janito-2.19.0 → janito-2.19.1}/janito/regions/__init__.py +0 -0
  244. {janito-2.19.0 → janito-2.19.1}/janito/regions/cli.py +0 -0
  245. {janito-2.19.0 → janito-2.19.1}/janito/regions/geo_utils.py +0 -0
  246. {janito-2.19.0 → janito-2.19.1}/janito/regions/provider_regions.py +0 -0
  247. {janito-2.19.0 → janito-2.19.1}/janito/shell.bak.zip +0 -0
  248. {janito-2.19.0 → janito-2.19.1}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  249. {janito-2.19.0 → janito-2.19.1}/janito/tools/README.md +0 -0
  250. {janito-2.19.0 → janito-2.19.1}/janito/tools/__init__.py +0 -0
  251. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/__init__.py +0 -0
  252. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/__init__.py +0 -0
  253. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/adapter.py +0 -0
  254. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/ask_user.py +0 -0
  255. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/copy_file.py +0 -0
  256. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/create_directory.py +0 -0
  257. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/create_file.py +0 -0
  258. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
  259. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/fetch_url.py +0 -0
  260. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/find_files.py +0 -0
  261. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
  262. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/core.py +0 -0
  263. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/java_outline.py +0 -0
  264. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
  265. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
  266. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/get_file_outline/search_outline.py +0 -0
  267. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/move_file.py +0 -0
  268. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/open_html_in_browser.py +0 -0
  269. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/open_url.py +0 -0
  270. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/python_code_run.py +0 -0
  271. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/python_command_run.py +0 -0
  272. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/python_file_run.py +0 -0
  273. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/read_files.py +0 -0
  274. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/remove_directory.py +0 -0
  275. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/remove_file.py +0 -0
  276. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/replace_text_in_file.py +0 -0
  277. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/run_bash_command.py +0 -0
  278. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/search_text/__init__.py +0 -0
  279. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/search_text/core.py +0 -0
  280. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
  281. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
  282. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
  283. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
  284. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/core.py +0 -0
  285. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
  286. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
  287. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
  288. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
  289. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
  290. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
  291. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
  292. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
  293. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
  294. {janito-2.19.0 → janito-2.19.1}/janito/tools/adapters/local/view_file.py +0 -0
  295. {janito-2.19.0 → janito-2.19.1}/janito/tools/disabled_tools.py +0 -0
  296. {janito-2.19.0 → janito-2.19.1}/janito/tools/inspect_registry.py +0 -0
  297. {janito-2.19.0 → janito-2.19.1}/janito/tools/outline_file.bak.zip +0 -0
  298. {janito-2.19.0 → janito-2.19.1}/janito/tools/path_security.py +0 -0
  299. {janito-2.19.0 → janito-2.19.1}/janito/tools/permissions.py +0 -0
  300. {janito-2.19.0 → janito-2.19.1}/janito/tools/permissions_parse.py +0 -0
  301. {janito-2.19.0 → janito-2.19.1}/janito/tools/tool_events.py +0 -0
  302. {janito-2.19.0 → janito-2.19.1}/janito/tools/tool_run_exception.py +0 -0
  303. {janito-2.19.0 → janito-2.19.1}/janito/tools/tool_use_tracker.py +0 -0
  304. {janito-2.19.0 → janito-2.19.1}/janito/tools/tool_utils.py +0 -0
  305. {janito-2.19.0 → janito-2.19.1}/janito/tools/tools_adapter.py +0 -0
  306. {janito-2.19.0 → janito-2.19.1}/janito/tools/tools_schema.py +0 -0
  307. {janito-2.19.0 → janito-2.19.1}/janito/utils.py +0 -0
  308. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/dependency_links.txt +0 -0
  309. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/entry_points.txt +0 -0
  310. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/requires.txt +0 -0
  311. {janito-2.19.0 → janito-2.19.1}/janito.egg-info/top_level.txt +0 -0
  312. {janito-2.19.0 → janito-2.19.1}/pyproject.toml +0 -0
  313. {janito-2.19.0 → janito-2.19.1}/pytest.ini +0 -0
  314. {janito-2.19.0 → janito-2.19.1}/requirements-dev.txt +0 -0
  315. {janito-2.19.0 → janito-2.19.1}/requirements.txt +0 -0
  316. {janito-2.19.0 → janito-2.19.1}/setup.cfg +0 -0
  317. {janito-2.19.0 → janito-2.19.1}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
  318. {janito-2.19.0 → janito-2.19.1}/tests/adapters/local/test_read_files.py +0 -0
  319. {janito-2.19.0 → janito-2.19.1}/tests/test_cli_list_models.py +0 -0
  320. {janito-2.19.0 → janito-2.19.1}/tests/test_cli_list_providers.py +0 -0
  321. {janito-2.19.0 → janito-2.19.1}/tests/test_cli_list_providers_alibaba.py +0 -0
  322. {janito-2.19.0 → janito-2.19.1}/tests/test_cli_list_providers_moonshotai.py +0 -0
  323. {janito-2.19.0 → janito-2.19.1}/tests/test_cli_version.py +0 -0
  324. {janito-2.19.0 → janito-2.19.1}/tests/test_disabled_tools.py +0 -0
  325. {janito-2.19.0 → janito-2.19.1}/tests/test_provider_alibaba.py +0 -0
  326. {janito-2.19.0 → janito-2.19.1}/tests/test_provider_cerebras.py +0 -0
  327. {janito-2.19.0 → janito-2.19.1}/tests/test_provider_moonshotai.py +0 -0
  328. {janito-2.19.0 → janito-2.19.1}/tools/release.py +0 -0
  329. {janito-2.19.0 → janito-2.19.1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.19.0
3
+ Version: 2.19.1
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: João Pinto <janito@ikignosis.org>
6
6
  Project-URL: Homepage, https://github.com/ikignosis/janito
@@ -0,0 +1,53 @@
1
+ # Janito Documentation
2
+
3
+ Welcome to the Janito documentation! This site contains comprehensive guides, tutorials, and reference materials for using and extending Janito.
4
+
5
+ ## What is Janito?
6
+
7
+ Janito is a powerful AI assistant designed for developers, providing intelligent code assistance, terminal integration, and extensible tooling capabilities.
8
+
9
+ ## Quick Start
10
+
11
+ - [**Installation Guide**](guides/installation.md) - Get Janito up and running
12
+ - [**Quickstart & Basic Usage**](guides/using.md) - Learn the basics
13
+ - [**Configuration**](guides/configuration.md) - Set up Janito for your needs
14
+
15
+ ## Key Features
16
+
17
+ - **Terminal Integration**: Seamless shell integration with intelligent command assistance
18
+ - **Code Intelligence**: Advanced code analysis and generation capabilities
19
+ - **Extensible Tools**: Custom tool development and integration
20
+ - **Multi-Provider Support**: Works with OpenAI, DeepSeek, MoonshotAI, and more
21
+ - **Human-Guided AI**: Collaborative AI that works with you, not instead of you
22
+
23
+ ## Documentation Sections
24
+
25
+ ### Using Janito
26
+ Learn how to use Janito effectively:
27
+ - [Terminal Shell](guides/terminal-shell.md) - Interactive terminal sessions
28
+ - [Single-Shot Commands](guides/single-shot-terminal.md) - One-off command execution
29
+ - [Profiles](guides/profiles.md) - Custom configurations for different workflows
30
+
31
+ ### Development & Extension
32
+ For developers looking to extend Janito:
33
+ - [Developer Guide](guides/developing.md) - Core development concepts
34
+ - [Tools Developer Guide](guides/tools-developer-guide.md) - Creating custom tools
35
+ - [Developer Toolchain](meta/developer-toolchain.md) - Development setup and workflows
36
+
37
+ ### Supported Providers
38
+ Janito supports multiple AI providers:
39
+ - [OpenAI](openai-setup.md)
40
+ - [DeepSeek](deepseek-setup.md)
41
+ - [MoonshotAI](moonshotai-setup.md)
42
+ - [Z.ai](z-ai-setup.md)
43
+ - [Cerebras](cerebras-setup.md)
44
+
45
+ ## Getting Help
46
+
47
+ - Check our [troubleshooting guides](guides/configuration.md)
48
+ - Review [common issues](guides/using.md)
49
+ - Explore [alternative solutions](alternatives.md)
50
+
51
+ ---
52
+
53
+ *This documentation is automatically deployed from the latest commit and will always reflect the most current version of Janito.*
@@ -0,0 +1,6 @@
1
+ <div class="md-copyright" style="text-align: center; width: 100%;">
2
+ <div class="md-copyright__highlight" style="display: inline-block;">
3
+ Generated by Janito •
4
+ <span style="color: var(--md-accent-fg-color);">{{ config.extra.commit_hash or 'unknown' }}</span>
5
+ </div>
6
+ </div>
@@ -0,0 +1,94 @@
1
+ # Supported Providers and Models
2
+
3
+ This page lists the supported providers and their available models, organized by openness and sorted alphabetically within each category.
4
+
5
+ ## Open-Source / Open-Weight Models
6
+
7
+ ### Alibaba
8
+
9
+ - **Qwen3 235B A22B Instruct** (default) - Latest 1M context model
10
+ - **Qwen3 235B A22B Thinking** - Reasoning-focused version
11
+ - **Qwen3 30B A3B Instruct** - Compact 1M context model
12
+ - **Qwen3 30B A3B Thinking** - Compact reasoning version
13
+ - **Qwen3 Coder Plus** - Specialized for programming tasks
14
+ - **Qwen3 Coder 480B** - Large-scale coding model
15
+ - **Qwen Turbo** - High-speed general purpose
16
+ - **Qwen Plus** - Balanced performance
17
+ - **Qwen Max** - Maximum capability
18
+
19
+ ### Cerebras
20
+
21
+ **Production Models:**
22
+
23
+ - **Qwen-3 32B** - General instruction following
24
+
25
+ **Preview Models:**
26
+
27
+ - **Qwen-3 Coder 480B** - Programming-focused with 32k context
28
+ - **Qwen-3 235B A22B Instruct** - Large-scale instruction model
29
+ - **Qwen-3 235B A22B Thinking** - Reasoning-focused version
30
+ - **GPT-OSS 120B** - Open-source model
31
+
32
+ **Notes:**
33
+
34
+ - All Cerebras models support 128k context window
35
+ - Models are optimized for low-latency inference
36
+ - Pricing varies by model size and capability
37
+
38
+ ### DeepSeek
39
+
40
+ - **DeepSeek Chat** (default) - General purpose chat model
41
+ - **DeepSeek Reasoner** - Specialized for complex reasoning tasks
42
+
43
+ ### MoonshotAI
44
+
45
+ - **Kimi K2 Turbo Preview** (default) - Latest generation with enhanced performance
46
+ - **Kimi K2 0711 Preview** - Previous preview version
47
+
48
+ MoonshotAI provides open-source Kimi models with competitive performance.
49
+
50
+ ### Z.AI
51
+
52
+ - **GLM-4.5** (default) - Advanced reasoning and conversation
53
+ - **GLM-4.5 Air** - Compact and efficient version
54
+
55
+ ## Proprietary Models
56
+
57
+ ### Anthropic
58
+
59
+ - **Claude 3.7 Sonnet** (default) - Latest Claude model with enhanced reasoning
60
+ - **Claude 4 Opus** - Most capable Claude model (preview)
61
+ - **Claude 4 Sonnet** - Balanced performance and capability (preview)
62
+ - **Claude 3.5 Sonnet** - Previous generation, still highly capable
63
+ - **Claude 3.5 Haiku** - Fast and efficient
64
+ - **Claude 3 Haiku** - Compact and cost-effective
65
+
66
+ ### Google
67
+
68
+ - **Gemini 2.5 Flash** (default) - Fast and efficient
69
+ - **Gemini 2.5 Pro** - Advanced capabilities with extended context
70
+ - **Gemini 2.5 Flash-Lite Preview** - Lightweight preview version
71
+
72
+ ### OpenAI
73
+
74
+ - **GPT-5** (default) - Latest generation with advanced reasoning
75
+ - **GPT-5 Mini** - Compact version of GPT-5
76
+ - **GPT-5 Nano** - Ultra-compact version
77
+ - **GPT-4.1** - Enhanced GPT-4 with improved capabilities
78
+ - **GPT-4.1-mini** - Balanced performance and efficiency
79
+ - **GPT-4.1-nano** - Lightweight version
80
+ - **GPT-4 Turbo** - High-performance GPT-4 variant
81
+ - **GPT-4o** - Multimodal GPT-4 optimized for chat
82
+ - **GPT-4o-mini** - Compact multimodal version
83
+ - **o3** - Advanced reasoning model
84
+ - **o3-mini** - Compact reasoning model
85
+ - **o4-mini** - Latest mini reasoning model
86
+ - **GPT-3.5 Turbo** - Cost-effective general purpose
87
+
88
+ For setup instructions, see the [OpenAI Setup Guide](openai-setup.md).
89
+
90
+ ### Azure OpenAI
91
+
92
+ - **Azure OpenAI Deployment** - Custom Azure OpenAI deployments
93
+
94
+ For setup instructions, see [Using Azure OpenAI with Janito](reference/azure-openai.md).
@@ -0,0 +1,46 @@
1
+ # pragma: allowlist secret
2
+ translations = {
3
+ "36107ed78ab25f6fb12ad8ce13018cd1ce6735d1": "Avvio del server web...",
4
+ "70a0d194687568a47aa617fd85036ace1e69a982": "Vuoi davvero uscire? (s/n): ",
5
+ "5c9ebcbbd7632ecb328bd52958b17158afaa32c6": "F12 = Azione Rapida (segue l'azione raccomandata)",
6
+ "fe21121e2934234b68d19b2757532117d440c1e3": "Chiave API non trovata. Si prega di configurare 'api_key' nel file di configurazione.",
7
+ "c9e3759b1756eba35b381ce2b72cd659e132b01f": "Ciao, {name}!",
8
+ "ca1fee2f55baabdc2e4b0e9529c89ee024e62079": "Nessun prompt fornito nei messaggi",
9
+ "f7449d23d0c500ae2a0b31e04f92b47a4d8ae845": "max_tokens deve essere un intero, ricevuto: {resolved_max_tokens!r}",
10
+ "70a9ed8edb6da12e208431a31aa16ba54419b26f": "Risposta non valida/malformed da OpenAI (tentativo {attempt}/{max_retries}). Riprovo tra {wait_time} secondi...",
11
+ "a873085e3b06184fb5d27e842f97b06b6190976d": "Numero massimo di tentativi per risposta non valida raggiunto. Generazione errore.",
12
+ "66a34568bbe846bb1bde3619eb4d6dfa10211104": "L'API non supporta l'uso degli strumenti.",
13
+ "09b81476b75586da4116b83f8be70d77b174cec3": "Limite di richieste API OpenAI (429) (tentativo {attempt}/{max_retries}): {e}. Riprovo tra {wait_time} secondi...",
14
+ "5717a35dd2a1533fb7e15edc8c9329cb69f3410b": "Errore server API OpenAI (tentativo {attempt}/{max_retries}): {e}. Riprovo tra {wait_time} secondi...",
15
+ "02e760ba15ed863176c1290ac8a9b923963103cd": "Errore client API OpenAI {status_code}: {e}. Nessun nuovo tentativo.",
16
+ "2e52b0bbc8f16226b70e3e20f95c9245d2bcdb47": "Errore API OpenAI (tentativo {attempt}/{max_retries}): {e}. Riprovo tra {wait_time} secondi...",
17
+ "012cc970e039fdd79c452fc676202c814ffc76ae": "Numero massimo di tentativi per errore API OpenAI raggiunto. Generazione errore.",
18
+ "d0438e45667d31e0022b2497b5901cd4300f084b": "QueuedMessageHandler.handle_message si aspetta un dizionario con 'type' e 'message', ricevuto {msg_type}: {msg!r}",
19
+ "9d3460187ffa19c7c8a4020157072b1087e1bd2f": "[QueuedMessageHandler] {msg_type}: {msg}",
20
+ "3813833343430e8afa8fce33385c5e39fb24dd60": "[QueuedMessageHandler] {msg_type}: {message}",
21
+ "0be9a22226e16a40797010d23a0f581542dca40e": "[ToolExecutor] {tool_name} chiamato con argomenti: {args}",
22
+ "42c68edcb25442f518b1af77c6a2ddc07461aae0": "[ToolExecutor] Motivo chiamata: {tool_call_reason}",
23
+ "002ff598115d84595ffeee6219cb5c03d3a1d4a6": "Domanda",
24
+ "35747d13dcd91e8e8790c7f767d5ed764f541b9e": "procedi",
25
+ "33dde3a1afbc418768a69fa53168d9b0638fe1aa": "avanti",
26
+ "eee0bbba4ff92adbeb038a77df0466d660f15716": "continua",
27
+ "edee9402d198b04ac77dcf5dc9cc3dac44573782": "prossimo",
28
+ "8fdb7e2fa84f4faf0d9b92f466df424ec47a165b": "ok",
29
+ "5f8f924671cda79b5205a6bf1b776f347c4a7a07": "Opzioni di configurazione disponibili:\n",
30
+ "cef780a309cd234750764d42697882c24168ddab": "{key:15} {desc} (predefinito: {default})",
31
+ "68c2cc7f0ceaa3e499ecb4db331feb4debbbcc23": "Modello",
32
+ "c3f104d1365744b538bfde9f4adb6a6df4b80355": "Funzione",
33
+ "99a0efc6cfd85d8ff2732a6718140f822cb90472": "Stile",
34
+ "f1702b4686278becffc88baabe6f4b7a8355532c": "Messaggi",
35
+ "c38c6c1f3a2743f8626703abb302e403d20ff81c": "Token",
36
+ "a817d7eb8e0f1dab755ab5203a082e5c3c094fce": "Prompt",
37
+ "2ff255684a2277f806fcebf3fe338ed27857f350": "Completamento",
38
+ "b25928c69902557b0ef0a628490a3a1768d7b82f": "Totale",
39
+ "76e63d65c883ed50df40ac3aeef0c2d6a1c4ad60": "Azione Rapida",
40
+ "5397e0583f14f6c88de06b1ef28f460a1fb5b0ae": "Sì",
41
+ "816c52fd2bdd94a63cd0944823a6c0aa9384c103": "No",
42
+ "c47ae15370cfe1ed2781eedc1dc2547d12d9e972": "Aiuto",
43
+ "cc3dbd47e1cf9003a55d3366b3adbcd72275e525": "Nuovo Task",
44
+ "efa5a8b84e1afe65c81ecfce28c398c48f19ddc2": "Benvenuto su Janito{version_str}! Modalità chat attiva. Digita /exit per uscire.",
45
+ "b314d6e1460f86e0f21abc5aceb7935a2a0667e8": "Benvenuto su Janito{version_str} in modalità [white on magenta]VANILLA[/white on magenta]! Strumenti, prompt di sistema e temperatura sono disattivati, a meno che non siano sovrascritti.",
46
+ }
@@ -39,7 +39,17 @@ class ProviderRegistry:
39
39
  if len(info) == 4 and info[3]:
40
40
  continue # skip providers flagged as not implemented
41
41
  rows.append(info[:3])
42
- rows.sort(key=self._maintainer_sort_key)
42
+
43
+ # Group providers by openness (open-source first, then proprietary)
44
+ open_providers = {'cerebras', 'deepseek', 'alibaba', 'moonshotai', 'zai'}
45
+
46
+ def sort_key(row):
47
+ provider_name = row[0]
48
+ is_open = provider_name in open_providers
49
+ # Sort open providers alphabetically first, then proprietary alphabetically
50
+ return (not is_open, provider_name)
51
+
52
+ rows.sort(key=sort_key)
43
53
  return rows
44
54
 
45
55
  def _add_rows_to_table(self, table, rows):
@@ -14,6 +14,7 @@ class ReportSubtype(Enum):
14
14
  PROGRESS = "progress"
15
15
 
16
16
 
17
+
17
18
  class ReportAction(Enum):
18
19
  READ = "READ"
19
20
  CREATE = "CREATE"
@@ -39,17 +39,11 @@ class RunPowershellCommandTool(ToolBase):
39
39
  ReportAction.EXECUTE,
40
40
  )
41
41
  if require_confirmation:
42
- confirmed = self.ask_user_confirmation(
43
- tr(
44
- "About to run PowerShell command: {command}\nContinue?",
45
- command=command,
46
- )
42
+ self.report_warning(
43
+ tr("⚠️ Confirmation requested, but no handler (auto-confirmed)."),
44
+ ReportAction.USER_INPUT
47
45
  )
48
- if not confirmed:
49
- self.report_warning(
50
- tr("⚠️ Execution cancelled by user."), ReportAction.EXECUTE
51
- )
52
- return False
46
+ return True # Auto-confirm for now
53
47
  return True
54
48
 
55
49
  def _launch_process(self, shell_exe, command_with_encoding):
@@ -143,10 +137,7 @@ class RunPowershellCommandTool(ToolBase):
143
137
  tr("🖥️ Running PowerShell command: {command} ...\n", command=command),
144
138
  ReportAction.EXECUTE,
145
139
  )
146
- if not self._confirm_and_warn(
147
- command, require_confirmation, requires_user_input
148
- ):
149
- return tr("❌ Command execution cancelled by user.")
140
+ self._confirm_and_warn(command, require_confirmation, requires_user_input)
150
141
  from janito.platform_discovery import PlatformDiscovery
151
142
 
152
143
  pd = PlatformDiscovery()
@@ -112,3 +112,5 @@ class ToolBase:
112
112
 
113
113
  def run(self, *args, **kwargs):
114
114
  raise NotImplementedError("Subclasses must implement the run method.")
115
+
116
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.19.0
3
+ Version: 2.19.1
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: João Pinto <janito@ikignosis.org>
6
6
  Project-URL: Homepage, https://github.com/ikignosis/janito
@@ -13,6 +13,7 @@ adding_mcp.txt
13
13
  git_diff.txt
14
14
  github_diff
15
15
  mkdocs.yml
16
+ mkdocs_hooks.py
16
17
  pyproject.toml
17
18
  pytest.ini
18
19
  requirements-dev.txt
@@ -31,6 +32,7 @@ docs/driver-flow.md
31
32
  docs/driver-request-cancellation.md
32
33
  docs/drivers.md
33
34
  docs/event-bus.md
35
+ docs/index.md
34
36
  docs/llm-drivers-required-config.md
35
37
  docs/llm-drivers.md
36
38
  docs/moonshotai-setup.md
@@ -76,6 +78,7 @@ docs/imgs/terminal_one_shot.png
76
78
  docs/imgs/terminal_shell.png
77
79
  docs/meta/developer-toolchain.md
78
80
  docs/meta/quality-checks.txt
81
+ docs/overrides/partials/copyright.html
79
82
  docs/reference/api.md
80
83
  docs/reference/azure-openai.md
81
84
  docs/reference/cli-options.md
@@ -199,6 +202,7 @@ janito/event_bus/event.py
199
202
  janito/event_bus/handler.py
200
203
  janito/event_bus/queue_bus.py
201
204
  janito/i18n/__init__.py
205
+ janito/i18n/it.py
202
206
  janito/i18n/messages.py
203
207
  janito/i18n/pt.py
204
208
  janito/llm/README.md
@@ -1,6 +1,6 @@
1
1
  site_name: Janito
2
2
  site_name: Janito
3
- site_url: https://ikignosis.github.io/janito/
3
+ site_url: https://ikignosis.org/janito/
4
4
  docs_dir: docs
5
5
  repo_url: https://github.com/ikignosis/janito
6
6
  repo_name: GitHub
@@ -55,6 +55,7 @@ nav:
55
55
 
56
56
  theme:
57
57
  name: material
58
+ custom_dir: docs/overrides
58
59
  palette:
59
60
  - scheme: default
60
61
  primary: indigo
@@ -75,6 +76,10 @@ markdown_extensions:
75
76
  - admonition
76
77
  - codehilite
77
78
 
79
+ hooks:
80
+ - mkdocs_hooks.py
81
+
78
82
  extra:
83
+ generator: false # Disable default generator notice
79
84
  copyright: |
80
85
  Made with Material for MkDocs • Generated by <a href="https://janito.dev" target="_blank">janito.dev</a>
@@ -0,0 +1,51 @@
1
+ """
2
+ MkDocs hooks for dynamic content generation.
3
+ This module provides hooks to automatically inject build-time information.
4
+ """
5
+
6
+ import subprocess
7
+ import os
8
+
9
+
10
+ def get_git_commit_hash():
11
+ """Get the current git commit hash (short form)."""
12
+ try:
13
+ result = subprocess.run(
14
+ ["git", "rev-parse", "--short", "HEAD"],
15
+ capture_output=True,
16
+ text=True,
17
+ check=True
18
+ )
19
+ return result.stdout.strip()
20
+ except subprocess.CalledProcessError:
21
+ return "unknown"
22
+
23
+
24
+ def on_config(config):
25
+ """
26
+ MkDocs hook called when the config is loaded.
27
+ This allows us to dynamically set values in the config.
28
+ """
29
+ commit_hash = get_git_commit_hash()
30
+
31
+ # Update the extra section with dynamic values
32
+ if 'extra' not in config:
33
+ config['extra'] = {}
34
+
35
+ config['extra']['commit_hash'] = commit_hash
36
+ config['extra']['copyright'] = (
37
+ f'Made with Material for MkDocs • '
38
+ f'Generated by <a href="https://janito.dev" target="_blank">janito.dev</a> • '
39
+ f'Commit: {commit_hash}'
40
+ )
41
+
42
+ return config
43
+
44
+
45
+ def on_page_context(context, page, config, nav):
46
+ """
47
+ MkDocs hook called for each page context.
48
+ This allows us to add the commit hash to page-specific contexts if needed.
49
+ """
50
+ context['commit_hash'] = config['extra'].get('commit_hash', 'unknown')
51
+ return context
@@ -1,77 +0,0 @@
1
- # Supported Providers and Models
2
-
3
- This page lists the supported providers and their available models.
4
-
5
- ## OpenAI
6
-
7
- - GPT-5 (default)
8
- - GPT-5 Mini
9
- - GPT-5 Nano
10
- - GPT-4
11
- - GPT-4 Turbo
12
- - GPT-3.5 Turbo
13
-
14
- For setup instructions, see the [OpenAI Setup Guide](openai-setup.md).
15
-
16
- ## Google
17
-
18
- - Gemini Pro
19
- - Gemini 1.5 Pro
20
-
21
- ## Anthropic
22
-
23
- - Claude 2
24
- - Claude 3 Opus
25
- - Claude 3 Sonnet
26
- - Claude 3 Haiku
27
-
28
- ## MoonshotAI
29
-
30
- - kimi-k2-turbo-preview
31
- - kimi-k2-turbo-preview
32
- - kimi-k1-8k
33
- - kimi-k1-32k
34
- - kimi-k1-128k
35
-
36
- - Llama-3-8b-8192
37
- - Llama-3-70b-8192
38
-
39
- ## Alibaba
40
-
41
- - qwen-turbo
42
- - qwen-plus
43
- - qwen-max
44
- - qwen3-coder-plus (default)
45
- - qwen3-coder-480b-a35b-instruct
46
- - qwen3-235b-a22b-thinking-2507
47
- - qwen3-235b-a22b-instruct-2507
48
- - qwen3-30b-a3b-thinking-2507
49
- - qwen3-30b-a3b-instruct-2507
50
-
51
- ## Z.AI
52
-
53
- - glm-4.5
54
- - glm-4.5-air
55
-
56
- ## Cerebras
57
-
58
- **Production Models:**
59
-
60
- - llama-4-scout-17b-16e-instruct
61
- - llama-3.3-70b
62
- - llama3.1-8b
63
- - qwen-3-32b
64
-
65
- **Preview Models:**
66
-
67
- - llama-4-maverick-17b-128e-instruct
68
- - qwen-3-235b-a22b-instruct-2507
69
- - qwen-3-235b-a22b-thinking-2507
70
- - qwen-3-coder-480b
71
- - gpt-oss-120b
72
-
73
- **Notes:**
74
-
75
- - qwen-3-coder-480b: 32k context, reasoning-focused model with function calling support
76
-
77
- <!-- Removed links to model_info.py files for all providers to avoid broken references. -->
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes