janito 2.7.0__tar.gz → 2.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.
- {janito-2.7.0 → janito-2.8.0}/.gitattributes +3 -0
- {janito-2.7.0 → janito-2.8.0}/.pre-commit-config.yaml +6 -0
- {janito-2.7.0 → janito-2.8.0}/CHANGELOG.md +24 -0
- {janito-2.7.0 → janito-2.8.0}/PKG-INFO +4 -12
- {janito-2.7.0 → janito-2.8.0}/README.md +2 -11
- janito-2.8.0/UPDATING_DOCS.md +46 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/configuration.md +19 -0
- janito-2.8.0/docs/guides/disabled-tools.md +121 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/terminal-shell.md +1 -10
- {janito-2.7.0 → janito-2.8.0}/docs/index.md +1 -0
- {janito-2.7.0 → janito-2.8.0}/docs/llm-drivers.md +1 -1
- janito-2.8.0/docs/moonshotai-setup.md +74 -0
- {janito-2.7.0 → janito-2.8.0}/docs/reference/azure-openai.md +1 -1
- {janito-2.7.0 → janito-2.8.0}/docs/reference/cli-options.md +21 -3
- janito-2.8.0/docs/supported-providers-models.md +28 -0
- janito-2.8.0/docs/tools/search-text.md +64 -0
- janito-2.8.0/docs/tools-index.md +77 -0
- {janito-2.7.0 → janito-2.8.0}/janito/__init__.py +0 -1
- {janito-2.7.0 → janito-2.8.0}/janito/__main__.py +0 -1
- {janito-2.7.0 → janito-2.8.0}/janito/_version.py +0 -3
- {janito-2.7.0 → janito-2.8.0}/janito/agent/setup_agent.py +77 -10
- janito-2.7.0/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 → janito-2.8.0/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -1
- janito-2.7.0/janito/agent/templates/profiles/system_prompt_template_plain_software_developer.txt.j2 → janito-2.8.0/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +2 -6
- {janito-2.7.0 → janito-2.8.0}/janito/cli/__init__.py +0 -1
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/bindings.py +1 -1
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/chat_entry.py +0 -2
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/prompt_style.py +0 -3
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/script_runner.py +9 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/session.py +80 -35
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/session_profile_select.py +61 -52
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/__init__.py +1 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/bang.py +10 -3
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +24 -7
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/execute.py +22 -7
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/help.py +4 -1
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/model.py +13 -5
- janito-2.8.0/janito/cli/chat_mode/shell/commands/privileges.py +21 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -2
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/read.py +22 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/tools.py +15 -4
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/write.py +22 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/input_history.py +3 -1
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/session/manager.py +0 -2
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/toolbar.py +25 -19
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/list_models.py +1 -1
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/list_providers.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/list_tools.py +35 -7
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/model_utils.py +5 -3
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/show_config.py +12 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/show_system_prompt.py +23 -9
- {janito-2.7.0 → janito-2.8.0}/janito/cli/config.py +0 -13
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/getters.py +2 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/runner.py +25 -8
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/setters.py +13 -76
- {janito-2.7.0 → janito-2.8.0}/janito/cli/main_cli.py +9 -25
- {janito-2.7.0 → janito-2.8.0}/janito/cli/prompt_core.py +19 -18
- {janito-2.7.0 → janito-2.8.0}/janito/cli/prompt_setup.py +6 -3
- {janito-2.7.0 → janito-2.8.0}/janito/cli/rich_terminal_reporter.py +19 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/single_shot_mode/handler.py +14 -5
- {janito-2.7.0 → janito-2.8.0}/janito/cli/verbose_output.py +5 -1
- {janito-2.7.0 → janito-2.8.0}/janito/config_manager.py +4 -0
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/azure_openai/driver.py +27 -30
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/openai/driver.py +52 -36
- {janito-2.7.0 → janito-2.8.0}/janito/formatting_token.py +12 -4
- {janito-2.7.0 → janito-2.8.0}/janito/llm/agent.py +15 -6
- {janito-2.7.0 → janito-2.8.0}/janito/llm/driver.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/provider_registry.py +31 -70
- {janito-2.7.0 → janito-2.8.0}/janito/providers/__init__.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/anthropic/model_info.py +0 -1
- {janito-2.7.0 → janito-2.8.0}/janito/providers/anthropic/provider.py +9 -14
- {janito-2.7.0 → janito-2.8.0}/janito/providers/azure_openai/provider.py +9 -4
- {janito-2.7.0 → janito-2.8.0}/janito/providers/deepseek/provider.py +5 -4
- {janito-2.7.0 → janito-2.8.0}/janito/providers/google/model_info.py +4 -2
- {janito-2.7.0 → janito-2.8.0}/janito/providers/google/provider.py +11 -5
- janito-2.8.0/janito/providers/groq/__init__.py +1 -0
- janito-2.8.0/janito/providers/groq/model_info.py +46 -0
- janito-2.8.0/janito/providers/groq/provider.py +76 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/moonshotai/provider.py +11 -4
- {janito-2.7.0 → janito-2.8.0}/janito/providers/openai/model_info.py +0 -1
- {janito-2.7.0 → janito-2.8.0}/janito/providers/openai/provider.py +6 -7
- {janito-2.7.0 → janito-2.8.0}/janito/tools/__init__.py +2 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/__init__.py +2 -1
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/adapter.py +21 -4
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/ask_user.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/copy_file.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/create_directory.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/create_file.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/delete_text_in_file.py +2 -1
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/fetch_url.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/find_files.py +7 -6
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/core.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/java_outline.py +22 -15
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/search_outline.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/move_file.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/open_html_in_browser.py +15 -5
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/open_url.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/python_code_run.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/python_command_run.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/python_file_run.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/read_files.py +19 -4
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/remove_directory.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/remove_file.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/replace_text_in_file.py +4 -3
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/run_bash_command.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/run_powershell_command.py +1 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/search_text/core.py +18 -17
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/search_text/match_lines.py +5 -5
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/search_text/pattern_utils.py +1 -1
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/search_text/traverse_directory.py +7 -7
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/core.py +1 -1
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +8 -1
- janito-2.8.0/janito/tools/disabled_tools.py +68 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/path_security.py +18 -11
- {janito-2.7.0 → janito-2.8.0}/janito/tools/permissions.py +6 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/permissions_parse.py +4 -3
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tool_base.py +11 -5
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tool_use_tracker.py +1 -4
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tool_utils.py +1 -1
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tools_adapter.py +57 -25
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/PKG-INFO +4 -12
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/SOURCES.txt +12 -7
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/requires.txt +1 -0
- {janito-2.7.0 → janito-2.8.0}/mkdocs.yml +5 -2
- {janito-2.7.0 → janito-2.8.0}/requirements.txt +1 -0
- {janito-2.7.0 → janito-2.8.0}/tests/adapters/local/get_file_outline/test_core_outline.py +12 -5
- {janito-2.7.0 → janito-2.8.0}/tests/adapters/local/test_read_files.py +2 -0
- {janito-2.7.0 → janito-2.8.0}/tests/test_cli_list_models.py +18 -8
- {janito-2.7.0 → janito-2.8.0}/tests/test_cli_list_providers.py +6 -3
- {janito-2.7.0 → janito-2.8.0}/tests/test_cli_list_providers_moonshotai.py +6 -3
- janito-2.8.0/tests/test_cli_version.py +15 -0
- janito-2.8.0/tests/test_disabled_tools.py +101 -0
- janito-2.8.0/tests/test_provider_moonshotai.py +10 -0
- {janito-2.7.0 → janito-2.8.0}/tools/release.py +26 -10
- janito-2.7.0/docs/supported-providers-models.md +0 -149
- janito-2.7.0/docs/tools-index.md +0 -18
- janito-2.7.0/janito/cli/chat_mode/shell/commands/livelogs.py +0 -49
- janito-2.7.0/janito/drivers/mistralai/driver.py +0 -41
- janito-2.7.0/janito/providers/mistralai/model_info.py +0 -37
- janito-2.7.0/janito/providers/mistralai/provider.py +0 -72
- janito-2.7.0/janito/providers/provider_static_info.py +0 -21
- janito-2.7.0/tests/test_cli_version.py +0 -11
- janito-2.7.0/tests/test_provider_moonshotai.py +0 -9
- {janito-2.7.0 → janito-2.8.0}/.codespellrc +0 -0
- {janito-2.7.0 → janito-2.8.0}/.github/workflows/python-app.yml +0 -0
- {janito-2.7.0 → janito-2.8.0}/.gitignore +0 -0
- {janito-2.7.0 → janito-2.8.0}/.secrets.baseline +0 -0
- {janito-2.7.0 → janito-2.8.0}/.vscode/settings.json +0 -0
- {janito-2.7.0 → janito-2.8.0}/LICENSE +0 -0
- {janito-2.7.0 → janito-2.8.0}/README-dev.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/adding_mcp.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/DIV.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/Interfaces.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/TOOLBAR-STYLING.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/about/costs.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/about/vs-webchats.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/about/why.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/alternatives.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/code_intelligence/code-generation-observability.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/code_intelligence/our-approach.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/code_intelligence/why-string-replacement.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/concepts/analysis-style.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/concepts/index.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/concepts/language-model-clients.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/concepts/prompt-design-style.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/deepseek-setup.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/driver-flow.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/driver-request-cancellation.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/drivers/events.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/drivers.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/event-bus.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/developing.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/installation.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/profiles.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/prompting/README.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/single-shot-terminal.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/tools-developer-guide.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/using.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/guides/using_tools.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/code-generation-observability.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/code_generation_observability.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/happy-programmer.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/happy-programmer.svg +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/terminal-one-shot.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/terminal-shell.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/terminal_one_shot.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/imgs/terminal_shell.png +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/llm-drivers-required-config.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/meta/developer-toolchain.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/meta/quality-checks.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/reference/api.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/reference/message-handler-model.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/reference/rich-message-handler.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/security.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/terms.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/tools-natural-results.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/docs/tools-precision.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/git_diff.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/github_diff +0 -0
- /janito-2.7.0/janito/agent/templates/profiles/system_prompt_template_assistant.txt.j2 → /janito-2.8.0/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/model_selection.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/cli_commands/set_api_key.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/console.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/event_logger.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/core/unsetters.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/main.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/prompt_handler.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/single_shot_mode/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/cli/utils.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/config.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/conversation_history.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/dir_walk_utils.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/driver_events.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/dashscope.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/driver_registry.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/openai/README.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/drivers/openai_responses.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/event_bus/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/event_bus/bus.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/event_bus/event.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/event_bus/handler.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/event_bus/queue_bus.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/exceptions.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/formatting.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/gitignore_utils.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/i18n/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/i18n/messages.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/i18n/pt.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/README.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/auth.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/driver_config.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/driver_config_builder.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/driver_input.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/message_parts.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/model.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/llm/provider.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/perf_singleton.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/performance_collector.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/platform_discovery.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/provider_config.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/azure_openai/model_info.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/dashscope.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/deepseek/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/deepseek/model_info.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/google/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/moonshotai/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/moonshotai/model_info.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/openai/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/openai/schema_generator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/providers/registry.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/report_events.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/shell.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/README.md +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/search_text/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/adapters/local/view_file.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/inspect_registry.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/outline_file.bak.zip +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tool_events.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tool_run_exception.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/tools/tools_schema.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito/utils.py +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/dependency_links.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/entry_points.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/janito.egg-info/top_level.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/pyproject.toml +0 -0
- {janito-2.7.0 → janito-2.8.0}/pytest.ini +0 -0
- {janito-2.7.0 → janito-2.8.0}/requirements-dev.txt +0 -0
- {janito-2.7.0 → janito-2.8.0}/setup.cfg +0 -0
- {janito-2.7.0 → janito-2.8.0}/tox.ini +0 -0
@@ -2,6 +2,30 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [2.8.0] - 2025-07-16
|
6
|
+
### Added
|
7
|
+
- **Groq provider**: New provider with support for moonshotai/kimi-k2-instruct model.
|
8
|
+
- **Parallel tool calls**: Enabled for OpenAI provider when tools are available.
|
9
|
+
- **No-tools mode**: New CLI option to disable all tool usage.
|
10
|
+
- **Disabled tools functionality**: Support for selectively disabling specific tools.
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- **Configuration system**: Simplified by removing provider-specific settings.
|
14
|
+
- **Max wait time**: Increased from 300s to 600s in LLMAgent for better handling of long-running operations.
|
15
|
+
- **Custom system prompt UX**: Improved profile selection flow and user experience.
|
16
|
+
- **OpenAI dependency**: Updated to require openai>=1.68.0.
|
17
|
+
- **Code formatting**: Applied black formatting across the codebase.
|
18
|
+
|
19
|
+
### Removed
|
20
|
+
- **MistralAI provider**: Completely removed from the codebase.
|
21
|
+
- **Provider-specific settings**: Simplified configuration system.
|
22
|
+
|
23
|
+
### Documentation
|
24
|
+
- Updated MoonshotAI setup guide with platform.moonshot.ai domain.
|
25
|
+
- Improved CLI usage documentation and fixed syntax highlighting.
|
26
|
+
- Removed broken references to model_info.py files in supported-providers-models.md.
|
27
|
+
- Added comprehensive documentation updates across the project.
|
28
|
+
|
5
29
|
## [2.5.0] - 2025-07-01
|
6
30
|
### Added
|
7
31
|
- Show working directory in chat mode startup message.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: janito
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.8.0
|
4
4
|
Summary: A new Python package called janito.
|
5
5
|
Author-email: João Pinto <lamego.pinto@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/janito-dev/janito
|
@@ -18,6 +18,7 @@ Requires-Dist: lxml>=5.4.0
|
|
18
18
|
Requires-Dist: requests>=2.32.4
|
19
19
|
Requires-Dist: bs4>=0.0.2
|
20
20
|
Requires-Dist: questionary>=2.0.1
|
21
|
+
Requires-Dist: openai>=1.68.0
|
21
22
|
Provides-Extra: dev
|
22
23
|
Requires-Dist: pytest; extra == "dev"
|
23
24
|
Requires-Dist: pre-commit; extra == "dev"
|
@@ -107,7 +108,7 @@ janito -set provider=PROVIDER
|
|
107
108
|
|
108
109
|
## Usage
|
109
110
|
|
110
|
-
After installation, use the `janito` command in your terminal
|
111
|
+
After installation, use the `janito` command in your terminal with the syntax: `janito [options] [prompt]`
|
111
112
|
|
112
113
|
Janito supports both general-purpose and specialized assistance through the use of **profiles**. Profiles allow you to select a specific system prompt template and behavior for the agent, enabling workflows tailored to different roles or tasks (e.g., developer, writer, data analyst), or to use Janito as a generic AI assistant.
|
113
114
|
|
@@ -202,14 +203,7 @@ janito -r -w -x "Run this code: print('Hello, world!')"
|
|
202
203
|
janito -p google -m gemini-2.5-flash "Your prompt here"
|
203
204
|
```
|
204
205
|
|
205
|
-
- **Set Provider-Specific Config (for the selected provider)**
|
206
|
-
```bash
|
207
|
-
# syntax: janito --set PROVIDER.KEY=VALUE
|
208
|
-
# example: set the default model for openai provider
|
209
|
-
janito --set openai.model=gpt-4o
|
210
206
|
|
211
|
-
```
|
212
|
-
> **Note:** Use `--set PROVIDER.key=value` for provider-specific settings (e.g., `openai.max_tokens`, `openai.base_url`).
|
213
207
|
|
214
208
|
- **Enable Event Logging**
|
215
209
|
```bash
|
@@ -235,7 +229,7 @@ janito -r -w -x "Run this code: print('Hello, world!')"
|
|
235
229
|
| `-v`, `--verbose` | Print extra information before answering |
|
236
230
|
| `-R`, `--raw` | Print raw JSON response from API |
|
237
231
|
| `-e`, `--event-log` | Log events to console as they occur |
|
238
|
-
| `
|
232
|
+
| `prompt` | Prompt to submit for the non interactive mode (e.g. `janito "What is the capital of France?"`) |
|
239
233
|
|
240
234
|
### 🧩 Extended Chat Mode Commands
|
241
235
|
Once inside the interactive chat mode, you can use these slash commands:
|
@@ -265,8 +259,6 @@ Once inside the interactive chat mode, you can use these slash commands:
|
|
265
259
|
| `/tools` | List available tools |
|
266
260
|
| `/-status` | Show status of server |
|
267
261
|
| `/-logs` | Show last lines of logs |
|
268
|
-
| `/livelogs` | Show live updates from server log file |
|
269
|
-
| `/edit <filename>` | Open file in browser-based editor |
|
270
262
|
| `/write [on\|off]` | Enable or disable write tool permissions |
|
271
263
|
| `/read [on\|off]` | Enable or disable read tool permissions |
|
272
264
|
| `/execute [on\|off]` | Enable or disable execute tool permissions |
|
@@ -76,7 +76,7 @@ janito -set provider=PROVIDER
|
|
76
76
|
|
77
77
|
## Usage
|
78
78
|
|
79
|
-
After installation, use the `janito` command in your terminal
|
79
|
+
After installation, use the `janito` command in your terminal with the syntax: `janito [options] [prompt]`
|
80
80
|
|
81
81
|
Janito supports both general-purpose and specialized assistance through the use of **profiles**. Profiles allow you to select a specific system prompt template and behavior for the agent, enabling workflows tailored to different roles or tasks (e.g., developer, writer, data analyst), or to use Janito as a generic AI assistant.
|
82
82
|
|
@@ -171,14 +171,7 @@ janito -r -w -x "Run this code: print('Hello, world!')"
|
|
171
171
|
janito -p google -m gemini-2.5-flash "Your prompt here"
|
172
172
|
```
|
173
173
|
|
174
|
-
- **Set Provider-Specific Config (for the selected provider)**
|
175
|
-
```bash
|
176
|
-
# syntax: janito --set PROVIDER.KEY=VALUE
|
177
|
-
# example: set the default model for openai provider
|
178
|
-
janito --set openai.model=gpt-4o
|
179
174
|
|
180
|
-
```
|
181
|
-
> **Note:** Use `--set PROVIDER.key=value` for provider-specific settings (e.g., `openai.max_tokens`, `openai.base_url`).
|
182
175
|
|
183
176
|
- **Enable Event Logging**
|
184
177
|
```bash
|
@@ -204,7 +197,7 @@ janito -r -w -x "Run this code: print('Hello, world!')"
|
|
204
197
|
| `-v`, `--verbose` | Print extra information before answering |
|
205
198
|
| `-R`, `--raw` | Print raw JSON response from API |
|
206
199
|
| `-e`, `--event-log` | Log events to console as they occur |
|
207
|
-
| `
|
200
|
+
| `prompt` | Prompt to submit for the non interactive mode (e.g. `janito "What is the capital of France?"`) |
|
208
201
|
|
209
202
|
### 🧩 Extended Chat Mode Commands
|
210
203
|
Once inside the interactive chat mode, you can use these slash commands:
|
@@ -234,8 +227,6 @@ Once inside the interactive chat mode, you can use these slash commands:
|
|
234
227
|
| `/tools` | List available tools |
|
235
228
|
| `/-status` | Show status of server |
|
236
229
|
| `/-logs` | Show last lines of logs |
|
237
|
-
| `/livelogs` | Show live updates from server log file |
|
238
|
-
| `/edit <filename>` | Open file in browser-based editor |
|
239
230
|
| `/write [on\|off]` | Enable or disable write tool permissions |
|
240
231
|
| `/read [on\|off]` | Enable or disable read tool permissions |
|
241
232
|
| `/execute [on\|off]` | Enable or disable execute tool permissions |
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Updating Documentation
|
2
|
+
|
3
|
+
This project uses [MkDocs](https://www.mkdocs.org/) for documentation generation and hosting.
|
4
|
+
|
5
|
+
## Documentation Structure
|
6
|
+
|
7
|
+
- Documentation source files are located in the `docs/` directory
|
8
|
+
- The main configuration is in `mkdocs.yml` at the project root
|
9
|
+
- Documentation is written in Markdown format
|
10
|
+
|
11
|
+
## When to Update Documentation
|
12
|
+
|
13
|
+
Documentation should be updated whenever:
|
14
|
+
|
15
|
+
- New features are added
|
16
|
+
- Existing functionality changes
|
17
|
+
- APIs or interfaces are modified
|
18
|
+
- Configuration options are added or changed
|
19
|
+
- Setup/installation instructions need updates
|
20
|
+
- Examples or usage patterns change
|
21
|
+
|
22
|
+
## How to Update Documentation
|
23
|
+
|
24
|
+
1. Edit the relevant `.md` files in the `docs/` directory
|
25
|
+
2. **Update navigation**: If adding new documentation files, update the `nav:` section in `mkdocs.yml` to include the new pages
|
26
|
+
3. Test your changes locally by running: `mkdocs serve`
|
27
|
+
4. Preview the documentation at `http://localhost:8000`
|
28
|
+
5. Once satisfied, commit your changes along with the code changes
|
29
|
+
|
30
|
+
## Building and Deploying
|
31
|
+
|
32
|
+
- Local development: `mkdocs serve`
|
33
|
+
- Build static site: `mkdocs build`
|
34
|
+
- Deploy to GitHub Pages: `mkdocs gh-deploy` (if configured)
|
35
|
+
|
36
|
+
## MkDocs Configuration
|
37
|
+
|
38
|
+
The `mkdocs.yml` file contains:
|
39
|
+
|
40
|
+
- Site metadata (name, description, etc.)
|
41
|
+
- **Navigation structure** (`nav:` section) - must be updated when adding new documentation files
|
42
|
+
- Theme configuration
|
43
|
+
- Plugin settings
|
44
|
+
- Markdown extensions
|
45
|
+
|
46
|
+
Please ensure any documentation updates maintain consistency with the existing style and structure. When adding new documentation files, always remember to update the navigation in `mkdocs.yml`.
|
@@ -34,6 +34,25 @@ Show the current configuration with:
|
|
34
34
|
janito --show-config
|
35
35
|
```
|
36
36
|
|
37
|
+
## Advanced Configuration
|
38
|
+
|
39
|
+
### Disabling Tools
|
40
|
+
|
41
|
+
You can selectively disable specific tools to customize your workflow or enhance security:
|
42
|
+
|
43
|
+
```bash
|
44
|
+
# Disable a single tool
|
45
|
+
janito --set disabled_tools=ask_user
|
46
|
+
|
47
|
+
# Disable multiple tools
|
48
|
+
janito --set disabled_tools="ask_user,python_code_run"
|
49
|
+
|
50
|
+
# View disabled tools
|
51
|
+
janito --show-config
|
52
|
+
```
|
53
|
+
|
54
|
+
See the [Disabling Tools Guide](disabled-tools.md) for complete details.
|
55
|
+
|
37
56
|
## More Information
|
38
57
|
|
39
58
|
- See [CLI Options Reference](../reference/cli-options.md) for all configuration flags.
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# Disabling Tools Guide
|
2
|
+
|
3
|
+
Janito allows you to disable specific tools to customize your workflow or enhance security. This guide explains how to disable and manage tools using configuration settings.
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
By default, all tools are enabled based on their permission requirements (read, write, execute). However, you can selectively disable individual tools using the `disabled_tools` configuration setting.
|
8
|
+
|
9
|
+
## Setting Disabled Tools
|
10
|
+
|
11
|
+
### Via CLI
|
12
|
+
|
13
|
+
Use the `--set` command to disable tools:
|
14
|
+
|
15
|
+
```bash
|
16
|
+
# Disable a single tool
|
17
|
+
janito --set disabled_tools=ask_user
|
18
|
+
|
19
|
+
# Disable multiple tools (comma-separated)
|
20
|
+
janito --set disabled_tools="ask_user,python_code_run"
|
21
|
+
|
22
|
+
# Clear all disabled tools
|
23
|
+
janito --set disabled_tools=""
|
24
|
+
```
|
25
|
+
|
26
|
+
### Via Configuration File
|
27
|
+
|
28
|
+
Edit your `config.json` file (located in `~/.janito/config.json`) and add the `disabled_tools` key:
|
29
|
+
|
30
|
+
```json
|
31
|
+
{
|
32
|
+
"disabled_tools": "ask_user,python_code_run",
|
33
|
+
"provider": "openai",
|
34
|
+
"model": "gpt-4.1"
|
35
|
+
}
|
36
|
+
```
|
37
|
+
|
38
|
+
## Viewing Disabled Tools
|
39
|
+
|
40
|
+
Check which tools are currently disabled:
|
41
|
+
|
42
|
+
```bash
|
43
|
+
janito --show-config
|
44
|
+
```
|
45
|
+
|
46
|
+
This will display a section showing your disabled tools, for example:
|
47
|
+
```
|
48
|
+
Disabled tools: ask_user, python_code_run
|
49
|
+
```
|
50
|
+
|
51
|
+
## Listing Available Tools
|
52
|
+
|
53
|
+
To see which tools are currently available (excluding disabled ones):
|
54
|
+
|
55
|
+
```bash
|
56
|
+
janito --list-tools
|
57
|
+
```
|
58
|
+
|
59
|
+
Disabled tools will not appear in the tool listing.
|
60
|
+
|
61
|
+
## Common Use Cases
|
62
|
+
|
63
|
+
### Security Enhancement
|
64
|
+
Disable potentially dangerous tools in production environments:
|
65
|
+
```bash
|
66
|
+
janito --set disabled_tools="python_code_run,run_powershell_command,run_bash_command"
|
67
|
+
```
|
68
|
+
|
69
|
+
### Workflow Customization
|
70
|
+
Disable tools you don't use to reduce clutter:
|
71
|
+
```bash
|
72
|
+
janito --set disabled_tools="open_url,open_html_in_browser"
|
73
|
+
```
|
74
|
+
|
75
|
+
### Temporary Disabling
|
76
|
+
Temporarily disable tools for specific sessions:
|
77
|
+
```bash
|
78
|
+
janito --set disabled_tools=ask_user "Generate code without user interaction"
|
79
|
+
```
|
80
|
+
|
81
|
+
## Tool Names
|
82
|
+
|
83
|
+
Use the exact tool names as shown in `janito --list-tools`. Common tool names include:
|
84
|
+
|
85
|
+
- `ask_user` - Interactive user prompts
|
86
|
+
- `python_code_run` - Execute Python code
|
87
|
+
- `run_powershell_command` - Execute PowerShell commands
|
88
|
+
- `run_bash_command` - Execute bash commands
|
89
|
+
- `create_file` - Create new files
|
90
|
+
- `remove_file` - Delete files
|
91
|
+
- `open_url` - Open URLs in browser
|
92
|
+
- And many more...
|
93
|
+
|
94
|
+
## Best Practices
|
95
|
+
|
96
|
+
1. **Test Before Disabling**: Always test your workflow after disabling tools to ensure essential functionality isn't broken.
|
97
|
+
|
98
|
+
2. **Document Changes**: Keep track of which tools you've disabled and why.
|
99
|
+
|
100
|
+
3. **Use Sparingly**: Only disable tools that pose security risks or aren't needed for your specific use case.
|
101
|
+
|
102
|
+
4. **Review Regularly**: Periodically review your disabled tools list to ensure it still meets your needs.
|
103
|
+
|
104
|
+
## Troubleshooting
|
105
|
+
|
106
|
+
### Tool Still Appears Available
|
107
|
+
|
108
|
+
- Ensure you're using the exact tool name (case-sensitive)
|
109
|
+
- Check that the configuration was saved: `janito --show-config`
|
110
|
+
- Restart your terminal session if needed
|
111
|
+
|
112
|
+
### Accidentally Disabled Essential Tools
|
113
|
+
|
114
|
+
- Clear all disabled tools: `janito --set disabled_tools=""`
|
115
|
+
- Or selectively re-enable by removing from the comma-separated list
|
116
|
+
|
117
|
+
### Configuration Not Persisting
|
118
|
+
|
119
|
+
- Verify the config file path: `janito --show-config` shows the location
|
120
|
+
- Check file permissions for your `~/.janito/config.json` file
|
121
|
+
- Ensure no syntax errors in the JSON configuration
|
@@ -10,7 +10,7 @@ The interactive shell lets you have a continuous conversation with Janito, just
|
|
10
10
|
- 📋 Copy code snippets easily
|
11
11
|
- 💡 Context-aware suggestions (where supported)
|
12
12
|
- 💾 Conversation state is saved/restored between sessions
|
13
|
-
|
13
|
+
|
14
14
|
|
15
15
|
---
|
16
16
|
|
@@ -39,16 +39,7 @@ You can use these commands at any time (prefix with `/` or just type the name):
|
|
39
39
|
| `/execute [on|off] | /read [on|off] | /write [on|off]` | Enable or disable code/shell execution tools at runtime |
|
40
40
|
| `/tools` | List all registered tools and show which are enabled/disabled |
|
41
41
|
|
42
|
-
## 🖱️ Clickable File Links
|
43
|
-
|
44
|
-
When Janito references files in its responses, the file names may appear as clickable links in supported terminals or web-based shells. To enable this, start Janito with the `--web` flag. Clicking these links will open the file in your browser for inspection.
|
45
|
-
|
46
|
-
- **What you can do:**
|
47
|
-
- View file contents in your browser
|
48
|
-
- Access additional actions (e.g., copy, download, or inspect details)
|
49
|
-
- Navigate project files more efficiently during reviews or debugging
|
50
42
|
|
51
|
-
This feature enhances productivity by bridging the terminal and browser, making it easy to inspect and act on files referenced in your conversations.
|
52
43
|
|
53
44
|
## 💻 Usage Example
|
54
45
|
|
@@ -20,5 +20,6 @@ Janito is a lightweight language model client focused on software development ac
|
|
20
20
|
|
21
21
|
- [What Is a Language Model Client?](concepts/language-model-clients.md) — Thin vs. Thick Clients explained
|
22
22
|
- [Configuring Janito for DeepSeek](deepseek-setup.md) — How to set up and use DeepSeek models
|
23
|
+
- [Configuring Janito for MoonshotAI](moonshotai-setup.md) — How to set up and use MoonshotAI models
|
23
24
|
- **Concepts & Terminology:** See the [concepts](concepts/index.md) section for more foundational explanations.
|
24
25
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## Overview
|
4
4
|
|
5
|
-
The driver layer described below is intended to provide a unified, event-driven interface for interacting with various Large Language Model (LLM) providers (such as OpenAI, Google Gemini,
|
5
|
+
The driver layer described below is intended to provide a unified, event-driven interface for interacting with various Large Language Model (LLM) providers (such as OpenAI, Google Gemini, etc.). However, as of this writing, the actual driver code (including the LLMDriver base class and its subclasses) is not present in this directory. The following describes the intended architecture and requirements, but no implementation is currently available here.
|
6
6
|
|
7
7
|
## Key Concepts
|
8
8
|
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Configuring Janito for MoonshotAI
|
2
|
+
|
3
|
+
Janito supports MoonshotAI as an LLM provider. This guide explains how to configure Janito to use MoonshotAI models.
|
4
|
+
|
5
|
+
## 1. Obtain a MoonshotAI API Key
|
6
|
+
|
7
|
+
- Sign up or log in at [Moonshot AI Platform](https://platform.moonshot.ai) to get your API key.
|
8
|
+
- Navigate to the API Keys section in your dashboard to create and manage your keys.
|
9
|
+
|
10
|
+
## 2. Set Your MoonshotAI API Key in Janito
|
11
|
+
|
12
|
+
You must specify both the API key and the provider name when configuring Janito for MoonshotAI:
|
13
|
+
|
14
|
+
```bash
|
15
|
+
janito --set-api-key YOUR_MOONSHOT_API_KEY -p moonshotai
|
16
|
+
```
|
17
|
+
|
18
|
+
Replace `YOUR_MOONSHOT_API_KEY` with your actual MoonshotAI API key.
|
19
|
+
|
20
|
+
## 3. Select MoonshotAI as the Provider
|
21
|
+
|
22
|
+
You can set MoonshotAI as your default provider:
|
23
|
+
|
24
|
+
```bash
|
25
|
+
janito --set provider=moonshotai
|
26
|
+
```
|
27
|
+
|
28
|
+
Or specify it per command:
|
29
|
+
|
30
|
+
```bash
|
31
|
+
janito -p moonshotai "Your prompt here"
|
32
|
+
```
|
33
|
+
|
34
|
+
## 4. Choose a MoonshotAI Model
|
35
|
+
|
36
|
+
Janito supports the following MoonshotAI models:
|
37
|
+
|
38
|
+
- `kimi-k2-0711-preview` (default) - Advanced reasoning model with 128k context window
|
39
|
+
- `kimi-k1-8k` - Standard model with 8k context window
|
40
|
+
- `kimi-k1-32k` - Standard model with 32k context window
|
41
|
+
- `kimi-k1-128k` - Standard model with 128k context window
|
42
|
+
|
43
|
+
To select a model:
|
44
|
+
|
45
|
+
```bash
|
46
|
+
janito -p moonshotai -m kimi-k1-32k "Your prompt here"
|
47
|
+
```
|
48
|
+
|
49
|
+
## 5. Verify Your Configuration
|
50
|
+
|
51
|
+
Show your current configuration:
|
52
|
+
|
53
|
+
```bash
|
54
|
+
janito --show-config
|
55
|
+
```
|
56
|
+
|
57
|
+
## 6. API Endpoint Information
|
58
|
+
|
59
|
+
MoonshotAI uses an OpenAI-compatible API endpoint:
|
60
|
+
|
61
|
+
- **Base URL**: `https://api.moonshot.ai/v1`
|
62
|
+
- **Authentication**: Bearer token (API key)
|
63
|
+
- **Format**: OpenAI API format
|
64
|
+
|
65
|
+
## 7. Troubleshooting
|
66
|
+
|
67
|
+
- Ensure your API key is correct and has sufficient credits.
|
68
|
+
- If you encounter issues, use `janito --list-providers` to verify MoonshotAI is available.
|
69
|
+
- Check your API key permissions and rate limits in the Moonshot AI Platform dashboard.
|
70
|
+
- For more help, see the main [Configuration Guide](guides/configuration.md) or run `janito --help`.
|
71
|
+
|
72
|
+
---
|
73
|
+
|
74
|
+
For more details on supported models and features, see [Supported Providers & Models](supported-providers-models.md).
|
@@ -19,7 +19,7 @@ Janito supports models hosted on Azure OpenAI in addition to OpenAI-compatible e
|
|
19
19
|
3. **(Optional) Set API version:**
|
20
20
|
If you need a specific API version, set `azure_openai_api_version` (default: `2023-05-15`).
|
21
21
|
```bash
|
22
|
-
janito --set
|
22
|
+
janito --set azure_openai_api_version=2023-05-15
|
23
23
|
```
|
24
24
|
|
25
25
|
## Example Configuration
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
This page documents all command-line options for Janito, as shown by `janito --help`. These options temporarily override configuration for a single session and do not persist changes to config files.
|
4
4
|
|
5
|
+
**Syntax:** `janito [options] [prompt]`
|
6
|
+
|
5
7
|
## 💡 Overview
|
6
8
|
|
7
9
|
These options are useful for one-off runs, scripting, or experimentation. They take precedence over config files for the current invocation only.
|
@@ -10,7 +12,7 @@ These options are useful for one-off runs, scripting, or experimentation. They t
|
|
10
12
|
|
11
13
|
| Option | Description |
|
12
14
|
|--------|-------------|
|
13
|
-
| `
|
15
|
+
| `prompt` | Prompt to submit (optional positional argument) |
|
14
16
|
| `-h`, `--help` | Show this help message and exit |
|
15
17
|
| `--verbose-api` | Print API calls and responses of LLM driver APIs for debugging/tracing. |
|
16
18
|
| `--verbose-tools` | Print info messages for tool execution in tools adapter. |
|
@@ -27,7 +29,7 @@ These options are useful for one-off runs, scripting, or experimentation. They t
|
|
27
29
|
| `--list-providers` | List supported LLM providers |
|
28
30
|
| `-l`, `--list-models` | List all supported models |
|
29
31
|
| `--set-api-key API_KEY` | Set API key for the provider (requires -p PROVIDER) |
|
30
|
-
| `--set
|
32
|
+
| `--set KEY=VALUE` | Set a config key |
|
31
33
|
| `-s SYSTEM_PROMPT`, `--system SYSTEM_PROMPT` | Set a system prompt |
|
32
34
|
| `-S`, `--show-system` | Show the resolved system prompt for the main agent |
|
33
35
|
|
@@ -36,7 +38,7 @@ These options are useful for one-off runs, scripting, or experimentation. They t
|
|
36
38
|
| `-t TEMPERATURE`, `--temperature TEMPERATURE` | Set the temperature |
|
37
39
|
| `-v`, `--verbose` | Print extra information before answering |
|
38
40
|
| `-R`, `--raw` | Print the raw JSON response from the OpenAI API (if applicable) |
|
39
|
-
|
41
|
+
|
40
42
|
|
41
43
|
| `--effort {low, medium, high, none}` | Set the reasoning effort for models that support it (low, medium, high, none) |
|
42
44
|
| `-e`, `--event-log` | Enable event logging to the system bus |
|
@@ -45,6 +47,7 @@ These options are useful for one-off runs, scripting, or experimentation. They t
|
|
45
47
|
## 👨💻 Usage Example
|
46
48
|
|
47
49
|
```sh
|
50
|
+
janito [options] [prompt]
|
48
51
|
janito -p openai -m gpt-3.5-turbo "Your prompt here"
|
49
52
|
janito -p google -m gemini-2.5-flash "Your prompt here"
|
50
53
|
janito --list-tools
|
@@ -82,3 +85,18 @@ The `--effort` option allows you to set the reasoning effort for models that sup
|
|
82
85
|
- `none`: Disables special reasoning effort (model default)
|
83
86
|
|
84
87
|
> **Note:** Not all models or providers support this option. If unsupported, the option may be ignored.
|
88
|
+
|
89
|
+
## 🔧 Configuration Keys
|
90
|
+
|
91
|
+
The `--set` command supports the following configuration keys:
|
92
|
+
|
93
|
+
| Key | Description | Example |
|
94
|
+
|-----|-------------|---------|
|
95
|
+
| `provider` | Set the default provider | `--set provider=openai` |
|
96
|
+
| `model` | Set the default model | `--set model=gpt-4.1` |
|
97
|
+
| `max_tokens` | Set maximum tokens | `--set max_tokens=4000` |
|
98
|
+
| `base_url` | Set custom API base URL | `--set base_url=https://api.example.com` |
|
99
|
+
| `tool_permissions` | Set tool permission level | `--set tool_permissions=rwe` |
|
100
|
+
| `disabled_tools` | Disable specific tools | `--set disabled_tools=ask_user,python_code_run` |
|
101
|
+
|
102
|
+
For more details on disabling tools, see the [Disabling Tools Guide](../guides/disabled-tools.md).
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Supported Providers and Models
|
2
|
+
|
3
|
+
This page lists the supported providers and their available models.
|
4
|
+
|
5
|
+
## OpenAI
|
6
|
+
- GPT-3.5 Turbo
|
7
|
+
- GPT-4
|
8
|
+
- GPT-4 Turbo
|
9
|
+
|
10
|
+
## Google
|
11
|
+
- Gemini Pro
|
12
|
+
- Gemini 1.5 Pro
|
13
|
+
|
14
|
+
## Anthropic
|
15
|
+
- Claude 2
|
16
|
+
- Claude 3 Opus
|
17
|
+
- Claude 3 Sonnet
|
18
|
+
- Claude 3 Haiku
|
19
|
+
|
20
|
+
## MoonshotAI
|
21
|
+
- Moonshot-v1-8k
|
22
|
+
- Moonshot-v1-32k
|
23
|
+
|
24
|
+
## Groq
|
25
|
+
- Llama-3-8b-8192
|
26
|
+
- Llama-3-70b-8192
|
27
|
+
|
28
|
+
<!-- Removed links to model_info.py files for all providers to avoid broken references. -->
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# 🔍 search_text
|
2
|
+
|
3
|
+
Search for a text query in all files within one or more directories or file paths and return matching lines or counts. Respects `.gitignore`.
|
4
|
+
|
5
|
+
## Signature
|
6
|
+
|
7
|
+
```python
|
8
|
+
search_text(
|
9
|
+
paths: str,
|
10
|
+
query: str,
|
11
|
+
use_regex: bool = False,
|
12
|
+
case_sensitive: bool = False,
|
13
|
+
max_depth: int = 0,
|
14
|
+
max_results: int = 100,
|
15
|
+
count_only: bool = False,
|
16
|
+
) -> str
|
17
|
+
```
|
18
|
+
|
19
|
+
## Parameters
|
20
|
+
|
21
|
+
| Parameter | Type | Default | Description |
|
22
|
+
|-----------|------|---------|-------------|
|
23
|
+
| `paths` | `str` | required | Space-separated list of file or directory paths to search in. |
|
24
|
+
| `query` | `str` | required | Text or regular expression to search for. Must not be empty. |
|
25
|
+
| `use_regex` | `bool` | `False` | If `True`, treat `query` as a regular expression. If `False`, treat as plain text. |
|
26
|
+
| `case_sensitive` | `bool` | `False` | If `False`, perform a case-insensitive search. |
|
27
|
+
| `max_depth` | `int` | `0` | Maximum directory depth to search. `0` = unlimited recursion. `1` = top-level only. |
|
28
|
+
| `max_results` | `int` | `100` | Maximum number of matching lines to return. `0` = no limit. |
|
29
|
+
| `count_only` | `bool` | `False` | If `True`, return only match counts instead of the actual lines. |
|
30
|
+
|
31
|
+
## Returns
|
32
|
+
|
33
|
+
- **Lines mode** (`count_only=False`): newline-separated list of matches, each formatted as:
|
34
|
+
```
|
35
|
+
filepath:lineno: line content
|
36
|
+
```
|
37
|
+
- **Count mode** (`count_only=True`): summary of matches per file plus a total.
|
38
|
+
|
39
|
+
## Examples
|
40
|
+
|
41
|
+
### Plain-text search
|
42
|
+
```bash
|
43
|
+
search_text(paths="src", query="TODO")
|
44
|
+
```
|
45
|
+
|
46
|
+
### Regex search
|
47
|
+
```bash
|
48
|
+
search_text(paths="src tests", query=r"def\s+\w+", use_regex=True)
|
49
|
+
```
|
50
|
+
|
51
|
+
### Case-insensitive count
|
52
|
+
```bash
|
53
|
+
search_text(paths="docs", query="janito", case_sensitive=False, count_only=True)
|
54
|
+
```
|
55
|
+
|
56
|
+
### Limit depth
|
57
|
+
```bash
|
58
|
+
search_text(paths=".", query="import", max_depth=1)
|
59
|
+
```
|
60
|
+
|
61
|
+
### Unlimited results
|
62
|
+
```bash
|
63
|
+
search_text(paths=".", query="print", max_results=0)
|
64
|
+
```
|