janito 3.6.1__tar.gz → 3.8.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 (555) hide show
  1. janito-3.8.0/PKG-INFO +84 -0
  2. janito-3.8.0/README.md +49 -0
  3. janito-3.8.0/docs/CHANGELOG.md +49 -0
  4. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/CHANGELOG.md +0 -33
  5. {janito-3.6.1 → janito-3.8.0}/docs/guides/using.md +0 -1
  6. {janito-3.6.1 → janito-3.8.0}/docs/index.md +1 -6
  7. {janito-3.6.1 → janito-3.8.0}/docs/moonshot-setup.md +6 -5
  8. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/filemanager.md +1 -1
  9. {janito-3.6.1 → janito-3.8.0}/docs/supported-providers-models.md +2 -2
  10. {janito-3.6.1 → janito-3.8.0}/janito/README.md +4 -7
  11. janito-3.8.0/janito/cli/chat_mode/bindings.py +38 -0
  12. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/session.py +1 -12
  13. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -5
  14. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +33 -47
  15. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_plugins.py +43 -52
  16. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_tools.py +1 -6
  17. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/getters.py +0 -3
  18. janito-3.8.0/janito/cli/core/model_guesser.py +54 -0
  19. {janito-3.6.1 → janito-3.8.0}/janito/cli/main_cli.py +13 -10
  20. {janito-3.6.1 → janito-3.8.0}/janito/cli/prompt_core.py +9 -47
  21. {janito-3.6.1 → janito-3.8.0}/janito/cli/rich_terminal_reporter.py +4 -4
  22. {janito-3.6.1 → janito-3.8.0}/janito/docs/GETTING_STARTED.md +9 -8
  23. {janito-3.6.1 → janito-3.8.0}/janito/drivers/openai/driver.py +0 -1
  24. {janito-3.6.1 → janito-3.8.0}/janito/drivers/zai/driver.py +0 -1
  25. {janito-3.6.1 → janito-3.8.0}/janito/i18n/it.py +46 -46
  26. {janito-3.6.1 → janito-3.8.0}/janito/llm/agent.py +16 -32
  27. janito-3.8.0/janito/llm/auth_utils.py +21 -0
  28. {janito-3.6.1 → janito-3.8.0}/janito/llm/driver.py +0 -8
  29. janito-3.8.0/janito/plugins/__init__.py +17 -0
  30. {janito-3.6.1 → janito-3.8.0}/janito/plugins/auto_loader.py +11 -12
  31. {janito-3.6.1 → janito-3.8.0}/janito/plugins/auto_loader_fixed.py +11 -12
  32. {janito-3.6.1/janito/plugin_system → janito-3.8.0/janito/plugins}/base.py +2 -5
  33. {janito-3.6.1 → janito-3.8.0}/janito/plugins/builtin.py +1 -15
  34. janito-3.8.0/janito/plugins/core_adapter.py +53 -0
  35. janito-3.8.0/janito/plugins/core_loader.py +120 -0
  36. janito-3.8.0/janito/plugins/core_loader_fixed.py +125 -0
  37. {janito-3.6.1 → janito-3.8.0}/janito/plugins/discovery.py +5 -5
  38. {janito-3.6.1 → janito-3.8.0}/janito/plugins/discovery_core.py +9 -14
  39. {janito-3.6.1 → janito-3.8.0}/janito/plugins/manager.py +1 -1
  40. {janito-3.6.1 → janito-3.8.0}/janito/providers/__init__.py +0 -1
  41. {janito-3.6.1 → janito-3.8.0}/janito/providers/alibaba/model_info.py +10 -0
  42. {janito-3.6.1 → janito-3.8.0}/janito/providers/alibaba/provider.py +1 -3
  43. {janito-3.6.1 → janito-3.8.0}/janito/providers/moonshot/model_info.py +7 -7
  44. {janito-3.6.1 → janito-3.8.0}/janito/providers/moonshot/provider.py +1 -1
  45. janito-3.8.0/janito/tools/__init__.py +36 -0
  46. janito-3.8.0/janito/tools/adapters/__init__.py +1 -0
  47. janito-3.8.0/janito/tools/adapters/local/__init__.py +73 -0
  48. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/ask_user.py +3 -3
  49. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/create_file.py +6 -6
  50. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/fetch_url.py +23 -20
  51. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/python_code_run.py +7 -23
  52. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/python_command_run.py +5 -21
  53. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/python_file_run.py +5 -21
  54. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/replace_text_in_file.py +4 -4
  55. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/run_bash_command.py +3 -3
  56. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/run_powershell_command.py +3 -3
  57. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/show_image.py +6 -15
  58. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/janito/tools/adapters/local}/show_image_grid.py +6 -15
  59. janito-3.8.0/janito/tools/function_adapter.py +65 -0
  60. janito-3.8.0/janito/tools/loop_protection_decorator.py +145 -0
  61. janito-3.8.0/janito.egg-info/PKG-INFO +84 -0
  62. {janito-3.6.1 → janito-3.8.0}/janito.egg-info/SOURCES.txt +108 -155
  63. {janito-3.6.1 → janito-3.8.0}/janito.egg-info/requires.txt +3 -0
  64. {janito-3.6.1 → janito-3.8.0}/mkdocs.yml +3 -21
  65. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/codeanalyzer/__init__.py +0 -9
  66. janito-3.8.0/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py +1 -0
  67. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/get_file_outline/core.py +3 -3
  68. janito-3.8.0/plugins/core/codeanalyzer/tools/search_text/__init__.py +1 -0
  69. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/search_text/core.py +3 -3
  70. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/filemanager/__init__.py +0 -33
  71. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/copy_file.py +3 -3
  72. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/create_directory.py +3 -3
  73. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/filemanager/tools/create_file.py +2 -2
  74. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/delete_text_in_file.py +4 -4
  75. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/find_files.py +3 -3
  76. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/move_file.py +3 -3
  77. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/read_files.py +3 -3
  78. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/remove_directory.py +3 -3
  79. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/remove_file.py +3 -3
  80. janito-3.8.0/plugins/core/filemanager/tools/validate_file_syntax/__init__.py +1 -0
  81. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/core.py +2 -2
  82. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/view_file.py +3 -3
  83. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/imagedisplay/__init__.py +1 -1
  84. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/imagedisplay/plugin.py +2 -2
  85. janito-3.8.0/plugins/core/imagedisplay/tools/__init__.py +1 -0
  86. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/imagedisplay/tools/show_image.py +3 -12
  87. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/imagedisplay/tools/show_image_grid.py +3 -12
  88. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/system/__init__.py +0 -3
  89. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/system/tools/run_bash_command.py +2 -23
  90. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/system/tools/run_powershell_command.py +0 -16
  91. {janito-3.6.1/janito → janito-3.8.0}/plugins/dev/pythondev/__init__.py +0 -9
  92. janito-3.8.0/plugins/dev/pythondev/tools/python_code_run.py +172 -0
  93. janito-3.8.0/plugins/dev/pythondev/tools/python_command_run.py +171 -0
  94. janito-3.8.0/plugins/dev/pythondev/tools/python_file_run.py +172 -0
  95. {janito-3.6.1/janito → janito-3.8.0}/plugins/dev/visualization/__init__.py +0 -3
  96. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/dev/visualization/tools}/read_chart.py +3 -3
  97. {janito-3.6.1/janito → janito-3.8.0}/plugins/example_plugin.py +1 -1
  98. {janito-3.6.1/janito → janito-3.8.0}/plugins/web/webtools/__init__.py +11 -1
  99. janito-3.8.0/plugins/web/webtools/tools/fetch_url.py +458 -0
  100. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/web/webtools/tools}/open_html_in_browser.py +3 -3
  101. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/web/webtools/tools}/open_url.py +3 -3
  102. janito-3.8.0/plugins.txt +1 -0
  103. {janito-3.6.1 → janito-3.8.0}/pyproject.toml +2 -2
  104. janito-3.6.1/ANNOUNCEMENT_v3.1.0.md +0 -63
  105. janito-3.6.1/ANNOUNCEMENT_v3.5.1.md +0 -50
  106. janito-3.6.1/CHANGELOG.md +0 -39
  107. janito-3.6.1/EVERLYN_README.md +0 -134
  108. janito-3.6.1/EverlynAI.psd1 +0 -22
  109. janito-3.6.1/EverlynAI.psm1 +0 -7
  110. janito-3.6.1/PKG-INFO +0 -228
  111. janito-3.6.1/README.md +0 -195
  112. janito-3.6.1/debug_attribute_access.py +0 -41
  113. janito-3.6.1/debug_conditions.py +0 -83
  114. janito-3.6.1/debug_detailed.py +0 -77
  115. janito-3.6.1/debug_exact_logic.py +0 -59
  116. janito-3.6.1/debug_fetch_url.py +0 -33
  117. janito-3.6.1/debug_fetch_url2.py +0 -40
  118. janito-3.6.1/debug_fetch_url3.py +0 -55
  119. janito-3.6.1/debug_real_status.py +0 -57
  120. janito-3.6.1/debug_status_code.py +0 -36
  121. janito-3.6.1/docs/CHANGELOG.md +0 -212
  122. janito-3.6.1/docs/CHANGELOG_3.0.0.md +0 -141
  123. janito-3.6.1/docs/CNAME +0 -1
  124. janito-3.6.1/docs/assets/images/social-preview.png +0 -0
  125. janito-3.6.1/docs/changelogs/CHANGELOG_3.1.0.md +0 -51
  126. janito-3.6.1/docs/changelogs/CHANGELOG_3.5.0.md +0 -63
  127. janito-3.6.1/docs/changelogs/CHANGELOG_3.5.1.md +0 -62
  128. janito-3.6.1/docs/overrides/main.html +0 -7
  129. janito-3.6.1/docs/overrides/partials/social.html +0 -55
  130. janito-3.6.1/docs/together-setup.md +0 -86
  131. janito-3.6.1/everlyn.md +0 -82
  132. janito-3.6.1/everlyn_homepage.html +0 -1
  133. janito-3.6.1/init_janito_tools.py +0 -51
  134. janito-3.6.1/janito/cli/chat_mode/bindings.py +0 -88
  135. janito-3.6.1/janito/cli/cli_commands/check_tools.py +0 -212
  136. janito-3.6.1/janito/cli/core/model_guesser.py +0 -70
  137. janito-3.6.1/janito/data/blocked.txt +0 -96
  138. janito-3.6.1/janito/llm/auth_utils.py +0 -30
  139. janito-3.6.1/janito/llm/cancellation_manager.py +0 -63
  140. janito-3.6.1/janito/llm/enter_cancellation.py +0 -107
  141. janito-3.6.1/janito/plugin_system/__init__.py +0 -10
  142. janito-3.6.1/janito/plugin_system/core_loader.py +0 -217
  143. janito-3.6.1/janito/plugin_system/core_loader_fixed.py +0 -225
  144. janito-3.6.1/janito/plugins/core/imagedisplay/tools/__init__.py +0 -1
  145. janito-3.6.1/janito/plugins/core_adapter.py +0 -131
  146. janito-3.6.1/janito/plugins/tools/__init__.py +0 -39
  147. janito-3.6.1/janito/plugins/tools/core/__init__.py +0 -65
  148. janito-3.6.1/janito/plugins/tools/core/decorators.py +0 -19
  149. janito-3.6.1/janito/plugins/tools/core/get_file_outline/__init__.py +0 -7
  150. janito-3.6.1/janito/plugins/tools/core/search_text/__init__.py +0 -7
  151. janito-3.6.1/janito/plugins/tools/core/validate_file_syntax/__init__.py +0 -7
  152. janito-3.6.1/janito/providers/together/__init__.py +0 -1
  153. janito-3.6.1/janito/providers/together/model_info.py +0 -69
  154. janito-3.6.1/janito/providers/together/provider.py +0 -108
  155. janito-3.6.1/janito/tools/__init__.py +0 -70
  156. janito-3.6.1/janito/tools/adapters/__init__.py +0 -6
  157. janito-3.6.1/janito/tools/adapters/local/__init__.py +0 -10
  158. janito-3.6.1/janito/tools/adapters/local/copy_file.py +0 -0
  159. janito-3.6.1/janito/tools/adapters/local/create_file.py +0 -0
  160. janito-3.6.1/janito/tools/adapters/local/move_file.py +0 -0
  161. janito-3.6.1/janito/tools/adapters/local/remove_file.py +0 -0
  162. janito-3.6.1/janito/tools/adapters/local/view_file.py +0 -0
  163. janito-3.6.1/janito/tools/blocked_sites.py +0 -74
  164. janito-3.6.1/janito/tools/cli_initializer.py +0 -88
  165. janito-3.6.1/janito/tools/initialize.py +0 -70
  166. janito-3.6.1/janito/tools/loop_protection_decorator.py +0 -142
  167. janito-3.6.1/janito.egg-info/PKG-INFO +0 -228
  168. janito-3.6.1/test_404.py +0 -16
  169. janito-3.6.1/test_actual_404.py +0 -27
  170. janito-3.6.1/test_blocked_sites.py +0 -32
  171. janito-3.6.1/test_fixed_404.py +0 -27
  172. janito-3.6.1/test_fixed_404_local.py +0 -37
  173. janito-3.6.1/test_multiple_status_codes.py +0 -46
  174. janito-3.6.1/test_real_404.py +0 -19
  175. janito-3.6.1/test_status_codes.py +0 -50
  176. {janito-3.6.1 → janito-3.8.0}/.codespellrc +0 -0
  177. {janito-3.6.1 → janito-3.8.0}/.gitattributes +0 -0
  178. {janito-3.6.1 → janito-3.8.0}/.github/workflows/python-app.yml.disabled +0 -0
  179. {janito-3.6.1 → janito-3.8.0}/.gitignore +0 -0
  180. {janito-3.6.1 → janito-3.8.0}/.pre-commit-config.yaml +0 -0
  181. {janito-3.6.1 → janito-3.8.0}/.secrets.baseline +0 -0
  182. {janito-3.6.1 → janito-3.8.0}/.vscode/settings.json +0 -0
  183. {janito-3.6.1 → janito-3.8.0}/LICENSE +0 -0
  184. {janito-3.6.1 → janito-3.8.0}/MARKET_ANALYST_README.md +0 -0
  185. {janito-3.6.1 → janito-3.8.0}/README-dev.md +0 -0
  186. {janito-3.6.1 → janito-3.8.0}/RELEASE_COMPARISON.md +0 -0
  187. {janito-3.6.1 → janito-3.8.0}/UPDATING_DOCS.md +0 -0
  188. {janito-3.6.1 → janito-3.8.0}/adding_mcp.txt +0 -0
  189. {janito-3.6.1 → janito-3.8.0}/docs/DIV.md +0 -0
  190. {janito-3.6.1 → janito-3.8.0}/docs/Interfaces.txt +0 -0
  191. {janito-3.6.1 → janito-3.8.0}/docs/PROFILES.md +0 -0
  192. {janito-3.6.1 → janito-3.8.0}/docs/TOOLBAR-STYLING.md +0 -0
  193. {janito-3.6.1 → janito-3.8.0}/docs/about/costs.md +0 -0
  194. {janito-3.6.1 → janito-3.8.0}/docs/about/vs-webchats.md +0 -0
  195. {janito-3.6.1 → janito-3.8.0}/docs/about/why.md +0 -0
  196. {janito-3.6.1 → janito-3.8.0}/docs/alibaba-setup.md +0 -0
  197. {janito-3.6.1 → janito-3.8.0}/docs/alternatives.md +0 -0
  198. {janito-3.6.1 → janito-3.8.0}/docs/cerebras-setup.md +0 -0
  199. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/CHANGELOG_2.16.0.md +0 -0
  200. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/CHANGELOG_2.23.0.md +0 -0
  201. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/CHANGELOG_2.26.0.md +0 -0
  202. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/CHANGELOG_2.27.0.md +0 -0
  203. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/RELEASE_NOTES_2.22.0.md +0 -0
  204. {janito-3.6.1 → janito-3.8.0}/docs/changelogs/RELEASE_NOTES_2.24.1.md +0 -0
  205. {janito-3.6.1 → janito-3.8.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  206. {janito-3.6.1 → janito-3.8.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
  207. {janito-3.6.1 → janito-3.8.0}/docs/code_intelligence/code-generation-observability.md +0 -0
  208. {janito-3.6.1 → janito-3.8.0}/docs/code_intelligence/our-approach.md +0 -0
  209. {janito-3.6.1 → janito-3.8.0}/docs/code_intelligence/why-string-replacement.md +0 -0
  210. {janito-3.6.1 → janito-3.8.0}/docs/concepts/analysis-style.md +0 -0
  211. {janito-3.6.1 → janito-3.8.0}/docs/concepts/human-guided-ai.md +0 -0
  212. {janito-3.6.1 → janito-3.8.0}/docs/concepts/index.md +0 -0
  213. {janito-3.6.1 → janito-3.8.0}/docs/concepts/language-model-clients.md +0 -0
  214. {janito-3.6.1 → janito-3.8.0}/docs/concepts/prompt-design-style.md +0 -0
  215. {janito-3.6.1 → janito-3.8.0}/docs/deepseek-setup.md +0 -0
  216. {janito-3.6.1 → janito-3.8.0}/docs/driver-flow.md +0 -0
  217. {janito-3.6.1 → janito-3.8.0}/docs/driver-request-cancellation.md +0 -0
  218. {janito-3.6.1 → janito-3.8.0}/docs/drivers/events.md +0 -0
  219. {janito-3.6.1 → janito-3.8.0}/docs/drivers.md +0 -0
  220. {janito-3.6.1 → janito-3.8.0}/docs/event-bus.md +0 -0
  221. {janito-3.6.1 → janito-3.8.0}/docs/guides/configuration.md +0 -0
  222. {janito-3.6.1 → janito-3.8.0}/docs/guides/developing.md +0 -0
  223. {janito-3.6.1 → janito-3.8.0}/docs/guides/disabled-tools.md +0 -0
  224. {janito-3.6.1 → janito-3.8.0}/docs/guides/installation.md +0 -0
  225. {janito-3.6.1 → janito-3.8.0}/docs/guides/market-data-sources.md +0 -0
  226. {janito-3.6.1 → janito-3.8.0}/docs/guides/profiles.md +0 -0
  227. {janito-3.6.1 → janito-3.8.0}/docs/guides/prompting/README.md +0 -0
  228. {janito-3.6.1 → janito-3.8.0}/docs/guides/read-chart-examples.md +0 -0
  229. {janito-3.6.1 → janito-3.8.0}/docs/guides/security-commands.md +0 -0
  230. {janito-3.6.1 → janito-3.8.0}/docs/guides/single-shot-terminal.md +0 -0
  231. {janito-3.6.1 → janito-3.8.0}/docs/guides/stock-market-guide.md +0 -0
  232. {janito-3.6.1 → janito-3.8.0}/docs/guides/terminal-shell.md +0 -0
  233. {janito-3.6.1 → janito-3.8.0}/docs/guides/tools-developer-guide.md +0 -0
  234. {janito-3.6.1 → janito-3.8.0}/docs/guides/url-whitelist.md +0 -0
  235. {janito-3.6.1 → janito-3.8.0}/docs/guides/using_tools.md +0 -0
  236. {janito-3.6.1 → janito-3.8.0}/docs/ibm-setup.md +0 -0
  237. {janito-3.6.1 → janito-3.8.0}/docs/imgs/code-generation-observability.png +0 -0
  238. {janito-3.6.1 → janito-3.8.0}/docs/imgs/code_generation_observability.png +0 -0
  239. {janito-3.6.1 → janito-3.8.0}/docs/imgs/happy-programmer.png +0 -0
  240. {janito-3.6.1 → janito-3.8.0}/docs/imgs/happy-programmer.svg +0 -0
  241. {janito-3.6.1 → janito-3.8.0}/docs/imgs/terminal-one-shot.png +0 -0
  242. {janito-3.6.1 → janito-3.8.0}/docs/imgs/terminal-shell.png +0 -0
  243. {janito-3.6.1 → janito-3.8.0}/docs/imgs/terminal_one_shot.png +0 -0
  244. {janito-3.6.1 → janito-3.8.0}/docs/imgs/terminal_shell.png +0 -0
  245. {janito-3.6.1 → janito-3.8.0}/docs/llm-drivers-required-config.md +0 -0
  246. {janito-3.6.1 → janito-3.8.0}/docs/llm-drivers.md +0 -0
  247. {janito-3.6.1 → janito-3.8.0}/docs/meta/developer-toolchain.md +0 -0
  248. {janito-3.6.1 → janito-3.8.0}/docs/meta/quality-checks.txt +0 -0
  249. {janito-3.6.1 → janito-3.8.0}/docs/mistral-setup.md +0 -0
  250. {janito-3.6.1 → janito-3.8.0}/docs/openai-setup.md +0 -0
  251. {janito-3.6.1 → janito-3.8.0}/docs/overrides/partials/copyright.html +0 -0
  252. {janito-3.6.1 → janito-3.8.0}/docs/plugins/ACTUAL_TOOLS_LOCATION.md +0 -0
  253. {janito-3.6.1 → janito-3.8.0}/docs/plugins/MIGRATION_COMPLETE.md +0 -0
  254. {janito-3.6.1 → janito-3.8.0}/docs/plugins/README.md +0 -0
  255. {janito-3.6.1 → janito-3.8.0}/docs/plugins/api-reference.md +0 -0
  256. {janito-3.6.1 → janito-3.8.0}/docs/plugins/architecture.md +0 -0
  257. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/codeanalyzer.md +0 -0
  258. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/imagedisplay.md +0 -0
  259. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/pythondev.md +0 -0
  260. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/system.md +0 -0
  261. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/userinterface.md +0 -0
  262. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/visualization.md +0 -0
  263. {janito-3.6.1 → janito-3.8.0}/docs/plugins/built-in-plugins/webtools.md +0 -0
  264. {janito-3.6.1 → janito-3.8.0}/docs/plugins/configuration.md +0 -0
  265. {janito-3.6.1 → janito-3.8.0}/docs/plugins/examples/advanced.md +0 -0
  266. {janito-3.6.1 → janito-3.8.0}/docs/plugins/examples/basic.md +0 -0
  267. {janito-3.6.1 → janito-3.8.0}/docs/plugins/examples/intermediate.md +0 -0
  268. {janito-3.6.1 → janito-3.8.0}/docs/plugins/plugin-development.md +0 -0
  269. {janito-3.6.1 → janito-3.8.0}/docs/plugins/plugin-resources.md +0 -0
  270. {janito-3.6.1 → janito-3.8.0}/docs/plugins/publishing.md +0 -0
  271. {janito-3.6.1 → janito-3.8.0}/docs/plugins/remote-plugins.md +0 -0
  272. {janito-3.6.1 → janito-3.8.0}/docs/plugins/testing.md +0 -0
  273. {janito-3.6.1 → janito-3.8.0}/docs/provider-platform-access.md +0 -0
  274. {janito-3.6.1 → janito-3.8.0}/docs/public-sources.md +0 -0
  275. {janito-3.6.1 → janito-3.8.0}/docs/reference/api.md +0 -0
  276. {janito-3.6.1 → janito-3.8.0}/docs/reference/azure-openai.md +0 -0
  277. {janito-3.6.1 → janito-3.8.0}/docs/reference/cli-options.md +0 -0
  278. {janito-3.6.1 → janito-3.8.0}/docs/reference/message-handler-model.md +0 -0
  279. {janito-3.6.1 → janito-3.8.0}/docs/reference/rich-message-handler.md +0 -0
  280. {janito-3.6.1 → janito-3.8.0}/docs/security.md +0 -0
  281. {janito-3.6.1 → janito-3.8.0}/docs/tools/search-text.md +0 -0
  282. {janito-3.6.1 → janito-3.8.0}/docs/tools/show-image-grid.md +0 -0
  283. {janito-3.6.1 → janito-3.8.0}/docs/tools/show-image.md +0 -0
  284. {janito-3.6.1 → janito-3.8.0}/docs/tools-index.md +0 -0
  285. {janito-3.6.1 → janito-3.8.0}/docs/tools-natural-results.md +0 -0
  286. {janito-3.6.1 → janito-3.8.0}/docs/tools-precision.md +0 -0
  287. {janito-3.6.1 → janito-3.8.0}/docs/z-ai-setup.md +0 -0
  288. {janito-3.6.1 → janito-3.8.0}/examples/loop_protection_example.py +0 -0
  289. {janito-3.6.1 → janito-3.8.0}/examples/loop_protection_tool_example.py +0 -0
  290. {janito-3.6.1 → janito-3.8.0}/get_nasdaq_top.py +0 -0
  291. {janito-3.6.1 → janito-3.8.0}/ibm-logo.txt +0 -0
  292. {janito-3.6.1 → janito-3.8.0}/janito/__init__.py +0 -0
  293. {janito-3.6.1 → janito-3.8.0}/janito/__main__.py +0 -0
  294. {janito-3.6.1 → janito-3.8.0}/janito/_version.py +0 -0
  295. {janito-3.6.1 → janito-3.8.0}/janito/agent/setup_agent.py +0 -0
  296. {janito-3.6.1 → janito-3.8.0}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
  297. {janito-3.6.1 → janito-3.8.0}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
  298. {janito-3.6.1 → janito-3.8.0}/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -0
  299. {janito-3.6.1 → janito-3.8.0}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
  300. {janito-3.6.1 → janito-3.8.0}/janito/cli/__init__.py +0 -0
  301. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  302. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  303. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/script_runner.py +0 -0
  304. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  305. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  306. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  307. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  308. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  309. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  310. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  311. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  312. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  313. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  314. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  315. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  316. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  317. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  318. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  319. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/provider.py +0 -0
  320. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  321. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  322. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/security/__init__.py +0 -0
  323. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/security_command.py +0 -0
  324. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  325. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  326. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  327. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/unrestricted.py +0 -0
  328. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  329. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  330. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  331. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  332. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  333. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  334. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  335. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  336. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  337. {janito-3.6.1 → janito-3.8.0}/janito/cli/chat_mode/toolbar.py +0 -0
  338. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/enable_disable_plugin.py +0 -0
  339. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_config.py +0 -0
  340. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_drivers.py +0 -0
  341. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_models.py +0 -0
  342. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_profiles.py +0 -0
  343. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_providers.py +0 -0
  344. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/list_providers_region.py +0 -0
  345. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/model_selection.py +0 -0
  346. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/model_utils.py +0 -0
  347. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/ping_providers.py +0 -0
  348. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  349. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/show_config.py +0 -0
  350. {janito-3.6.1 → janito-3.8.0}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  351. {janito-3.6.1 → janito-3.8.0}/janito/cli/config.py +0 -0
  352. {janito-3.6.1 → janito-3.8.0}/janito/cli/console.py +0 -0
  353. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/__init__.py +0 -0
  354. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/event_logger.py +0 -0
  355. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/runner.py +0 -0
  356. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/setters.py +0 -0
  357. {janito-3.6.1 → janito-3.8.0}/janito/cli/core/unsetters.py +0 -0
  358. {janito-3.6.1 → janito-3.8.0}/janito/cli/main.py +0 -0
  359. {janito-3.6.1 → janito-3.8.0}/janito/cli/prompt_handler.py +0 -0
  360. {janito-3.6.1 → janito-3.8.0}/janito/cli/prompt_setup.py +0 -0
  361. {janito-3.6.1 → janito-3.8.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  362. {janito-3.6.1 → janito-3.8.0}/janito/cli/single_shot_mode/handler.py +0 -0
  363. {janito-3.6.1 → janito-3.8.0}/janito/cli/utils.py +0 -0
  364. {janito-3.6.1 → janito-3.8.0}/janito/cli/verbose_output.py +0 -0
  365. {janito-3.6.1 → janito-3.8.0}/janito/config.py +0 -0
  366. {janito-3.6.1 → janito-3.8.0}/janito/config_manager.py +0 -0
  367. {janito-3.6.1 → janito-3.8.0}/janito/conversation_history.py +0 -0
  368. {janito-3.6.1 → janito-3.8.0}/janito/dir_walk_utils.py +0 -0
  369. {janito-3.6.1 → janito-3.8.0}/janito/driver_events.py +0 -0
  370. {janito-3.6.1 → janito-3.8.0}/janito/drivers/azure_openai/driver.py +0 -0
  371. {janito-3.6.1 → janito-3.8.0}/janito/drivers/cerebras/__init__.py +0 -0
  372. {janito-3.6.1 → janito-3.8.0}/janito/drivers/dashscope.bak.zip +0 -0
  373. {janito-3.6.1 → janito-3.8.0}/janito/drivers/openai/README.md +0 -0
  374. {janito-3.6.1 → janito-3.8.0}/janito/drivers/openai_responses.bak.zip +0 -0
  375. {janito-3.6.1 → janito-3.8.0}/janito/drivers/zai/__init__.py +0 -0
  376. {janito-3.6.1 → janito-3.8.0}/janito/event_bus/__init__.py +0 -0
  377. {janito-3.6.1 → janito-3.8.0}/janito/event_bus/bus.py +0 -0
  378. {janito-3.6.1 → janito-3.8.0}/janito/event_bus/event.py +0 -0
  379. {janito-3.6.1 → janito-3.8.0}/janito/event_bus/handler.py +0 -0
  380. {janito-3.6.1 → janito-3.8.0}/janito/event_bus/queue_bus.py +0 -0
  381. {janito-3.6.1 → janito-3.8.0}/janito/exceptions.py +0 -0
  382. {janito-3.6.1 → janito-3.8.0}/janito/formatting.py +0 -0
  383. {janito-3.6.1 → janito-3.8.0}/janito/formatting_token.py +0 -0
  384. {janito-3.6.1 → janito-3.8.0}/janito/gitignore_utils.py +0 -0
  385. {janito-3.6.1 → janito-3.8.0}/janito/hello.txt +0 -0
  386. {janito-3.6.1 → janito-3.8.0}/janito/i18n/__init__.py +0 -0
  387. {janito-3.6.1 → janito-3.8.0}/janito/i18n/messages.py +0 -0
  388. {janito-3.6.1 → janito-3.8.0}/janito/i18n/pt.py +0 -0
  389. {janito-3.6.1 → janito-3.8.0}/janito/llm/README.md +0 -0
  390. {janito-3.6.1 → janito-3.8.0}/janito/llm/__init__.py +0 -0
  391. {janito-3.6.1 → janito-3.8.0}/janito/llm/auth.py +0 -0
  392. {janito-3.6.1 → janito-3.8.0}/janito/llm/driver_config.py +0 -0
  393. {janito-3.6.1 → janito-3.8.0}/janito/llm/driver_config_builder.py +0 -0
  394. {janito-3.6.1 → janito-3.8.0}/janito/llm/driver_input.py +0 -0
  395. {janito-3.6.1 → janito-3.8.0}/janito/llm/message_parts.py +0 -0
  396. {janito-3.6.1 → janito-3.8.0}/janito/llm/model.py +0 -0
  397. {janito-3.6.1 → janito-3.8.0}/janito/llm/provider.py +0 -0
  398. {janito-3.6.1 → janito-3.8.0}/janito/mkdocs.yml +0 -0
  399. {janito-3.6.1 → janito-3.8.0}/janito/perf_singleton.py +0 -0
  400. {janito-3.6.1 → janito-3.8.0}/janito/performance_collector.py +0 -0
  401. {janito-3.6.1 → janito-3.8.0}/janito/platform_discovery.py +0 -0
  402. {janito-3.6.1 → janito-3.8.0}/janito/plugins/config.py +0 -0
  403. {janito-3.6.1 → janito-3.8.0}/janito/provider_config.py +0 -0
  404. {janito-3.6.1 → janito-3.8.0}/janito/provider_registry.py +0 -0
  405. {janito-3.6.1 → janito-3.8.0}/janito/providers/alibaba/__init__.py +0 -0
  406. {janito-3.6.1 → janito-3.8.0}/janito/providers/anthropic/model_info.py +0 -0
  407. {janito-3.6.1 → janito-3.8.0}/janito/providers/anthropic/provider.py +0 -0
  408. {janito-3.6.1 → janito-3.8.0}/janito/providers/azure_openai/model_info.py +0 -0
  409. {janito-3.6.1 → janito-3.8.0}/janito/providers/azure_openai/provider.py +0 -0
  410. {janito-3.6.1 → janito-3.8.0}/janito/providers/cerebras/__init__.py +0 -0
  411. {janito-3.6.1 → janito-3.8.0}/janito/providers/cerebras/model_info.py +0 -0
  412. {janito-3.6.1 → janito-3.8.0}/janito/providers/cerebras/provider.py +0 -0
  413. {janito-3.6.1 → janito-3.8.0}/janito/providers/dashscope.bak.zip +0 -0
  414. {janito-3.6.1 → janito-3.8.0}/janito/providers/deepseek/__init__.py +0 -0
  415. {janito-3.6.1 → janito-3.8.0}/janito/providers/deepseek/model_info.py +0 -0
  416. {janito-3.6.1 → janito-3.8.0}/janito/providers/deepseek/provider.py +0 -0
  417. {janito-3.6.1 → janito-3.8.0}/janito/providers/google/__init__.py +0 -0
  418. {janito-3.6.1 → janito-3.8.0}/janito/providers/google/model_info.py +0 -0
  419. {janito-3.6.1 → janito-3.8.0}/janito/providers/google/provider.py +0 -0
  420. {janito-3.6.1 → janito-3.8.0}/janito/providers/ibm/README.md +0 -0
  421. {janito-3.6.1 → janito-3.8.0}/janito/providers/ibm/__init__.py +0 -0
  422. {janito-3.6.1 → janito-3.8.0}/janito/providers/ibm/model_info.py +0 -0
  423. {janito-3.6.1 → janito-3.8.0}/janito/providers/ibm/provider.py +0 -0
  424. {janito-3.6.1 → janito-3.8.0}/janito/providers/mistral/__init__.py +0 -0
  425. {janito-3.6.1 → janito-3.8.0}/janito/providers/mistral/model_info.py +0 -0
  426. {janito-3.6.1 → janito-3.8.0}/janito/providers/mistral/provider.py +0 -0
  427. {janito-3.6.1 → janito-3.8.0}/janito/providers/moonshot/__init__.py +0 -0
  428. {janito-3.6.1 → janito-3.8.0}/janito/providers/openai/__init__.py +0 -0
  429. {janito-3.6.1 → janito-3.8.0}/janito/providers/openai/model_info.py +0 -0
  430. {janito-3.6.1 → janito-3.8.0}/janito/providers/openai/provider.py +0 -0
  431. {janito-3.6.1 → janito-3.8.0}/janito/providers/openai/schema_generator.py +0 -0
  432. {janito-3.6.1 → janito-3.8.0}/janito/providers/registry.py +0 -0
  433. {janito-3.6.1 → janito-3.8.0}/janito/providers/zai/__init__.py +0 -0
  434. {janito-3.6.1 → janito-3.8.0}/janito/providers/zai/model_info.py +0 -0
  435. {janito-3.6.1 → janito-3.8.0}/janito/providers/zai/provider.py +0 -0
  436. {janito-3.6.1 → janito-3.8.0}/janito/providers/zai/schema_generator.py +0 -0
  437. {janito-3.6.1 → janito-3.8.0}/janito/regions/__init__.py +0 -0
  438. {janito-3.6.1 → janito-3.8.0}/janito/regions/cli.py +0 -0
  439. {janito-3.6.1 → janito-3.8.0}/janito/regions/geo_utils.py +0 -0
  440. {janito-3.6.1 → janito-3.8.0}/janito/regions/provider_regions.py +0 -0
  441. {janito-3.6.1 → janito-3.8.0}/janito/report_events.py +0 -0
  442. {janito-3.6.1 → janito-3.8.0}/janito/shell.bak.zip +0 -0
  443. {janito-3.6.1 → janito-3.8.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  444. {janito-3.6.1 → janito-3.8.0}/janito/tools/README.md +0 -0
  445. {janito-3.6.1 → janito-3.8.0}/janito/tools/adapters/local/adapter.py +0 -0
  446. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/copy_file.py +0 -0
  447. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/create_directory.py +0 -0
  448. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/delete_text_in_file.py +0 -0
  449. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/find_files.py +0 -0
  450. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/__init__.py +0 -0
  451. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/core.py +0 -0
  452. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/java_outline.py +0 -0
  453. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/markdown_outline.py +0 -0
  454. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/python_outline.py +0 -0
  455. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/get_file_outline/search_outline.py +0 -0
  456. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/move_file.py +0 -0
  457. {janito-3.6.1/janito/plugins/web/webtools/tools → janito-3.8.0/janito/tools/adapters/local}/open_html_in_browser.py +0 -0
  458. {janito-3.6.1/janito/plugins/web/webtools/tools → janito-3.8.0/janito/tools/adapters/local}/open_url.py +0 -0
  459. {janito-3.6.1/janito/plugins/dev/visualization/tools → janito-3.8.0/janito/tools/adapters/local}/read_chart.py +0 -0
  460. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/read_files.py +0 -0
  461. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/remove_directory.py +0 -0
  462. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/remove_file.py +0 -0
  463. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/search_text/__init__.py +0 -0
  464. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/search_text/core.py +0 -0
  465. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/search_text/match_lines.py +0 -0
  466. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/search_text/pattern_utils.py +0 -0
  467. {janito-3.6.1/janito/plugins/core/codeanalyzer/tools → janito-3.8.0/janito/tools/adapters/local}/search_text/traverse_directory.py +0 -0
  468. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/__init__.py +0 -0
  469. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/core.py +0 -0
  470. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/css_validator.py +0 -0
  471. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/html_validator.py +0 -0
  472. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/jinja2_validator.py +0 -0
  473. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/js_validator.py +0 -0
  474. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/json_validator.py +0 -0
  475. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/markdown_validator.py +0 -0
  476. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/ps1_validator.py +0 -0
  477. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/python_validator.py +0 -0
  478. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/xml_validator.py +0 -0
  479. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/validate_file_syntax/yaml_validator.py +0 -0
  480. {janito-3.6.1/janito/plugins/core/filemanager/tools → janito-3.8.0/janito/tools/adapters/local}/view_file.py +0 -0
  481. {janito-3.6.1 → janito-3.8.0}/janito/tools/base.py +0 -0
  482. {janito-3.6.1 → janito-3.8.0}/janito/tools/disabled_tools.py +0 -0
  483. {janito-3.6.1 → janito-3.8.0}/janito/tools/inspect_registry.py +0 -0
  484. {janito-3.6.1 → janito-3.8.0}/janito/tools/loop_protection.py +0 -0
  485. {janito-3.6.1 → janito-3.8.0}/janito/tools/outline_file.bak.zip +0 -0
  486. {janito-3.6.1 → janito-3.8.0}/janito/tools/path_security.py +0 -0
  487. {janito-3.6.1 → janito-3.8.0}/janito/tools/path_utils.py +0 -0
  488. {janito-3.6.1 → janito-3.8.0}/janito/tools/permissions.py +0 -0
  489. {janito-3.6.1 → janito-3.8.0}/janito/tools/permissions_parse.py +0 -0
  490. {janito-3.6.1 → janito-3.8.0}/janito/tools/tool_base.py +0 -0
  491. {janito-3.6.1 → janito-3.8.0}/janito/tools/tool_events.py +0 -0
  492. {janito-3.6.1 → janito-3.8.0}/janito/tools/tool_run_exception.py +0 -0
  493. {janito-3.6.1 → janito-3.8.0}/janito/tools/tool_use_tracker.py +0 -0
  494. {janito-3.6.1 → janito-3.8.0}/janito/tools/tool_utils.py +0 -0
  495. {janito-3.6.1 → janito-3.8.0}/janito/tools/tools_adapter.py +0 -0
  496. {janito-3.6.1 → janito-3.8.0}/janito/tools/tools_schema.py +0 -0
  497. {janito-3.6.1 → janito-3.8.0}/janito/tools/url_whitelist.py +0 -0
  498. {janito-3.6.1 → janito-3.8.0}/janito/utils.py +0 -0
  499. {janito-3.6.1 → janito-3.8.0}/janito.egg-info/dependency_links.txt +0 -0
  500. {janito-3.6.1 → janito-3.8.0}/janito.egg-info/entry_points.txt +0 -0
  501. {janito-3.6.1 → janito-3.8.0}/janito.egg-info/top_level.txt +0 -0
  502. {janito-3.6.1 → janito-3.8.0}/market_prompt_fix.py +0 -0
  503. {janito-3.6.1 → janito-3.8.0}/market_test.py +0 -0
  504. {janito-3.6.1 → janito-3.8.0}/mkdocs_hooks.py +0 -0
  505. {janito-3.6.1/janito → janito-3.8.0}/plugins/__init__.py +0 -0
  506. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/__init__.py +0 -0
  507. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/get_file_outline/java_outline.py +0 -0
  508. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/get_file_outline/markdown_outline.py +0 -0
  509. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/get_file_outline/python_outline.py +0 -0
  510. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/get_file_outline/search_outline.py +0 -0
  511. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/search_text/match_lines.py +0 -0
  512. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/search_text/pattern_utils.py +0 -0
  513. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/codeanalyzer/tools}/search_text/traverse_directory.py +0 -0
  514. {janito-3.6.1/janito → janito-3.8.0}/plugins/core/filemanager/tools/replace_text_in_file.py +0 -0
  515. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/css_validator.py +0 -0
  516. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/html_validator.py +0 -0
  517. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/jinja2_validator.py +0 -0
  518. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/js_validator.py +0 -0
  519. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/json_validator.py +0 -0
  520. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/markdown_validator.py +0 -0
  521. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/ps1_validator.py +0 -0
  522. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/python_validator.py +0 -0
  523. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/xml_validator.py +0 -0
  524. {janito-3.6.1/janito/plugins/tools/core → janito-3.8.0/plugins/core/filemanager/tools}/validate_file_syntax/yaml_validator.py +0 -0
  525. {janito-3.6.1/janito → janito-3.8.0}/plugins/dev/__init__.py +0 -0
  526. {janito-3.6.1/janito → janito-3.8.0}/plugins/ui/__init__.py +0 -0
  527. {janito-3.6.1/janito → janito-3.8.0}/plugins/ui/userinterface/__init__.py +0 -0
  528. {janito-3.6.1/janito → janito-3.8.0}/plugins/ui/userinterface/tools/ask_user.py +0 -0
  529. {janito-3.6.1/janito → janito-3.8.0}/plugins/web/__init__.py +0 -0
  530. {janito-3.6.1 → janito-3.8.0}/pytest.ini +0 -0
  531. {janito-3.6.1 → janito-3.8.0}/requirements-dev.txt +0 -0
  532. {janito-3.6.1 → janito-3.8.0}/requirements.txt +0 -0
  533. {janito-3.6.1 → janito-3.8.0}/setup.cfg +0 -0
  534. {janito-3.6.1 → janito-3.8.0}/test.txt +0 -0
  535. {janito-3.6.1 → janito-3.8.0}/test_example.py +0 -0
  536. {janito-3.6.1 → janito-3.8.0}/test_http_errors.py +0 -0
  537. {janito-3.6.1 → janito-3.8.0}/test_http_errors_direct.py +0 -0
  538. {janito-3.6.1 → janito-3.8.0}/test_key_field_behavior.py +0 -0
  539. {janito-3.6.1 → janito-3.8.0}/test_key_field_protection.py +0 -0
  540. {janito-3.6.1 → janito-3.8.0}/test_loop_protection_return.py +0 -0
  541. {janito-3.6.1 → janito-3.8.0}/test_market_analyst.py +0 -0
  542. {janito-3.6.1 → janito-3.8.0}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
  543. {janito-3.6.1 → janito-3.8.0}/tests/adapters/local/test_read_files.py +0 -0
  544. {janito-3.6.1 → janito-3.8.0}/tests/test_cli_list_models.py +0 -0
  545. {janito-3.6.1 → janito-3.8.0}/tests/test_cli_list_providers.py +0 -0
  546. {janito-3.6.1 → janito-3.8.0}/tests/test_cli_list_providers_alibaba.py +0 -0
  547. {janito-3.6.1 → janito-3.8.0}/tests/test_cli_list_providers_moonshot.py +0 -0
  548. {janito-3.6.1 → janito-3.8.0}/tests/test_cli_version.py +0 -0
  549. {janito-3.6.1 → janito-3.8.0}/tests/test_disabled_tools.py +0 -0
  550. {janito-3.6.1 → janito-3.8.0}/tests/test_plugin_system.py +0 -0
  551. {janito-3.6.1 → janito-3.8.0}/tests/test_provider_alibaba.py +0 -0
  552. {janito-3.6.1 → janito-3.8.0}/tests/test_provider_cerebras.py +0 -0
  553. {janito-3.6.1 → janito-3.8.0}/tests/test_provider_moonshot.py +0 -0
  554. {janito-3.6.1 → janito-3.8.0}/tools/release.py +0 -0
  555. {janito-3.6.1 → janito-3.8.0}/tox.ini +0 -0
janito-3.8.0/PKG-INFO ADDED
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: janito
3
+ Version: 3.8.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
+ # nctl
37
+
38
+ ```bash
39
+ $ nctl --help
40
+ Usage: nctl <command>
41
+
42
+ Interact with Nine API resources. See https://docs.nineapis.ch for the full API docs.
43
+
44
+ Run "nctl <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/nctl@latest
52
+
53
+ # Homebrew
54
+ brew install ninech/taps/nctl
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 nctl
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 nctl
70
+
71
+ # Arch
72
+ # Install yay: https://github.com/Jguer/yay#binary
73
+ yay --version
74
+ yay -S nctl-bin
75
+ ```
76
+
77
+ For Windows users, nctl is also built for arm64 and amd64. You can download the
78
+ latest exe file from the [releases](https://github.com/ninech/nctl/releases) and
79
+ install it.
80
+
81
+ ## Getting started
82
+
83
+ * login to the API using `nctl auth login`
84
+ * run `nctl --help` to get a list of all available commands
janito-3.8.0/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # nctl
2
+
3
+ ```bash
4
+ $ nctl --help
5
+ Usage: nctl <command>
6
+
7
+ Interact with Nine API resources. See https://docs.nineapis.ch for the full API docs.
8
+
9
+ Run "nctl <command> --help" for more information on a command.
10
+ ```
11
+
12
+ ## Setup
13
+
14
+ ```bash
15
+ # If you have go already installed
16
+ go install github.com/ninech/nctl@latest
17
+
18
+ # Homebrew
19
+ brew install ninech/taps/nctl
20
+
21
+ # Debian/Ubuntu
22
+ echo "deb [trusted=yes] https://repo.nine.ch/deb/ /" | sudo tee /etc/apt/sources.list.d/repo.nine.ch.list
23
+ sudo apt-get update
24
+ sudo apt-get install nctl
25
+
26
+ # Fedora/RHEL
27
+ cat <<EOF > /etc/yum.repos.d/repo.nine.ch.repo
28
+ [repo.nine.ch]
29
+ name=Nine Repo
30
+ baseurl=https://repo.nine.ch/yum/
31
+ enabled=1
32
+ gpgcheck=0
33
+ EOF
34
+ dnf install nctl
35
+
36
+ # Arch
37
+ # Install yay: https://github.com/Jguer/yay#binary
38
+ yay --version
39
+ yay -S nctl-bin
40
+ ```
41
+
42
+ For Windows users, nctl is also built for arm64 and amd64. You can download the
43
+ latest exe file from the [releases](https://github.com/ninech/nctl/releases) and
44
+ install it.
45
+
46
+ ## Getting started
47
+
48
+ * login to the API using `nctl auth login`
49
+ * run `nctl --help` to get a list of all available commands
@@ -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).
@@ -517,37 +517,4 @@ For users upgrading from previous versions:
517
517
 
518
518
  ---
519
519
 
520
- ## [3.1.0] - 2025-08-23
521
-
522
- ### Added
523
-
524
- - **Enter Key Cancellation Support for Chat Mode**: Revolutionary usability improvement for interactive chat sessions
525
- - **Instant Request Cancellation**: Press **Enter key** at any time to immediately cancel current LLM operations
526
- - **Global Cancellation Manager**: Robust cross-component cancellation system spanning agent, driver, and prompt handler
527
- - **User Feedback**: Clear visual confirmation with red "Request cancelled by Enter key" message
528
- - **Clean State Management**: Automatic cleanup of cancellation state after request completion
529
- - **Thread-Safe Implementation**: Safe cancellation across multiple threads and async operations
530
-
531
- ### Technical Implementation
532
-
533
- - **Global Cancellation Manager**: New `janito.llm.cancellation_manager` module provides centralized cancellation handling
534
- - **Key Binding Integration**: Enhanced chat mode with dedicated Enter key handling for cancellation
535
- - **Cross-Component Support**: Cancellation signals properly propagate through entire application stack
536
- - **Backward Compatible**: All existing functionality preserved, cancellation is additive feature
537
-
538
- ### Developer Experience
539
-
540
- - **Extensible Architecture**: Cancellation system designed for future integration with other components
541
- - **Clean API**: Simple interface for starting, cancelling, and clearing requests across application
542
- - **Comprehensive Testing**: Full test coverage for cancellation scenarios and edge cases
543
-
544
- ### Documentation
545
-
546
- - Updated CLI options documentation with new cancellation behavior
547
- - Enhanced chat mode guides with cancellation instructions
548
- - Added troubleshooting section for long-running requests
549
- - New dedicated changelog: [CHANGELOG_3.1.0.md](../changelogs/CHANGELOG_3.1.0.md)
550
-
551
- ---
552
-
553
520
  **Full Changelog**: https://github.com/ikignosis/janito/compare/v2.22.0...v2.23.0
@@ -24,7 +24,6 @@ janito --web
24
24
  ## Basic Usage Tips
25
25
  - Use natural language to describe what you want Janito to do (e.g., "Add type hints to all functions in utils.py").
26
26
  - In the chat shell, use `/help` for available commands. Use `/exec on` to enable code/shell execution tools at runtime.
27
- - **Press Enter** at any time to cancel a long-running request in chat mode
28
27
  - Use CLI flags to customize behavior (see [CLI Options](../reference/cli-options.md)).
29
28
 
30
29
  ## More Resources
@@ -1,15 +1,10 @@
1
- ---
2
- description: "Janito - AI-powered development assistant that helps you write, analyze, and debug code with precision and transparency. Get started with intelligent code generation, debugging, and development automation."
3
- image: https://janito.xyz/assets/images/social-preview.png
4
- ---
5
-
6
1
  # Janito Documentation
7
2
 
8
3
  Welcome to the Janito documentation! This site contains comprehensive guides, tutorials, and reference materials for using and extending Janito.
9
4
 
10
5
  ## What is Janito?
11
6
 
12
- Janito is a powerful **AI-powered development assistant** that helps you write, analyze, and debug code with precision and transparency. It connects to various AI providers (OpenAI, DeepSeek, Moonshot, IBM WatsonX, etc.) while providing intelligent code assistance, terminal integration, and extensible tooling capabilities.
7
+ Janito is a powerful AI assistant designed for developers, providing intelligent code assistance, terminal integration, and extensible tooling capabilities.
13
8
 
14
9
  ## Quick Start
15
10
 
@@ -35,15 +35,16 @@ janito -p moonshot "Your prompt here"
35
35
 
36
36
  Janito supports the following Moonshot models:
37
37
 
38
- - `kimi-k2-0905` (default) - Latest generation with 256k context window and enhanced coding capabilities
39
- - `kimi-k2-turbo-preview` - Turbo version with 128k context window
40
- - `kimi-k2-0711-preview` - Previous preview version with 128k context window
41
-
38
+ - `kimi-k2-0905-preview` (default) - Advanced reasoning model with 128k context window
39
+ - `kimi-k2-turbo-preview` - Turbo version of the advanced reasoning model with 128k context window
40
+ - `kimi-k1-8k` - Standard model with 8k context window
41
+ - `kimi-k1-32k` - Standard model with 32k context window
42
+ - `kimi-k1-128k` - Standard model with 128k context window
42
43
 
43
44
  To select a model:
44
45
 
45
46
  ```bash
46
- janito -p moonshot -m kimi-k2-0905 "Your prompt here"
47
+ janito -p moonshot -m kimi-k1-32k "Your prompt here"
47
48
  ```
48
49
 
49
50
  ## 5. Verify Your Configuration
@@ -74,7 +74,7 @@ Overwrite existing file (use with caution):
74
74
  - **Path Expansion**: Supports `~` for home directory and environment variables like `$HOME`
75
75
  - **Directory Creation**: Automatically creates parent directories as needed
76
76
  - **Encoding Safety**: Uses UTF-8 encoding with proper error handling for international characters
77
- - **Loop Protection**: Prevents repeated create calls for the same path within a short window (1 allowed per 10 seconds)
77
+ - **Loop Protection**: Prevents excessive file creation calls (max 5 per 10 seconds per file)
78
78
 
79
79
  **Return Values:**
80
80
 
@@ -61,8 +61,8 @@ For setup instructions, see the [Mistral Setup Guide](mistral-setup.md).
61
61
 
62
62
  ### Moonshot
63
63
 
64
- - **Kimi K2 0905** (default) - Latest generation with 256K context and enhanced coding capabilities
65
- - **Kimi K2 Turbo Preview** - High-performance turbo version
64
+ - **Kimi K2 0905 Preview** (default) - Latest generation with enhanced performance
65
+ - **Kimi K2 Turbo Preview** - Turbo version with optimized speed
66
66
  - **Kimi K2 0711 Preview** - Previous preview version
67
67
 
68
68
  Moonshot provides open-source Kimi models with competitive performance.
@@ -26,7 +26,7 @@ pip install janito
26
26
  janito "Create a Python script that reads a CSV file"
27
27
 
28
28
  # Using a specific Moonshot model
29
- janito -m kimi-k2-0905 "Explain quantum computing"
29
+ janito -m kimi-k1-8k "Explain quantum computing"
30
30
  ```
31
31
 
32
32
  **Other Providers**
@@ -72,14 +72,14 @@ In chat mode, you can:
72
72
  Set default provider and model:
73
73
  ```bash
74
74
  janito --set provider=moonshot
75
- janito --set model=kimi-k2-0905
75
+ janito --set model=kimi-k1-8k
76
76
  ```
77
77
 
78
78
  ## Providers
79
79
 
80
80
  ### Moonshot (Recommended)
81
81
 
82
- - **Models**: kimi-k2-0905, kimi-k2-turbo-preview, kimi-k2-0711-preview
82
+ - **Models**: kimi-k1-8k, kimi-k1-32k, kimi-k1-128k, kimi-k2-turbo-preview
83
83
  - **Strengths**: Excellent Chinese/English support, competitive pricing, fast responses
84
84
  - **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.cn/)
85
85
 
@@ -106,9 +106,6 @@ janito --set model=kimi-k2-0905
106
106
 
107
107
  ## Advanced Features
108
108
 
109
- ### 🚀 New in v3.1.0: Enter Key Cancellation
110
- **Chat Mode Enhancement**: Press **Enter** at any time to instantly cancel long-running requests in interactive chat mode. No more waiting for stuck requests!
111
-
112
109
  ### Tool Usage
113
110
 
114
111
  Janito includes powerful built-in tools for:
@@ -133,7 +130,7 @@ You can also configure via environment variables:
133
130
  ```bash
134
131
  export MOONSHOT_API_KEY=your_key_here
135
132
  export JANITO_PROVIDER=moonshot
136
- export JANITO_MODEL=kimi-k2-0905
133
+ export JANITO_MODEL=kimi-k1-8k
137
134
  ```
138
135
 
139
136
  **OpenAI:**
@@ -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
@@ -22,7 +22,6 @@ import time
22
22
 
23
23
  # Shared prompt/agent factory
24
24
  from janito.cli.prompt_setup import setup_agent_and_prompt_handler
25
- from janito.llm.cancellation_manager import get_cancellation_manager
26
25
 
27
26
  import time
28
27
 
@@ -114,10 +113,6 @@ class ChatSession:
114
113
 
115
114
  # Check if multi-line mode should be enabled by default
116
115
  self.multi_line_mode = getattr(args, "multi", False) if args else False
117
-
118
- # Default to single-line mode (Enter submits) unless explicitly enabled
119
- if not self.multi_line_mode:
120
- self.multi_line_mode = False
121
116
 
122
117
  def _select_profile_and_role(self, args, role):
123
118
  profile, role_arg, python_profile, market_profile = self._extract_args(args)
@@ -288,13 +283,7 @@ class ChatSession:
288
283
  )
289
284
  )
290
285
 
291
- try:
292
- self._prompt_handler.run_prompt(cmd_input)
293
- finally:
294
- # Ensure cancellation manager is cleared
295
- cancel_manager = get_cancellation_manager()
296
- cancel_manager.clear_current_request()
297
-
286
+ self._prompt_handler.run_prompt(cmd_input)
298
287
  end_time = time.time()
299
288
  elapsed = end_time - start_time
300
289
  self.msg_count += 1
@@ -23,11 +23,6 @@ class MultiShellHandler(ShellCmdHandler):
23
23
  submitted["value"] = buffer.text
24
24
  event.app.exit(result=buffer.text)
25
25
 
26
- # Support single ESC to cancel/interrupt (like Ctrl+C)
27
- @bindings.add("escape")
28
- def _(event):
29
- raise KeyboardInterrupt
30
-
31
26
  # Support Ctrl+D
32
27
  @bindings.add("c-d")
33
28
  def _(event):
@@ -59,53 +59,39 @@ Examples:
59
59
  command = args[0].lower()
60
60
  whitelist_manager = get_url_whitelist_manager()
61
61
 
62
- handlers = {
63
- "list": self._handle_list,
64
- "add": self._handle_add,
65
- "remove": self._handle_remove,
66
- "clear": self._handle_clear,
67
- }
68
-
69
- handler = handlers.get(command)
70
- if handler:
71
- handler(args, whitelist_manager)
62
+ if command == "list":
63
+ sites = whitelist_manager.get_allowed_sites()
64
+ if sites:
65
+ print("Allowed sites:")
66
+ for site in sites:
67
+ print(f" • {site}")
68
+ else:
69
+ print("No sites are whitelisted (all sites are allowed)")
70
+
71
+ elif command == "add":
72
+ if len(args) < 2:
73
+ print("Error: Please specify a site to add")
74
+ return
75
+ site = args[1]
76
+ if whitelist_manager.add_allowed_site(site):
77
+ print(f"✅ Added '{site}' to allowed sites")
78
+ else:
79
+ print(f"ℹ️ '{site}' is already in allowed sites")
80
+
81
+ elif command == "remove":
82
+ if len(args) < 2:
83
+ print("Error: Please specify a site to remove")
84
+ return
85
+ site = args[1]
86
+ if whitelist_manager.remove_allowed_site(site):
87
+ print(f"✅ Removed '{site}' from allowed sites")
88
+ else:
89
+ print(f"ℹ️ '{site}' was not in allowed sites")
90
+
91
+ elif command == "clear":
92
+ whitelist_manager.clear_whitelist()
93
+ print("✅ Cleared all allowed sites (all sites are now allowed)")
94
+
72
95
  else:
73
96
  print(f"Error: Unknown command '{command}'")
74
97
  print(self.get_usage())
75
-
76
- def _handle_list(self, args, whitelist_manager):
77
- """Handle list command."""
78
- sites = whitelist_manager.get_allowed_sites()
79
- if sites:
80
- print("Allowed sites:")
81
- for site in sites:
82
- print(f" • {site}")
83
- else:
84
- print("No sites are whitelisted (all sites are allowed)")
85
-
86
- def _handle_add(self, args, whitelist_manager):
87
- """Handle add command."""
88
- if len(args) < 2:
89
- print("Error: Please specify a site to add")
90
- return
91
- site = args[1]
92
- if whitelist_manager.add_allowed_site(site):
93
- print(f"✅ Added '{site}' to allowed sites")
94
- else:
95
- print(f"ℹ️ '{site}' is already in allowed sites")
96
-
97
- def _handle_remove(self, args, whitelist_manager):
98
- """Handle remove command."""
99
- if len(args) < 2:
100
- print("Error: Please specify a site to remove")
101
- return
102
- site = args[1]
103
- if whitelist_manager.remove_allowed_site(site):
104
- print(f"✅ Removed '{site}' from allowed sites")
105
- else:
106
- print(f"ℹ️ '{site}' was not in allowed sites")
107
-
108
- def _handle_clear(self, args, whitelist_manager):
109
- """Handle clear command."""
110
- whitelist_manager.clear_whitelist()
111
- print("✅ Cleared all allowed sites (all sites are now allowed)")