janito 2.24.0__tar.gz → 2.24.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {janito-2.24.0/janito.egg-info → janito-2.24.1}/PKG-INFO +1 -1
- janito-2.24.1/RELEASE_NOTES_2.24.1.md +86 -0
- {janito-2.24.0 → janito-2.24.1/janito.egg-info}/PKG-INFO +1 -1
- {janito-2.24.0 → janito-2.24.1}/janito.egg-info/SOURCES.txt +1 -0
- {janito-2.24.0 → janito-2.24.1}/.codespellrc +0 -0
- {janito-2.24.0 → janito-2.24.1}/.gitattributes +0 -0
- {janito-2.24.0 → janito-2.24.1}/.github/workflows/python-app.yml.disabled +0 -0
- {janito-2.24.0 → janito-2.24.1}/.gitignore +0 -0
- {janito-2.24.0 → janito-2.24.1}/.pre-commit-config.yaml +0 -0
- {janito-2.24.0 → janito-2.24.1}/.secrets.baseline +0 -0
- {janito-2.24.0 → janito-2.24.1}/.vscode/settings.json +0 -0
- {janito-2.24.0 → janito-2.24.1}/CHANGELOG.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/CHANGELOG_2.16.0.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/CHANGELOG_2.23.0.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/LICENSE +0 -0
- {janito-2.24.0 → janito-2.24.1}/MARKET_ANALYST_README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/README-PLUGINS.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/README-dev.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/RELEASE_COMPARISON.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/RELEASE_NOTES_2.22.0.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/UPDATING_DOCS.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/adding_mcp.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/DIV.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/Interfaces.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/TOOLBAR-STYLING.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/about/costs.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/about/vs-webchats.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/about/why.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/alibaba-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/alternatives.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/cerebras-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/code_intelligence/code-generation-challenges.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/code_intelligence/code-generation-observability.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/code_intelligence/our-approach.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/code_intelligence/why-string-replacement.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/concepts/analysis-style.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/concepts/human-guided-ai.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/concepts/index.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/concepts/language-model-clients.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/concepts/prompt-design-style.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/deepseek-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/driver-flow.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/driver-request-cancellation.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/drivers/events.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/drivers.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/event-bus.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/configuration.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/developing.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/disabled-tools.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/installation.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/market-data-sources.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/plugins.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/profiles.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/prompting/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/read-chart-examples.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/remote-plugins.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/security-commands.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/single-shot-terminal.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/stock-market-guide.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/terminal-shell.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/tools-developer-guide.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/url-whitelist.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/using.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/guides/using_tools.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/ibm-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/code-generation-observability.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/code_generation_observability.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/happy-programmer.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/happy-programmer.svg +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/terminal-one-shot.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/terminal-shell.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/terminal_one_shot.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/imgs/terminal_shell.png +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/index.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/llm-drivers-required-config.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/llm-drivers.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/meta/developer-toolchain.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/meta/quality-checks.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/mistral-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/moonshotai-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/openai-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/overrides/partials/copyright.html +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/provider-platform-access.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/README-pt.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/configuracao.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/exemplos.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/faq-pt.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/ferramentas.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/guia-uso.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/instalacao.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/pt/perfis.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/public-sources.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/reference/api.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/reference/azure-openai.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/reference/cli-options.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/reference/message-handler-model.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/reference/rich-message-handler.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/security.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/supported-providers-models.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/tools/search-text.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/tools-index.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/tools-natural-results.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/tools-precision.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/docs/z-ai-setup.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/examples/loop_protection_example.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/examples/loop_protection_tool_example.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/get_nasdaq_top.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/__main__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/_version.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/agent/setup_agent.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/bindings.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/chat_entry.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/prompt_style.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/script_runner.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/session.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/session_profile_select.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/base.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/help.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/model.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/read.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/role.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/security/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/security_command.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/session.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/write.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/input_history.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/history.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/manager.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/toolbar.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_drivers.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_models.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_plugins.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_profiles.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_providers.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_providers_region.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/list_tools.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/model_selection.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/model_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/ping_providers.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/set_api_key.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/show_config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/cli_commands/show_system_prompt.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/console.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/event_logger.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/getters.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/model_guesser.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/runner.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/setters.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/core/unsetters.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/main.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/main_cli.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/prompt_core.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/prompt_handler.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/prompt_setup.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/rich_terminal_reporter.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/single_shot_mode/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/single_shot_mode/handler.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/cli/verbose_output.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/config_manager.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/conversation_history.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/dir_walk_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/docs/GETTING_STARTED.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/driver_events.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/azure_openai/driver.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/cerebras/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/dashscope.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/openai/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/openai/driver.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/openai_responses.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/zai/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/drivers/zai/driver.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/event_bus/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/event_bus/bus.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/event_bus/event.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/event_bus/handler.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/event_bus/queue_bus.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/exceptions.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/formatting.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/formatting_token.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/gitignore_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/i18n/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/i18n/it.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/i18n/messages.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/i18n/pt.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/agent.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/auth.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/auth_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/driver.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/driver_config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/driver_config_builder.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/driver_input.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/message_parts.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/model.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/llm/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/mkdocs.yml +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/perf_singleton.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/performance_collector.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/platform_discovery.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/plugins/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/plugins/base.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/plugins/discovery.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/plugins/manager.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/provider_config.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/provider_registry.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/alibaba/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/alibaba/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/alibaba/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/anthropic/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/anthropic/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/azure_openai/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/azure_openai/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/cerebras/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/cerebras/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/cerebras/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/dashscope.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/deepseek/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/deepseek/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/deepseek/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/google/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/google/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/google/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/ibm/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/ibm/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/ibm/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/ibm/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/mistral/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/mistral/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/mistral/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/moonshotai/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/moonshotai/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/moonshotai/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/openai/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/openai/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/openai/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/openai/schema_generator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/registry.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/zai/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/zai/model_info.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/zai/provider.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/providers/zai/schema_generator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/regions/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/regions/cli.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/regions/geo_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/regions/provider_regions.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/report_events.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/shell.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/README.md +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/adapter.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/ask_user.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/copy_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/create_directory.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/create_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/fetch_url.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/find_files.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/core.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/java_outline.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/search_outline.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/move_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/open_html_in_browser.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/open_url.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/python_code_run.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/python_command_run.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/python_file_run.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/read_chart.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/read_files.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/remove_directory.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/remove_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/replace_text_in_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/run_bash_command.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/run_powershell_command.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/core.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/core.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/jinja2_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/adapters/local/view_file.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/disabled_tools.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/inspect_registry.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/loop_protection.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/loop_protection_decorator.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/outline_file.bak.zip +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/path_security.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/permissions.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/permissions_parse.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tool_base.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tool_events.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tool_run_exception.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tool_use_tracker.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tool_utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tools_adapter.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/tools_schema.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/tools/url_whitelist.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito/utils.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito.egg-info/dependency_links.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito.egg-info/entry_points.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito.egg-info/requires.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito.egg-info/top_level.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/janito.json +0 -0
- {janito-2.24.0 → janito-2.24.1}/market_prompt_fix.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/market_test.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/mkdocs.yml +0 -0
- {janito-2.24.0 → janito-2.24.1}/mkdocs_hooks.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/plugins/example_plugin.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/pyproject.toml +0 -0
- {janito-2.24.0 → janito-2.24.1}/pytest.ini +0 -0
- {janito-2.24.0 → janito-2.24.1}/requirements-dev.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/requirements.txt +0 -0
- {janito-2.24.0 → janito-2.24.1}/setup.cfg +0 -0
- {janito-2.24.0 → janito-2.24.1}/test_loop_protection_return.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/test_market_analyst.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/adapters/local/test_read_files.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_cli_list_models.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_cli_list_providers.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_cli_list_providers_alibaba.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_cli_list_providers_moonshotai.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_cli_version.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_disabled_tools.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_plugin_system.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_provider_alibaba.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_provider_cerebras.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tests/test_provider_moonshotai.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tools/release.py +0 -0
- {janito-2.24.0 → janito-2.24.1}/tox.ini +0 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
# Janito v2.24.1 Release Notes
|
2
|
+
|
3
|
+
## 🚀 New Features
|
4
|
+
|
5
|
+
### Loop Protection for Local Tools
|
6
|
+
- **Enhanced Safety**: Implemented comprehensive loop protection mechanisms for all local tools to prevent infinite loops and excessive resource consumption
|
7
|
+
- **Decorator System**: Added `@loop_protection` decorator that can be applied to tool functions to automatically monitor and limit execution cycles
|
8
|
+
- **Configurable Limits**: Set maximum execution times and iteration counts for protected tools with customizable thresholds
|
9
|
+
- **Smart Detection**: Automatic detection of repetitive patterns and potential infinite loops in tool execution
|
10
|
+
|
11
|
+
### Improved Error Reporting
|
12
|
+
- **Detailed Diagnostics**: Enhanced error messages now include context information, execution stack traces, and resource usage statistics
|
13
|
+
- **Protection Status**: Clear indication when loop protection mechanisms are triggered, with detailed information about what caused the intervention
|
14
|
+
- **Recovery Suggestions**: Error reports now include actionable suggestions for resolving loop-related issues
|
15
|
+
|
16
|
+
## 🔧 Improvements
|
17
|
+
|
18
|
+
### Tool Adapter Enhancements
|
19
|
+
- **Performance Monitoring**: Added execution time tracking for all local tool adapters
|
20
|
+
- **Resource Management**: Improved memory and CPU usage monitoring during tool execution
|
21
|
+
- **Graceful Degradation**: Better handling of resource exhaustion scenarios with informative user feedback
|
22
|
+
|
23
|
+
### Developer Experience
|
24
|
+
- **Example Scripts**: Added comprehensive example scripts demonstrating loop protection usage (`examples/loop_protection_example.py`)
|
25
|
+
- **Tool Examples**: Practical examples showing how to implement loop protection in custom tools (`examples/loop_protection_tool_example.py`)
|
26
|
+
- **Documentation**: Updated developer documentation with loop protection implementation guidelines
|
27
|
+
|
28
|
+
## 🐛 Bug Fixes
|
29
|
+
|
30
|
+
- **Resource Leaks**: Fixed potential memory leaks in long-running tool executions
|
31
|
+
- **Exception Handling**: Improved exception handling in tool adapters to prevent crashes during protection interventions
|
32
|
+
- **Status Reporting**: Corrected issues with protection status reporting in complex execution scenarios
|
33
|
+
|
34
|
+
## 📚 Documentation
|
35
|
+
|
36
|
+
### New Documentation Files
|
37
|
+
- `docs/guides/tools-developer-guide.md` - Comprehensive guide for developing tools with loop protection
|
38
|
+
- `docs/tools/loop-protection.md` - Detailed documentation on loop protection mechanisms and usage
|
39
|
+
|
40
|
+
### Updated Documentation
|
41
|
+
- `README-dev.md` - Enhanced with loop protection development guidelines
|
42
|
+
- `janito/tools/README.md` - Updated with loop protection implementation details
|
43
|
+
|
44
|
+
## 🔍 Technical Details
|
45
|
+
|
46
|
+
### Files Added/Modified
|
47
|
+
- `janito/tools/loop_protection.py` - Core loop protection implementation
|
48
|
+
- `janito/tools/loop_protection_decorator.py` - Decorator for applying loop protection to functions
|
49
|
+
- `examples/loop_protection_example.py` - Example demonstrating loop protection usage
|
50
|
+
- `examples/loop_protection_tool_example.py` - Tool-specific loop protection example
|
51
|
+
- `janito/tools/adapters/local/*.py` - All local tool adapters updated with loop protection integration
|
52
|
+
- `test_loop_protection_return.py` - Test suite for loop protection functionality
|
53
|
+
|
54
|
+
### Dependencies
|
55
|
+
- No new dependencies added
|
56
|
+
- Compatible with existing Janito installations
|
57
|
+
|
58
|
+
## 🎯 Usage Examples
|
59
|
+
|
60
|
+
### Applying Loop Protection to Custom Tools
|
61
|
+
```python
|
62
|
+
from janito.tools.loop_protection_decorator import loop_protection
|
63
|
+
|
64
|
+
@loop_protection(max_iterations=100, timeout_seconds=30)
|
65
|
+
def my_custom_tool(data):
|
66
|
+
# Your tool implementation here
|
67
|
+
# Loop protection will automatically monitor execution
|
68
|
+
pass
|
69
|
+
```
|
70
|
+
|
71
|
+
### Configuration Options
|
72
|
+
```bash
|
73
|
+
# Set global loop protection limits
|
74
|
+
janito config set loop_protection.max_iterations 500
|
75
|
+
janito config set loop_protection.timeout_seconds 60
|
76
|
+
```
|
77
|
+
|
78
|
+
## 🎉 Acknowledgments
|
79
|
+
|
80
|
+
Special thanks to the community for feedback and contributions that helped shape this release, particularly around safety and reliability improvements.
|
81
|
+
|
82
|
+
---
|
83
|
+
|
84
|
+
**Full Changelog**: https://github.com/ikignosis/janito/compare/v2.24.0...v2.24.1
|
85
|
+
|
86
|
+
**Installation**: `pip install janito==2.24.1` or `pip install --upgrade janito`
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{janito-2.24.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/security/allowed_sites.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|