janito 3.11.0__tar.gz → 3.11.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 (489) hide show
  1. {janito-3.11.0 → janito-3.11.1}/.github/workflows/python-app.yml.disabled +35 -35
  2. {janito-3.11.0 → janito-3.11.1}/PKG-INFO +85 -84
  3. janito-3.11.1/README-dev.md +164 -0
  4. {janito-3.11.0 → janito-3.11.1}/RELEASE_COMPARISON.md +117 -117
  5. {janito-3.11.0 → janito-3.11.1}/adding_mcp.txt +138 -138
  6. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/RELEASE_NOTES_2.22.0.md +86 -86
  7. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/RELEASE_NOTES_2.24.1.md +86 -86
  8. {janito-3.11.0 → janito-3.11.1}/docs/guides/configuration.md +79 -76
  9. {janito-3.11.0 → janito-3.11.1}/docs/guides/developing.md +29 -29
  10. {janito-3.11.0 → janito-3.11.1}/docs/guides/installation.md +41 -39
  11. {janito-3.11.0 → janito-3.11.1}/docs/guides/read-chart-examples.md +180 -176
  12. {janito-3.11.0 → janito-3.11.1}/docs/guides/single-shot-terminal.md +42 -30
  13. {janito-3.11.0 → janito-3.11.1}/docs/guides/terminal-shell.md +98 -85
  14. {janito-3.11.0 → janito-3.11.1}/docs/guides/using.md +30 -33
  15. {janito-3.11.0 → janito-3.11.1}/docs/guides/using_tools.md +21 -20
  16. {janito-3.11.0 → janito-3.11.1}/docs/index.md +68 -67
  17. {janito-3.11.0 → janito-3.11.1}/docs/meta/developer-toolchain.md +1 -1
  18. {janito-3.11.0 → janito-3.11.1}/docs/mistral-setup.md +179 -179
  19. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/system.md +87 -61
  20. {janito-3.11.0 → janito-3.11.1}/docs/plugins/publishing.md +252 -252
  21. {janito-3.11.0 → janito-3.11.1}/docs/plugins/testing.md +252 -252
  22. {janito-3.11.0 → janito-3.11.1}/docs/reference/cli-options.md +123 -122
  23. {janito-3.11.0 → janito-3.11.1}/docs/reference/rich-message-handler.md +57 -39
  24. {janito-3.11.0 → janito-3.11.1}/docs/tools/show-image-grid.md +23 -19
  25. {janito-3.11.0 → janito-3.11.1}/docs/tools/show-image.md +20 -16
  26. {janito-3.11.0 → janito-3.11.1}/docs/tools-index.md +179 -133
  27. {janito-3.11.0 → janito-3.11.1}/janito/README.md +191 -191
  28. {janito-3.11.0 → janito-3.11.1}/janito/_version.py +55 -55
  29. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_drivers.py +162 -162
  30. janito-3.11.1/janito/cli/console.py +3 -0
  31. {janito-3.11.0 → janito-3.11.1}/janito/cli/rich_terminal_reporter.py +2 -4
  32. {janito-3.11.0 → janito-3.11.1}/janito/docs/GETTING_STARTED.md +189 -189
  33. {janito-3.11.0 → janito-3.11.1}/janito/plugins/discovery.py +289 -289
  34. {janito-3.11.0 → janito-3.11.1}/janito.egg-info/PKG-INFO +85 -84
  35. {janito-3.11.0 → janito-3.11.1}/janito.egg-info/SOURCES.txt +4 -1
  36. {janito-3.11.0 → janito-3.11.1}/janito.egg-info/requires.txt +3 -3
  37. janito-3.11.1/janito.egg-info/top_level.txt +1 -0
  38. janito-3.11.1/mkdocs.log +75 -0
  39. {janito-3.11.0 → janito-3.11.1}/pyproject.toml +50 -44
  40. {janito-3.11.0 → janito-3.11.1}/requirements-dev.txt +16 -11
  41. {janito-3.11.0 → janito-3.11.1}/setup.cfg +4 -4
  42. janito-3.11.1/tux.svg +438 -0
  43. janito-3.11.1/tux_dynamic.png +0 -0
  44. janito-3.11.1/uv.lock +2540 -0
  45. janito-3.11.0/README-dev.md +0 -77
  46. janito-3.11.0/janito/cli/console.py +0 -3
  47. janito-3.11.0/janito/mkdocs.yml +0 -40
  48. janito-3.11.0/janito.egg-info/top_level.txt +0 -2
  49. {janito-3.11.0 → janito-3.11.1}/.codespellrc +0 -0
  50. {janito-3.11.0 → janito-3.11.1}/.gitattributes +0 -0
  51. {janito-3.11.0 → janito-3.11.1}/.gitignore +0 -0
  52. {janito-3.11.0 → janito-3.11.1}/.pre-commit-config.yaml +0 -0
  53. {janito-3.11.0 → janito-3.11.1}/.secrets.baseline +0 -0
  54. {janito-3.11.0 → janito-3.11.1}/.vscode/settings.json +0 -0
  55. {janito-3.11.0 → janito-3.11.1}/LICENSE +0 -0
  56. {janito-3.11.0 → janito-3.11.1}/MARKET_ANALYST_README.md +0 -0
  57. {janito-3.11.0 → janito-3.11.1}/README.md +0 -0
  58. {janito-3.11.0 → janito-3.11.1}/UPDATING_DOCS.md +0 -0
  59. {janito-3.11.0 → janito-3.11.1}/docs/CHANGELOG.md +0 -0
  60. {janito-3.11.0 → janito-3.11.1}/docs/DIV.md +0 -0
  61. {janito-3.11.0 → janito-3.11.1}/docs/Interfaces.txt +0 -0
  62. {janito-3.11.0 → janito-3.11.1}/docs/PROFILES.md +0 -0
  63. {janito-3.11.0 → janito-3.11.1}/docs/TOOLBAR-STYLING.md +0 -0
  64. {janito-3.11.0 → janito-3.11.1}/docs/about/costs.md +0 -0
  65. {janito-3.11.0 → janito-3.11.1}/docs/about/vs-webchats.md +0 -0
  66. {janito-3.11.0 → janito-3.11.1}/docs/about/why.md +0 -0
  67. {janito-3.11.0 → janito-3.11.1}/docs/agent/agent-lifecycle.md +0 -0
  68. {janito-3.11.0 → janito-3.11.1}/docs/agent/tools-workflow-lifecycle.md +0 -0
  69. {janito-3.11.0 → janito-3.11.1}/docs/alibaba-setup.md +0 -0
  70. {janito-3.11.0 → janito-3.11.1}/docs/alternatives.md +0 -0
  71. {janito-3.11.0 → janito-3.11.1}/docs/cerebras-setup.md +0 -0
  72. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/CHANGELOG.md +0 -0
  73. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/CHANGELOG_2.16.0.md +0 -0
  74. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/CHANGELOG_2.23.0.md +0 -0
  75. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/CHANGELOG_2.26.0.md +0 -0
  76. {janito-3.11.0 → janito-3.11.1}/docs/changelogs/CHANGELOG_2.27.0.md +0 -0
  77. {janito-3.11.0 → janito-3.11.1}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  78. {janito-3.11.0 → janito-3.11.1}/docs/code_intelligence/code-generation-challenges.md +0 -0
  79. {janito-3.11.0 → janito-3.11.1}/docs/code_intelligence/code-generation-observability.md +0 -0
  80. {janito-3.11.0 → janito-3.11.1}/docs/code_intelligence/our-approach.md +0 -0
  81. {janito-3.11.0 → janito-3.11.1}/docs/code_intelligence/why-string-replacement.md +0 -0
  82. {janito-3.11.0 → janito-3.11.1}/docs/concepts/analysis-style.md +0 -0
  83. {janito-3.11.0 → janito-3.11.1}/docs/concepts/human-guided-ai.md +0 -0
  84. {janito-3.11.0 → janito-3.11.1}/docs/concepts/index.md +0 -0
  85. {janito-3.11.0 → janito-3.11.1}/docs/concepts/language-model-clients.md +0 -0
  86. {janito-3.11.0 → janito-3.11.1}/docs/concepts/prompt-design-style.md +0 -0
  87. {janito-3.11.0 → janito-3.11.1}/docs/deepseek-setup.md +0 -0
  88. {janito-3.11.0 → janito-3.11.1}/docs/driver-flow.md +0 -0
  89. {janito-3.11.0 → janito-3.11.1}/docs/driver-request-cancellation.md +0 -0
  90. {janito-3.11.0 → janito-3.11.1}/docs/drivers/events.md +0 -0
  91. {janito-3.11.0 → janito-3.11.1}/docs/drivers.md +0 -0
  92. {janito-3.11.0 → janito-3.11.1}/docs/event-bus.md +0 -0
  93. {janito-3.11.0 → janito-3.11.1}/docs/guides/disabled-tools.md +0 -0
  94. {janito-3.11.0 → janito-3.11.1}/docs/guides/market-data-sources.md +0 -0
  95. {janito-3.11.0 → janito-3.11.1}/docs/guides/profiles.md +0 -0
  96. {janito-3.11.0 → janito-3.11.1}/docs/guides/prompting/README.md +0 -0
  97. {janito-3.11.0 → janito-3.11.1}/docs/guides/security-commands.md +0 -0
  98. {janito-3.11.0 → janito-3.11.1}/docs/guides/stock-market-guide.md +0 -0
  99. {janito-3.11.0 → janito-3.11.1}/docs/guides/tools-developer-guide.md +0 -0
  100. {janito-3.11.0 → janito-3.11.1}/docs/guides/url-whitelist.md +0 -0
  101. {janito-3.11.0 → janito-3.11.1}/docs/ibm-setup.md +0 -0
  102. {janito-3.11.0 → janito-3.11.1}/docs/imgs/code-generation-observability.png +0 -0
  103. {janito-3.11.0 → janito-3.11.1}/docs/imgs/code_generation_observability.png +0 -0
  104. {janito-3.11.0 → janito-3.11.1}/docs/imgs/happy-programmer.png +0 -0
  105. {janito-3.11.0 → janito-3.11.1}/docs/imgs/happy-programmer.svg +0 -0
  106. {janito-3.11.0 → janito-3.11.1}/docs/imgs/terminal-one-shot.png +0 -0
  107. {janito-3.11.0 → janito-3.11.1}/docs/imgs/terminal-shell.png +0 -0
  108. {janito-3.11.0 → janito-3.11.1}/docs/imgs/terminal_one_shot.png +0 -0
  109. {janito-3.11.0 → janito-3.11.1}/docs/imgs/terminal_shell.png +0 -0
  110. {janito-3.11.0 → janito-3.11.1}/docs/llm-drivers-required-config.md +0 -0
  111. {janito-3.11.0 → janito-3.11.1}/docs/llm-drivers.md +0 -0
  112. {janito-3.11.0 → janito-3.11.1}/docs/meta/quality-checks.txt +0 -0
  113. {janito-3.11.0 → janito-3.11.1}/docs/moonshot-setup.md +0 -0
  114. {janito-3.11.0 → janito-3.11.1}/docs/openai-setup.md +0 -0
  115. {janito-3.11.0 → janito-3.11.1}/docs/overrides/partials/copyright.html +0 -0
  116. {janito-3.11.0 → janito-3.11.1}/docs/plugins/README.md +0 -0
  117. {janito-3.11.0 → janito-3.11.1}/docs/plugins/api-reference.md +0 -0
  118. {janito-3.11.0 → janito-3.11.1}/docs/plugins/architecture.md +0 -0
  119. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/codeanalyzer.md +0 -0
  120. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/filemanager.md +0 -0
  121. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/imagedisplay.md +0 -0
  122. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/pythondev.md +0 -0
  123. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/userinterface.md +0 -0
  124. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/visualization.md +0 -0
  125. {janito-3.11.0 → janito-3.11.1}/docs/plugins/built-in-plugins/webtools.md +0 -0
  126. {janito-3.11.0 → janito-3.11.1}/docs/plugins/configuration.md +0 -0
  127. {janito-3.11.0 → janito-3.11.1}/docs/plugins/examples/advanced.md +0 -0
  128. {janito-3.11.0 → janito-3.11.1}/docs/plugins/examples/basic.md +0 -0
  129. {janito-3.11.0 → janito-3.11.1}/docs/plugins/examples/intermediate.md +0 -0
  130. {janito-3.11.0 → janito-3.11.1}/docs/plugins/plugin-development.md +0 -0
  131. {janito-3.11.0 → janito-3.11.1}/docs/plugins/plugin-resources.md +0 -0
  132. {janito-3.11.0 → janito-3.11.1}/docs/plugins/remote-plugins.md +0 -0
  133. {janito-3.11.0 → janito-3.11.1}/docs/provider-platform-access.md +0 -0
  134. {janito-3.11.0 → janito-3.11.1}/docs/public-sources.md +0 -0
  135. {janito-3.11.0 → janito-3.11.1}/docs/reference/api.md +0 -0
  136. {janito-3.11.0 → janito-3.11.1}/docs/reference/azure-openai.md +0 -0
  137. {janito-3.11.0 → janito-3.11.1}/docs/reference/message-handler-model.md +0 -0
  138. {janito-3.11.0 → janito-3.11.1}/docs/security.md +0 -0
  139. {janito-3.11.0 → janito-3.11.1}/docs/supported-providers-models.md +0 -0
  140. {janito-3.11.0 → janito-3.11.1}/docs/tools/search-text.md +0 -0
  141. {janito-3.11.0 → janito-3.11.1}/docs/tools-natural-results.md +0 -0
  142. {janito-3.11.0 → janito-3.11.1}/docs/tools-precision.md +0 -0
  143. {janito-3.11.0 → janito-3.11.1}/docs/z-ai-setup.md +0 -0
  144. {janito-3.11.0 → janito-3.11.1}/examples/loop_protection_example.py +0 -0
  145. {janito-3.11.0 → janito-3.11.1}/examples/loop_protection_tool_example.py +0 -0
  146. {janito-3.11.0 → janito-3.11.1}/get_nasdaq_top.py +0 -0
  147. {janito-3.11.0 → janito-3.11.1}/ibm-logo.txt +0 -0
  148. {janito-3.11.0 → janito-3.11.1}/janito/__init__.py +0 -0
  149. {janito-3.11.0 → janito-3.11.1}/janito/__main__.py +0 -0
  150. {janito-3.11.0 → janito-3.11.1}/janito/agent/setup_agent.py +0 -0
  151. {janito-3.11.0 → janito-3.11.1}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  152. {janito-3.11.0 → janito-3.11.1}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  153. {janito-3.11.0 → janito-3.11.1}/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -0
  154. {janito-3.11.0 → janito-3.11.1}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  155. {janito-3.11.0 → janito-3.11.1}/janito/agent_events.py +0 -0
  156. {janito-3.11.0 → janito-3.11.1}/janito/cli/__init__.py +0 -0
  157. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/bindings.py +0 -0
  158. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/chat_entry.py +0 -0
  159. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/prompt_style.py +0 -0
  160. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/script_runner.py +0 -0
  161. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/session.py +0 -0
  162. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  163. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  164. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  165. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  166. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  167. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  168. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  169. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  170. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  171. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  172. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  173. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/interactive.py +0 -0
  174. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  175. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  176. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  177. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  178. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  179. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/provider.py +0 -0
  180. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  181. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  182. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/security/__init__.py +0 -0
  183. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +0 -0
  184. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/security_command.py +0 -0
  185. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  186. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  187. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  188. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/unrestricted.py +0 -0
  189. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  190. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  191. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  192. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  193. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/input_history.py +0 -0
  194. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  195. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/session/history.py +0 -0
  196. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  197. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  198. {janito-3.11.0 → janito-3.11.1}/janito/cli/chat_mode/toolbar.py +0 -0
  199. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/enable_disable_plugin.py +0 -0
  200. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_config.py +0 -0
  201. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_models.py +0 -0
  202. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_plugins.py +0 -0
  203. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_profiles.py +0 -0
  204. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_providers.py +0 -0
  205. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_providers_region.py +0 -0
  206. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/list_tools.py +0 -0
  207. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/model_selection.py +0 -0
  208. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/model_utils.py +0 -0
  209. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/ping_providers.py +0 -0
  210. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/set_api_key.py +0 -0
  211. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/show_config.py +0 -0
  212. {janito-3.11.0 → janito-3.11.1}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  213. {janito-3.11.0 → janito-3.11.1}/janito/cli/config.py +0 -0
  214. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/__init__.py +0 -0
  215. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/event_logger.py +0 -0
  216. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/getters.py +0 -0
  217. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/model_guesser.py +0 -0
  218. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/runner.py +0 -0
  219. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/setters.py +0 -0
  220. {janito-3.11.0 → janito-3.11.1}/janito/cli/core/unsetters.py +0 -0
  221. {janito-3.11.0 → janito-3.11.1}/janito/cli/main.py +0 -0
  222. {janito-3.11.0 → janito-3.11.1}/janito/cli/main_cli.py +0 -0
  223. {janito-3.11.0 → janito-3.11.1}/janito/cli/prompt_core.py +0 -0
  224. {janito-3.11.0 → janito-3.11.1}/janito/cli/prompt_handler.py +0 -0
  225. {janito-3.11.0 → janito-3.11.1}/janito/cli/prompt_setup.py +0 -0
  226. {janito-3.11.0 → janito-3.11.1}/janito/cli/single_shot_mode/__init__.py +0 -0
  227. {janito-3.11.0 → janito-3.11.1}/janito/cli/single_shot_mode/handler.py +0 -0
  228. {janito-3.11.0 → janito-3.11.1}/janito/cli/utils.py +0 -0
  229. {janito-3.11.0 → janito-3.11.1}/janito/cli/verbose_output.py +0 -0
  230. {janito-3.11.0 → janito-3.11.1}/janito/config.py +0 -0
  231. {janito-3.11.0 → janito-3.11.1}/janito/config_manager.py +0 -0
  232. {janito-3.11.0 → janito-3.11.1}/janito/conversation_history.py +0 -0
  233. {janito-3.11.0 → janito-3.11.1}/janito/dir_walk_utils.py +0 -0
  234. {janito-3.11.0 → janito-3.11.1}/janito/driver_events.py +0 -0
  235. {janito-3.11.0 → janito-3.11.1}/janito/drivers/azure_openai/driver.py +0 -0
  236. {janito-3.11.0 → janito-3.11.1}/janito/drivers/cerebras/__init__.py +0 -0
  237. {janito-3.11.0 → janito-3.11.1}/janito/drivers/dashscope.bak.zip +0 -0
  238. {janito-3.11.0 → janito-3.11.1}/janito/drivers/openai/README.md +0 -0
  239. {janito-3.11.0 → janito-3.11.1}/janito/drivers/openai/driver.py +0 -0
  240. {janito-3.11.0 → janito-3.11.1}/janito/drivers/openai_responses.bak.zip +0 -0
  241. {janito-3.11.0 → janito-3.11.1}/janito/drivers/zai/__init__.py +0 -0
  242. {janito-3.11.0 → janito-3.11.1}/janito/drivers/zai/driver.py +0 -0
  243. {janito-3.11.0 → janito-3.11.1}/janito/event_bus/__init__.py +0 -0
  244. {janito-3.11.0 → janito-3.11.1}/janito/event_bus/bus.py +0 -0
  245. {janito-3.11.0 → janito-3.11.1}/janito/event_bus/event.py +0 -0
  246. {janito-3.11.0 → janito-3.11.1}/janito/event_bus/handler.py +0 -0
  247. {janito-3.11.0 → janito-3.11.1}/janito/event_bus/queue_bus.py +0 -0
  248. {janito-3.11.0 → janito-3.11.1}/janito/exceptions.py +0 -0
  249. {janito-3.11.0 → janito-3.11.1}/janito/formatting.py +0 -0
  250. {janito-3.11.0 → janito-3.11.1}/janito/formatting_token.py +0 -0
  251. {janito-3.11.0 → janito-3.11.1}/janito/gitignore_utils.py +0 -0
  252. {janito-3.11.0 → janito-3.11.1}/janito/hello.txt +0 -0
  253. {janito-3.11.0 → janito-3.11.1}/janito/i18n/__init__.py +0 -0
  254. {janito-3.11.0 → janito-3.11.1}/janito/i18n/it.py +0 -0
  255. {janito-3.11.0 → janito-3.11.1}/janito/i18n/messages.py +0 -0
  256. {janito-3.11.0 → janito-3.11.1}/janito/i18n/pt.py +0 -0
  257. {janito-3.11.0 → janito-3.11.1}/janito/llm/README.md +0 -0
  258. {janito-3.11.0 → janito-3.11.1}/janito/llm/__init__.py +0 -0
  259. {janito-3.11.0 → janito-3.11.1}/janito/llm/agent.py +0 -0
  260. {janito-3.11.0 → janito-3.11.1}/janito/llm/auth.py +0 -0
  261. {janito-3.11.0 → janito-3.11.1}/janito/llm/auth_utils.py +0 -0
  262. {janito-3.11.0 → janito-3.11.1}/janito/llm/driver.py +0 -0
  263. {janito-3.11.0 → janito-3.11.1}/janito/llm/driver_config.py +0 -0
  264. {janito-3.11.0 → janito-3.11.1}/janito/llm/driver_config_builder.py +0 -0
  265. {janito-3.11.0 → janito-3.11.1}/janito/llm/driver_input.py +0 -0
  266. {janito-3.11.0 → janito-3.11.1}/janito/llm/message_parts.py +0 -0
  267. {janito-3.11.0 → janito-3.11.1}/janito/llm/model.py +0 -0
  268. {janito-3.11.0 → janito-3.11.1}/janito/llm/provider.py +0 -0
  269. {janito-3.11.0 → janito-3.11.1}/janito/perf_singleton.py +0 -0
  270. {janito-3.11.0 → janito-3.11.1}/janito/performance_collector.py +0 -0
  271. {janito-3.11.0 → janito-3.11.1}/janito/platform_discovery.py +0 -0
  272. {janito-3.11.0 → janito-3.11.1}/janito/plugins/__init__.py +0 -0
  273. {janito-3.11.0 → janito-3.11.1}/janito/plugins/auto_loader.py +0 -0
  274. {janito-3.11.0 → janito-3.11.1}/janito/plugins/auto_loader_fixed.py +0 -0
  275. {janito-3.11.0 → janito-3.11.1}/janito/plugins/base.py +0 -0
  276. {janito-3.11.0 → janito-3.11.1}/janito/plugins/builtin.py +0 -0
  277. {janito-3.11.0 → janito-3.11.1}/janito/plugins/config.py +0 -0
  278. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +0 -0
  279. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core/filemanager/tools/validate_file_syntax/core.py +0 -0
  280. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core/filemanager/tools/validate_file_syntax/txt_validator.py +0 -0
  281. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core_adapter.py +0 -0
  282. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core_loader.py +0 -0
  283. {janito-3.11.0 → janito-3.11.1}/janito/plugins/core_loader_fixed.py +0 -0
  284. {janito-3.11.0 → janito-3.11.1}/janito/plugins/discovery_core.py +0 -0
  285. {janito-3.11.0 → janito-3.11.1}/janito/plugins/manager.py +0 -0
  286. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/__init__.py +0 -0
  287. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/__init__.py +0 -0
  288. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/adapter.py +0 -0
  289. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/ask_user.py +0 -0
  290. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/copy_file.py +0 -0
  291. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/create_directory.py +0 -0
  292. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/create_file.py +0 -0
  293. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/delete_text_in_file.py +0 -0
  294. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/fetch_url.py +0 -0
  295. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/find_files.py +0 -0
  296. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/__init__.py +0 -0
  297. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/core.py +0 -0
  298. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/java_outline.py +0 -0
  299. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/markdown_outline.py +0 -0
  300. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/python_outline.py +0 -0
  301. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/get_file_outline/search_outline.py +0 -0
  302. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/move_file.py +0 -0
  303. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/open_html_in_browser.py +0 -0
  304. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/open_url.py +0 -0
  305. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/python_code_run.py +0 -0
  306. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/python_command_run.py +0 -0
  307. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/python_file_run.py +0 -0
  308. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/read_chart.py +0 -0
  309. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/read_files.py +0 -0
  310. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/remove_directory.py +0 -0
  311. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/remove_file.py +0 -0
  312. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/replace_text_in_file.py +0 -0
  313. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/run_bash_command.py +0 -0
  314. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/run_powershell_command.py +0 -0
  315. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/search_text/__init__.py +0 -0
  316. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/search_text/core.py +0 -0
  317. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/search_text/match_lines.py +0 -0
  318. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/search_text/pattern_utils.py +0 -0
  319. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/search_text/traverse_directory.py +0 -0
  320. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/show_image.py +0 -0
  321. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/show_image_grid.py +0 -0
  322. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/__init__.py +0 -0
  323. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/core.py +0 -0
  324. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/css_validator.py +0 -0
  325. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/html_validator.py +0 -0
  326. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/jinja2_validator.py +0 -0
  327. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/js_validator.py +0 -0
  328. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/json_validator.py +0 -0
  329. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/markdown_validator.py +0 -0
  330. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/ps1_validator.py +0 -0
  331. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/python_validator.py +0 -0
  332. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/txt_validator.py +0 -0
  333. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/xml_validator.py +0 -0
  334. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/validate_file_syntax/yaml_validator.py +0 -0
  335. {janito-3.11.0 → janito-3.11.1}/janito/plugins/tools/local/view_file.py +0 -0
  336. {janito-3.11.0 → janito-3.11.1}/janito/provider_config.py +0 -0
  337. {janito-3.11.0 → janito-3.11.1}/janito/provider_registry.py +0 -0
  338. {janito-3.11.0 → janito-3.11.1}/janito/providers/__init__.py +0 -0
  339. {janito-3.11.0 → janito-3.11.1}/janito/providers/alibaba/__init__.py +0 -0
  340. {janito-3.11.0 → janito-3.11.1}/janito/providers/alibaba/model_info.py +0 -0
  341. {janito-3.11.0 → janito-3.11.1}/janito/providers/alibaba/provider.py +0 -0
  342. {janito-3.11.0 → janito-3.11.1}/janito/providers/anthropic/model_info.py +0 -0
  343. {janito-3.11.0 → janito-3.11.1}/janito/providers/anthropic/provider.py +0 -0
  344. {janito-3.11.0 → janito-3.11.1}/janito/providers/azure_openai/model_info.py +0 -0
  345. {janito-3.11.0 → janito-3.11.1}/janito/providers/azure_openai/provider.py +0 -0
  346. {janito-3.11.0 → janito-3.11.1}/janito/providers/cerebras/__init__.py +0 -0
  347. {janito-3.11.0 → janito-3.11.1}/janito/providers/cerebras/model_info.py +0 -0
  348. {janito-3.11.0 → janito-3.11.1}/janito/providers/cerebras/provider.py +0 -0
  349. {janito-3.11.0 → janito-3.11.1}/janito/providers/dashscope.bak.zip +0 -0
  350. {janito-3.11.0 → janito-3.11.1}/janito/providers/deepseek/__init__.py +0 -0
  351. {janito-3.11.0 → janito-3.11.1}/janito/providers/deepseek/model_info.py +0 -0
  352. {janito-3.11.0 → janito-3.11.1}/janito/providers/deepseek/provider.py +0 -0
  353. {janito-3.11.0 → janito-3.11.1}/janito/providers/google/__init__.py +0 -0
  354. {janito-3.11.0 → janito-3.11.1}/janito/providers/google/model_info.py +0 -0
  355. {janito-3.11.0 → janito-3.11.1}/janito/providers/google/provider.py +0 -0
  356. {janito-3.11.0 → janito-3.11.1}/janito/providers/ibm/README.md +0 -0
  357. {janito-3.11.0 → janito-3.11.1}/janito/providers/ibm/__init__.py +0 -0
  358. {janito-3.11.0 → janito-3.11.1}/janito/providers/ibm/model_info.py +0 -0
  359. {janito-3.11.0 → janito-3.11.1}/janito/providers/ibm/provider.py +0 -0
  360. {janito-3.11.0 → janito-3.11.1}/janito/providers/mistral/__init__.py +0 -0
  361. {janito-3.11.0 → janito-3.11.1}/janito/providers/mistral/model_info.py +0 -0
  362. {janito-3.11.0 → janito-3.11.1}/janito/providers/mistral/provider.py +0 -0
  363. {janito-3.11.0 → janito-3.11.1}/janito/providers/moonshot/__init__.py +0 -0
  364. {janito-3.11.0 → janito-3.11.1}/janito/providers/moonshot/model_info.py +0 -0
  365. {janito-3.11.0 → janito-3.11.1}/janito/providers/moonshot/provider.py +0 -0
  366. {janito-3.11.0 → janito-3.11.1}/janito/providers/openai/__init__.py +0 -0
  367. {janito-3.11.0 → janito-3.11.1}/janito/providers/openai/model_info.py +0 -0
  368. {janito-3.11.0 → janito-3.11.1}/janito/providers/openai/provider.py +0 -0
  369. {janito-3.11.0 → janito-3.11.1}/janito/providers/openai/schema_generator.py +0 -0
  370. {janito-3.11.0 → janito-3.11.1}/janito/providers/registry.py +0 -0
  371. {janito-3.11.0 → janito-3.11.1}/janito/providers/zai/__init__.py +0 -0
  372. {janito-3.11.0 → janito-3.11.1}/janito/providers/zai/model_info.py +0 -0
  373. {janito-3.11.0 → janito-3.11.1}/janito/providers/zai/provider.py +0 -0
  374. {janito-3.11.0 → janito-3.11.1}/janito/providers/zai/schema_generator.py +0 -0
  375. {janito-3.11.0 → janito-3.11.1}/janito/regions/__init__.py +0 -0
  376. {janito-3.11.0 → janito-3.11.1}/janito/regions/cli.py +0 -0
  377. {janito-3.11.0 → janito-3.11.1}/janito/regions/geo_utils.py +0 -0
  378. {janito-3.11.0 → janito-3.11.1}/janito/regions/provider_regions.py +0 -0
  379. {janito-3.11.0 → janito-3.11.1}/janito/report_events.py +0 -0
  380. {janito-3.11.0 → janito-3.11.1}/janito/shell.bak.zip +0 -0
  381. {janito-3.11.0 → janito-3.11.1}/janito/tests/test_tool_adapter_case_insensitive.py +0 -0
  382. {janito-3.11.0 → janito-3.11.1}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  383. {janito-3.11.0 → janito-3.11.1}/janito/tools/README.md +0 -0
  384. {janito-3.11.0 → janito-3.11.1}/janito/tools/__init__.py +0 -0
  385. {janito-3.11.0 → janito-3.11.1}/janito/tools/base.py +0 -0
  386. {janito-3.11.0 → janito-3.11.1}/janito/tools/disabled_tools.py +0 -0
  387. {janito-3.11.0 → janito-3.11.1}/janito/tools/function_adapter.py +0 -0
  388. {janito-3.11.0 → janito-3.11.1}/janito/tools/inspect_registry.py +0 -0
  389. {janito-3.11.0 → janito-3.11.1}/janito/tools/loop_protection.py +0 -0
  390. {janito-3.11.0 → janito-3.11.1}/janito/tools/loop_protection_decorator.py +0 -0
  391. {janito-3.11.0 → janito-3.11.1}/janito/tools/outline_file.bak.zip +0 -0
  392. {janito-3.11.0 → janito-3.11.1}/janito/tools/path_security.py +0 -0
  393. {janito-3.11.0 → janito-3.11.1}/janito/tools/path_utils.py +0 -0
  394. {janito-3.11.0 → janito-3.11.1}/janito/tools/permissions.py +0 -0
  395. {janito-3.11.0 → janito-3.11.1}/janito/tools/permissions_parse.py +0 -0
  396. {janito-3.11.0 → janito-3.11.1}/janito/tools/tool_base.py +0 -0
  397. {janito-3.11.0 → janito-3.11.1}/janito/tools/tool_events.py +0 -0
  398. {janito-3.11.0 → janito-3.11.1}/janito/tools/tool_run_exception.py +0 -0
  399. {janito-3.11.0 → janito-3.11.1}/janito/tools/tool_use_tracker.py +0 -0
  400. {janito-3.11.0 → janito-3.11.1}/janito/tools/tool_utils.py +0 -0
  401. {janito-3.11.0 → janito-3.11.1}/janito/tools/tools_adapter.py +0 -0
  402. {janito-3.11.0 → janito-3.11.1}/janito/tools/tools_schema.py +0 -0
  403. {janito-3.11.0 → janito-3.11.1}/janito/tools/url_whitelist.py +0 -0
  404. {janito-3.11.0 → janito-3.11.1}/janito/utils.py +0 -0
  405. {janito-3.11.0 → janito-3.11.1}/janito.egg-info/dependency_links.txt +0 -0
  406. {janito-3.11.0 → janito-3.11.1}/janito.egg-info/entry_points.txt +0 -0
  407. {janito-3.11.0 → janito-3.11.1}/market_prompt_fix.py +0 -0
  408. {janito-3.11.0 → janito-3.11.1}/mkdocs.yml +0 -0
  409. {janito-3.11.0 → janito-3.11.1}/mkdocs_hooks.py +0 -0
  410. {janito-3.11.0 → janito-3.11.1}/plugins/__init__.py +0 -0
  411. {janito-3.11.0 → janito-3.11.1}/plugins/core/__init__.py +0 -0
  412. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/__init__.py +0 -0
  413. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py +0 -0
  414. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/core.py +0 -0
  415. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/java_outline.py +0 -0
  416. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/markdown_outline.py +0 -0
  417. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/python_outline.py +0 -0
  418. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/get_file_outline/search_outline.py +0 -0
  419. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/search_text/__init__.py +0 -0
  420. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/search_text/core.py +0 -0
  421. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/search_text/match_lines.py +0 -0
  422. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/search_text/pattern_utils.py +0 -0
  423. {janito-3.11.0 → janito-3.11.1}/plugins/core/codeanalyzer/tools/search_text/traverse_directory.py +0 -0
  424. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/__init__.py +0 -0
  425. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/copy_file.py +0 -0
  426. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/create_file.py +0 -0
  427. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/delete_text_in_file.py +0 -0
  428. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/find_files.py +0 -0
  429. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/move_file.py +0 -0
  430. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/read_files.py +0 -0
  431. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/remove_directory.py +0 -0
  432. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/remove_file.py +0 -0
  433. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/replace_text_in_file.py +0 -0
  434. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +0 -0
  435. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/core.py +0 -0
  436. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/css_validator.py +0 -0
  437. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/html_validator.py +0 -0
  438. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/jinja2_validator.py +0 -0
  439. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/js_validator.py +0 -0
  440. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/json_validator.py +0 -0
  441. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/markdown_validator.py +0 -0
  442. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/ps1_validator.py +0 -0
  443. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/python_validator.py +0 -0
  444. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/xml_validator.py +0 -0
  445. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/validate_file_syntax/yaml_validator.py +0 -0
  446. {janito-3.11.0 → janito-3.11.1}/plugins/core/filemanager/tools/view_file.py +0 -0
  447. {janito-3.11.0 → janito-3.11.1}/plugins/core/imagedisplay/__init__.py +0 -0
  448. {janito-3.11.0 → janito-3.11.1}/plugins/core/imagedisplay/plugin.py +0 -0
  449. {janito-3.11.0 → janito-3.11.1}/plugins/core/imagedisplay/tools/__init__.py +0 -0
  450. {janito-3.11.0 → janito-3.11.1}/plugins/core/imagedisplay/tools/show_image.py +0 -0
  451. {janito-3.11.0 → janito-3.11.1}/plugins/core/imagedisplay/tools/show_image_grid.py +0 -0
  452. {janito-3.11.0 → janito-3.11.1}/plugins/core/system/__init__.py +0 -0
  453. {janito-3.11.0 → janito-3.11.1}/plugins/core/system/tools/run_bash_command.py +0 -0
  454. {janito-3.11.0 → janito-3.11.1}/plugins/core/system/tools/run_powershell_command.py +0 -0
  455. {janito-3.11.0 → janito-3.11.1}/plugins/dev/__init__.py +0 -0
  456. {janito-3.11.0 → janito-3.11.1}/plugins/dev/pythondev/__init__.py +0 -0
  457. {janito-3.11.0 → janito-3.11.1}/plugins/dev/pythondev/tools/python_code_run.py +0 -0
  458. {janito-3.11.0 → janito-3.11.1}/plugins/dev/pythondev/tools/python_command_run.py +0 -0
  459. {janito-3.11.0 → janito-3.11.1}/plugins/dev/pythondev/tools/python_file_run.py +0 -0
  460. {janito-3.11.0 → janito-3.11.1}/plugins/dev/visualization/__init__.py +0 -0
  461. {janito-3.11.0 → janito-3.11.1}/plugins/dev/visualization/tools/read_chart.py +0 -0
  462. {janito-3.11.0 → janito-3.11.1}/plugins/example_plugin.py +0 -0
  463. {janito-3.11.0 → janito-3.11.1}/plugins/ui/__init__.py +0 -0
  464. {janito-3.11.0 → janito-3.11.1}/plugins/ui/userinterface/__init__.py +0 -0
  465. {janito-3.11.0 → janito-3.11.1}/plugins/ui/userinterface/tools/ask_user.py +0 -0
  466. {janito-3.11.0 → janito-3.11.1}/plugins/web/__init__.py +0 -0
  467. {janito-3.11.0 → janito-3.11.1}/plugins/web/webtools/__init__.py +0 -0
  468. {janito-3.11.0 → janito-3.11.1}/plugins/web/webtools/tools/fetch_url.py +0 -0
  469. {janito-3.11.0 → janito-3.11.1}/plugins/web/webtools/tools/open_html_in_browser.py +0 -0
  470. {janito-3.11.0 → janito-3.11.1}/plugins/web/webtools/tools/open_url.py +0 -0
  471. {janito-3.11.0 → janito-3.11.1}/plugins.txt +0 -0
  472. {janito-3.11.0 → janito-3.11.1}/requirements.txt +0 -0
  473. {janito-3.11.0 → janito-3.11.1}/tests/local/get_file_outline/test_core_outline.py +0 -0
  474. {janito-3.11.0 → janito-3.11.1}/tests/local/test_read_file/__init__.py +0 -0
  475. {janito-3.11.0 → janito-3.11.1}/tests/local/test_read_file/read_file.py +0 -0
  476. {janito-3.11.0 → janito-3.11.1}/tests/local/test_read_file/test_read_file.py +0 -0
  477. {janito-3.11.0 → janito-3.11.1}/tests/local/test_read_files.py +0 -0
  478. {janito-3.11.0 → janito-3.11.1}/tests/test_cli_list_models.py +0 -0
  479. {janito-3.11.0 → janito-3.11.1}/tests/test_cli_list_providers.py +0 -0
  480. {janito-3.11.0 → janito-3.11.1}/tests/test_cli_list_providers_alibaba.py +0 -0
  481. {janito-3.11.0 → janito-3.11.1}/tests/test_cli_list_providers_moonshot.py +0 -0
  482. {janito-3.11.0 → janito-3.11.1}/tests/test_cli_version.py +0 -0
  483. {janito-3.11.0 → janito-3.11.1}/tests/test_disabled_tools.py +0 -0
  484. {janito-3.11.0 → janito-3.11.1}/tests/test_plugin_system.py +0 -0
  485. {janito-3.11.0 → janito-3.11.1}/tests/test_provider_alibaba.py +0 -0
  486. {janito-3.11.0 → janito-3.11.1}/tests/test_provider_cerebras.py +0 -0
  487. {janito-3.11.0 → janito-3.11.1}/tests/test_provider_moonshot.py +0 -0
  488. {janito-3.11.0 → janito-3.11.1}/tools/release.py +0 -0
  489. {janito-3.11.0 → janito-3.11.1}/tox.ini +0 -0
