janito 2.22.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.22.0 → janito-2.24.1}/.codespellrc +0 -0
- {janito-2.22.0 → janito-2.24.1}/.gitattributes +0 -0
- {janito-2.22.0 → janito-2.24.1}/.github/workflows/python-app.yml.disabled +0 -0
- {janito-2.22.0 → janito-2.24.1}/.gitignore +0 -0
- {janito-2.22.0 → janito-2.24.1}/.pre-commit-config.yaml +0 -0
- {janito-2.22.0 → janito-2.24.1}/.secrets.baseline +0 -0
- {janito-2.22.0 → janito-2.24.1}/.vscode/settings.json +0 -0
- {janito-2.22.0 → janito-2.24.1}/CHANGELOG.md +70 -0
- {janito-2.22.0 → janito-2.24.1}/CHANGELOG_2.16.0.md +0 -0
- janito-2.24.1/CHANGELOG_2.23.0.md +70 -0
- {janito-2.22.0 → janito-2.24.1}/LICENSE +0 -0
- janito-2.24.1/MARKET_ANALYST_README.md +97 -0
- {janito-2.22.0/janito.egg-info → janito-2.24.1}/PKG-INFO +411 -411
- janito-2.24.1/README-PLUGINS.md +68 -0
- {janito-2.22.0 → janito-2.24.1}/README-dev.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/README.md +0 -0
- janito-2.24.1/RELEASE_COMPARISON.md +118 -0
- janito-2.24.1/RELEASE_NOTES_2.22.0.md +86 -0
- janito-2.24.1/RELEASE_NOTES_2.24.1.md +86 -0
- {janito-2.22.0 → janito-2.24.1}/UPDATING_DOCS.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/adding_mcp.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/DIV.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/Interfaces.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/TOOLBAR-STYLING.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/about/costs.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/about/vs-webchats.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/about/why.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/alibaba-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/alternatives.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/cerebras-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/code_intelligence/code-generation-challenges.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/code_intelligence/code-generation-observability.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/code_intelligence/our-approach.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/code_intelligence/why-string-replacement.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/concepts/analysis-style.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/concepts/human-guided-ai.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/concepts/index.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/concepts/language-model-clients.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/concepts/prompt-design-style.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/deepseek-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/driver-flow.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/driver-request-cancellation.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/drivers/events.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/drivers.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/event-bus.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/configuration.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/developing.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/disabled-tools.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/installation.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/market-data-sources.md +42 -18
- janito-2.24.1/docs/guides/plugins.md +209 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/profiles.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/prompting/README.md +0 -0
- janito-2.24.1/docs/guides/read-chart-examples.md +177 -0
- janito-2.24.1/docs/guides/remote-plugins.md +198 -0
- janito-2.24.1/docs/guides/security-commands.md +220 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/single-shot-terminal.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/stock-market-guide.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/terminal-shell.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/tools-developer-guide.md +13 -7
- janito-2.24.1/docs/guides/url-whitelist.md +252 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/using.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/guides/using_tools.md +1 -0
- {janito-2.22.0 → janito-2.24.1}/docs/ibm-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/code-generation-observability.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/code_generation_observability.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/happy-programmer.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/happy-programmer.svg +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/terminal-one-shot.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/terminal-shell.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/terminal_one_shot.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/imgs/terminal_shell.png +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/index.md +1 -0
- {janito-2.22.0 → janito-2.24.1}/docs/llm-drivers-required-config.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/llm-drivers.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/meta/developer-toolchain.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/meta/quality-checks.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/mistral-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/moonshotai-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/openai-setup.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/overrides/partials/copyright.html +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/provider-platform-access.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/README-pt.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/configuracao.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/exemplos.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/faq-pt.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/ferramentas.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/guia-uso.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/instalacao.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/pt/perfis.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/public-sources.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/reference/api.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/reference/azure-openai.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/reference/cli-options.md +1 -1
- {janito-2.22.0 → janito-2.24.1}/docs/reference/message-handler-model.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/reference/rich-message-handler.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/security.md +1 -1
- {janito-2.22.0 → janito-2.24.1}/docs/supported-providers-models.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/tools/search-text.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/tools-index.md +23 -0
- {janito-2.22.0 → janito-2.24.1}/docs/tools-natural-results.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/tools-precision.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/docs/z-ai-setup.md +0 -0
- janito-2.24.1/examples/loop_protection_example.py +101 -0
- janito-2.24.1/examples/loop_protection_tool_example.py +145 -0
- janito-2.24.1/get_nasdaq_top.py +113 -0
- {janito-2.22.0 → janito-2.24.1}/janito/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/__main__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/_version.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/agent/setup_agent.py +14 -0
- janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 → janito-2.24.1/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +63 -7
- janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 → janito-2.24.1/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +51 -13
- janito-2.24.1/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +110 -0
- janito-2.24.1/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +53 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/bindings.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/chat_entry.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/prompt_style.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/script_runner.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/session.py +8 -1
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/session_profile_select.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/__init__.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/base.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/help.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/model.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/read.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/role.py +0 -0
- janito-2.24.1/janito/cli/chat_mode/shell/commands/security/__init__.py +1 -0
- janito-2.24.1/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +94 -0
- janito-2.24.1/janito/cli/chat_mode/shell/commands/security_command.py +51 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/session.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands/write.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/input_history.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/history.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session/manager.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/chat_mode/toolbar.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_drivers.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_models.py +0 -0
- janito-2.24.1/janito/cli/cli_commands/list_plugins.py +45 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_profiles.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_providers.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_providers_region.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/list_tools.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/model_selection.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/model_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/ping_providers.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/set_api_key.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/show_config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/cli_commands/show_system_prompt.py +13 -40
- {janito-2.22.0 → janito-2.24.1}/janito/cli/config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/console.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/event_logger.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/getters.py +4 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/model_guesser.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/runner.py +7 -2
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/setters.py +10 -1
- {janito-2.22.0 → janito-2.24.1}/janito/cli/core/unsetters.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/main.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/main_cli.py +25 -3
- {janito-2.22.0 → janito-2.24.1}/janito/cli/prompt_core.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/prompt_handler.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/prompt_setup.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/rich_terminal_reporter.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/single_shot_mode/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/single_shot_mode/handler.py +3 -1
- {janito-2.22.0 → janito-2.24.1}/janito/cli/utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/cli/verbose_output.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/config_manager.py +10 -0
- {janito-2.22.0 → janito-2.24.1}/janito/conversation_history.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/dir_walk_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/docs/GETTING_STARTED.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/driver_events.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/azure_openai/driver.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/cerebras/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/dashscope.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/openai/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/openai/driver.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/openai_responses.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/zai/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/drivers/zai/driver.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/event_bus/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/event_bus/bus.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/event_bus/event.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/event_bus/handler.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/event_bus/queue_bus.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/exceptions.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/formatting.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/formatting_token.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/gitignore_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/i18n/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/i18n/it.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/i18n/messages.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/i18n/pt.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/agent.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/auth.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/auth_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/driver.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/driver_config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/driver_config_builder.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/driver_input.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/message_parts.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/model.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/llm/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/mkdocs.yml +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/perf_singleton.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/performance_collector.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/platform_discovery.py +0 -0
- janito-2.24.1/janito/plugins/__init__.py +17 -0
- janito-2.24.1/janito/plugins/base.py +93 -0
- janito-2.24.1/janito/plugins/discovery.py +160 -0
- janito-2.24.1/janito/plugins/manager.py +185 -0
- {janito-2.22.0 → janito-2.24.1}/janito/provider_config.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/provider_registry.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/alibaba/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/alibaba/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/alibaba/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/anthropic/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/anthropic/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/azure_openai/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/azure_openai/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/cerebras/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/cerebras/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/cerebras/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/dashscope.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/deepseek/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/deepseek/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/deepseek/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/google/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/google/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/google/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/ibm/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/ibm/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/ibm/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/ibm/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/mistral/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/mistral/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/mistral/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/moonshotai/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/moonshotai/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/moonshotai/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/openai/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/openai/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/openai/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/openai/schema_generator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/registry.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/zai/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/zai/model_info.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/zai/provider.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/providers/zai/schema_generator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/regions/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/regions/cli.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/regions/geo_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/regions/provider_regions.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/report_events.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/shell.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/README.md +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/__init__.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/adapter.py +55 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/ask_user.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/copy_file.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/create_directory.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/create_file.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/fetch_url.py +89 -4
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/find_files.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/core.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/java_outline.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/get_file_outline/search_outline.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/move_file.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/open_html_in_browser.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/open_url.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/python_code_run.py +15 -10
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/python_command_run.py +14 -9
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/python_file_run.py +15 -10
- janito-2.24.1/janito/tools/adapters/local/read_chart.py +252 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/read_files.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/remove_directory.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/remove_file.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/replace_text_in_file.py +1 -1
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/run_bash_command.py +18 -12
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/run_powershell_command.py +15 -9
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/core.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/core.py +6 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
- janito-2.24.1/janito/tools/adapters/local/validate_file_syntax/jinja2_validator.py +47 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/adapters/local/view_file.py +2 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/disabled_tools.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/inspect_registry.py +0 -0
- janito-2.24.1/janito/tools/loop_protection.py +115 -0
- janito-2.24.1/janito/tools/loop_protection_decorator.py +110 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/outline_file.bak.zip +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/path_security.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/permissions.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/permissions_parse.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tool_base.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tool_events.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tool_run_exception.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tool_use_tracker.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tool_utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tools_adapter.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito/tools/tools_schema.py +0 -0
- janito-2.24.1/janito/tools/url_whitelist.py +121 -0
- {janito-2.22.0 → janito-2.24.1}/janito/utils.py +0 -0
- {janito-2.22.0 → janito-2.24.1/janito.egg-info}/PKG-INFO +411 -411
- {janito-2.22.0 → janito-2.24.1}/janito.egg-info/SOURCES.txt +34 -0
- {janito-2.22.0 → janito-2.24.1}/janito.egg-info/dependency_links.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito.egg-info/entry_points.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito.egg-info/requires.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/janito.egg-info/top_level.txt +0 -0
- janito-2.24.1/janito.json +11 -0
- janito-2.24.1/market_prompt_fix.py +140 -0
- janito-2.24.1/market_test.py +99 -0
- {janito-2.22.0 → janito-2.24.1}/mkdocs.yml +0 -0
- {janito-2.22.0 → janito-2.24.1}/mkdocs_hooks.py +0 -0
- janito-2.24.1/plugins/example_plugin.py +89 -0
- {janito-2.22.0 → janito-2.24.1}/pyproject.toml +0 -0
- {janito-2.22.0 → janito-2.24.1}/pytest.ini +0 -0
- {janito-2.22.0 → janito-2.24.1}/requirements-dev.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/requirements.txt +0 -0
- {janito-2.22.0 → janito-2.24.1}/setup.cfg +4 -4
- janito-2.24.1/test_loop_protection_return.py +59 -0
- janito-2.24.1/test_market_analyst.py +123 -0
- {janito-2.22.0 → janito-2.24.1}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/adapters/local/test_read_files.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_cli_list_models.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_cli_list_providers.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_cli_list_providers_alibaba.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_cli_list_providers_moonshotai.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_cli_version.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_disabled_tools.py +0 -0
- janito-2.24.1/tests/test_plugin_system.py +152 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_provider_alibaba.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_provider_cerebras.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tests/test_provider_moonshotai.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tools/release.py +0 -0
- {janito-2.22.0 → janito-2.24.1}/tox.ini +0 -0
- janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -10
- janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +0 -1
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -344,3 +344,73 @@ All notable changes to this project will be documented in this file.
|
|
344
344
|
---
|
345
345
|
|
346
346
|
*Older changes may not be listed.*
|
347
|
+
# Changelog v2.23.0
|
348
|
+
|
349
|
+
## [2.23.0] - 2025-08-14
|
350
|
+
|
351
|
+
### Added
|
352
|
+
|
353
|
+
- **Remote Plugin Repository Support**: Added comprehensive support for loading plugins from the official `ikignosis/janito-plugins` repository
|
354
|
+
- **Automatic Discovery**: Plugins can be automatically discovered and loaded from remote GitHub repository
|
355
|
+
- **Configuration Management**: New configuration options for remote plugin management
|
356
|
+
- **Security Features**: Built-in verification and sandboxing for remote plugins
|
357
|
+
- **Update Mechanism**: Automatic and manual update capabilities for remote plugins
|
358
|
+
|
359
|
+
- **Plugin System Enhancements**:
|
360
|
+
- **Plugin Categories**: Official and community plugin categorization
|
361
|
+
- **Configuration Schemas**: JSON schema validation for plugin configuration
|
362
|
+
- **Hot Loading**: Dynamic plugin loading/unloading without restart
|
363
|
+
- **CLI Integration**: New commands for plugin management (`--list-remote-plugins`, `--update-remote-plugins`)
|
364
|
+
|
365
|
+
- **Documentation**: Comprehensive guides for remote plugin usage
|
366
|
+
- [Remote Plugins Guide](docs/guides/remote-plugins.md) - Complete documentation for remote plugin usage
|
367
|
+
- Updated [Plugin System Guide](docs/guides/plugins.md) with remote plugin integration
|
368
|
+
- Enhanced [README-PLUGINS.md](README-PLUGINS.md) with remote repository references
|
369
|
+
|
370
|
+
### Changed
|
371
|
+
|
372
|
+
- **Plugin Discovery**: Enhanced plugin discovery system to support both local and remote sources
|
373
|
+
- **Configuration Format**: Extended `janito.json` to support remote plugin configuration
|
374
|
+
- **CLI Interface**: Added new plugin management commands and improved existing ones
|
375
|
+
|
376
|
+
### Security
|
377
|
+
|
378
|
+
- **Repository Verification**: Added verification for remote plugin sources
|
379
|
+
- **Access Control**: Implemented proper access controls for remote plugin loading
|
380
|
+
- **Configuration Validation**: Enhanced validation for plugin configuration parameters
|
381
|
+
|
382
|
+
### Developer Experience
|
383
|
+
|
384
|
+
- **Plugin Templates**: Added example plugin structure in `plugins/example_plugin.py`
|
385
|
+
- **Testing Framework**: Comprehensive test suite for plugin system in `tests/test_plugin_system.py`
|
386
|
+
- **Documentation**: Detailed API documentation and usage examples
|
387
|
+
|
388
|
+
### Migration Guide
|
389
|
+
|
390
|
+
For users upgrading from previous versions:
|
391
|
+
|
392
|
+
1. **Configuration Update**: Add remote plugin configuration to `janito.json`:
|
393
|
+
```json
|
394
|
+
{
|
395
|
+
"plugins": {
|
396
|
+
"remote": {
|
397
|
+
"enabled": true,
|
398
|
+
"repository": "https://github.com/ikignosis/janito-plugins.git"
|
399
|
+
}
|
400
|
+
}
|
401
|
+
}
|
402
|
+
```
|
403
|
+
|
404
|
+
2. **Plugin Discovery**: Existing local plugins continue to work unchanged
|
405
|
+
3. **CLI Commands**: New commands are backward compatible with existing usage
|
406
|
+
|
407
|
+
### Contributors
|
408
|
+
|
409
|
+
- Enhanced plugin system architecture
|
410
|
+
- Added remote repository integration
|
411
|
+
- Improved documentation and examples
|
412
|
+
- Strengthened security and validation features
|
413
|
+
|
414
|
+
---
|
415
|
+
|
416
|
+
**Full Changelog**: https://github.com/ikignosis/janito/compare/v2.22.0...v2.23.0
|
File without changes
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# Changelog v2.23.0
|
2
|
+
|
3
|
+
## [2.23.0] - 2025-08-14
|
4
|
+
|
5
|
+
### Added
|
6
|
+
|
7
|
+
- **Remote Plugin Repository Support**: Added comprehensive support for loading plugins from the official `ikignosis/janito-plugins` repository
|
8
|
+
- **Automatic Discovery**: Plugins can be automatically discovered and loaded from remote GitHub repository
|
9
|
+
- **Configuration Management**: New configuration options for remote plugin management
|
10
|
+
- **Security Features**: Built-in verification and sandboxing for remote plugins
|
11
|
+
- **Update Mechanism**: Automatic and manual update capabilities for remote plugins
|
12
|
+
|
13
|
+
- **Plugin System Enhancements**:
|
14
|
+
- **Plugin Categories**: Official and community plugin categorization
|
15
|
+
- **Configuration Schemas**: JSON schema validation for plugin configuration
|
16
|
+
- **Hot Loading**: Dynamic plugin loading/unloading without restart
|
17
|
+
- **CLI Integration**: New commands for plugin management (`--list-remote-plugins`, `--update-remote-plugins`)
|
18
|
+
|
19
|
+
- **Documentation**: Comprehensive guides for remote plugin usage
|
20
|
+
- [Remote Plugins Guide](docs/guides/remote-plugins.md) - Complete documentation for remote plugin usage
|
21
|
+
- Updated [Plugin System Guide](docs/guides/plugins.md) with remote plugin integration
|
22
|
+
- Enhanced [README-PLUGINS.md](README-PLUGINS.md) with remote repository references
|
23
|
+
|
24
|
+
### Changed
|
25
|
+
|
26
|
+
- **Plugin Discovery**: Enhanced plugin discovery system to support both local and remote sources
|
27
|
+
- **Configuration Format**: Extended `janito.json` to support remote plugin configuration
|
28
|
+
- **CLI Interface**: Added new plugin management commands and improved existing ones
|
29
|
+
|
30
|
+
### Security
|
31
|
+
|
32
|
+
- **Repository Verification**: Added verification for remote plugin sources
|
33
|
+
- **Access Control**: Implemented proper access controls for remote plugin loading
|
34
|
+
- **Configuration Validation**: Enhanced validation for plugin configuration parameters
|
35
|
+
|
36
|
+
### Developer Experience
|
37
|
+
|
38
|
+
- **Plugin Templates**: Added example plugin structure in `plugins/example_plugin.py`
|
39
|
+
- **Testing Framework**: Comprehensive test suite for plugin system in `tests/test_plugin_system.py`
|
40
|
+
- **Documentation**: Detailed API documentation and usage examples
|
41
|
+
|
42
|
+
### Migration Guide
|
43
|
+
|
44
|
+
For users upgrading from previous versions:
|
45
|
+
|
46
|
+
1. **Configuration Update**: Add remote plugin configuration to `janito.json`:
|
47
|
+
```json
|
48
|
+
{
|
49
|
+
"plugins": {
|
50
|
+
"remote": {
|
51
|
+
"enabled": true,
|
52
|
+
"repository": "https://github.com/ikignosis/janito-plugins.git"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
```
|
57
|
+
|
58
|
+
2. **Plugin Discovery**: Existing local plugins continue to work unchanged
|
59
|
+
3. **CLI Commands**: New commands are backward compatible with existing usage
|
60
|
+
|
61
|
+
### Contributors
|
62
|
+
|
63
|
+
- Enhanced plugin system architecture
|
64
|
+
- Added remote repository integration
|
65
|
+
- Improved documentation and examples
|
66
|
+
- Strengthened security and validation features
|
67
|
+
|
68
|
+
---
|
69
|
+
|
70
|
+
**Full Changelog**: https://github.com/ikignosis/janito/compare/v2.22.0...v2.23.0
|
File without changes
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# Janito Market Analyst Profile
|
2
|
+
|
3
|
+
## Overview
|
4
|
+
The Market Analyst profile in janito provides comprehensive financial market analysis capabilities, including stock recommendations, technical analysis, and trading strategies.
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
### Command Line
|
9
|
+
```bash
|
10
|
+
# Use Market Analyst profile
|
11
|
+
janito --market "Analyze AAPL stock"
|
12
|
+
|
13
|
+
# Or explicitly specify profile
|
14
|
+
janito --profile "Market Analyst" "List top tech stocks to buy"
|
15
|
+
```
|
16
|
+
|
17
|
+
### Interactive Mode
|
18
|
+
```bash
|
19
|
+
# Start interactive chat with Market Analyst profile
|
20
|
+
janito --market
|
21
|
+
|
22
|
+
# Then ask questions like:
|
23
|
+
# "What are the best NASDAQ stocks to sell tomorrow?"
|
24
|
+
# "Analyze TSLA technical indicators"
|
25
|
+
# "Provide options strategy for NVDA earnings"
|
26
|
+
```
|
27
|
+
|
28
|
+
## Capabilities
|
29
|
+
|
30
|
+
### Technical Analysis
|
31
|
+
- **Indicators**: RSI, MACD, Bollinger Bands, VWAP, Moving averages
|
32
|
+
- **Patterns**: Head & shoulders, triangles, flags, support/resistance levels
|
33
|
+
- **Volume Analysis**: OBV, volume profile, accumulation/distribution
|
34
|
+
- **Multi-timeframe**: Daily, 4-hour, 15-minute analysis
|
35
|
+
|
36
|
+
### Fundamental Analysis
|
37
|
+
- **Valuation Metrics**: P/E, EV/EBITDA, P/S, P/B ratios
|
38
|
+
- **Growth Analysis**: EPS revisions, revenue growth trends
|
39
|
+
- **Financial Health**: Debt ratios, cash flow analysis, ROIC
|
40
|
+
- **DCF Modeling**: 2-stage and 3-stage models
|
41
|
+
|
42
|
+
### Sentiment & Flow Analysis
|
43
|
+
- **Analyst Sentiment**: EPS revisions, price target changes
|
44
|
+
- **Options Flow**: Put/call ratios, unusual activity, implied volatility
|
45
|
+
- **Institutional Flows**: 13F changes, short interest, ETF flows
|
46
|
+
- **Retail Sentiment**: Social media trends, Google search data
|
47
|
+
|
48
|
+
### Risk Management
|
49
|
+
- **Position Sizing**: Kelly criterion, fixed fractional risk
|
50
|
+
- **Stop Loss**: ATR-based, structure-based stops
|
51
|
+
- **Options Strategies**: Vertical spreads, straddles, strangles
|
52
|
+
- **Portfolio Management**: Correlation analysis, beta adjustment
|
53
|
+
|
54
|
+
## Example Queries
|
55
|
+
|
56
|
+
### Stock Analysis
|
57
|
+
```
|
58
|
+
"Analyze TSLA with technical and fundamental view"
|
59
|
+
"Compare NVDA vs AMD valuation metrics"
|
60
|
+
"What are the key risks for AAPL in Q3?"
|
61
|
+
```
|
62
|
+
|
63
|
+
### Market Timing
|
64
|
+
```
|
65
|
+
"Best NASDAQ stocks to sell tomorrow based on technicals"
|
66
|
+
"Which tech stocks are showing bearish divergence?"
|
67
|
+
"Identify oversold stocks in the S&P 500"
|
68
|
+
```
|
69
|
+
|
70
|
+
### Strategy Development
|
71
|
+
```
|
72
|
+
"Create a pairs trading strategy for FAANG stocks"
|
73
|
+
"Design an options strategy for earnings season"
|
74
|
+
"Build a momentum screening system"
|
75
|
+
```
|
76
|
+
|
77
|
+
## Data Sources
|
78
|
+
The Market Analyst uses publicly available data and standard analytical frameworks. No real-time brokerage feeds or proprietary data is accessed.
|
79
|
+
|
80
|
+
## Important Disclaimer
|
81
|
+
This tool provides analytical insights for educational and research purposes. It does not provide personalized investment advice. Always conduct your own due diligence and consult with qualified financial professionals before making investment decisions.
|
82
|
+
|
83
|
+
## Troubleshooting
|
84
|
+
|
85
|
+
### Profile Not Found
|
86
|
+
If you see "Could not find profile 'Market Analyst'", ensure you're using the correct syntax:
|
87
|
+
```bash
|
88
|
+
janito --profile "Market Analyst" "your query"
|
89
|
+
# or
|
90
|
+
janito --market "your query"
|
91
|
+
```
|
92
|
+
|
93
|
+
### Permission Issues
|
94
|
+
For full functionality, ensure read permissions are enabled:
|
95
|
+
```bash
|
96
|
+
janito --read --market "analyze stock data"
|
97
|
+
```
|