janito 3.1.0__tar.gz → 3.3.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 (569) hide show
  1. {janito-3.1.0 → janito-3.3.0}/PKG-INFO +1 -1
  2. janito-3.3.0/PLUGIN_CLEANUP_PLAN.md +131 -0
  3. janito-3.3.0/PLUGIN_CLEANUP_SUMMARY.md +109 -0
  4. janito-3.3.0/RELEASE_NOTES_v3.3.0.md +70 -0
  5. janito-3.3.0/docs/CHANGELOG.md +49 -0
  6. janito-3.3.0/janito/cli/chat_mode/bindings.py +38 -0
  7. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/session.py +1 -7
  8. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_plugins.py +8 -13
  9. {janito-3.1.0 → janito-3.3.0}/janito/cli/prompt_core.py +9 -19
  10. {janito-3.1.0 → janito-3.3.0}/janito/llm/agent.py +17 -30
  11. {janito-3.1.0 → janito-3.3.0}/janito/llm/driver.py +0 -7
  12. janito-3.3.0/janito/plugins/__init__.py +28 -0
  13. janito-3.3.0/janito/plugins/__main__.py +85 -0
  14. janito-3.3.0/janito/plugins/base.py +57 -0
  15. janito-3.3.0/janito/plugins/builtin.py +102 -0
  16. janito-3.3.0/janito/plugins/core/filemanager/tools/copy_file.py +111 -0
  17. janito-3.3.0/janito/plugins/core/filemanager/tools/create_directory.py +97 -0
  18. janito-3.3.0/janito/plugins/core/filemanager/tools/create_file.py +111 -0
  19. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/delete_text_in_file.py +1 -0
  20. janito-3.3.0/janito/plugins/core/imagedisplay/plugin.py +51 -0
  21. janito-3.3.0/janito/plugins/core_loader.py +144 -0
  22. janito-3.3.0/janito/plugins/discovery.py +289 -0
  23. janito-3.3.0/janito/plugins/example_plugin.py +108 -0
  24. janito-3.3.0/janito/plugins/manager.py +243 -0
  25. janito-3.3.0/janito/plugins_backup_20250825_070018/config.py +84 -0
  26. janito-3.3.0/janito/plugins_backup_20250825_070018/core/__init__.py +7 -0
  27. janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer/__init__.py +43 -0
  28. janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer/tools/get_file_outline/__init__.py +1 -0
  29. janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer/tools/get_file_outline/core.py +122 -0
  30. janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer/tools/search_text/__init__.py +1 -0
  31. janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer/tools/search_text/core.py +205 -0
  32. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/__init__.py +124 -0
  33. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/delete_text_in_file.py +135 -0
  34. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/find_files.py +143 -0
  35. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/move_file.py +131 -0
  36. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/read_files.py +58 -0
  37. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/remove_directory.py +55 -0
  38. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/remove_file.py +58 -0
  39. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/replace_text_in_file.py +270 -0
  40. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/validate_file_syntax/__init__.py +1 -0
  41. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/validate_file_syntax/core.py +114 -0
  42. janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager/tools/view_file.py +172 -0
  43. janito-3.3.0/janito/plugins_backup_20250825_070018/core/imagedisplay/__init__.py +14 -0
  44. janito-3.3.0/janito/plugins_backup_20250825_070018/core/imagedisplay/tools/__init__.py +1 -0
  45. janito-3.3.0/janito/plugins_backup_20250825_070018/core/imagedisplay/tools/show_image.py +83 -0
  46. janito-3.3.0/janito/plugins_backup_20250825_070018/core/imagedisplay/tools/show_image_grid.py +84 -0
  47. janito-3.3.0/janito/plugins_backup_20250825_070018/core/system/__init__.py +23 -0
  48. janito-3.3.0/janito/plugins_backup_20250825_070018/core/system/tools/run_bash_command.py +183 -0
  49. janito-3.3.0/janito/plugins_backup_20250825_070018/core/system/tools/run_powershell_command.py +218 -0
  50. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/__init__.py +7 -0
  51. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/pythondev/__init__.py +37 -0
  52. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/pythondev/tools/python_code_run.py +172 -0
  53. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/pythondev/tools/python_command_run.py +171 -0
  54. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/pythondev/tools/python_file_run.py +172 -0
  55. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/visualization/__init__.py +23 -0
  56. janito-3.3.0/janito/plugins_backup_20250825_070018/dev/visualization/tools/read_chart.py +259 -0
  57. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/delete_text_in_file.py +1 -0
  58. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/get_file_outline/java_outline.py +47 -0
  59. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/get_file_outline/markdown_outline.py +14 -0
  60. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/get_file_outline/python_outline.py +303 -0
  61. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/get_file_outline/search_outline.py +36 -0
  62. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/search_text/match_lines.py +67 -0
  63. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/search_text/pattern_utils.py +73 -0
  64. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/search_text/traverse_directory.py +145 -0
  65. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/css_validator.py +35 -0
  66. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/html_validator.py +100 -0
  67. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/jinja2_validator.py +50 -0
  68. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/js_validator.py +27 -0
  69. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/json_validator.py +6 -0
  70. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/markdown_validator.py +109 -0
  71. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/ps1_validator.py +32 -0
  72. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/python_validator.py +5 -0
  73. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/xml_validator.py +11 -0
  74. janito-3.3.0/janito/plugins_backup_20250825_070018/tools/validate_file_syntax/yaml_validator.py +6 -0
  75. janito-3.3.0/janito/plugins_backup_20250825_070018/ui/__init__.py +7 -0
  76. janito-3.3.0/janito/plugins_backup_20250825_070018/ui/userinterface/__init__.py +16 -0
  77. janito-3.3.0/janito/plugins_backup_20250825_070018/ui/userinterface/tools/ask_user.py +110 -0
  78. janito-3.3.0/janito/plugins_backup_20250825_070018/web/__init__.py +7 -0
  79. janito-3.3.0/janito/plugins_backup_20250825_070018/web/webtools/__init__.py +33 -0
  80. janito-3.3.0/janito/plugins_backup_20250825_070018/web/webtools/tools/fetch_url.py +458 -0
  81. janito-3.3.0/janito/plugins_backup_20250825_070018/web/webtools/tools/open_html_in_browser.py +51 -0
  82. janito-3.3.0/janito/plugins_backup_20250825_070018/web/webtools/tools/open_url.py +37 -0
  83. janito-3.3.0/janito/tools/base.py +42 -0
  84. {janito-3.1.0 → janito-3.3.0}/janito/tools/cli_initializer.py +1 -1
  85. {janito-3.1.0 → janito-3.3.0}/janito/tools/function_adapter.py +35 -1
  86. {janito-3.1.0 → janito-3.3.0}/janito/tools/initialize.py +1 -1
  87. {janito-3.1.0 → janito-3.3.0}/janito/tools/tool_base.py +142 -114
  88. {janito-3.1.0 → janito-3.3.0}/janito/tools/tools_schema.py +12 -6
  89. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/PKG-INFO +1 -1
  90. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/SOURCES.txt +132 -60
  91. janito-3.3.0/test_core_plugins.py +131 -0
  92. janito-3.3.0/test_core_plugins_final.py +131 -0
  93. janito-3.3.0/test_core_plugins_fixed.py +131 -0
  94. janito-3.1.0/docs/CHANGELOG.md +0 -133
  95. janito-3.1.0/docs/CHANGELOG_3.0.0.md +0 -141
  96. janito-3.1.0/janito/cli/chat_mode/bindings.py +0 -64
  97. janito-3.1.0/janito/llm/cancellation_manager.py +0 -62
  98. janito-3.1.0/janito/llm/enter_cancellation.py +0 -93
  99. janito-3.1.0/janito/tools/base.py +0 -12
  100. {janito-3.1.0 → janito-3.3.0}/.codespellrc +0 -0
  101. {janito-3.1.0 → janito-3.3.0}/.gitattributes +0 -0
  102. {janito-3.1.0 → janito-3.3.0}/.github/workflows/python-app.yml.disabled +0 -0
  103. {janito-3.1.0 → janito-3.3.0}/.gitignore +0 -0
  104. {janito-3.1.0 → janito-3.3.0}/.pre-commit-config.yaml +0 -0
  105. {janito-3.1.0 → janito-3.3.0}/.secrets.baseline +0 -0
  106. {janito-3.1.0 → janito-3.3.0}/.vscode/settings.json +0 -0
  107. {janito-3.1.0 → janito-3.3.0}/LICENSE +0 -0
  108. {janito-3.1.0 → janito-3.3.0}/MARKET_ANALYST_README.md +0 -0
  109. {janito-3.1.0 → janito-3.3.0}/README-dev.md +0 -0
  110. {janito-3.1.0 → janito-3.3.0}/README.md +0 -0
  111. {janito-3.1.0 → janito-3.3.0}/RELEASE_COMPARISON.md +0 -0
  112. {janito-3.1.0 → janito-3.3.0}/UPDATING_DOCS.md +0 -0
  113. {janito-3.1.0 → janito-3.3.0}/adding_mcp.txt +0 -0
  114. {janito-3.1.0 → janito-3.3.0}/docs/DIV.md +0 -0
  115. {janito-3.1.0 → janito-3.3.0}/docs/Interfaces.txt +0 -0
  116. {janito-3.1.0 → janito-3.3.0}/docs/PROFILES.md +0 -0
  117. {janito-3.1.0 → janito-3.3.0}/docs/TOOLBAR-STYLING.md +0 -0
  118. {janito-3.1.0 → janito-3.3.0}/docs/about/costs.md +0 -0
  119. {janito-3.1.0 → janito-3.3.0}/docs/about/vs-webchats.md +0 -0
  120. {janito-3.1.0 → janito-3.3.0}/docs/about/why.md +0 -0
  121. {janito-3.1.0 → janito-3.3.0}/docs/alibaba-setup.md +0 -0
  122. {janito-3.1.0 → janito-3.3.0}/docs/alternatives.md +0 -0
  123. {janito-3.1.0 → janito-3.3.0}/docs/cerebras-setup.md +0 -0
  124. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/CHANGELOG.md +0 -0
  125. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/CHANGELOG_2.16.0.md +0 -0
  126. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/CHANGELOG_2.23.0.md +0 -0
  127. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/CHANGELOG_2.26.0.md +0 -0
  128. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/CHANGELOG_2.27.0.md +0 -0
  129. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/RELEASE_NOTES_2.22.0.md +0 -0
  130. {janito-3.1.0 → janito-3.3.0}/docs/changelogs/RELEASE_NOTES_2.24.1.md +0 -0
  131. {janito-3.1.0 → janito-3.3.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  132. {janito-3.1.0 → janito-3.3.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
  133. {janito-3.1.0 → janito-3.3.0}/docs/code_intelligence/code-generation-observability.md +0 -0
  134. {janito-3.1.0 → janito-3.3.0}/docs/code_intelligence/our-approach.md +0 -0
  135. {janito-3.1.0 → janito-3.3.0}/docs/code_intelligence/why-string-replacement.md +0 -0
  136. {janito-3.1.0 → janito-3.3.0}/docs/concepts/analysis-style.md +0 -0
  137. {janito-3.1.0 → janito-3.3.0}/docs/concepts/human-guided-ai.md +0 -0
  138. {janito-3.1.0 → janito-3.3.0}/docs/concepts/index.md +0 -0
  139. {janito-3.1.0 → janito-3.3.0}/docs/concepts/language-model-clients.md +0 -0
  140. {janito-3.1.0 → janito-3.3.0}/docs/concepts/prompt-design-style.md +0 -0
  141. {janito-3.1.0 → janito-3.3.0}/docs/deepseek-setup.md +0 -0
  142. {janito-3.1.0 → janito-3.3.0}/docs/driver-flow.md +0 -0
  143. {janito-3.1.0 → janito-3.3.0}/docs/driver-request-cancellation.md +0 -0
  144. {janito-3.1.0 → janito-3.3.0}/docs/drivers/events.md +0 -0
  145. {janito-3.1.0 → janito-3.3.0}/docs/drivers.md +0 -0
  146. {janito-3.1.0 → janito-3.3.0}/docs/event-bus.md +0 -0
  147. {janito-3.1.0 → janito-3.3.0}/docs/guides/configuration.md +0 -0
  148. {janito-3.1.0 → janito-3.3.0}/docs/guides/developing.md +0 -0
  149. {janito-3.1.0 → janito-3.3.0}/docs/guides/disabled-tools.md +0 -0
  150. {janito-3.1.0 → janito-3.3.0}/docs/guides/installation.md +0 -0
  151. {janito-3.1.0 → janito-3.3.0}/docs/guides/market-data-sources.md +0 -0
  152. {janito-3.1.0 → janito-3.3.0}/docs/guides/profiles.md +0 -0
  153. {janito-3.1.0 → janito-3.3.0}/docs/guides/prompting/README.md +0 -0
  154. {janito-3.1.0 → janito-3.3.0}/docs/guides/read-chart-examples.md +0 -0
  155. {janito-3.1.0 → janito-3.3.0}/docs/guides/security-commands.md +0 -0
  156. {janito-3.1.0 → janito-3.3.0}/docs/guides/single-shot-terminal.md +0 -0
  157. {janito-3.1.0 → janito-3.3.0}/docs/guides/stock-market-guide.md +0 -0
  158. {janito-3.1.0 → janito-3.3.0}/docs/guides/terminal-shell.md +0 -0
  159. {janito-3.1.0 → janito-3.3.0}/docs/guides/tools-developer-guide.md +0 -0
  160. {janito-3.1.0 → janito-3.3.0}/docs/guides/url-whitelist.md +0 -0
  161. {janito-3.1.0 → janito-3.3.0}/docs/guides/using.md +0 -0
  162. {janito-3.1.0 → janito-3.3.0}/docs/guides/using_tools.md +0 -0
  163. {janito-3.1.0 → janito-3.3.0}/docs/ibm-setup.md +0 -0
  164. {janito-3.1.0 → janito-3.3.0}/docs/imgs/code-generation-observability.png +0 -0
  165. {janito-3.1.0 → janito-3.3.0}/docs/imgs/code_generation_observability.png +0 -0
  166. {janito-3.1.0 → janito-3.3.0}/docs/imgs/happy-programmer.png +0 -0
  167. {janito-3.1.0 → janito-3.3.0}/docs/imgs/happy-programmer.svg +0 -0
  168. {janito-3.1.0 → janito-3.3.0}/docs/imgs/terminal-one-shot.png +0 -0
  169. {janito-3.1.0 → janito-3.3.0}/docs/imgs/terminal-shell.png +0 -0
  170. {janito-3.1.0 → janito-3.3.0}/docs/imgs/terminal_one_shot.png +0 -0
  171. {janito-3.1.0 → janito-3.3.0}/docs/imgs/terminal_shell.png +0 -0
  172. {janito-3.1.0 → janito-3.3.0}/docs/index.md +0 -0
  173. {janito-3.1.0 → janito-3.3.0}/docs/llm-drivers-required-config.md +0 -0
  174. {janito-3.1.0 → janito-3.3.0}/docs/llm-drivers.md +0 -0
  175. {janito-3.1.0 → janito-3.3.0}/docs/meta/developer-toolchain.md +0 -0
  176. {janito-3.1.0 → janito-3.3.0}/docs/meta/quality-checks.txt +0 -0
  177. {janito-3.1.0 → janito-3.3.0}/docs/mistral-setup.md +0 -0
  178. {janito-3.1.0 → janito-3.3.0}/docs/moonshot-setup.md +0 -0
  179. {janito-3.1.0 → janito-3.3.0}/docs/openai-setup.md +0 -0
  180. {janito-3.1.0 → janito-3.3.0}/docs/overrides/partials/copyright.html +0 -0
  181. {janito-3.1.0 → janito-3.3.0}/docs/plugins/ACTUAL_TOOLS_LOCATION.md +0 -0
  182. {janito-3.1.0 → janito-3.3.0}/docs/plugins/MIGRATION_COMPLETE.md +0 -0
  183. {janito-3.1.0 → janito-3.3.0}/docs/plugins/README.md +0 -0
  184. {janito-3.1.0 → janito-3.3.0}/docs/plugins/api-reference.md +0 -0
  185. {janito-3.1.0 → janito-3.3.0}/docs/plugins/architecture.md +0 -0
  186. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/codeanalyzer.md +0 -0
  187. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/filemanager.md +0 -0
  188. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/imagedisplay.md +0 -0
  189. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/pythondev.md +0 -0
  190. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/system.md +0 -0
  191. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/userinterface.md +0 -0
  192. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/visualization.md +0 -0
  193. {janito-3.1.0 → janito-3.3.0}/docs/plugins/built-in-plugins/webtools.md +0 -0
  194. {janito-3.1.0 → janito-3.3.0}/docs/plugins/configuration.md +0 -0
  195. {janito-3.1.0 → janito-3.3.0}/docs/plugins/examples/advanced.md +0 -0
  196. {janito-3.1.0 → janito-3.3.0}/docs/plugins/examples/basic.md +0 -0
  197. {janito-3.1.0 → janito-3.3.0}/docs/plugins/examples/intermediate.md +0 -0
  198. {janito-3.1.0 → janito-3.3.0}/docs/plugins/plugin-development.md +0 -0
  199. {janito-3.1.0 → janito-3.3.0}/docs/plugins/plugin-resources.md +0 -0
  200. {janito-3.1.0 → janito-3.3.0}/docs/plugins/publishing.md +0 -0
  201. {janito-3.1.0 → janito-3.3.0}/docs/plugins/remote-plugins.md +0 -0
  202. {janito-3.1.0 → janito-3.3.0}/docs/plugins/testing.md +0 -0
  203. {janito-3.1.0 → janito-3.3.0}/docs/provider-platform-access.md +0 -0
  204. {janito-3.1.0 → janito-3.3.0}/docs/public-sources.md +0 -0
  205. {janito-3.1.0 → janito-3.3.0}/docs/reference/api.md +0 -0
  206. {janito-3.1.0 → janito-3.3.0}/docs/reference/azure-openai.md +0 -0
  207. {janito-3.1.0 → janito-3.3.0}/docs/reference/cli-options.md +0 -0
  208. {janito-3.1.0 → janito-3.3.0}/docs/reference/message-handler-model.md +0 -0
  209. {janito-3.1.0 → janito-3.3.0}/docs/reference/rich-message-handler.md +0 -0
  210. {janito-3.1.0 → janito-3.3.0}/docs/security.md +0 -0
  211. {janito-3.1.0 → janito-3.3.0}/docs/supported-providers-models.md +0 -0
  212. {janito-3.1.0 → janito-3.3.0}/docs/tools/search-text.md +0 -0
  213. {janito-3.1.0 → janito-3.3.0}/docs/tools/show-image-grid.md +0 -0
  214. {janito-3.1.0 → janito-3.3.0}/docs/tools/show-image.md +0 -0
  215. {janito-3.1.0 → janito-3.3.0}/docs/tools-index.md +0 -0
  216. {janito-3.1.0 → janito-3.3.0}/docs/tools-natural-results.md +0 -0
  217. {janito-3.1.0 → janito-3.3.0}/docs/tools-precision.md +0 -0
  218. {janito-3.1.0 → janito-3.3.0}/docs/z-ai-setup.md +0 -0
  219. {janito-3.1.0 → janito-3.3.0}/examples/loop_protection_example.py +0 -0
  220. {janito-3.1.0 → janito-3.3.0}/examples/loop_protection_tool_example.py +0 -0
  221. {janito-3.1.0 → janito-3.3.0}/get_nasdaq_top.py +0 -0
  222. {janito-3.1.0 → janito-3.3.0}/ibm-logo.txt +0 -0
  223. {janito-3.1.0 → janito-3.3.0}/init_janito_tools.py +0 -0
  224. {janito-3.1.0 → janito-3.3.0}/janito/README.md +0 -0
  225. {janito-3.1.0 → janito-3.3.0}/janito/__init__.py +0 -0
  226. {janito-3.1.0 → janito-3.3.0}/janito/__main__.py +0 -0
  227. {janito-3.1.0 → janito-3.3.0}/janito/_version.py +0 -0
  228. {janito-3.1.0 → janito-3.3.0}/janito/agent/setup_agent.py +0 -0
  229. {janito-3.1.0 → janito-3.3.0}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  230. {janito-3.1.0 → janito-3.3.0}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  231. {janito-3.1.0 → janito-3.3.0}/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -0
  232. {janito-3.1.0 → janito-3.3.0}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  233. {janito-3.1.0 → janito-3.3.0}/janito/cli/__init__.py +0 -0
  234. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  235. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  236. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/script_runner.py +0 -0
  237. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  238. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  239. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  240. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  241. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  242. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  243. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  244. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  245. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  246. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  247. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  248. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  249. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  250. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  251. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  252. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  253. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/provider.py +0 -0
  254. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  255. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  256. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/security/__init__.py +0 -0
  257. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +0 -0
  258. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/security_command.py +0 -0
  259. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  260. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  261. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  262. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/unrestricted.py +0 -0
  263. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  264. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  265. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  266. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  267. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  268. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  269. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  270. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  271. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  272. {janito-3.1.0 → janito-3.3.0}/janito/cli/chat_mode/toolbar.py +0 -0
  273. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/check_tools.py +0 -0
  274. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/enable_disable_plugin.py +0 -0
  275. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_config.py +0 -0
  276. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_drivers.py +0 -0
  277. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_models.py +0 -0
  278. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_profiles.py +0 -0
  279. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_providers.py +0 -0
  280. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_providers_region.py +0 -0
  281. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/list_tools.py +0 -0
  282. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/model_selection.py +0 -0
  283. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/model_utils.py +0 -0
  284. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/ping_providers.py +0 -0
  285. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  286. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/show_config.py +0 -0
  287. {janito-3.1.0 → janito-3.3.0}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  288. {janito-3.1.0 → janito-3.3.0}/janito/cli/config.py +0 -0
  289. {janito-3.1.0 → janito-3.3.0}/janito/cli/console.py +0 -0
  290. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/__init__.py +0 -0
  291. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/event_logger.py +0 -0
  292. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/getters.py +0 -0
  293. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/model_guesser.py +0 -0
  294. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/runner.py +0 -0
  295. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/setters.py +0 -0
  296. {janito-3.1.0 → janito-3.3.0}/janito/cli/core/unsetters.py +0 -0
  297. {janito-3.1.0 → janito-3.3.0}/janito/cli/main.py +0 -0
  298. {janito-3.1.0 → janito-3.3.0}/janito/cli/main_cli.py +0 -0
  299. {janito-3.1.0 → janito-3.3.0}/janito/cli/prompt_handler.py +0 -0
  300. {janito-3.1.0 → janito-3.3.0}/janito/cli/prompt_setup.py +0 -0
  301. {janito-3.1.0 → janito-3.3.0}/janito/cli/rich_terminal_reporter.py +0 -0
  302. {janito-3.1.0 → janito-3.3.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  303. {janito-3.1.0 → janito-3.3.0}/janito/cli/single_shot_mode/handler.py +0 -0
  304. {janito-3.1.0 → janito-3.3.0}/janito/cli/utils.py +0 -0
  305. {janito-3.1.0 → janito-3.3.0}/janito/cli/verbose_output.py +0 -0
  306. {janito-3.1.0 → janito-3.3.0}/janito/config.py +0 -0
  307. {janito-3.1.0 → janito-3.3.0}/janito/config_manager.py +0 -0
  308. {janito-3.1.0 → janito-3.3.0}/janito/conversation_history.py +0 -0
  309. {janito-3.1.0 → janito-3.3.0}/janito/dir_walk_utils.py +0 -0
  310. {janito-3.1.0 → janito-3.3.0}/janito/docs/GETTING_STARTED.md +0 -0
  311. {janito-3.1.0 → janito-3.3.0}/janito/driver_events.py +0 -0
  312. {janito-3.1.0 → janito-3.3.0}/janito/drivers/azure_openai/driver.py +0 -0
  313. {janito-3.1.0 → janito-3.3.0}/janito/drivers/cerebras/__init__.py +0 -0
  314. {janito-3.1.0 → janito-3.3.0}/janito/drivers/dashscope.bak.zip +0 -0
  315. {janito-3.1.0 → janito-3.3.0}/janito/drivers/openai/README.md +0 -0
  316. {janito-3.1.0 → janito-3.3.0}/janito/drivers/openai/driver.py +0 -0
  317. {janito-3.1.0 → janito-3.3.0}/janito/drivers/openai_responses.bak.zip +0 -0
  318. {janito-3.1.0 → janito-3.3.0}/janito/drivers/zai/__init__.py +0 -0
  319. {janito-3.1.0 → janito-3.3.0}/janito/drivers/zai/driver.py +0 -0
  320. {janito-3.1.0 → janito-3.3.0}/janito/event_bus/__init__.py +0 -0
  321. {janito-3.1.0 → janito-3.3.0}/janito/event_bus/bus.py +0 -0
  322. {janito-3.1.0 → janito-3.3.0}/janito/event_bus/event.py +0 -0
  323. {janito-3.1.0 → janito-3.3.0}/janito/event_bus/handler.py +0 -0
  324. {janito-3.1.0 → janito-3.3.0}/janito/event_bus/queue_bus.py +0 -0
  325. {janito-3.1.0 → janito-3.3.0}/janito/exceptions.py +0 -0
  326. {janito-3.1.0 → janito-3.3.0}/janito/formatting.py +0 -0
  327. {janito-3.1.0 → janito-3.3.0}/janito/formatting_token.py +0 -0
  328. {janito-3.1.0 → janito-3.3.0}/janito/gitignore_utils.py +0 -0
  329. {janito-3.1.0 → janito-3.3.0}/janito/i18n/__init__.py +0 -0
  330. {janito-3.1.0 → janito-3.3.0}/janito/i18n/it.py +0 -0
  331. {janito-3.1.0 → janito-3.3.0}/janito/i18n/messages.py +0 -0
  332. {janito-3.1.0 → janito-3.3.0}/janito/i18n/pt.py +0 -0
  333. {janito-3.1.0 → janito-3.3.0}/janito/llm/README.md +0 -0
  334. {janito-3.1.0 → janito-3.3.0}/janito/llm/__init__.py +0 -0
  335. {janito-3.1.0 → janito-3.3.0}/janito/llm/auth.py +0 -0
  336. {janito-3.1.0 → janito-3.3.0}/janito/llm/auth_utils.py +0 -0
  337. {janito-3.1.0 → janito-3.3.0}/janito/llm/driver_config.py +0 -0
  338. {janito-3.1.0 → janito-3.3.0}/janito/llm/driver_config_builder.py +0 -0
  339. {janito-3.1.0 → janito-3.3.0}/janito/llm/driver_input.py +0 -0
  340. {janito-3.1.0 → janito-3.3.0}/janito/llm/message_parts.py +0 -0
  341. {janito-3.1.0 → janito-3.3.0}/janito/llm/model.py +0 -0
  342. {janito-3.1.0 → janito-3.3.0}/janito/llm/provider.py +0 -0
  343. {janito-3.1.0 → janito-3.3.0}/janito/mkdocs.yml +0 -0
  344. {janito-3.1.0 → janito-3.3.0}/janito/perf_singleton.py +0 -0
  345. {janito-3.1.0 → janito-3.3.0}/janito/performance_collector.py +0 -0
  346. {janito-3.1.0 → janito-3.3.0}/janito/platform_discovery.py +0 -0
  347. {janito-3.1.0/janito/plugin_system → janito-3.3.0/janito/plugin_system_backup_20250825_070018}/__init__.py +0 -0
  348. {janito-3.1.0/janito/plugin_system → janito-3.3.0/janito/plugin_system_backup_20250825_070018}/base.py +0 -0
  349. {janito-3.1.0/janito/plugin_system → janito-3.3.0/janito/plugin_system_backup_20250825_070018}/core_loader.py +0 -0
  350. {janito-3.1.0/janito/plugin_system → janito-3.3.0/janito/plugin_system_backup_20250825_070018}/core_loader_fixed.py +0 -0
  351. {janito-3.1.0 → janito-3.3.0}/janito/plugins/config.py +0 -0
  352. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/__init__.py +0 -0
  353. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/__init__.py +0 -0
  354. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py +0 -0
  355. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/core.py +0 -0
  356. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/java_outline.py +0 -0
  357. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/markdown_outline.py +0 -0
  358. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/python_outline.py +0 -0
  359. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/get_file_outline/search_outline.py +0 -0
  360. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/search_text/__init__.py +0 -0
  361. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/search_text/core.py +0 -0
  362. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/search_text/match_lines.py +0 -0
  363. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/search_text/pattern_utils.py +0 -0
  364. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/codeanalyzer/tools/search_text/traverse_directory.py +0 -0
  365. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/__init__.py +0 -0
  366. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/find_files.py +0 -0
  367. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/move_file.py +0 -0
  368. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/read_files.py +0 -0
  369. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/remove_directory.py +0 -0
  370. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/remove_file.py +0 -0
  371. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/replace_text_in_file.py +0 -0
  372. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +0 -0
  373. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/core.py +0 -0
  374. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/css_validator.py +0 -0
  375. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/html_validator.py +0 -0
  376. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/jinja2_validator.py +0 -0
  377. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/js_validator.py +0 -0
  378. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/json_validator.py +0 -0
  379. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/markdown_validator.py +0 -0
  380. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/ps1_validator.py +0 -0
  381. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/python_validator.py +0 -0
  382. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/xml_validator.py +0 -0
  383. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/validate_file_syntax/yaml_validator.py +0 -0
  384. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/filemanager/tools/view_file.py +0 -0
  385. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/imagedisplay/__init__.py +0 -0
  386. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/imagedisplay/tools/__init__.py +0 -0
  387. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/imagedisplay/tools/show_image.py +0 -0
  388. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/imagedisplay/tools/show_image_grid.py +0 -0
  389. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/system/__init__.py +0 -0
  390. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/system/tools/run_bash_command.py +0 -0
  391. {janito-3.1.0 → janito-3.3.0}/janito/plugins/core/system/tools/run_powershell_command.py +0 -0
  392. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/__init__.py +0 -0
  393. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/pythondev/__init__.py +0 -0
  394. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/pythondev/tools/python_code_run.py +0 -0
  395. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/pythondev/tools/python_command_run.py +0 -0
  396. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/pythondev/tools/python_file_run.py +0 -0
  397. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/visualization/__init__.py +0 -0
  398. {janito-3.1.0 → janito-3.3.0}/janito/plugins/dev/visualization/tools/read_chart.py +0 -0
  399. {janito-3.1.0 → janito-3.3.0}/janito/plugins/ui/__init__.py +0 -0
  400. {janito-3.1.0 → janito-3.3.0}/janito/plugins/ui/userinterface/__init__.py +0 -0
  401. {janito-3.1.0 → janito-3.3.0}/janito/plugins/ui/userinterface/tools/ask_user.py +0 -0
  402. {janito-3.1.0 → janito-3.3.0}/janito/plugins/web/__init__.py +0 -0
  403. {janito-3.1.0 → janito-3.3.0}/janito/plugins/web/webtools/__init__.py +0 -0
  404. {janito-3.1.0 → janito-3.3.0}/janito/plugins/web/webtools/tools/fetch_url.py +0 -0
  405. {janito-3.1.0 → janito-3.3.0}/janito/plugins/web/webtools/tools/open_html_in_browser.py +0 -0
  406. {janito-3.1.0 → janito-3.3.0}/janito/plugins/web/webtools/tools/open_url.py +0 -0
  407. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/__init__.py +0 -0
  408. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/auto_loader.py +0 -0
  409. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/auto_loader_fixed.py +0 -0
  410. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/builtin.py +0 -0
  411. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/get_file_outline/java_outline.py +0 -0
  412. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/get_file_outline/markdown_outline.py +0 -0
  413. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/get_file_outline/python_outline.py +0 -0
  414. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/get_file_outline/search_outline.py +0 -0
  415. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/search_text/match_lines.py +0 -0
  416. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/search_text/pattern_utils.py +0 -0
  417. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/codeanalyzer}/tools/search_text/traverse_directory.py +0 -0
  418. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/core/filemanager/tools/copy_file.py +0 -0
  419. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/core/filemanager/tools/create_directory.py +0 -0
  420. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/core/filemanager/tools/create_file.py +0 -0
  421. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/css_validator.py +0 -0
  422. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/html_validator.py +0 -0
  423. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/jinja2_validator.py +0 -0
  424. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/js_validator.py +0 -0
  425. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/json_validator.py +0 -0
  426. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/markdown_validator.py +0 -0
  427. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/ps1_validator.py +0 -0
  428. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/python_validator.py +0 -0
  429. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/xml_validator.py +0 -0
  430. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018/core/filemanager}/tools/validate_file_syntax/yaml_validator.py +0 -0
  431. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/core/imagedisplay/plugin.py +0 -0
  432. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/core_adapter.py +0 -0
  433. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/discovery.py +0 -0
  434. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/discovery_core.py +0 -0
  435. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/example_plugin.py +0 -0
  436. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/manager.py +0 -0
  437. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/__init__.py +0 -0
  438. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/ask_user.py +0 -0
  439. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/copy_file.py +0 -0
  440. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/core_tools_plugin.py +0 -0
  441. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/create_directory.py +0 -0
  442. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/create_file.py +0 -0
  443. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/decorators.py +0 -0
  444. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/fetch_url.py +0 -0
  445. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/find_files.py +0 -0
  446. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/get_file_outline/__init__.py +0 -0
  447. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/get_file_outline/core.py +0 -0
  448. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/move_file.py +0 -0
  449. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/open_html_in_browser.py +0 -0
  450. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/open_url.py +0 -0
  451. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/python_code_run.py +0 -0
  452. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/python_command_run.py +0 -0
  453. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/python_file_run.py +0 -0
  454. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/read_chart.py +0 -0
  455. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/read_files.py +0 -0
  456. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/remove_directory.py +0 -0
  457. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/remove_file.py +0 -0
  458. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/replace_text_in_file.py +0 -0
  459. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/run_bash_command.py +0 -0
  460. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/run_powershell_command.py +0 -0
  461. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/search_text/__init__.py +0 -0
  462. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/search_text/core.py +0 -0
  463. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/show_image.py +0 -0
  464. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/show_image_grid.py +0 -0
  465. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/validate_file_syntax/__init__.py +0 -0
  466. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/validate_file_syntax/core.py +0 -0
  467. {janito-3.1.0/janito/plugins → janito-3.3.0/janito/plugins_backup_20250825_070018}/tools/view_file.py +0 -0
  468. {janito-3.1.0 → janito-3.3.0}/janito/provider_config.py +0 -0
  469. {janito-3.1.0 → janito-3.3.0}/janito/provider_registry.py +0 -0
  470. {janito-3.1.0 → janito-3.3.0}/janito/providers/__init__.py +0 -0
  471. {janito-3.1.0 → janito-3.3.0}/janito/providers/alibaba/__init__.py +0 -0
  472. {janito-3.1.0 → janito-3.3.0}/janito/providers/alibaba/model_info.py +0 -0
  473. {janito-3.1.0 → janito-3.3.0}/janito/providers/alibaba/provider.py +0 -0
  474. {janito-3.1.0 → janito-3.3.0}/janito/providers/anthropic/model_info.py +0 -0
  475. {janito-3.1.0 → janito-3.3.0}/janito/providers/anthropic/provider.py +0 -0
  476. {janito-3.1.0 → janito-3.3.0}/janito/providers/azure_openai/model_info.py +0 -0
  477. {janito-3.1.0 → janito-3.3.0}/janito/providers/azure_openai/provider.py +0 -0
  478. {janito-3.1.0 → janito-3.3.0}/janito/providers/cerebras/__init__.py +0 -0
  479. {janito-3.1.0 → janito-3.3.0}/janito/providers/cerebras/model_info.py +0 -0
  480. {janito-3.1.0 → janito-3.3.0}/janito/providers/cerebras/provider.py +0 -0
  481. {janito-3.1.0 → janito-3.3.0}/janito/providers/dashscope.bak.zip +0 -0
  482. {janito-3.1.0 → janito-3.3.0}/janito/providers/deepseek/__init__.py +0 -0
  483. {janito-3.1.0 → janito-3.3.0}/janito/providers/deepseek/model_info.py +0 -0
  484. {janito-3.1.0 → janito-3.3.0}/janito/providers/deepseek/provider.py +0 -0
  485. {janito-3.1.0 → janito-3.3.0}/janito/providers/google/__init__.py +0 -0
  486. {janito-3.1.0 → janito-3.3.0}/janito/providers/google/model_info.py +0 -0
  487. {janito-3.1.0 → janito-3.3.0}/janito/providers/google/provider.py +0 -0
  488. {janito-3.1.0 → janito-3.3.0}/janito/providers/ibm/README.md +0 -0
  489. {janito-3.1.0 → janito-3.3.0}/janito/providers/ibm/__init__.py +0 -0
  490. {janito-3.1.0 → janito-3.3.0}/janito/providers/ibm/model_info.py +0 -0
  491. {janito-3.1.0 → janito-3.3.0}/janito/providers/ibm/provider.py +0 -0
  492. {janito-3.1.0 → janito-3.3.0}/janito/providers/mistral/__init__.py +0 -0
  493. {janito-3.1.0 → janito-3.3.0}/janito/providers/mistral/model_info.py +0 -0
  494. {janito-3.1.0 → janito-3.3.0}/janito/providers/mistral/provider.py +0 -0
  495. {janito-3.1.0 → janito-3.3.0}/janito/providers/moonshot/__init__.py +0 -0
  496. {janito-3.1.0 → janito-3.3.0}/janito/providers/moonshot/model_info.py +0 -0
  497. {janito-3.1.0 → janito-3.3.0}/janito/providers/moonshot/provider.py +0 -0
  498. {janito-3.1.0 → janito-3.3.0}/janito/providers/openai/__init__.py +0 -0
  499. {janito-3.1.0 → janito-3.3.0}/janito/providers/openai/model_info.py +0 -0
  500. {janito-3.1.0 → janito-3.3.0}/janito/providers/openai/provider.py +0 -0
  501. {janito-3.1.0 → janito-3.3.0}/janito/providers/openai/schema_generator.py +0 -0
  502. {janito-3.1.0 → janito-3.3.0}/janito/providers/registry.py +0 -0
  503. {janito-3.1.0 → janito-3.3.0}/janito/providers/zai/__init__.py +0 -0
  504. {janito-3.1.0 → janito-3.3.0}/janito/providers/zai/model_info.py +0 -0
  505. {janito-3.1.0 → janito-3.3.0}/janito/providers/zai/provider.py +0 -0
  506. {janito-3.1.0 → janito-3.3.0}/janito/providers/zai/schema_generator.py +0 -0
  507. {janito-3.1.0 → janito-3.3.0}/janito/regions/__init__.py +0 -0
  508. {janito-3.1.0 → janito-3.3.0}/janito/regions/cli.py +0 -0
  509. {janito-3.1.0 → janito-3.3.0}/janito/regions/geo_utils.py +0 -0
  510. {janito-3.1.0 → janito-3.3.0}/janito/regions/provider_regions.py +0 -0
  511. {janito-3.1.0 → janito-3.3.0}/janito/report_events.py +0 -0
  512. {janito-3.1.0 → janito-3.3.0}/janito/shell.bak.zip +0 -0
  513. {janito-3.1.0 → janito-3.3.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  514. {janito-3.1.0 → janito-3.3.0}/janito/tools/README.md +0 -0
  515. {janito-3.1.0 → janito-3.3.0}/janito/tools/__init__.py +0 -0
  516. {janito-3.1.0 → janito-3.3.0}/janito/tools/adapters/__init__.py +0 -0
  517. {janito-3.1.0 → janito-3.3.0}/janito/tools/adapters/local/__init__.py +0 -0
  518. {janito-3.1.0 → janito-3.3.0}/janito/tools/adapters/local/adapter.py +0 -0
  519. {janito-3.1.0 → janito-3.3.0}/janito/tools/disabled_tools.py +0 -0
  520. {janito-3.1.0 → janito-3.3.0}/janito/tools/inspect_registry.py +0 -0
  521. {janito-3.1.0 → janito-3.3.0}/janito/tools/loop_protection.py +0 -0
  522. {janito-3.1.0 → janito-3.3.0}/janito/tools/loop_protection_decorator.py +0 -0
  523. {janito-3.1.0 → janito-3.3.0}/janito/tools/outline_file.bak.zip +0 -0
  524. {janito-3.1.0 → janito-3.3.0}/janito/tools/path_security.py +0 -0
  525. {janito-3.1.0 → janito-3.3.0}/janito/tools/path_utils.py +0 -0
  526. {janito-3.1.0 → janito-3.3.0}/janito/tools/permissions.py +0 -0
  527. {janito-3.1.0 → janito-3.3.0}/janito/tools/permissions_parse.py +0 -0
  528. {janito-3.1.0 → janito-3.3.0}/janito/tools/tool_events.py +0 -0
  529. {janito-3.1.0 → janito-3.3.0}/janito/tools/tool_run_exception.py +0 -0
  530. {janito-3.1.0 → janito-3.3.0}/janito/tools/tool_use_tracker.py +0 -0
  531. {janito-3.1.0 → janito-3.3.0}/janito/tools/tool_utils.py +0 -0
  532. {janito-3.1.0 → janito-3.3.0}/janito/tools/tools_adapter.py +0 -0
  533. {janito-3.1.0 → janito-3.3.0}/janito/tools/url_whitelist.py +0 -0
  534. {janito-3.1.0 → janito-3.3.0}/janito/utils.py +0 -0
  535. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/dependency_links.txt +0 -0
  536. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/entry_points.txt +0 -0
  537. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/requires.txt +0 -0
  538. {janito-3.1.0 → janito-3.3.0}/janito.egg-info/top_level.txt +0 -0
  539. {janito-3.1.0 → janito-3.3.0}/market_prompt_fix.py +0 -0
  540. {janito-3.1.0 → janito-3.3.0}/market_test.py +0 -0
  541. {janito-3.1.0 → janito-3.3.0}/mkdocs.yml +0 -0
  542. {janito-3.1.0 → janito-3.3.0}/mkdocs_hooks.py +0 -0
  543. {janito-3.1.0 → janito-3.3.0}/pyproject.toml +0 -0
  544. {janito-3.1.0 → janito-3.3.0}/pytest.ini +0 -0
  545. {janito-3.1.0 → janito-3.3.0}/requirements-dev.txt +0 -0
  546. {janito-3.1.0 → janito-3.3.0}/requirements.txt +0 -0
  547. {janito-3.1.0 → janito-3.3.0}/setup.cfg +0 -0
  548. {janito-3.1.0 → janito-3.3.0}/test.txt +0 -0
  549. {janito-3.1.0 → janito-3.3.0}/test_example.py +0 -0
  550. {janito-3.1.0 → janito-3.3.0}/test_http_errors.py +0 -0
  551. {janito-3.1.0 → janito-3.3.0}/test_http_errors_direct.py +0 -0
  552. {janito-3.1.0 → janito-3.3.0}/test_key_field_behavior.py +0 -0
  553. {janito-3.1.0 → janito-3.3.0}/test_key_field_protection.py +0 -0
  554. {janito-3.1.0 → janito-3.3.0}/test_loop_protection_return.py +0 -0
  555. {janito-3.1.0 → janito-3.3.0}/test_market_analyst.py +0 -0
  556. {janito-3.1.0 → janito-3.3.0}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
  557. {janito-3.1.0 → janito-3.3.0}/tests/adapters/local/test_read_files.py +0 -0
  558. {janito-3.1.0 → janito-3.3.0}/tests/test_cli_list_models.py +0 -0
  559. {janito-3.1.0 → janito-3.3.0}/tests/test_cli_list_providers.py +0 -0
  560. {janito-3.1.0 → janito-3.3.0}/tests/test_cli_list_providers_alibaba.py +0 -0
  561. {janito-3.1.0 → janito-3.3.0}/tests/test_cli_list_providers_moonshot.py +0 -0
  562. {janito-3.1.0 → janito-3.3.0}/tests/test_cli_version.py +0 -0
  563. {janito-3.1.0 → janito-3.3.0}/tests/test_disabled_tools.py +0 -0
  564. {janito-3.1.0 → janito-3.3.0}/tests/test_plugin_system.py +0 -0
  565. {janito-3.1.0 → janito-3.3.0}/tests/test_provider_alibaba.py +0 -0
  566. {janito-3.1.0 → janito-3.3.0}/tests/test_provider_cerebras.py +0 -0
  567. {janito-3.1.0 → janito-3.3.0}/tests/test_provider_moonshot.py +0 -0
  568. {janito-3.1.0 → janito-3.3.0}/tools/release.py +0 -0
  569. {janito-3.1.0 → janito-3.3.0}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 3.1.0
3
+ Version: 3.3.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
@@ -0,0 +1,131 @@
1
+ # Janito Plugin System Cleanup Plan
2
+
3
+ ## Overview
4
+ This document outlines the comprehensive cleanup of the janito plugin system to create a unified, maintainable architecture.
5
+
6
+ ## Current Issues Identified
7
+
8
+ ### 1. Redundant Systems
9
+ - Multiple plugin loading mechanisms
10
+ - Duplicate tool implementations
11
+ - Inconsistent plugin discovery
12
+
13
+ ### 2. Directory Structure Problems
14
+ - Files scattered across multiple locations
15
+ - Unclear separation between core and user plugins
16
+ - Legacy files that are no longer used
17
+
18
+ ### 3. Architecture Inconsistencies
19
+ - Mixed plugin definition approaches
20
+ - Unclear plugin lifecycle management
21
+ - Redundant configuration systems
22
+
23
+ ## Cleanup Strategy
24
+
25
+ ### Phase 1: Remove Redundant Systems (Priority: High)
26
+
27
+ #### Files to Remove
28
+ - janito/plugin_system/ # Entire directory
29
+ - janito/plugins/auto_loader.py # Use manager.py instead
30
+ - janito/plugins/auto_loader_fixed.py # Duplicate
31
+ - janito/plugins/discovery_core.py # Redundant
32
+ - janito/plugins/core_adapter.py # Unused
33
+ - janito/plugins/tools/ # Consolidate into core plugins
34
+
35
+ #### Files to Consolidate
36
+ - Move tools from janito/plugins/tools/ to appropriate core plugins
37
+ - Consolidate plugin base classes
38
+ - Merge configuration systems
39
+
40
+ ### Phase 2: Restructure Directory Layout
41
+
42
+ #### New Structure
43
+ - janito/plugins/ # Main plugin system
44
+ - __init__.py
45
+ - manager.py # Plugin manager
46
+ - discovery.py # Plugin discovery
47
+ - config.py # Configuration
48
+ - builtin.py # Builtin plugins
49
+ - base.py # Base plugin classes
50
+ - core/ # Core plugins
51
+ - __init__.py
52
+ - filemanager/ # File operations
53
+ - codeanalyzer/ # Code analysis
54
+ - system/ # System operations
55
+ - imagedisplay/ # Image display
56
+ - dev/ # Development tools
57
+ - ui/ # UI tools
58
+ - web/ # Web tools
59
+ - user/ # User plugins (empty by default)
60
+
61
+ ### Phase 3: Consolidate Tool Implementations
62
+
63
+ #### Current Duplications
64
+ - janito/plugins/tools/ vs janito/plugins/core/*/tools/
65
+ - Multiple implementations of same functionality
66
+
67
+ #### Consolidation Plan
68
+ 1. Move all tools to their logical core plugin
69
+ 2. Remove duplicate implementations
70
+ 3. Ensure consistent tool interfaces
71
+
72
+ ### Phase 4: Update Plugin Architecture
73
+
74
+ #### Unified Plugin Definition
75
+ Create a standard plugin base class in janito/plugins/base.py
76
+
77
+ ## Implementation Steps
78
+
79
+ ### Step 1: Backup Current State
80
+ Create backup of current plugin system
81
+
82
+ ### Step 2: Remove Redundant Files
83
+ - Remove old plugin system directory
84
+ - Remove duplicate and unused files
85
+
86
+ ### Step 3: Consolidate Tools
87
+ Move tools from plugins/tools/ to core plugins
88
+
89
+ ### Step 4: Create New Base Classes
90
+ - Create unified plugin base in janito/plugins/base.py
91
+ - Ensure compatibility with existing plugins
92
+ - Provide clear migration path
93
+
94
+ ### Step 5: Update Configuration
95
+ - Consolidate configuration into single system
96
+ - Update plugin loading to use new structure
97
+ - Ensure backward compatibility
98
+
99
+ ## Testing Strategy
100
+
101
+ ### 1. Unit Tests
102
+ - Test each core plugin individually
103
+ - Verify tool registration works correctly
104
+ - Test plugin loading/unloading
105
+
106
+ ### 2. Integration Tests
107
+ - Test plugin system initialization
108
+ - Verify all core plugins load correctly
109
+ - Test plugin discovery and loading
110
+
111
+ ### 3. Regression Tests
112
+ - Ensure existing functionality works
113
+ - Verify no tools are lost in consolidation
114
+ - Test configuration compatibility
115
+
116
+ ## Migration Timeline
117
+
118
+ ### Week 1: Analysis and Backup
119
+ - Complete current system analysis
120
+ - Create comprehensive backups
121
+ - Plan detailed migration steps
122
+
123
+ ### Week 2: Consolidation
124
+ - Remove redundant files
125
+ - Consolidate tools into core plugins
126
+ - Create new base classes
127
+
128
+ ### Week 3: Testing and Validation
129
+ - Comprehensive testing of new system
130
+ - Fix any issues discovered
131
+ - Update documentation
@@ -0,0 +1,109 @@
1
+ # Plugin System Cleanup - COMPLETED ✅
2
+
3
+ ## Summary
4
+ The janito plugin system cleanup has been successfully completed. The system now has a unified, maintainable architecture.
5
+
6
+ ## What Was Accomplished
7
+
8
+ ### ✅ Phase 1: Remove Redundant Systems
9
+ - **Removed**: `janito/plugin_system/` directory
10
+ - **Removed**: `janito/plugins/auto_loader.py`
11
+ - **Removed**: `janito/plugins/auto_loader_fixed.py`
12
+ - **Removed**: `janito/plugins/discovery_core.py`
13
+ - **Removed**: `janito/plugins/core_adapter.py`
14
+ - **Removed**: `janito/plugins/tools/` directory
15
+ - **Consolidated**: All tools moved to appropriate core plugins
16
+
17
+ ### ✅ Phase 2: Restructure Directory Layout
18
+ ```
19
+ janito/
20
+ ├── plugins/ # Main plugin system
21
+ │ ├── __init__.py
22
+ │ ├── base.py # Unified plugin base classes
23
+ │ ├── manager.py # Plugin manager
24
+ │ ├── discovery.py # Plugin discovery
25
+ │ ├── config.py # Configuration
26
+ │ ├── builtin.py # Builtin plugins
27
+ │ ├── core_loader.py # Core plugin loader
28
+ │ ├── core/ # Core plugins
29
+ │ │ ├── filemanager/
30
+ │ │ ├── codeanalyzer/
31
+ │ │ ├── system/
32
+ │ │ ├── imagedisplay/
33
+ │ │ ├── dev/
34
+ │ │ ├── ui/
35
+ │ │ └── web/
36
+ │ └── user/ # User plugins (empty by default)
37
+ ```
38
+
39
+ ### ✅ Phase 3: Update Plugin Architecture
40
+ - **Unified Plugin Definition**: All plugins now use `janito.plugins.base.Plugin`
41
+ - **Consistent Imports**: All imports updated to use new structure
42
+ - **Backward Compatibility**: Existing plugins continue to work
43
+
44
+ ### ✅ Phase 4: Testing & Validation
45
+ - **All Core Plugins**: Successfully loaded and tested
46
+ - **Plugin Discovery**: Working correctly
47
+ - **Import System**: All components importable
48
+ - **Directory Structure**: Clean and organized
49
+
50
+ ## Available Plugins
51
+ All 8 core plugins are working:
52
+ - `core.filemanager` - File operations
53
+ - `core.codeanalyzer` - Code analysis tools
54
+ - `core.system` - System operations
55
+ - `core.imagedisplay` - Image display tools
56
+ - `dev.pythondev` - Python development tools
57
+ - `dev.visualization` - Data visualization tools
58
+ - `ui.userinterface` - UI interaction tools
59
+ - `web.webtools` - Web-related tools
60
+
61
+ ## Usage Examples
62
+
63
+ ### Basic Plugin Usage
64
+ ```python
65
+ from janito.plugins import PluginManager
66
+
67
+ # Create plugin manager
68
+ pm = PluginManager()
69
+
70
+ # Load a plugin
71
+ pm.load_plugin("core.filemanager")
72
+
73
+ # List loaded plugins
74
+ print(pm.list_plugins())
75
+
76
+ # Get plugin info
77
+ info = pm.get_loaded_plugins_info()
78
+ ```
79
+
80
+ ### Creating a Custom Plugin
81
+ ```python
82
+ from janito.plugins import Plugin, PluginMetadata
83
+
84
+ class MyPlugin(Plugin):
85
+ def get_metadata(self):
86
+ return PluginMetadata(
87
+ name="my_plugin",
88
+ version="1.0.0",
89
+ description="My custom plugin",
90
+ author="My Name"
91
+ )
92
+
93
+ def get_tools(self):
94
+ return [MyTool1, MyTool2]
95
+ ```
96
+
97
+ ## Migration Notes
98
+ - **Backups**: All original files backed up with timestamps
99
+ - **No Breaking Changes**: Existing code continues to work
100
+ - **Clean Architecture**: Ready for future extensions
101
+ - **User Plugins**: Ready for user-defined plugins in `janito/plugins/user/`
102
+
103
+ ## Next Steps
104
+ 1. **User Documentation**: Update documentation to reflect new structure
105
+ 2. **Plugin Development**: Create guides for plugin developers
106
+ 3. **Testing**: Add comprehensive test suite
107
+ 4. **Extensions**: Add support for external plugin repositories
108
+
109
+ The plugin system is now clean, unified, and ready for production use! 🎉
@@ -0,0 +1,70 @@
1
+ # Janito v3.3.0 Release Notes
2
+
3
+ ## Overview
4
+ Version 3.3.0 represents a major architectural improvement focused on consolidating and streamlining the plugin system. This release delivers a cleaner, more maintainable codebase while preserving all existing functionality.
5
+
6
+ ## Major Changes
7
+
8
+ ### Plugin System Refactoring
9
+ - **Consolidated Architecture**: Unified plugin system from separate `plugin_system/` and `plugins/` directories into a single, coherent structure
10
+ - **Core Plugin Organization**: All core plugins now reside in `janito/plugins/core/` with logical grouping by functionality
11
+ - **Simplified Loading**: Removed deprecated plugin loading mechanisms and redundant files
12
+ - **Enhanced Discovery**: Improved plugin discovery mechanisms with better error handling
13
+
14
+ ### Plugin Structure Improvements
15
+ - **Organized Core Plugins**:
16
+ - `janito/plugins/core/filemanager/` - File management tools
17
+ - `janito/plugins/core/codeanalyzer/` - Code analysis tools
18
+ - `janito/plugins/core/imagedisplay/` - Image display functionality
19
+ - `janito/plugins/core/system/` - System-level tools
20
+ - `janito/plugins/core/web/` - Web-related tools
21
+
22
+ - **New Base Classes**: Added modern plugin base classes for better extensibility
23
+ - **Updated Manager**: Enhanced plugin manager with improved functionality and error handling
24
+
25
+ ### Backward Compatibility
26
+ - All existing functionality preserved through the new core plugin system
27
+ - Old plugin system backed up to `janito/plugins_backup_20250825_070018/` for reference
28
+ - No breaking changes to public APIs
29
+
30
+ ## Technical Details
31
+
32
+ ### Files Added
33
+ - New plugin base classes and discovery mechanisms
34
+ - Comprehensive plugin cleanup documentation
35
+ - Enhanced CLI integration for new plugin architecture
36
+
37
+ ### Files Removed
38
+ - Deprecated plugin loading mechanisms
39
+ - Redundant plugin system files
40
+ - Legacy plugin organization structures
41
+
42
+ ### Files Modified
43
+ - Plugin manager and discovery systems
44
+ - CLI commands for plugin listing
45
+ - Core plugin implementations
46
+ - Tool integration layers
47
+
48
+ ## Migration Notes
49
+ - **No action required** for existing users
50
+ - All existing plugins and functionality continue to work
51
+ - Plugin developers can migrate to the new structure at their convenience
52
+ - The backup directory provides reference for any custom integrations
53
+
54
+ ## Development Impact
55
+ - **Cleaner codebase**: Reduced complexity and improved maintainability
56
+ - **Better organization**: Logical grouping of related functionality
57
+ - **Enhanced testing**: More focused and reliable plugin testing
58
+ - **Improved documentation**: Clearer structure for plugin development
59
+
60
+ ## Version Information
61
+ - **Previous**: v3.2.0
62
+ - **Current**: v3.3.0
63
+ - **Type**: Minor version (backward-compatible architecture improvements)
64
+
65
+ ## Contributors
66
+ This release represents significant refactoring work to improve the long-term maintainability and extensibility of the Janito platform.
67
+
68
+ ---
69
+
70
+ For detailed migration guides and plugin development documentation, see the updated documentation in the repository.
@@ -0,0 +1,49 @@
1
+ # Changelog
2
+
3
+ All notable changes to Janito will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Removed
11
+
12
+ - **Breaking Change**: Removed `--role` argument and interactive profile selection
13
+ - The `--role` argument has been completely removed from the CLI
14
+ - Interactive profile selection has been removed from chat mode
15
+ - Use `--profile <name>` or shorthand flags like `--developer` and `--market` instead
16
+ - Default behavior now uses the Developer profile when no profile is specified
17
+
18
+ ### Changed
19
+
20
+ - Updated documentation to reflect removal of role argument
21
+ - Added comprehensive profile documentation in `PROFILES.md`
22
+ - Simplified profile selection to use explicit flags only
23
+
24
+ ## [Previous Versions]
25
+
26
+ ### Added
27
+
28
+ - Initial support for profiles and roles
29
+ - Interactive profile selection in chat mode
30
+ - `--role` argument for specifying developer roles
31
+ - `--profile` argument for system prompt templates
32
+ - `--developer` and `--market` shorthand flags
33
+
34
+ ### Available Profiles
35
+
36
+ - **Developer**: Optimized for software development tasks
37
+ - **Market Analyst**: Specialized for market analysis and business insights
38
+
39
+ ### Supported Providers
40
+
41
+ - Moonshot AI (default)
42
+ - OpenAI
43
+ - Anthropic
44
+ - IBM WatsonX
45
+ - Google AI
46
+
47
+ ---
48
+
49
+ For detailed information about profiles and their usage, see [PROFILES.md](PROFILES.md).
@@ -0,0 +1,38 @@
1
+ """
2
+ Key bindings for Janito Chat CLI.
3
+ """
4
+
5
+ from prompt_toolkit.key_binding import KeyBindings
6
+ from janito.tools.permissions import get_global_allowed_permissions
7
+
8
+
9
+ class KeyBindingsFactory:
10
+ @staticmethod
11
+ def create():
12
+ bindings = KeyBindings()
13
+
14
+ @bindings.add("c-y")
15
+ def _(event):
16
+ buf = event.app.current_buffer
17
+ buf.text = "Yes"
18
+ buf.validate_and_handle()
19
+
20
+ @bindings.add("c-n")
21
+ def _(event):
22
+ buf = event.app.current_buffer
23
+ buf.text = "No"
24
+ buf.validate_and_handle()
25
+
26
+ @bindings.add("f2")
27
+ def _(event):
28
+ buf = event.app.current_buffer
29
+ buf.text = "/restart"
30
+ buf.validate_and_handle()
31
+
32
+ @bindings.add("f12")
33
+ def _(event):
34
+ buf = event.app.current_buffer
35
+ buf.text = "Do It"
36
+ buf.validate_and_handle()
37
+
38
+ return bindings
@@ -283,13 +283,7 @@ class ChatSession:
283
283
  )
284
284
  )
285
285
 
286
- try:
287
- self._prompt_handler.run_prompt(cmd_input)
288
- finally:
289
- # Ensure cancellation manager is cleared
290
- cancel_manager = get_cancellation_manager()
291
- cancel_manager.clear_current_request()
292
-
286
+ self._prompt_handler.run_prompt(cmd_input)
293
287
  end_time = time.time()
294
288
  elapsed = end_time - start_time
295
289
  self.msg_count += 1
@@ -8,11 +8,8 @@ from janito.plugins.discovery import list_available_plugins
8
8
  import os
9
9
  from janito.plugins.manager import PluginManager
10
10
  from janito.plugins.builtin import BuiltinPluginRegistry
11
- from janito.plugins.auto_loader_fixed import (
12
- load_core_plugins,
13
- get_loaded_core_plugins,
14
- is_core_plugin,
15
- )
11
+ from janito.plugins.manager import PluginManager
12
+ from janito.plugins.core_loader import get_core_plugins
16
13
  from rich.console import Console
17
14
  from rich.table import Table
18
15
  from rich.panel import Panel
@@ -55,7 +52,7 @@ def _list_available_plugins():
55
52
  console.print(table)
56
53
 
57
54
  # Show core plugins
58
- from janito.plugin_system.core_loader_fixed import get_core_plugins
55
+ from janito.plugins.core_loader import get_core_plugins
59
56
 
60
57
  core_plugins = get_core_plugins()
61
58
  core_table = Table(title="Core Plugins (Enabled by Default)")
@@ -98,10 +95,8 @@ def _print_external_plugins(available, builtin_plugins):
98
95
 
99
96
  def _list_plugin_resources():
100
97
  """List all resources from loaded plugins using rich formatting."""
101
- from janito.plugins.auto_loader_fixed import get_plugin_manager
102
-
103
98
  console = Console()
104
- manager = get_plugin_manager()
99
+ manager = PluginManager()
105
100
  all_resources = manager.list_all_resources()
106
101
 
107
102
  if all_resources:
@@ -174,10 +169,8 @@ def _print_resources_by_type(resources):
174
169
 
175
170
  def _list_loaded_plugins():
176
171
  """List loaded plugins using rich formatting."""
177
- from janito.plugins.auto_loader_fixed import get_plugin_manager
178
-
179
172
  console = Console()
180
- manager = get_plugin_manager()
173
+ manager = PluginManager()
181
174
  loaded = manager.list_plugins()
182
175
 
183
176
  if loaded:
@@ -192,7 +185,9 @@ def _list_loaded_plugins():
192
185
  other_plugins = []
193
186
 
194
187
  for plugin_name in loaded:
195
- if is_core_plugin(plugin_name):
188
+ from janito.plugins.core_loader import get_core_plugins
189
+ core_plugin_list = get_core_plugins()
190
+ if plugin_name in core_plugin_list:
196
191
  core_plugins.append(plugin_name)
197
192
  else:
198
193
  other_plugins.append(plugin_name)
@@ -207,25 +207,15 @@ class PromptHandler:
207
207
  """
208
208
  try:
209
209
  self._print_verbose_debug("Calling agent.chat()...")
210
-
211
- # Use global cancellation manager
212
- from janito.llm.cancellation_manager import get_cancellation_manager
213
- cancel_manager = get_cancellation_manager()
214
- driver_cancel_event = cancel_manager.start_new_request()
215
-
216
- try:
217
- final_event = self.agent.chat(prompt=user_prompt)
218
- if hasattr(self.agent, "set_latest_event"):
219
- self.agent.set_latest_event(final_event)
220
- self.agent.last_event = final_event
221
- self._print_verbose_debug(f"agent.chat() returned: {final_event}")
222
- self._print_verbose_final_event(final_event)
223
- if on_event and final_event is not None:
224
- on_event(final_event)
225
- global_event_bus.publish(final_event)
226
- finally:
227
- cancel_manager.clear_current_request()
228
-
210
+ final_event = self.agent.chat(prompt=user_prompt)
211
+ if hasattr(self.agent, "set_latest_event"):
212
+ self.agent.set_latest_event(final_event)
213
+ self.agent.last_event = final_event
214
+ self._print_verbose_debug(f"agent.chat() returned: {final_event}")
215
+ self._print_verbose_final_event(final_event)
216
+ if on_event and final_event is not None:
217
+ on_event(final_event)
218
+ global_event_bus.publish(final_event)
229
219
  except KeyboardInterrupt:
230
220
  # Capture user interrupt / cancellation
231
221
  self.console.print("[red]Interrupted by the user.[/red]")
@@ -318,36 +318,23 @@ class LLMAgent:
318
318
  loop_count = 1
319
319
  import threading
320
320
 
321
- # Use global cancellation manager
322
- from janito.llm.cancellation_manager import get_cancellation_manager
323
- cancel_manager = get_cancellation_manager()
324
- driver_cancel_event = cancel_manager.start_new_request()
325
-
326
- # Store cancellation event on agent for external access
327
- self.cancel_event = driver_cancel_event
328
-
329
- try:
330
- while True:
331
- self._print_verbose_chat_loop(loop_count)
332
- driver_input = self._prepare_driver_input(config, cancel_event=driver_cancel_event)
333
- self.input_queue.put(driver_input)
334
- try:
335
- result, added_tool_results = self._process_next_response()
336
- except KeyboardInterrupt:
337
- cancel_manager.cancel_current_request()
338
- raise
339
- if getattr(self, "verbose_agent", False):
340
- print(
341
- f"[agent] [DEBUG] Returned from _process_next_response: result={result}, added_tool_results={added_tool_results}"
342
- )
343
- if self._should_exit_chat_loop(result, added_tool_results):
344
- return result
345
- loop_count += 1
346
- finally:
347
- cancel_manager.clear_current_request()
348
- # Clean up cancellation event
349
- if hasattr(self, 'cancel_event'):
350
- delattr(self, 'cancel_event')
321
+ cancel_event = threading.Event()
322
+ while True:
323
+ self._print_verbose_chat_loop(loop_count)
324
+ driver_input = self._prepare_driver_input(config, cancel_event=cancel_event)
325
+ self.input_queue.put(driver_input)
326
+ try:
327
+ result, added_tool_results = self._process_next_response()
328
+ except KeyboardInterrupt:
329
+ cancel_event.set()
330
+ raise
331
+ if getattr(self, "verbose_agent", False):
332
+ print(
333
+ f"[agent] [DEBUG] Returned from _process_next_response: result={result}, added_tool_results={added_tool_results}"
334
+ )
335
+ if self._should_exit_chat_loop(result, added_tool_results):
336
+ return result
337
+ loop_count += 1
351
338
 
352
339
  def _clear_driver_queues(self):
353
340
  if hasattr(self, "driver") and self.driver:
@@ -252,10 +252,3 @@ class LLMDriver(ABC):
252
252
  def _get_message_from_result(self, result):
253
253
  """Extract the message object from the provider result. Subclasses must implement this."""
254
254
  raise NotImplementedError("Subclasses must implement _get_message_from_result.")
255
-
256
- def cancel_current_request(self):
257
- """Cancel the current request being processed."""
258
- # Use global cancellation manager to cancel the current request
259
- from janito.llm.cancellation_manager import get_cancellation_manager
260
- cancel_manager = get_cancellation_manager()
261
- cancel_manager.cancel_current_request()
@@ -0,0 +1,28 @@
1
+ """
2
+ Unified Plugin System for Janito
3
+
4
+ This package provides a clean, unified plugin architecture for janito.
5
+ """
6
+
7
+ __version__ = "1.0.0"
8
+ __author__ = "Development Assistant"
9
+
10
+ # Import core components
11
+ from .base import Plugin, PluginMetadata, PluginResource
12
+ from .manager import PluginManager
13
+ from .discovery import discover_plugins, list_available_plugins
14
+ from .config import load_plugins_config, save_plugins_config
15
+ from .builtin import BuiltinPluginRegistry, load_builtin_plugin
16
+
17
+ __all__ = [
18
+ "Plugin",
19
+ "PluginMetadata",
20
+ "PluginResource",
21
+ "PluginManager",
22
+ "discover_plugins",
23
+ "list_available_plugins",
24
+ "load_plugins_config",
25
+ "save_plugins_config",
26
+ "BuiltinPluginRegistry",
27
+ "load_builtin_plugin",
28
+ ]