@@ -1,35 +1,35 @@
1
- # This workflow will install Python dependencies, run tests and lint with a single version of Python
2
- # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
-
4
- name: Python application
5
-
6
- on:
7
- push:
8
- branches: [ "main" ]
9
- pull_request:
10
- branches: [ "main" ]
11
-
12
- permissions:
13
- contents: read
14
-
15
- jobs:
16
- build:
17
-
18
- runs-on: ubuntu-latest
19
- strategy:
20
- matrix:
21
- python-version: ["pypy3.10", "3.10", "3.11", "3.12", "3.13"]
22
-
23
- steps:
24
- - uses: actions/checkout@v4
25
- - name: Set up Python ${{ matrix.python-version }}
26
- uses: actions/setup-python@v5
27
- with:
28
- python-version: ${{ matrix.python-version }}
29
- - name: Install dependencies
30
- run: |
31
- python -m pip install --upgrade pip
32
- pip install tox
33
- - name: Test with tox
34
- run: |
35
- tox -e py
1
+ # This workflow will install Python dependencies, run tests and lint with a single version of Python
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Python application
5
+
6
+ on:
7
+ push:
8
+ branches: [ "main" ]
9
+ pull_request:
10
+ branches: [ "main" ]
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ build:
17
+
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ matrix:
21
+ python-version: ["pypy3.10", "3.10", "3.11", "3.12", "3.13"]
22
+
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+ - name: Install dependencies
30
+ run: |
31
+ python -m uv pip install --upgrade pip
32
+ uv pip install tox
33
+ - name: Test with tox
34
+ run: |
35
+ tox -e py
@@ -1,84 +1,85 @@
1
- Metadata-Version: 2.4
2
- Name: janito
3
- Version: 3.11.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.11.1
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.8
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
+ Requires-Dist: mkdocs; extra == "dev"
33
+ Requires-Dist: mkdocs-material; extra == "dev"
34
+ Requires-Dist: mkdocs-material-extensions; extra == "dev"
35
+ Dynamic: license-file
36
+
37
+ # Janito
38
+
39
+ ```bash
40
+ $ janito --help
41
+ Usage: janito <command>
42
+
43
+ Interact with Nine API resources. See https://docs.nineapis.ch for the full API docs.
44
+
45
+ Run "janito <command> --help" for more information on a command.
46
+ ```
47
+
48
+ ## Setup
49
+
50
+ ```bash
51
+ # If you have go already installed
52
+ go install github.com/ninech/janito@latest
53
+
54
+ # Homebrew
55
+ brew install ninech/taps/janito
56
+
57
+ # Debian/Ubuntu
58
+ echo "deb [trusted=yes] https://repo.nine.ch/deb/ /" | sudo tee /etc/apt/sources.list.d/repo.nine.ch.list
59
+ sudo apt-get update
60
+ sudo apt-get install janito
61
+
62
+ # Fedora/RHEL
63
+ cat <<EOF > /etc/yum.repos.d/repo.nine.ch.repo
64
+ [repo.nine.ch]
65
+ name=Nine Repo
66
+ baseurl=https://repo.nine.ch/yum/
67
+ enabled=1
68
+ gpgcheck=0
69
+ EOF
70
+ dnf install janito
71
+
72
+ # Arch
73
+ # Install yay: https://github.com/Jguer/yay#binary
74
+ yay --version
75
+ yay -S janito-bin
76
+ ```
77
+
78
+ For Windows users, janito is also built for arm64 and amd64. You can download the
79
+ latest exe file from the [releases](https://github.com/ninech/janito/releases) and
80
+ install it.
81
+
82
+ ## Getting started
83
+
84
+ * login to the API using `janito auth login`
85
+ * run `janito --help` to get a list of all available commands
@@ -0,0 +1,164 @@
1
+ # Developer README for janito
2
+
3
+ This document provides guidelines and instructions for developers contributing to the `janito` project.
4
+
5
+ ## Version Management
6
+
7
+ - The project uses [setuptools_scm](https://github.com/pypa/setuptools_scm) for automatic version management.
8
+
9
+ - Do **not** manually set the version in any Python file or in `pyproject.toml`.
10
+
11
+ - The version is derived from your latest Git tag. To update the version, create a new tag:
12
+ ```sh
13
+ git tag vX.Y.Z
14
+ git push --tags
15
+ ```
16
+
17
+ - The `__version__` attribute is available via `janito.__version__`.
18
+
19
+ ## Project Structure
20
+
21
+ - Source code is in the `janito/` directory.
22
+ - Entry points and CLI are defined in `janito/__main__.py`.
23
+ - Tests should be placed in a `tests/` directory (create if missing).
24
+
25
+ ## Dependencies
26
+
27
+ - Runtime dependencies are listed in `requirements.txt`.
28
+ - Development dependencies are in `requirements-dev.txt`.
29
+ - Dependencies are dynamically loaded via `pyproject.toml`.
30
+
31
+ ### Virtual Environment Benefits
32
+
33
+ Using a virtual environment ensures:
34
+
35
+ - Isolated dependencies that won't conflict with system packages
36
+ - Reproducible development environment across different machines
37
+ - Easy cleanup - just delete the `venv` directory if needed
38
+ - Consistent Python version and package versions for all contributors
39
+
40
+ ## Development Environment Setup
41
+
42
+ ### Using Python Virtual Environment (Recommended)
43
+
44
+ 1. **Create and activate a virtual environment:**
45
+ ```sh
46
+ # Create virtual environment
47
+ python -m venv venv
48
+
49
+ # Activate it
50
+ source venv/bin/activate # On Linux/Mac
51
+ # or
52
+ venv\Scripts\activate # On Windows
53
+ ```
54
+
55
+ 2. **Install development dependencies:**
56
+ ```sh
57
+ # Install the package in editable mode with dev dependencies
58
+ uv pip install -e ".[dev]"
59
+ ```
60
+
61
+ 3. **Verify installation:**
62
+ ```sh
63
+ python -c "import janito; print(janito.__version__)"
64
+ ```
65
+
66
+ ### Alternative: System-wide Installation
67
+
68
+ If you prefer not to use a virtual environment:
69
+
70
+ ```sh
71
+ uv pip install -e ".[dev]"
72
+ ```
73
+
74
+ ## Building and Installing
75
+
76
+ - To build the project:
77
+ ```sh
78
+ python -m build
79
+ ```
80
+
81
+ - To install in editable mode:
82
+ ```sh
83
+ uv pip install -e .
84
+ ```
85
+
86
+ ## Release Process
87
+
88
+ The project includes an automated release script at `tools/release.py` that handles the complete release process:
89
+
90
+ - **Full release** (build + upload to PyPI):
91
+ ```sh
92
+ python tools/release.py
93
+ ```
94
+
95
+ - **Build only** (skip PyPI upload):
96
+ ```sh
97
+ python tools/release.py --build-only
98
+ ```
99
+
100
+ The release script will:
101
+
102
+ 1. Check for uncommitted changes
103
+ 2. Verify the latest git tag version
104
+ 3. Check PyPI for existing versions
105
+ 4. Build the package using `python -m build`
106
+ 5. Upload to PyPI using `twine upload`
107
+
108
+ Make sure you have `build` and `twine` installed:
109
+
110
+ ```sh
111
+ uv pip install build twine
112
+ ```
113
+
114
+ ## Running Tests
115
+
116
+ - (Add test instructions here if/when tests are present)
117
+
118
+ ## Development Workflow Tips
119
+
120
+ ### Keeping Your Environment Clean
121
+
122
+ 1. **Always activate your virtual environment before working:**
123
+ ```sh
124
+ source venv/bin/activate # Linux/Mac
125
+ venv\Scripts\activate # Windows
126
+ ```
127
+
128
+ 2. **Update dependencies when pulling new changes:**
129
+ ```sh
130
+ uv pip install -e ".[dev]" --upgrade
131
+ ```
132
+
133
+ 3. **Deactivate virtual environment when done:**
134
+ ```sh
135
+ deactivate
136
+ ```
137
+
138
+ ### Common Virtual Environment Issues
139
+
140
+ - **"Command not found" errors**: Make sure the virtual environment is activated
141
+ - **Import errors**: Reinstall the package with `uv pip install -e ".[dev]"`
142
+ - **Permission errors**: Use virtual environment instead of system-wide installation
143
+
144
+ ## Contributing
145
+
146
+ - Follow PEP8 and use [ruff](https://github.com/charliermarsh/ruff) for linting.
147
+ - Document all public functions and classes.
148
+ - Update this README-dev.md as needed for developer-facing changes.
149
+
150
+ ## Quick Start Checklist
151
+
152
+ For new developers getting started:
153
+
154
+ 1. **Clone the repository**
155
+ 2. **Create and activate virtual environment** (see [Development Environment Setup](#development-environment-setup))
156
+ 3. **Install development dependencies** with `uv pip install -e ".[dev]"`
157
+ 4. **Verify installation** with `python -c "import janito; print(janito.__version__)"`
158
+ 5. **Run tests** (when available) to ensure everything works
159
+ 6. **Start coding!**
160
+
161
+ ---
162
+
163
+ For more information, see the main `README.md` or contact the maintainers.
164
+
@@ -1,118 +1,118 @@
1
- # Janito Release Comparison: v2.21.0 vs v2.22.0
2
-
3
- ## 📊 Side-by-Side Overview
4
-
5
- | Aspect | v2.21.0 | v2.22.0 |
6
- |--------|---------|---------|
7
- | **Release Date** | August 12, 2025 | August 14, 2025 |
8
- | **Primary Focus** | IBM WatsonX Provider Foundation | IBM WatsonX Enhancement + Market Analysis |
9
- | **New Providers** | IBM WatsonX (initial) | IBM WatsonX (enhanced) |
10
- | **New Profiles** | - | Market Analyst Profile |
11
- | **Documentation** | Basic IBM setup | Comprehensive guides + market data |
12
-
13
- ## 🚀 Feature Comparison
14
-
15
- ### New Features
16
-
17
- #### v2.21.0
18
- - **IBM WatsonX Provider**: Initial implementation with basic Granite, Llama, and Mistral models
19
- - **Enhanced fetch_url**: Added configurable limits (max_length, max_lines, context_chars)
20
- - **Environment Variables**: Added examples for all providers
21
- - **Model Lists**: Updated OpenAI, Anthropic, and Google provider models
22
-
23
- #### v2.22.0
24
- - **IBM WatsonX Enhancement**: Complete provider with enterprise-grade models
25
- - **Market Analyst Profile**: Specialized for financial analysis workflows
26
- - **Enhanced fetch_url**: Added error caching for 403/404 responses
27
- - **Comprehensive Documentation**: Complete setup guides and market data sources
28
-
29
- ### Documentation Improvements
30
-
31
- #### v2.21.0
32
- - Basic IBM WatsonX setup guide (`janito/providers/ibm/README.md`)
33
- - Updated GETTING_STARTED.md with IBM instructions
34
- - Environment variable examples
35
-
36
- #### v2.22.0
37
- - **New Guides**:
38
- - `docs/ibm-setup.md` - Complete step-by-step IBM configuration
39
- - `docs/guides/market-data-sources.md` - Public financial data sources
40
- - `docs/guides/stock-market-guide.md` - Stock market analysis workflows
41
- - `docs/public-sources.md` - Comprehensive public data sources
42
- - **Enhanced Documentation**: Updated all provider comparisons and model listings
43
-
44
- ## 🔧 Technical Improvements
45
-
46
- ### Code Changes
47
-
48
- #### v2.21.0
49
- - **Files Modified**: 9 files, +306/-36 lines
50
- - **Focus**: IBM provider foundation and fetch_url enhancements
51
- - **Complexity**: Reduced fetch_url complexity by splitting into helper methods
52
-
53
- #### v2.22.0
54
- - **Files Modified**: 14 files, +732/-29 lines
55
- - **Focus**: IBM enhancement, market analyst profile, and comprehensive documentation
56
- - **Bug Fixes**: Profile template path resolution
57
- - **Performance**: fetch_url error caching for better reliability
58
-
59
- ### Provider Capabilities
60
-
61
- #### v2.21.0 IBM WatsonX
62
- - Basic model support (Granite, Llama, Mistral)
63
- - Initial configuration setup
64
- - Basic authentication handling
65
-
66
- #### v2.22.0 IBM WatsonX
67
- - **Enhanced Model Support**: IBM Granite enterprise models + open-source models
68
- - **Complete Setup Guide**: Step-by-step configuration with examples
69
- - **Enterprise Integration**: Better suited for business and financial analysis
70
-
71
- ## 🎯 Usage Evolution
72
-
73
- ### v2.21.0 Usage
74
- ```bash
75
- # Basic IBM setup
76
- janito config set provider ibm
77
- janito config set model ibm/granite-3-8b-instruct
78
- ```
79
-
80
- ### v2.22.0 Usage
81
- ```bash
82
- # Enhanced IBM setup with market analysis
83
- janito config set provider ibm
84
- janito config set model ibm/granite-3-8b-instruct
85
- janito --profile market_analyst "Analyze AAPL stock performance"
86
- ```
87
-
88
- ## 📈 Impact Summary
89
-
90
- ### v2.21.0 Impact
91
- - **Foundation**: Established IBM WatsonX as a supported provider
92
- - **Technical**: Improved URL fetching capabilities
93
- - **Documentation**: Basic setup instructions
94
-
95
- ### v2.22.0 Impact
96
- - **Specialization**: Added domain-specific profile for financial analysis
97
- - **Completeness**: Comprehensive IBM WatsonX integration
98
- - **Usability**: Rich documentation for market analysis workflows
99
- - **Reliability**: Enhanced error handling in URL fetching
100
-
101
- ## 🔄 Migration Path
102
-
103
- Both versions are fully backward compatible. Users can upgrade seamlessly:
104
-
105
- ```bash
106
- # From any previous version
107
- pip install --upgrade janito
108
-
109
- # New capabilities immediately available
110
- janito --profile market_analyst "help with stock analysis"
111
- ```
112
-
113
- ## 🎉 Summary
114
-
115
- - **v2.21.0**: Laid the foundation with IBM WatsonX support
116
- - **v2.22.0**: Built upon that foundation with specialized market analysis capabilities and comprehensive documentation
117
-
1
+ # Janito Release Comparison: v2.21.0 vs v2.22.0
2
+
3
+ ## 📊 Side-by-Side Overview
4
+
5
+ | Aspect | v2.21.0 | v2.22.0 |
6
+ |--------|---------|---------|
7
+ | **Release Date** | August 12, 2025 | August 14, 2025 |
8
+ | **Primary Focus** | IBM WatsonX Provider Foundation | IBM WatsonX Enhancement + Market Analysis |
9
+ | **New Providers** | IBM WatsonX (initial) | IBM WatsonX (enhanced) |
10
+ | **New Profiles** | - | Market Analyst Profile |
11
+ | **Documentation** | Basic IBM setup | Comprehensive guides + market data |
12
+
13
+ ## 🚀 Feature Comparison
14
+
15
+ ### New Features
16
+
17
+ #### v2.21.0
18
+ - **IBM WatsonX Provider**: Initial implementation with basic Granite, Llama, and Mistral models
19
+ - **Enhanced fetch_url**: Added configurable limits (max_length, max_lines, context_chars)
20
+ - **Environment Variables**: Added examples for all providers
21
+ - **Model Lists**: Updated OpenAI, Anthropic, and Google provider models
22
+
23
+ #### v2.22.0
24
+ - **IBM WatsonX Enhancement**: Complete provider with enterprise-grade models
25
+ - **Market Analyst Profile**: Specialized for financial analysis workflows
26
+ - **Enhanced fetch_url**: Added error caching for 403/404 responses
27
+ - **Comprehensive Documentation**: Complete setup guides and market data sources
28
+
29
+ ### Documentation Improvements
30
+
31
+ #### v2.21.0
32
+ - Basic IBM WatsonX setup guide (`janito/providers/ibm/README.md`)
33
+ - Updated GETTING_STARTED.md with IBM instructions
34
+ - Environment variable examples
35
+
36
+ #### v2.22.0
37
+ - **New Guides**:
38
+ - `docs/ibm-setup.md` - Complete step-by-step IBM configuration
39
+ - `docs/guides/market-data-sources.md` - Public financial data sources
40
+ - `docs/guides/stock-market-guide.md` - Stock market analysis workflows
41
+ - `docs/public-sources.md` - Comprehensive public data sources
42
+ - **Enhanced Documentation**: Updated all provider comparisons and model listings
43
+
44
+ ## 🔧 Technical Improvements
45
+
46
+ ### Code Changes
47
+
48
+ #### v2.21.0
49
+ - **Files Modified**: 9 files, +306/-36 lines
50
+ - **Focus**: IBM provider foundation and fetch_url enhancements
51
+ - **Complexity**: Reduced fetch_url complexity by splitting into helper methods
52
+
53
+ #### v2.22.0
54
+ - **Files Modified**: 14 files, +732/-29 lines
55
+ - **Focus**: IBM enhancement, market analyst profile, and comprehensive documentation
56
+ - **Bug Fixes**: Profile template path resolution
57
+ - **Performance**: fetch_url error caching for better reliability
58
+
59
+ ### Provider Capabilities
60
+
61
+ #### v2.21.0 IBM WatsonX
62
+ - Basic model support (Granite, Llama, Mistral)
63
+ - Initial configuration setup
64
+ - Basic authentication handling
65
+
66
+ #### v2.22.0 IBM WatsonX
67
+ - **Enhanced Model Support**: IBM Granite enterprise models + open-source models
68
+ - **Complete Setup Guide**: Step-by-step configuration with examples
69
+ - **Enterprise Integration**: Better suited for business and financial analysis
70
+
71
+ ## 🎯 Usage Evolution
72
+
73
+ ### v2.21.0 Usage
74
+ ```bash
75
+ # Basic IBM setup
76
+ janito config set provider ibm
77
+ janito config set model ibm/granite-3-8b-instruct
78
+ ```
79
+
80
+ ### v2.22.0 Usage
81
+ ```bash
82
+ # Enhanced IBM setup with market analysis
83
+ janito config set provider ibm
84
+ janito config set model ibm/granite-3-8b-instruct
85
+ janito --profile market_analyst "Analyze AAPL stock performance"
86
+ ```
87
+
88
+ ## 📈 Impact Summary
89
+
90
+ ### v2.21.0 Impact
91
+ - **Foundation**: Established IBM WatsonX as a supported provider
92
+ - **Technical**: Improved URL fetching capabilities
93
+ - **Documentation**: Basic setup instructions
94
+
95
+ ### v2.22.0 Impact
96
+ - **Specialization**: Added domain-specific profile for financial analysis
97
+ - **Completeness**: Comprehensive IBM WatsonX integration
98
+ - **Usability**: Rich documentation for market analysis workflows
99
+ - **Reliability**: Enhanced error handling in URL fetching
100
+
101
+ ## 🔄 Migration Path
102
+
103
+ Both versions are fully backward compatible. Users can upgrade seamlessly:
104
+
105
+ ```bash
106
+ # From any previous version
107
+ uv pip install --upgrade janito
108
+
109
+ # New capabilities immediately available
110
+ janito --profile market_analyst "help with stock analysis"
111
+ ```
112
+
113
+ ## 🎉 Summary
114
+
115
+ - **v2.21.0**: Laid the foundation with IBM WatsonX support
116
+ - **v2.22.0**: Built upon that foundation with specialized market analysis capabilities and comprehensive documentation
117
+
118
118
  The progression from v2.21.0 to v2.22.0 represents a shift from basic provider support to domain-specific specialization, making Janito more valuable for financial analysis and market research use cases.