janito 2.9.0__tar.gz → 2.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 (304) hide show
  1. {janito-2.9.0 → janito-2.10.0}/CHANGELOG.md +14 -11
  2. {janito-2.9.0/janito.egg-info → janito-2.10.0}/PKG-INFO +1 -1
  3. {janito-2.9.0 → janito-2.10.0}/docs/moonshotai-setup.md +2 -1
  4. {janito-2.9.0 → janito-2.10.0}/docs/supported-providers-models.md +11 -3
  5. janito-2.10.0/janito/README.md +149 -0
  6. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/script_runner.py +2 -2
  7. {janito-2.9.0 → janito-2.10.0}/janito/cli/main_cli.py +1 -1
  8. janito-2.10.0/janito/docs/GETTING_STARTED.md +117 -0
  9. janito-2.10.0/janito/docs/PROVIDERS.md +224 -0
  10. {janito-2.9.0 → janito-2.10.0}/janito/drivers/azure_openai/driver.py +7 -0
  11. {janito-2.9.0 → janito-2.10.0}/janito/drivers/openai/driver.py +7 -0
  12. janito-2.10.0/janito/mkdocs.yml +40 -0
  13. {janito-2.9.0 → janito-2.10.0}/janito/provider_registry.py +14 -4
  14. {janito-2.9.0 → janito-2.10.0}/janito/providers/__init__.py +1 -1
  15. janito-2.10.0/janito/providers/alibaba/__init__.py +0 -0
  16. janito-2.10.0/janito/providers/alibaba/model_info.py +33 -0
  17. janito-2.10.0/janito/providers/alibaba/provider.py +102 -0
  18. {janito-2.9.0 → janito-2.10.0}/janito/providers/anthropic/provider.py +6 -0
  19. {janito-2.9.0 → janito-2.10.0}/janito/providers/azure_openai/provider.py +6 -0
  20. {janito-2.9.0 → janito-2.10.0}/janito/providers/deepseek/provider.py +6 -0
  21. {janito-2.9.0 → janito-2.10.0}/janito/providers/google/provider.py +6 -0
  22. {janito-2.9.0 → janito-2.10.0}/janito/providers/moonshotai/model_info.py +11 -0
  23. {janito-2.9.0 → janito-2.10.0}/janito/providers/moonshotai/provider.py +7 -1
  24. {janito-2.9.0 → janito-2.10.0}/janito/providers/openai/provider.py +6 -0
  25. {janito-2.9.0 → janito-2.10.0/janito.egg-info}/PKG-INFO +1 -1
  26. {janito-2.9.0 → janito-2.10.0}/janito.egg-info/SOURCES.txt +7 -3
  27. janito-2.9.0/janito/providers/groq/__init__.py +0 -1
  28. janito-2.9.0/janito/providers/groq/model_info.py +0 -45
  29. janito-2.9.0/janito/providers/groq/provider.py +0 -76
  30. {janito-2.9.0 → janito-2.10.0}/.codespellrc +0 -0
  31. {janito-2.9.0 → janito-2.10.0}/.gitattributes +0 -0
  32. {janito-2.9.0 → janito-2.10.0}/.github/workflows/python-app.yml +0 -0
  33. {janito-2.9.0 → janito-2.10.0}/.gitignore +0 -0
  34. {janito-2.9.0 → janito-2.10.0}/.pre-commit-config.yaml +0 -0
  35. {janito-2.9.0 → janito-2.10.0}/.secrets.baseline +0 -0
  36. {janito-2.9.0 → janito-2.10.0}/.vscode/settings.json +0 -0
  37. {janito-2.9.0 → janito-2.10.0}/CNAME +0 -0
  38. {janito-2.9.0 → janito-2.10.0}/LICENSE +0 -0
  39. {janito-2.9.0 → janito-2.10.0}/README-dev.md +0 -0
  40. {janito-2.9.0 → janito-2.10.0}/README.md +0 -0
  41. {janito-2.9.0 → janito-2.10.0}/UPDATING_DOCS.md +0 -0
  42. {janito-2.9.0 → janito-2.10.0}/adding_mcp.txt +0 -0
  43. {janito-2.9.0 → janito-2.10.0}/docs/DIV.md +0 -0
  44. {janito-2.9.0 → janito-2.10.0}/docs/Interfaces.txt +0 -0
  45. {janito-2.9.0 → janito-2.10.0}/docs/TOOLBAR-STYLING.md +0 -0
  46. {janito-2.9.0 → janito-2.10.0}/docs/about/costs.md +0 -0
  47. {janito-2.9.0 → janito-2.10.0}/docs/about/vs-webchats.md +0 -0
  48. {janito-2.9.0 → janito-2.10.0}/docs/about/why.md +0 -0
  49. {janito-2.9.0 → janito-2.10.0}/docs/alternatives.md +0 -0
  50. {janito-2.9.0 → janito-2.10.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  51. {janito-2.9.0 → janito-2.10.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
  52. {janito-2.9.0 → janito-2.10.0}/docs/code_intelligence/code-generation-observability.md +0 -0
  53. {janito-2.9.0 → janito-2.10.0}/docs/code_intelligence/our-approach.md +0 -0
  54. {janito-2.9.0 → janito-2.10.0}/docs/code_intelligence/why-string-replacement.md +0 -0
  55. {janito-2.9.0 → janito-2.10.0}/docs/concepts/analysis-style.md +0 -0
  56. {janito-2.9.0 → janito-2.10.0}/docs/concepts/human-guided-ai.md +0 -0
  57. {janito-2.9.0 → janito-2.10.0}/docs/concepts/index.md +0 -0
  58. {janito-2.9.0 → janito-2.10.0}/docs/concepts/language-model-clients.md +0 -0
  59. {janito-2.9.0 → janito-2.10.0}/docs/concepts/prompt-design-style.md +0 -0
  60. {janito-2.9.0 → janito-2.10.0}/docs/deepseek-setup.md +0 -0
  61. {janito-2.9.0 → janito-2.10.0}/docs/driver-flow.md +0 -0
  62. {janito-2.9.0 → janito-2.10.0}/docs/driver-request-cancellation.md +0 -0
  63. {janito-2.9.0 → janito-2.10.0}/docs/drivers/events.md +0 -0
  64. {janito-2.9.0 → janito-2.10.0}/docs/drivers.md +0 -0
  65. {janito-2.9.0 → janito-2.10.0}/docs/event-bus.md +0 -0
  66. {janito-2.9.0 → janito-2.10.0}/docs/guides/configuration.md +0 -0
  67. {janito-2.9.0 → janito-2.10.0}/docs/guides/developing.md +0 -0
  68. {janito-2.9.0 → janito-2.10.0}/docs/guides/disabled-tools.md +0 -0
  69. {janito-2.9.0 → janito-2.10.0}/docs/guides/installation.md +0 -0
  70. {janito-2.9.0 → janito-2.10.0}/docs/guides/profiles.md +0 -0
  71. {janito-2.9.0 → janito-2.10.0}/docs/guides/prompting/README.md +0 -0
  72. {janito-2.9.0 → janito-2.10.0}/docs/guides/single-shot-terminal.md +0 -0
  73. {janito-2.9.0 → janito-2.10.0}/docs/guides/terminal-shell.md +0 -0
  74. {janito-2.9.0 → janito-2.10.0}/docs/guides/tools-developer-guide.md +0 -0
  75. {janito-2.9.0 → janito-2.10.0}/docs/guides/using.md +0 -0
  76. {janito-2.9.0 → janito-2.10.0}/docs/guides/using_tools.md +0 -0
  77. {janito-2.9.0 → janito-2.10.0}/docs/imgs/code-generation-observability.png +0 -0
  78. {janito-2.9.0 → janito-2.10.0}/docs/imgs/code_generation_observability.png +0 -0
  79. {janito-2.9.0 → janito-2.10.0}/docs/imgs/happy-programmer.png +0 -0
  80. {janito-2.9.0 → janito-2.10.0}/docs/imgs/happy-programmer.svg +0 -0
  81. {janito-2.9.0 → janito-2.10.0}/docs/imgs/terminal-one-shot.png +0 -0
  82. {janito-2.9.0 → janito-2.10.0}/docs/imgs/terminal-shell.png +0 -0
  83. {janito-2.9.0 → janito-2.10.0}/docs/imgs/terminal_one_shot.png +0 -0
  84. {janito-2.9.0 → janito-2.10.0}/docs/imgs/terminal_shell.png +0 -0
  85. {janito-2.9.0 → janito-2.10.0}/docs/index.md +0 -0
  86. {janito-2.9.0 → janito-2.10.0}/docs/llm-drivers-required-config.md +0 -0
  87. {janito-2.9.0 → janito-2.10.0}/docs/llm-drivers.md +0 -0
  88. {janito-2.9.0 → janito-2.10.0}/docs/meta/developer-toolchain.md +0 -0
  89. {janito-2.9.0 → janito-2.10.0}/docs/meta/quality-checks.txt +0 -0
  90. {janito-2.9.0 → janito-2.10.0}/docs/reference/api.md +0 -0
  91. {janito-2.9.0 → janito-2.10.0}/docs/reference/azure-openai.md +0 -0
  92. {janito-2.9.0 → janito-2.10.0}/docs/reference/cli-options.md +0 -0
  93. {janito-2.9.0 → janito-2.10.0}/docs/reference/message-handler-model.md +0 -0
  94. {janito-2.9.0 → janito-2.10.0}/docs/reference/rich-message-handler.md +0 -0
  95. {janito-2.9.0 → janito-2.10.0}/docs/security.md +0 -0
  96. {janito-2.9.0 → janito-2.10.0}/docs/tools/search-text.md +0 -0
  97. {janito-2.9.0 → janito-2.10.0}/docs/tools-index.md +0 -0
  98. {janito-2.9.0 → janito-2.10.0}/docs/tools-natural-results.md +0 -0
  99. {janito-2.9.0 → janito-2.10.0}/docs/tools-precision.md +0 -0
  100. {janito-2.9.0 → janito-2.10.0}/git_diff.txt +0 -0
  101. {janito-2.9.0 → janito-2.10.0}/github_diff +0 -0
  102. {janito-2.9.0 → janito-2.10.0}/janito/__init__.py +0 -0
  103. {janito-2.9.0 → janito-2.10.0}/janito/__main__.py +0 -0
  104. {janito-2.9.0 → janito-2.10.0}/janito/_version.py +0 -0
  105. {janito-2.9.0 → janito-2.10.0}/janito/agent/setup_agent.py +0 -0
  106. {janito-2.9.0 → janito-2.10.0}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  107. {janito-2.9.0 → janito-2.10.0}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  108. {janito-2.9.0 → janito-2.10.0}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  109. {janito-2.9.0 → janito-2.10.0}/janito/cli/__init__.py +0 -0
  110. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/bindings.py +0 -0
  111. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  112. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  113. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/session.py +0 -0
  114. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/session_profile_select.py +0 -0
  115. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  116. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  117. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  118. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  119. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  120. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  121. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  122. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  123. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  124. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  125. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  126. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  127. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  128. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  129. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  130. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  131. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  132. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  133. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  134. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  135. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  136. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  137. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  138. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  139. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  140. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  141. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  142. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  143. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  144. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  145. {janito-2.9.0 → janito-2.10.0}/janito/cli/chat_mode/toolbar.py +0 -0
  146. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/list_config.py +0 -0
  147. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/list_models.py +0 -0
  148. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/list_profiles.py +0 -0
  149. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/list_providers.py +0 -0
  150. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/list_tools.py +0 -0
  151. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/model_selection.py +0 -0
  152. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/model_utils.py +0 -0
  153. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  154. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/show_config.py +0 -0
  155. {janito-2.9.0 → janito-2.10.0}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  156. {janito-2.9.0 → janito-2.10.0}/janito/cli/config.py +0 -0
  157. {janito-2.9.0 → janito-2.10.0}/janito/cli/console.py +0 -0
  158. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/__init__.py +0 -0
  159. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/event_logger.py +0 -0
  160. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/getters.py +0 -0
  161. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/runner.py +0 -0
  162. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/setters.py +0 -0
  163. {janito-2.9.0 → janito-2.10.0}/janito/cli/core/unsetters.py +0 -0
  164. {janito-2.9.0 → janito-2.10.0}/janito/cli/main.py +0 -0
  165. {janito-2.9.0 → janito-2.10.0}/janito/cli/prompt_core.py +0 -0
  166. {janito-2.9.0 → janito-2.10.0}/janito/cli/prompt_handler.py +0 -0
  167. {janito-2.9.0 → janito-2.10.0}/janito/cli/prompt_setup.py +0 -0
  168. {janito-2.9.0 → janito-2.10.0}/janito/cli/rich_terminal_reporter.py +0 -0
  169. {janito-2.9.0 → janito-2.10.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  170. {janito-2.9.0 → janito-2.10.0}/janito/cli/single_shot_mode/handler.py +0 -0
  171. {janito-2.9.0 → janito-2.10.0}/janito/cli/utils.py +0 -0
  172. {janito-2.9.0 → janito-2.10.0}/janito/cli/verbose_output.py +0 -0
  173. {janito-2.9.0 → janito-2.10.0}/janito/config.py +0 -0
  174. {janito-2.9.0 → janito-2.10.0}/janito/config_manager.py +0 -0
  175. {janito-2.9.0 → janito-2.10.0}/janito/conversation_history.py +0 -0
  176. {janito-2.9.0 → janito-2.10.0}/janito/dir_walk_utils.py +0 -0
  177. {janito-2.9.0 → janito-2.10.0}/janito/driver_events.py +0 -0
  178. {janito-2.9.0 → janito-2.10.0}/janito/drivers/dashscope.bak.zip +0 -0
  179. {janito-2.9.0 → janito-2.10.0}/janito/drivers/driver_registry.py +0 -0
  180. {janito-2.9.0 → janito-2.10.0}/janito/drivers/openai/README.md +0 -0
  181. {janito-2.9.0 → janito-2.10.0}/janito/drivers/openai_responses.bak.zip +0 -0
  182. {janito-2.9.0 → janito-2.10.0}/janito/event_bus/__init__.py +0 -0
  183. {janito-2.9.0 → janito-2.10.0}/janito/event_bus/bus.py +0 -0
  184. {janito-2.9.0 → janito-2.10.0}/janito/event_bus/event.py +0 -0
  185. {janito-2.9.0 → janito-2.10.0}/janito/event_bus/handler.py +0 -0
  186. {janito-2.9.0 → janito-2.10.0}/janito/event_bus/queue_bus.py +0 -0
  187. {janito-2.9.0 → janito-2.10.0}/janito/exceptions.py +0 -0
  188. {janito-2.9.0 → janito-2.10.0}/janito/formatting.py +0 -0
  189. {janito-2.9.0 → janito-2.10.0}/janito/formatting_token.py +0 -0
  190. {janito-2.9.0 → janito-2.10.0}/janito/gitignore_utils.py +0 -0
  191. {janito-2.9.0 → janito-2.10.0}/janito/i18n/__init__.py +0 -0
  192. {janito-2.9.0 → janito-2.10.0}/janito/i18n/messages.py +0 -0
  193. {janito-2.9.0 → janito-2.10.0}/janito/i18n/pt.py +0 -0
  194. {janito-2.9.0 → janito-2.10.0}/janito/llm/README.md +0 -0
  195. {janito-2.9.0 → janito-2.10.0}/janito/llm/__init__.py +0 -0
  196. {janito-2.9.0 → janito-2.10.0}/janito/llm/agent.py +0 -0
  197. {janito-2.9.0 → janito-2.10.0}/janito/llm/auth.py +0 -0
  198. {janito-2.9.0 → janito-2.10.0}/janito/llm/driver.py +0 -0
  199. {janito-2.9.0 → janito-2.10.0}/janito/llm/driver_config.py +0 -0
  200. {janito-2.9.0 → janito-2.10.0}/janito/llm/driver_config_builder.py +0 -0
  201. {janito-2.9.0 → janito-2.10.0}/janito/llm/driver_input.py +0 -0
  202. {janito-2.9.0 → janito-2.10.0}/janito/llm/message_parts.py +0 -0
  203. {janito-2.9.0 → janito-2.10.0}/janito/llm/model.py +0 -0
  204. {janito-2.9.0 → janito-2.10.0}/janito/llm/provider.py +0 -0
  205. {janito-2.9.0 → janito-2.10.0}/janito/perf_singleton.py +0 -0
  206. {janito-2.9.0 → janito-2.10.0}/janito/performance_collector.py +0 -0
  207. {janito-2.9.0 → janito-2.10.0}/janito/platform_discovery.py +0 -0
  208. {janito-2.9.0 → janito-2.10.0}/janito/provider_config.py +0 -0
  209. {janito-2.9.0 → janito-2.10.0}/janito/providers/anthropic/model_info.py +0 -0
  210. {janito-2.9.0 → janito-2.10.0}/janito/providers/azure_openai/model_info.py +0 -0
  211. {janito-2.9.0 → janito-2.10.0}/janito/providers/dashscope.bak.zip +0 -0
  212. {janito-2.9.0 → janito-2.10.0}/janito/providers/deepseek/__init__.py +0 -0
  213. {janito-2.9.0 → janito-2.10.0}/janito/providers/deepseek/model_info.py +0 -0
  214. {janito-2.9.0 → janito-2.10.0}/janito/providers/google/__init__.py +0 -0
  215. {janito-2.9.0 → janito-2.10.0}/janito/providers/google/model_info.py +0 -0
  216. {janito-2.9.0 → janito-2.10.0}/janito/providers/moonshotai/__init__.py +0 -0
  217. {janito-2.9.0 → janito-2.10.0}/janito/providers/openai/__init__.py +0 -0
  218. {janito-2.9.0 → janito-2.10.0}/janito/providers/openai/model_info.py +0 -0
  219. {janito-2.9.0 → janito-2.10.0}/janito/providers/openai/schema_generator.py +0 -0
  220. {janito-2.9.0 → janito-2.10.0}/janito/providers/registry.py +0 -0
  221. {janito-2.9.0 → janito-2.10.0}/janito/report_events.py +0 -0
  222. {janito-2.9.0 → janito-2.10.0}/janito/shell.bak.zip +0 -0
  223. {janito-2.9.0 → janito-2.10.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  224. {janito-2.9.0 → janito-2.10.0}/janito/tools/README.md +0 -0
  225. {janito-2.9.0 → janito-2.10.0}/janito/tools/__init__.py +0 -0
  226. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/__init__.py +0 -0
  227. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/__init__.py +0 -0
  228. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/adapter.py +0 -0
  229. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/ask_user.py +0 -0
  230. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/copy_file.py +0 -0
  231. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/create_directory.py +0 -0
  232. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/create_file.py +0 -0
  233. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
  234. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/fetch_url.py +0 -0
  235. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/find_files.py +0 -0
  236. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
  237. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/core.py +0 -0
  238. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/java_outline.py +0 -0
  239. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
  240. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
  241. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/get_file_outline/search_outline.py +0 -0
  242. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/move_file.py +0 -0
  243. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/open_html_in_browser.py +0 -0
  244. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/open_url.py +0 -0
  245. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/python_code_run.py +0 -0
  246. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/python_command_run.py +0 -0
  247. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/python_file_run.py +0 -0
  248. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/read_files.py +0 -0
  249. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/remove_directory.py +0 -0
  250. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/remove_file.py +0 -0
  251. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/replace_text_in_file.py +0 -0
  252. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/run_bash_command.py +0 -0
  253. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/run_powershell_command.py +0 -0
  254. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/search_text/__init__.py +0 -0
  255. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/search_text/core.py +0 -0
  256. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
  257. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
  258. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
  259. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
  260. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/core.py +0 -0
  261. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
  262. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
  263. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
  264. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
  265. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
  266. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
  267. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
  268. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
  269. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
  270. {janito-2.9.0 → janito-2.10.0}/janito/tools/adapters/local/view_file.py +0 -0
  271. {janito-2.9.0 → janito-2.10.0}/janito/tools/disabled_tools.py +0 -0
  272. {janito-2.9.0 → janito-2.10.0}/janito/tools/inspect_registry.py +0 -0
  273. {janito-2.9.0 → janito-2.10.0}/janito/tools/outline_file.bak.zip +0 -0
  274. {janito-2.9.0 → janito-2.10.0}/janito/tools/path_security.py +0 -0
  275. {janito-2.9.0 → janito-2.10.0}/janito/tools/permissions.py +0 -0
  276. {janito-2.9.0 → janito-2.10.0}/janito/tools/permissions_parse.py +0 -0
  277. {janito-2.9.0 → janito-2.10.0}/janito/tools/tool_base.py +0 -0
  278. {janito-2.9.0 → janito-2.10.0}/janito/tools/tool_events.py +0 -0
  279. {janito-2.9.0 → janito-2.10.0}/janito/tools/tool_run_exception.py +0 -0
  280. {janito-2.9.0 → janito-2.10.0}/janito/tools/tool_use_tracker.py +0 -0
  281. {janito-2.9.0 → janito-2.10.0}/janito/tools/tool_utils.py +0 -0
  282. {janito-2.9.0 → janito-2.10.0}/janito/tools/tools_adapter.py +0 -0
  283. {janito-2.9.0 → janito-2.10.0}/janito/tools/tools_schema.py +0 -0
  284. {janito-2.9.0 → janito-2.10.0}/janito/utils.py +0 -0
  285. {janito-2.9.0 → janito-2.10.0}/janito.egg-info/dependency_links.txt +0 -0
  286. {janito-2.9.0 → janito-2.10.0}/janito.egg-info/entry_points.txt +0 -0
  287. {janito-2.9.0 → janito-2.10.0}/janito.egg-info/requires.txt +0 -0
  288. {janito-2.9.0 → janito-2.10.0}/janito.egg-info/top_level.txt +0 -0
  289. {janito-2.9.0 → janito-2.10.0}/mkdocs.yml +0 -0
  290. {janito-2.9.0 → janito-2.10.0}/pyproject.toml +0 -0
  291. {janito-2.9.0 → janito-2.10.0}/pytest.ini +0 -0
  292. {janito-2.9.0 → janito-2.10.0}/requirements-dev.txt +0 -0
  293. {janito-2.9.0 → janito-2.10.0}/requirements.txt +0 -0
  294. {janito-2.9.0 → janito-2.10.0}/setup.cfg +0 -0
  295. {janito-2.9.0 → janito-2.10.0}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
  296. {janito-2.9.0 → janito-2.10.0}/tests/adapters/local/test_read_files.py +0 -0
  297. {janito-2.9.0 → janito-2.10.0}/tests/test_cli_list_models.py +0 -0
  298. {janito-2.9.0 → janito-2.10.0}/tests/test_cli_list_providers.py +0 -0
  299. {janito-2.9.0 → janito-2.10.0}/tests/test_cli_list_providers_moonshotai.py +0 -0
  300. {janito-2.9.0 → janito-2.10.0}/tests/test_cli_version.py +0 -0
  301. {janito-2.9.0 → janito-2.10.0}/tests/test_disabled_tools.py +0 -0
  302. {janito-2.9.0 → janito-2.10.0}/tests/test_provider_moonshotai.py +0 -0
  303. {janito-2.9.0 → janito-2.10.0}/tools/release.py +0 -0
  304. {janito-2.9.0 → janito-2.10.0}/tox.ini +0 -0
@@ -3,23 +3,26 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
- ### Changed
7
- - Updated project URLs, author email, and documentation for migration to ikignosis organization.
8
- - Updated repository links in documentation and configuration files to point to ikignosis GitHub organization.
9
- - Changed maintainer email in provider modules to janito@ikignosis.org.
10
- - Updated homepage and repo_url in pyproject.toml and mkdocs.yml to new organization URLs.
11
6
 
7
+ ## [2.9.0] - 2025-07-16
12
8
  ### Added
13
- - Added CNAME file for docs.ikignosis.org custom domain.
14
- - Added CLI command to list available system prompt profiles (`list_profiles.py`).
15
- - Added privilege status message utility (`_priv_status.py`).
9
+ - Added new `kimi-k2-turbo-preview` model to MoonshotAI provider
10
+ - Added visual indicators for default models in provider registry with star icons
11
+
12
+ ### Changed
13
+ - Updated default MoonshotAI model from `kimi-k2-0711-preview` to `kimi-k2-turbo-preview`
14
+ - Updated all documentation to reflect new MoonshotAI model names and recommendations
15
+ - Updated project URLs, author email, and documentation for migration to ikignosis organization
16
+ - Updated repository links in documentation and configuration files to point to ikignosis GitHub organization
17
+ - Changed maintainer email in provider modules to janito@ikignosis.org
18
+ - Updated homepage and repo_url in pyproject.toml and mkdocs.yml to new organization URLs
16
19
 
17
- ### Style
18
- - Fixed formatting in CLI command and privilege status modules.
20
+ ### Fixed
21
+ - Fixed duplicate entries in supported providers documentation
22
+ - Fixed formatting in CLI command and privilege status modules
19
23
 
20
24
  ## [2.8.0] - 2025-07-16
21
25
  ### Added
22
- - **Groq provider**: New provider with support for moonshotai/kimi-k2-instruct model.
23
26
  - **Parallel tool calls**: Enabled for OpenAI provider when tools are available.
24
27
  - **No-tools mode**: New CLI option to disable all tool usage.
25
28
  - **Disabled tools functionality**: Support for selectively disabling specific tools.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.9.0
3
+ Version: 2.10.0
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
@@ -35,7 +35,8 @@ janito -p moonshotai "Your prompt here"
35
35
 
36
36
  Janito supports the following MoonshotAI models:
37
37
 
38
- - `kimi-k2-0711-preview` (default) - Advanced reasoning model with 128k context window
38
+ - `kimi-k2-turbo-preview` (default) - Advanced reasoning model with 128k context window
39
+ - `kimi-k2-turbo-preview` - Turbo version of the advanced reasoning model with 128k context window
39
40
  - `kimi-k1-8k` - Standard model with 8k context window
40
41
  - `kimi-k1-32k` - Standard model with 32k context window
41
42
  - `kimi-k1-128k` - Standard model with 128k context window
@@ -18,11 +18,19 @@ This page lists the supported providers and their available models.
18
18
  - Claude 3 Haiku
19
19
 
20
20
  ## MoonshotAI
21
- - Moonshot-v1-8k
22
- - Moonshot-v1-32k
21
+ - kimi-k2-turbo-preview
22
+ - kimi-k2-turbo-preview
23
+ - kimi-k1-8k
24
+ - kimi-k1-32k
25
+ - kimi-k1-128k
23
26
 
24
- ## Groq
25
27
  - Llama-3-8b-8192
26
28
  - Llama-3-70b-8192
27
29
 
30
+ ## Alibaba
31
+ - qwen-turbo
32
+ - qwen-plus
33
+ - qwen-max
34
+ - qwen3-coder-plus
35
+
28
36
  <!-- Removed links to model_info.py files for all providers to avoid broken references. -->
@@ -0,0 +1,149 @@
1
+ # Janito CLI
2
+
3
+ A powerful command-line tool for running LLM-powered workflows with built-in tool execution capabilities.
4
+
5
+ ## Quick Start
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ pip install janito
11
+ ```
12
+
13
+ ### First-Time Setup
14
+
15
+ 1. **Get your API key**: Sign up at [Moonshot AI](https://platform.moonshot.cn/) and get your API key
16
+ 2. **Set your API key**:
17
+ ```bash
18
+ janito --set-api-key YOUR_MOONSHOT_API_KEY -p moonshotai
19
+ ```
20
+
21
+ ### Basic Usage
22
+
23
+ **MoonshotAI (Recommended - Default Provider)**
24
+ ```bash
25
+ # Using the default provider (moonshotai) and model
26
+ janito "Create a Python script that reads a CSV file"
27
+
28
+ # Using a specific MoonshotAI model
29
+ janito -m kimi-k1-8k "Explain quantum computing"
30
+ ```
31
+
32
+ **Other Providers**
33
+ ```bash
34
+ # OpenAI
35
+ janito -p openai -m gpt-4 "Write a React component"
36
+
37
+ # Anthropic
38
+ janito -p anthropic -m claude-3-5-sonnet-20241022 "Analyze this code"
39
+
40
+ # Google
41
+ janito -p google -m gemini-2.0-flash-exp "Generate unit tests"
42
+ ```
43
+
44
+ ### Interactive Chat Mode
45
+
46
+ Start an interactive session:
47
+ ```bash
48
+ janito --chat
49
+ ```
50
+
51
+ In chat mode, you can:
52
+
53
+ - Have multi-turn conversations
54
+ - Execute code and commands
55
+ - Read and write files
56
+ - Use built-in tools
57
+
58
+ ### Available Commands
59
+
60
+ - `janito --list-providers` - List all supported providers
61
+ - `janito --list-models` - List all available models
62
+ - `janito --list-tools` - List available tools
63
+ - `janito --show-config` - Show current configuration
64
+
65
+ ### Configuration
66
+
67
+ Set default provider and model:
68
+ ```bash
69
+ janito --set provider=moonshotai
70
+ janito --set model=kimi-k1-8k
71
+ ```
72
+
73
+ ## Providers
74
+
75
+ ### MoonshotAI (Recommended)
76
+
77
+ - **Models**: kimi-k1-8k, kimi-k1-32k, kimi-k1-128k, kimi-k2-turbo-preview
78
+ - **Strengths**: Excellent Chinese/English support, competitive pricing, fast responses
79
+ - **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.cn/)
80
+
81
+ ### OpenAI
82
+
83
+ - **Models**: gpt-4, gpt-4-turbo, gpt-3.5-turbo
84
+ - **Setup**: Get API key from [OpenAI Platform](https://platform.openai.com/)
85
+
86
+ ### Anthropic
87
+
88
+ - **Models**: claude-3-5-sonnet-20241022, claude-3-opus-20240229
89
+ - **Setup**: Get API key from [Anthropic Console](https://console.anthropic.com/)
90
+
91
+ ### Google
92
+
93
+ - **Models**: gemini-2.0-flash-exp, gemini-1.5-pro
94
+ - **Setup**: Get API key from [Google AI Studio](https://makersuite.google.com/)
95
+
96
+ ## Advanced Features
97
+
98
+ ### Tool Usage
99
+
100
+ Janito includes powerful built-in tools for:
101
+
102
+ - File operations (read, write, search)
103
+ - Code execution
104
+ - Web scraping
105
+ - System commands
106
+ - And more...
107
+
108
+ ### Profiles and Roles
109
+ Use predefined system prompts:
110
+ ```bash
111
+ janito --profile developer "Create a REST API"
112
+ janito --role python-expert "Optimize this algorithm"
113
+ ```
114
+
115
+ ### Environment Variables
116
+ You can also configure via environment variables:
117
+ ```bash
118
+ export MOONSHOTAI_API_KEY=your_key_here
119
+ export JANITO_PROVIDER=moonshotai
120
+ export JANITO_MODEL=kimi-k1-8k
121
+ ```
122
+
123
+ ## Examples
124
+
125
+ ### Code Generation
126
+ ```bash
127
+ janito "Create a Python FastAPI application with user authentication"
128
+ ```
129
+
130
+ ### File Analysis
131
+ ```bash
132
+ janito "Analyze the performance bottlenecks in my_app.py"
133
+ ```
134
+
135
+ ### Data Processing
136
+ ```bash
137
+ janito "Process this CSV file and generate summary statistics"
138
+ ```
139
+
140
+ ### Web Development
141
+ ```bash
142
+ janito "Create a responsive landing page with Tailwind CSS"
143
+ ```
144
+
145
+ ## Support
146
+
147
+ - **Documentation**: Check individual provider directories for detailed setup guides
148
+ - **Issues**: Report bugs and feature requests on GitHub
149
+ - **Discord**: Join our community for help and discussions
@@ -52,8 +52,8 @@ class ChatScriptRunner:
52
52
  inputs: List[str],
53
53
  *,
54
54
  console: Optional[Console] = None,
55
- provider: str = "openai",
56
- model: str = "gpt-4.1",
55
+ provider: str = "moonshotai",
56
+ model: str = "kimi-k1-8k",
57
57
  use_real_agent: bool = True,
58
58
  **chat_session_kwargs,
59
59
  ) -> None:
@@ -214,7 +214,7 @@ class JanitoCLI:
214
214
 
215
215
  self.parser = argparse.ArgumentParser(
216
216
  description="Janito CLI - A tool for running LLM-powered workflows from the command line."
217
- "\n\nExample usage: janito -p openai -m gpt-3.5-turbo 'Your prompt here'\n\n"
217
+ "\n\nExample usage: janito -p moonshotai -m kimi-k1-8k 'Your prompt here'\n\n"
218
218
  "Use -m or --model to set the model for the session."
219
219
  )
220
220
  self._define_args()
@@ -0,0 +1,117 @@
1
+ # Getting Started with Janito
2
+
3
+ This guide will help you set up Janito CLI quickly and start using it with MoonshotAI as your default provider.
4
+
5
+ ## Quick Setup (2 minutes)
6
+
7
+ ### 1. Install Janito
8
+ ```bash
9
+ pip install janito
10
+ ```
11
+
12
+ ### 2. Get Your MoonshotAI API Key
13
+
14
+ 1. Go to [Moonshot AI Platform](https://platform.moonshot.cn/)
15
+ 2. Sign up for an account
16
+ 3. Navigate to API Keys section
17
+ 4. Create a new API key
18
+
19
+ ### 3. Configure Janito
20
+ ```bash
21
+ # Set MoonshotAI as your default provider
22
+ janito --set-api-key YOUR_API_KEY -p moonshotai
23
+
24
+ # Verify it's working
25
+ janito "Hello, can you introduce yourself?"
26
+ ```
27
+
28
+ ## Your First Commands
29
+
30
+ ### Basic Usage
31
+ ```bash
32
+ # Simple prompt
33
+ janito "Create a Python script to calculate fibonacci numbers"
34
+
35
+ # With specific model
36
+ janito -m kimi-k1-8k "Explain machine learning in simple terms"
37
+
38
+ # Interactive chat mode
39
+ janito --chat
40
+ ```
41
+
42
+ ### Working with Files
43
+ ```bash
44
+ # Analyze a file
45
+ janito "Analyze the performance of my_app.py" < my_app.py
46
+
47
+ # Generate code in a specific directory
48
+ janito -W ./my_project "Create a REST API with FastAPI"
49
+ ```
50
+
51
+ ## Configuration Options
52
+
53
+ ### Set as Default Provider
54
+ ```bash
55
+ # Make MoonshotAI your permanent default
56
+ janito --set provider=moonshotai
57
+ janito --set model=kimi-k1-8k
58
+ ```
59
+
60
+ ### Environment Variables
61
+ You can also use environment variables:
62
+ ```bash
63
+ export MOONSHOTAI_API_KEY=your_key_here
64
+ export JANITO_PROVIDER=moonshotai
65
+ export JANITO_MODEL=kimi-k1-8k
66
+ ```
67
+
68
+ ## MoonshotAI Models
69
+
70
+ Janito supports these MoonshotAI models:
71
+
72
+ - **kimi-k1-8k**: Fast responses, good for general tasks
73
+ - **kimi-k1-32k**: Better for longer contexts
74
+ - **kimi-k1-128k**: Best for very long documents
75
+ - **kimi-k2-turbo-preview**: Latest model with enhanced capabilities
76
+ - **kimi-k2-turbo-preview**: Turbo version of the advanced reasoning model
77
+
78
+ ## Next Steps
79
+
80
+ 1. **Explore tools**: Run `janito --list-tools` to see available tools
81
+ 2. **Try chat mode**: Run `janito --chat` for interactive sessions
82
+ 3. **Check examples**: Look at the main README.md for more usage examples
83
+ 4. **Join community**: Get help and share tips with other users
84
+
85
+ ## Troubleshooting
86
+
87
+ ### Common Issues
88
+
89
+ **"Provider not found" error**
90
+ ```bash
91
+ # Check available providers
92
+ janito --list-providers
93
+
94
+ # Re-register MoonshotAI
95
+ janito --set-api-key YOUR_KEY -p moonshotai
96
+ ```
97
+
98
+ **"Model not available" error**
99
+ ```bash
100
+ # List available MoonshotAI models
101
+ janito -p moonshotai --list-models
102
+ ```
103
+
104
+ **API key issues**
105
+ ```bash
106
+ # Check current configuration
107
+ janito --show-config
108
+
109
+ # Reset API key
110
+ janito --set-api-key NEW_KEY -p moonshotai
111
+ ```
112
+
113
+ ### Getting Help
114
+
115
+ - Check the main README.md for comprehensive documentation
116
+ - Use `janito --help` for command-line options
117
+ - Visit our GitHub repository for issues and discussions
@@ -0,0 +1,224 @@
1
+ # Provider Configuration Guide
2
+
3
+ This guide covers how to configure and use different LLM providers with Janito.
4
+
5
+ ## MoonshotAI (Recommended)
6
+
7
+ **MoonshotAI** is the recommended default provider for Janito, offering excellent performance and competitive pricing.
8
+
9
+ ### Setup
10
+ ```bash
11
+ # Set API key
12
+ janito --set-api-key YOUR_API_KEY -p moonshotai
13
+
14
+ # Set as default provider
15
+ janito --set provider=moonshotai
16
+ janito --set model=kimi-k1-8k
17
+ ```
18
+
19
+ ### Available Models
20
+
21
+ - **kimi-k1-8k**: Fast, general-purpose model (8k context)
22
+ - **kimi-k1-32k**: Extended context model (32k context)
23
+ - **kimi-k1-128k**: Long context model (128k context)
24
+ - **kimi-k2-turbo-preview**: Latest enhanced model
25
+
26
+ ### Environment Variables
27
+ ```bash
28
+ export MOONSHOTAI_API_KEY=your_key_here
29
+ ```
30
+
31
+ ## OpenAI
32
+
33
+ ### Setup
34
+ ```bash
35
+ # Set API key
36
+ janito --set-api-key YOUR_API_KEY -p openai
37
+
38
+ # Use specific model
39
+ janito -p openai -m gpt-4 "Your prompt"
40
+ ```
41
+
42
+ ### Available Models
43
+
44
+ - **gpt-4**: Most capable model
45
+ - **gpt-4-turbo**: Faster, more efficient
46
+ - **gpt-3.5-turbo**: Cost-effective option
47
+
48
+ ### Environment Variables
49
+ ```bash
50
+ export OPENAI_API_KEY=your_key_here
51
+ ```
52
+
53
+ ## Anthropic
54
+
55
+ ### Setup
56
+ ```bash
57
+ # Set API key
58
+ janito --set-api-key YOUR_API_KEY -p anthropic
59
+
60
+ # Use Claude models
61
+ janito -p anthropic -m claude-3-5-sonnet-20241022 "Your prompt"
62
+ ```
63
+
64
+ ### Available Models
65
+
66
+ - **claude-3-5-sonnet-20241022**: Most capable
67
+ - **claude-3-opus-20240229**: High performance
68
+ - **claude-3-haiku-20240307**: Fast and cost-effective
69
+
70
+ ### Environment Variables
71
+ ```bash
72
+ export ANTHROPIC_API_KEY=your_key_here
73
+ ```
74
+
75
+ ## Google
76
+
77
+ ### Setup
78
+ ```bash
79
+ # Set API key
80
+ janito --set-api-key YOUR_API_KEY -p google
81
+
82
+ # Use Gemini models
83
+ janito -p google -m gemini-2.0-flash-exp "Your prompt"
84
+ ```
85
+
86
+ ### Available Models
87
+
88
+ - **gemini-2.0-flash-exp**: Latest experimental model
89
+ - **gemini-1.5-pro**: Production-ready
90
+ - **gemini-1.5-flash**: Fast and efficient
91
+
92
+ ### Environment Variables
93
+ ```bash
94
+ export GOOGLE_API_KEY=your_key_here
95
+ ```
96
+
97
+ ## Azure OpenAI
98
+
99
+ ### Setup
100
+ ```bash
101
+ # Set configuration
102
+ janito --set-api-key YOUR_API_KEY -p azure-openai
103
+ janito --set azure_deployment_name=your_deployment_name -p azure-openai
104
+ ```
105
+
106
+ ### Configuration
107
+
108
+ Requires both API key and deployment name:
109
+
110
+ - **API Key**: Your Azure OpenAI key
111
+ - **Deployment Name**: Your Azure deployment name
112
+ - **Base URL**: Your Azure endpoint URL
113
+
114
+ ### Environment Variables
115
+ ```bash
116
+ export AZURE_OPENAI_API_KEY=your_key_here
117
+ export AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
118
+ ```
119
+
120
+ ## Other Providers
121
+
122
+ Janito also supports these providers through OpenAI-compatible APIs:
123
+
124
+ ### Alibaba Cloud
125
+ ```bash
126
+ janito --set-api-key YOUR_KEY -p alibaba
127
+ ```
128
+
129
+ ### DeepSeek
130
+ ```bash
131
+ janito --set-api-key YOUR_KEY -p deepseek
132
+ ```
133
+
134
+ ### Groq
135
+ ```bash
136
+ janito --set-api-key YOUR_KEY -p groq
137
+ ```
138
+
139
+ ### Mistral
140
+ ```bash
141
+ janito --set-api-key YOUR_KEY -p mistral
142
+ ```
143
+
144
+ ## Configuration Management
145
+
146
+ ### Check Current Configuration
147
+ ```bash
148
+ janito --show-config
149
+ ```
150
+
151
+ ### List All Providers
152
+ ```bash
153
+ janito --list-providers
154
+ ```
155
+
156
+ ### List Models for a Provider
157
+ ```bash
158
+ janito -p moonshotai --list-models
159
+ janito -p openai --list-models
160
+ ```
161
+
162
+ ### Switch Providers
163
+ ```bash
164
+ # Temporarily for one command
165
+ janito -p openai -m gpt-4 "Your prompt"
166
+
167
+ # Permanently as default
168
+ janito --set provider=openai
169
+ janito --set model=gpt-4
170
+ ```
171
+
172
+ ## Advanced Configuration
173
+
174
+ ### Custom Base URLs
175
+ For OpenAI-compatible providers, you can set custom base URLs:
176
+
177
+ ```bash
178
+ janito --set base_url=https://your-custom-endpoint.com -p openai
179
+ ```
180
+
181
+ ### Provider-Specific Settings
182
+ Each provider can have custom settings:
183
+
184
+ ```bash
185
+ # Set temperature for a specific provider/model
186
+ janito --set temperature=0.7 -p moonshotai -m kimi-k1-8k
187
+
188
+ # Set max tokens
189
+ janito --set max_tokens=2000 -p openai -m gpt-4
190
+ ```
191
+
192
+ ## Troubleshooting
193
+
194
+ ### Provider Not Found
195
+ ```bash
196
+ # Check if provider is registered
197
+ janito --list-providers
198
+
199
+ # Re-register provider
200
+ janito --set-api-key YOUR_KEY -p PROVIDER_NAME
201
+ ```
202
+
203
+ ### API Key Issues
204
+ ```bash
205
+ # Check current API key
206
+ janito --show-config
207
+
208
+ # Reset API key
209
+ janito --set-api-key NEW_KEY -p PROVIDER_NAME
210
+ ```
211
+
212
+ ### Model Not Available
213
+ ```bash
214
+ # List available models for provider
215
+ janito -p PROVIDER_NAME --list-models
216
+ ```
217
+
218
+ ## Best Practices
219
+
220
+ 1. **Start with MoonshotAI**: It's the recommended default for good reason
221
+ 2. **Use environment variables**: For CI/CD and containerized environments
222
+ 3. **Test different models**: Each has different strengths and pricing
223
+ 4. **Monitor usage**: Keep track of API costs and rate limits
224
+ 5. **Use profiles**: Set up different configurations for different use cases
@@ -63,6 +63,13 @@ class AzureOpenAIModelDriver(OpenAIModelDriver):
63
63
 
64
64
  def _instantiate_openai_client(self, config):
65
65
  try:
66
+ if not config.api_key:
67
+ provider_name = getattr(self, 'provider_name', 'Azure OpenAI')
68
+ print(f"[ERROR] No API key found for provider '{provider_name}'. Please set the API key using:")
69
+ print(f" janito --set-api-key YOUR_API_KEY -p azure-openai")
70
+ print(f"Or set the AZURE_OPENAI_API_KEY environment variable.")
71
+ raise ValueError(f"API key is required for provider '{provider_name}'")
72
+
66
73
  from openai import AzureOpenAI
67
74
 
68
75
  api_key_display = str(config.api_key)
@@ -246,6 +246,13 @@ class OpenAIModelDriver(LLMDriver):
246
246
 
247
247
  def _instantiate_openai_client(self, config):
248
248
  try:
249
+ if not config.api_key:
250
+ provider_name = getattr(self, 'provider_name', 'OpenAI-compatible')
251
+ print(f"[ERROR] No API key found for provider '{provider_name}'. Please set the API key using:")
252
+ print(f" janito --set-api-key YOUR_API_KEY -p {provider_name.lower()}")
253
+ print(f"Or set the {provider_name.upper()}_API_KEY environment variable.")
254
+ raise ValueError(f"API key is required for provider '{provider_name}'")
255
+
249
256
  api_key_display = str(config.api_key)
250
257
  if api_key_display and len(api_key_display) > 8:
251
258
  api_key_display = api_key_display[:4] + "..." + api_key_display[-4:]
@@ -0,0 +1,40 @@
1
+ site_name: Janito CLI Documentation
2
+ site_description: A powerful command-line tool for running LLM-powered workflows
3
+ site_url: https://janito.readthedocs.io/
4
+
5
+ nav:
6
+ - Home: README.md
7
+ - Getting Started: docs/GETTING_STARTED.md
8
+ - Providers: docs/PROVIDERS.md
9
+ - Tools: docs/TOOLS_REFERENCE.md
10
+
11
+ markdown_extensions:
12
+ - admonition
13
+ - codehilite
14
+ - toc:
15
+ permalink: true
16
+ - pymdownx.superfences
17
+ - pymdownx.tabbed:
18
+ alternate_style: true
19
+
20
+ theme:
21
+ name: material
22
+ palette:
23
+ - scheme: default
24
+ primary: blue
25
+ accent: blue
26
+ features:
27
+ - navigation.tabs
28
+ - navigation.sections
29
+ - navigation.expand
30
+ - search.highlight
31
+ - search.share
32
+
33
+ repo_url: https://github.com/ikignosis/janito
34
+ repo_name: ikignosis/janito
35
+ edit_uri: edit/main/docs/
36
+
37
+ extra:
38
+ social:
39
+ - icon: fontawesome/brands/github
40
+ link: https://github.com/ikignosis/janito
@@ -93,11 +93,21 @@ class ProviderRegistry:
93
93
  model_specs = model_info_mod.MODEL_SPECS
94
94
  elif hasattr(model_info_mod, "MOONSHOTAI_MODEL_SPECS"):
95
95
  model_specs = model_info_mod.MOONSHOTAI_MODEL_SPECS
96
-
97
- if provider_name == "groq":
98
- return "<any> (must be provided)"
96
+
99
97
  if model_specs:
100
- return ", ".join(model_specs.keys())
98
+ default_model = getattr(provider_class, "DEFAULT_MODEL", None)
99
+ model_names = []
100
+
101
+ for model_key in model_specs.keys():
102
+ if model_key == default_model:
103
+ # Highlight the default model with color and star icon
104
+ model_names.append(f"[bold green]⭐ {model_key}[/bold green]")
105
+ else:
106
+ model_names.append(model_key)
107
+
108
+ if provider_name == "moonshotai":
109
+ return ", ".join(model_names)
110
+ return ", ".join(model_names)
101
111
  return "-"
102
112
  except Exception as e:
103
113
  return "-"
@@ -5,4 +5,4 @@ import janito.providers.azure_openai.provider
5
5
  import janito.providers.anthropic.provider
6
6
  import janito.providers.deepseek.provider
7
7
  import janito.providers.moonshotai.provider
8
- import janito.providers.groq.provider
8
+ import janito.providers.alibaba.provider
File without changes