janito 2.22.0__tar.gz → 2.24.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. {janito-2.22.0 → janito-2.24.0}/.codespellrc +0 -0
  2. {janito-2.22.0 → janito-2.24.0}/.gitattributes +0 -0
  3. {janito-2.22.0 → janito-2.24.0}/.github/workflows/python-app.yml.disabled +0 -0
  4. {janito-2.22.0 → janito-2.24.0}/.gitignore +0 -0
  5. {janito-2.22.0 → janito-2.24.0}/.pre-commit-config.yaml +0 -0
  6. {janito-2.22.0 → janito-2.24.0}/.secrets.baseline +0 -0
  7. {janito-2.22.0 → janito-2.24.0}/.vscode/settings.json +0 -0
  8. {janito-2.22.0 → janito-2.24.0}/CHANGELOG.md +70 -0
  9. {janito-2.22.0 → janito-2.24.0}/CHANGELOG_2.16.0.md +0 -0
  10. janito-2.24.0/CHANGELOG_2.23.0.md +70 -0
  11. {janito-2.22.0 → janito-2.24.0}/LICENSE +0 -0
  12. janito-2.24.0/MARKET_ANALYST_README.md +97 -0
  13. {janito-2.22.0/janito.egg-info → janito-2.24.0}/PKG-INFO +411 -411
  14. janito-2.24.0/README-PLUGINS.md +68 -0
  15. {janito-2.22.0 → janito-2.24.0}/README-dev.md +0 -0
  16. {janito-2.22.0 → janito-2.24.0}/README.md +0 -0
  17. janito-2.24.0/RELEASE_COMPARISON.md +118 -0
  18. janito-2.24.0/RELEASE_NOTES_2.22.0.md +86 -0
  19. {janito-2.22.0 → janito-2.24.0}/UPDATING_DOCS.md +0 -0
  20. {janito-2.22.0 → janito-2.24.0}/adding_mcp.txt +0 -0
  21. {janito-2.22.0 → janito-2.24.0}/docs/DIV.md +0 -0
  22. {janito-2.22.0 → janito-2.24.0}/docs/Interfaces.txt +0 -0
  23. {janito-2.22.0 → janito-2.24.0}/docs/TOOLBAR-STYLING.md +0 -0
  24. {janito-2.22.0 → janito-2.24.0}/docs/about/costs.md +0 -0
  25. {janito-2.22.0 → janito-2.24.0}/docs/about/vs-webchats.md +0 -0
  26. {janito-2.22.0 → janito-2.24.0}/docs/about/why.md +0 -0
  27. {janito-2.22.0 → janito-2.24.0}/docs/alibaba-setup.md +0 -0
  28. {janito-2.22.0 → janito-2.24.0}/docs/alternatives.md +0 -0
  29. {janito-2.22.0 → janito-2.24.0}/docs/cerebras-setup.md +0 -0
  30. {janito-2.22.0 → janito-2.24.0}/docs/code_intelligence/agentic-frameworks-comparison.md +0 -0
  31. {janito-2.22.0 → janito-2.24.0}/docs/code_intelligence/code-generation-challenges.md +0 -0
  32. {janito-2.22.0 → janito-2.24.0}/docs/code_intelligence/code-generation-observability.md +0 -0
  33. {janito-2.22.0 → janito-2.24.0}/docs/code_intelligence/our-approach.md +0 -0
  34. {janito-2.22.0 → janito-2.24.0}/docs/code_intelligence/why-string-replacement.md +0 -0
  35. {janito-2.22.0 → janito-2.24.0}/docs/concepts/analysis-style.md +0 -0
  36. {janito-2.22.0 → janito-2.24.0}/docs/concepts/human-guided-ai.md +0 -0
  37. {janito-2.22.0 → janito-2.24.0}/docs/concepts/index.md +0 -0
  38. {janito-2.22.0 → janito-2.24.0}/docs/concepts/language-model-clients.md +0 -0
  39. {janito-2.22.0 → janito-2.24.0}/docs/concepts/prompt-design-style.md +0 -0
  40. {janito-2.22.0 → janito-2.24.0}/docs/deepseek-setup.md +0 -0
  41. {janito-2.22.0 → janito-2.24.0}/docs/driver-flow.md +0 -0
  42. {janito-2.22.0 → janito-2.24.0}/docs/driver-request-cancellation.md +0 -0
  43. {janito-2.22.0 → janito-2.24.0}/docs/drivers/events.md +0 -0
  44. {janito-2.22.0 → janito-2.24.0}/docs/drivers.md +0 -0
  45. {janito-2.22.0 → janito-2.24.0}/docs/event-bus.md +0 -0
  46. {janito-2.22.0 → janito-2.24.0}/docs/guides/configuration.md +0 -0
  47. {janito-2.22.0 → janito-2.24.0}/docs/guides/developing.md +0 -0
  48. {janito-2.22.0 → janito-2.24.0}/docs/guides/disabled-tools.md +0 -0
  49. {janito-2.22.0 → janito-2.24.0}/docs/guides/installation.md +0 -0
  50. {janito-2.22.0 → janito-2.24.0}/docs/guides/market-data-sources.md +42 -18
  51. janito-2.24.0/docs/guides/plugins.md +209 -0
  52. {janito-2.22.0 → janito-2.24.0}/docs/guides/profiles.md +0 -0
  53. {janito-2.22.0 → janito-2.24.0}/docs/guides/prompting/README.md +0 -0
  54. janito-2.24.0/docs/guides/read-chart-examples.md +177 -0
  55. janito-2.24.0/docs/guides/remote-plugins.md +198 -0
  56. janito-2.24.0/docs/guides/security-commands.md +220 -0
  57. {janito-2.22.0 → janito-2.24.0}/docs/guides/single-shot-terminal.md +0 -0
  58. {janito-2.22.0 → janito-2.24.0}/docs/guides/stock-market-guide.md +0 -0
  59. {janito-2.22.0 → janito-2.24.0}/docs/guides/terminal-shell.md +0 -0
  60. {janito-2.22.0 → janito-2.24.0}/docs/guides/tools-developer-guide.md +13 -7
  61. janito-2.24.0/docs/guides/url-whitelist.md +252 -0
  62. {janito-2.22.0 → janito-2.24.0}/docs/guides/using.md +0 -0
  63. {janito-2.22.0 → janito-2.24.0}/docs/guides/using_tools.md +1 -0
  64. {janito-2.22.0 → janito-2.24.0}/docs/ibm-setup.md +0 -0
  65. {janito-2.22.0 → janito-2.24.0}/docs/imgs/code-generation-observability.png +0 -0
  66. {janito-2.22.0 → janito-2.24.0}/docs/imgs/code_generation_observability.png +0 -0
  67. {janito-2.22.0 → janito-2.24.0}/docs/imgs/happy-programmer.png +0 -0
  68. {janito-2.22.0 → janito-2.24.0}/docs/imgs/happy-programmer.svg +0 -0
  69. {janito-2.22.0 → janito-2.24.0}/docs/imgs/terminal-one-shot.png +0 -0
  70. {janito-2.22.0 → janito-2.24.0}/docs/imgs/terminal-shell.png +0 -0
  71. {janito-2.22.0 → janito-2.24.0}/docs/imgs/terminal_one_shot.png +0 -0
  72. {janito-2.22.0 → janito-2.24.0}/docs/imgs/terminal_shell.png +0 -0
  73. {janito-2.22.0 → janito-2.24.0}/docs/index.md +1 -0
  74. {janito-2.22.0 → janito-2.24.0}/docs/llm-drivers-required-config.md +0 -0
  75. {janito-2.22.0 → janito-2.24.0}/docs/llm-drivers.md +0 -0
  76. {janito-2.22.0 → janito-2.24.0}/docs/meta/developer-toolchain.md +0 -0
  77. {janito-2.22.0 → janito-2.24.0}/docs/meta/quality-checks.txt +0 -0
  78. {janito-2.22.0 → janito-2.24.0}/docs/mistral-setup.md +0 -0
  79. {janito-2.22.0 → janito-2.24.0}/docs/moonshotai-setup.md +0 -0
  80. {janito-2.22.0 → janito-2.24.0}/docs/openai-setup.md +0 -0
  81. {janito-2.22.0 → janito-2.24.0}/docs/overrides/partials/copyright.html +0 -0
  82. {janito-2.22.0 → janito-2.24.0}/docs/provider-platform-access.md +0 -0
  83. {janito-2.22.0 → janito-2.24.0}/docs/pt/README-pt.md +0 -0
  84. {janito-2.22.0 → janito-2.24.0}/docs/pt/README.md +0 -0
  85. {janito-2.22.0 → janito-2.24.0}/docs/pt/configuracao.md +0 -0
  86. {janito-2.22.0 → janito-2.24.0}/docs/pt/exemplos.md +0 -0
  87. {janito-2.22.0 → janito-2.24.0}/docs/pt/faq-pt.md +0 -0
  88. {janito-2.22.0 → janito-2.24.0}/docs/pt/ferramentas.md +0 -0
  89. {janito-2.22.0 → janito-2.24.0}/docs/pt/guia-uso.md +0 -0
  90. {janito-2.22.0 → janito-2.24.0}/docs/pt/instalacao.md +0 -0
  91. {janito-2.22.0 → janito-2.24.0}/docs/pt/perfis.md +0 -0
  92. {janito-2.22.0 → janito-2.24.0}/docs/public-sources.md +0 -0
  93. {janito-2.22.0 → janito-2.24.0}/docs/reference/api.md +0 -0
  94. {janito-2.22.0 → janito-2.24.0}/docs/reference/azure-openai.md +0 -0
  95. {janito-2.22.0 → janito-2.24.0}/docs/reference/cli-options.md +1 -1
  96. {janito-2.22.0 → janito-2.24.0}/docs/reference/message-handler-model.md +0 -0
  97. {janito-2.22.0 → janito-2.24.0}/docs/reference/rich-message-handler.md +0 -0
  98. {janito-2.22.0 → janito-2.24.0}/docs/security.md +1 -1
  99. {janito-2.22.0 → janito-2.24.0}/docs/supported-providers-models.md +0 -0
  100. {janito-2.22.0 → janito-2.24.0}/docs/tools/search-text.md +0 -0
  101. {janito-2.22.0 → janito-2.24.0}/docs/tools-index.md +23 -0
  102. {janito-2.22.0 → janito-2.24.0}/docs/tools-natural-results.md +0 -0
  103. {janito-2.22.0 → janito-2.24.0}/docs/tools-precision.md +0 -0
  104. {janito-2.22.0 → janito-2.24.0}/docs/z-ai-setup.md +0 -0
  105. janito-2.24.0/examples/loop_protection_example.py +101 -0
  106. janito-2.24.0/examples/loop_protection_tool_example.py +145 -0
  107. janito-2.24.0/get_nasdaq_top.py +113 -0
  108. {janito-2.22.0 → janito-2.24.0}/janito/README.md +0 -0
  109. {janito-2.22.0 → janito-2.24.0}/janito/__init__.py +0 -0
  110. {janito-2.22.0 → janito-2.24.0}/janito/__main__.py +0 -0
  111. {janito-2.22.0 → janito-2.24.0}/janito/_version.py +0 -0
  112. {janito-2.22.0 → janito-2.24.0}/janito/agent/setup_agent.py +14 -0
  113. janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 → janito-2.24.0/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 +63 -7
  114. janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_Developer_with_Python_Tools.txt.j2 → janito-2.24.0/janito/agent/templates/profiles/system_prompt_template_developer.txt.j2 +51 -13
  115. janito-2.24.0/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +110 -0
  116. janito-2.24.0/janito/agent/templates/profiles/system_prompt_template_model_conversation_without_tools_or_context.txt.j2 +53 -0
  117. {janito-2.22.0 → janito-2.24.0}/janito/cli/__init__.py +0 -0
  118. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/bindings.py +0 -0
  119. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  120. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  121. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/script_runner.py +0 -0
  122. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/session.py +8 -1
  123. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/session_profile_select.py +0 -0
  124. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  125. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/__init__.py +2 -0
  126. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/_priv_check.py +0 -0
  127. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/_priv_status.py +0 -0
  128. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/bang.py +0 -0
  129. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  130. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  131. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  132. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/execute.py +0 -0
  133. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  134. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  135. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  136. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/model.py +0 -0
  137. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  138. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/privileges.py +0 -0
  139. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  140. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/read.py +0 -0
  141. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  142. janito-2.24.0/janito/cli/chat_mode/shell/commands/security/__init__.py +1 -0
  143. janito-2.24.0/janito/cli/chat_mode/shell/commands/security/allowed_sites.py +94 -0
  144. janito-2.24.0/janito/cli/chat_mode/shell/commands/security_command.py +51 -0
  145. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  146. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  147. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  148. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  149. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  150. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands/write.py +0 -0
  151. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/commands.bak.zip +0 -0
  152. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  153. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  154. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  155. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  156. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/shell/session.bak.zip +0 -0
  157. {janito-2.22.0 → janito-2.24.0}/janito/cli/chat_mode/toolbar.py +0 -0
  158. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_config.py +0 -0
  159. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_drivers.py +0 -0
  160. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_models.py +0 -0
  161. janito-2.24.0/janito/cli/cli_commands/list_plugins.py +45 -0
  162. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_profiles.py +0 -0
  163. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_providers.py +0 -0
  164. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_providers_region.py +0 -0
  165. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/list_tools.py +0 -0
  166. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/model_selection.py +0 -0
  167. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/model_utils.py +0 -0
  168. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/ping_providers.py +0 -0
  169. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  170. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/show_config.py +0 -0
  171. {janito-2.22.0 → janito-2.24.0}/janito/cli/cli_commands/show_system_prompt.py +13 -40
  172. {janito-2.22.0 → janito-2.24.0}/janito/cli/config.py +0 -0
  173. {janito-2.22.0 → janito-2.24.0}/janito/cli/console.py +0 -0
  174. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/__init__.py +0 -0
  175. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/event_logger.py +0 -0
  176. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/getters.py +4 -0
  177. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/model_guesser.py +0 -0
  178. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/runner.py +7 -2
  179. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/setters.py +10 -1
  180. {janito-2.22.0 → janito-2.24.0}/janito/cli/core/unsetters.py +0 -0
  181. {janito-2.22.0 → janito-2.24.0}/janito/cli/main.py +0 -0
  182. {janito-2.22.0 → janito-2.24.0}/janito/cli/main_cli.py +25 -3
  183. {janito-2.22.0 → janito-2.24.0}/janito/cli/prompt_core.py +0 -0
  184. {janito-2.22.0 → janito-2.24.0}/janito/cli/prompt_handler.py +0 -0
  185. {janito-2.22.0 → janito-2.24.0}/janito/cli/prompt_setup.py +0 -0
  186. {janito-2.22.0 → janito-2.24.0}/janito/cli/rich_terminal_reporter.py +0 -0
  187. {janito-2.22.0 → janito-2.24.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  188. {janito-2.22.0 → janito-2.24.0}/janito/cli/single_shot_mode/handler.py +3 -1
  189. {janito-2.22.0 → janito-2.24.0}/janito/cli/utils.py +0 -0
  190. {janito-2.22.0 → janito-2.24.0}/janito/cli/verbose_output.py +0 -0
  191. {janito-2.22.0 → janito-2.24.0}/janito/config.py +0 -0
  192. {janito-2.22.0 → janito-2.24.0}/janito/config_manager.py +10 -0
  193. {janito-2.22.0 → janito-2.24.0}/janito/conversation_history.py +0 -0
  194. {janito-2.22.0 → janito-2.24.0}/janito/dir_walk_utils.py +0 -0
  195. {janito-2.22.0 → janito-2.24.0}/janito/docs/GETTING_STARTED.md +0 -0
  196. {janito-2.22.0 → janito-2.24.0}/janito/driver_events.py +0 -0
  197. {janito-2.22.0 → janito-2.24.0}/janito/drivers/azure_openai/driver.py +0 -0
  198. {janito-2.22.0 → janito-2.24.0}/janito/drivers/cerebras/__init__.py +0 -0
  199. {janito-2.22.0 → janito-2.24.0}/janito/drivers/dashscope.bak.zip +0 -0
  200. {janito-2.22.0 → janito-2.24.0}/janito/drivers/openai/README.md +0 -0
  201. {janito-2.22.0 → janito-2.24.0}/janito/drivers/openai/driver.py +0 -0
  202. {janito-2.22.0 → janito-2.24.0}/janito/drivers/openai_responses.bak.zip +0 -0
  203. {janito-2.22.0 → janito-2.24.0}/janito/drivers/zai/__init__.py +0 -0
  204. {janito-2.22.0 → janito-2.24.0}/janito/drivers/zai/driver.py +0 -0
  205. {janito-2.22.0 → janito-2.24.0}/janito/event_bus/__init__.py +0 -0
  206. {janito-2.22.0 → janito-2.24.0}/janito/event_bus/bus.py +0 -0
  207. {janito-2.22.0 → janito-2.24.0}/janito/event_bus/event.py +0 -0
  208. {janito-2.22.0 → janito-2.24.0}/janito/event_bus/handler.py +0 -0
  209. {janito-2.22.0 → janito-2.24.0}/janito/event_bus/queue_bus.py +0 -0
  210. {janito-2.22.0 → janito-2.24.0}/janito/exceptions.py +0 -0
  211. {janito-2.22.0 → janito-2.24.0}/janito/formatting.py +0 -0
  212. {janito-2.22.0 → janito-2.24.0}/janito/formatting_token.py +0 -0
  213. {janito-2.22.0 → janito-2.24.0}/janito/gitignore_utils.py +0 -0
  214. {janito-2.22.0 → janito-2.24.0}/janito/i18n/__init__.py +0 -0
  215. {janito-2.22.0 → janito-2.24.0}/janito/i18n/it.py +0 -0
  216. {janito-2.22.0 → janito-2.24.0}/janito/i18n/messages.py +0 -0
  217. {janito-2.22.0 → janito-2.24.0}/janito/i18n/pt.py +0 -0
  218. {janito-2.22.0 → janito-2.24.0}/janito/llm/README.md +0 -0
  219. {janito-2.22.0 → janito-2.24.0}/janito/llm/__init__.py +0 -0
  220. {janito-2.22.0 → janito-2.24.0}/janito/llm/agent.py +0 -0
  221. {janito-2.22.0 → janito-2.24.0}/janito/llm/auth.py +0 -0
  222. {janito-2.22.0 → janito-2.24.0}/janito/llm/auth_utils.py +0 -0
  223. {janito-2.22.0 → janito-2.24.0}/janito/llm/driver.py +0 -0
  224. {janito-2.22.0 → janito-2.24.0}/janito/llm/driver_config.py +0 -0
  225. {janito-2.22.0 → janito-2.24.0}/janito/llm/driver_config_builder.py +0 -0
  226. {janito-2.22.0 → janito-2.24.0}/janito/llm/driver_input.py +0 -0
  227. {janito-2.22.0 → janito-2.24.0}/janito/llm/message_parts.py +0 -0
  228. {janito-2.22.0 → janito-2.24.0}/janito/llm/model.py +0 -0
  229. {janito-2.22.0 → janito-2.24.0}/janito/llm/provider.py +0 -0
  230. {janito-2.22.0 → janito-2.24.0}/janito/mkdocs.yml +0 -0
  231. {janito-2.22.0 → janito-2.24.0}/janito/perf_singleton.py +0 -0
  232. {janito-2.22.0 → janito-2.24.0}/janito/performance_collector.py +0 -0
  233. {janito-2.22.0 → janito-2.24.0}/janito/platform_discovery.py +0 -0
  234. janito-2.24.0/janito/plugins/__init__.py +17 -0
  235. janito-2.24.0/janito/plugins/base.py +93 -0
  236. janito-2.24.0/janito/plugins/discovery.py +160 -0
  237. janito-2.24.0/janito/plugins/manager.py +185 -0
  238. {janito-2.22.0 → janito-2.24.0}/janito/provider_config.py +0 -0
  239. {janito-2.22.0 → janito-2.24.0}/janito/provider_registry.py +0 -0
  240. {janito-2.22.0 → janito-2.24.0}/janito/providers/__init__.py +0 -0
  241. {janito-2.22.0 → janito-2.24.0}/janito/providers/alibaba/__init__.py +0 -0
  242. {janito-2.22.0 → janito-2.24.0}/janito/providers/alibaba/model_info.py +0 -0
  243. {janito-2.22.0 → janito-2.24.0}/janito/providers/alibaba/provider.py +0 -0
  244. {janito-2.22.0 → janito-2.24.0}/janito/providers/anthropic/model_info.py +0 -0
  245. {janito-2.22.0 → janito-2.24.0}/janito/providers/anthropic/provider.py +0 -0
  246. {janito-2.22.0 → janito-2.24.0}/janito/providers/azure_openai/model_info.py +0 -0
  247. {janito-2.22.0 → janito-2.24.0}/janito/providers/azure_openai/provider.py +0 -0
  248. {janito-2.22.0 → janito-2.24.0}/janito/providers/cerebras/__init__.py +0 -0
  249. {janito-2.22.0 → janito-2.24.0}/janito/providers/cerebras/model_info.py +0 -0
  250. {janito-2.22.0 → janito-2.24.0}/janito/providers/cerebras/provider.py +0 -0
  251. {janito-2.22.0 → janito-2.24.0}/janito/providers/dashscope.bak.zip +0 -0
  252. {janito-2.22.0 → janito-2.24.0}/janito/providers/deepseek/__init__.py +0 -0
  253. {janito-2.22.0 → janito-2.24.0}/janito/providers/deepseek/model_info.py +0 -0
  254. {janito-2.22.0 → janito-2.24.0}/janito/providers/deepseek/provider.py +0 -0
  255. {janito-2.22.0 → janito-2.24.0}/janito/providers/google/__init__.py +0 -0
  256. {janito-2.22.0 → janito-2.24.0}/janito/providers/google/model_info.py +0 -0
  257. {janito-2.22.0 → janito-2.24.0}/janito/providers/google/provider.py +0 -0
  258. {janito-2.22.0 → janito-2.24.0}/janito/providers/ibm/README.md +0 -0
  259. {janito-2.22.0 → janito-2.24.0}/janito/providers/ibm/__init__.py +0 -0
  260. {janito-2.22.0 → janito-2.24.0}/janito/providers/ibm/model_info.py +0 -0
  261. {janito-2.22.0 → janito-2.24.0}/janito/providers/ibm/provider.py +0 -0
  262. {janito-2.22.0 → janito-2.24.0}/janito/providers/mistral/__init__.py +0 -0
  263. {janito-2.22.0 → janito-2.24.0}/janito/providers/mistral/model_info.py +0 -0
  264. {janito-2.22.0 → janito-2.24.0}/janito/providers/mistral/provider.py +0 -0
  265. {janito-2.22.0 → janito-2.24.0}/janito/providers/moonshotai/__init__.py +0 -0
  266. {janito-2.22.0 → janito-2.24.0}/janito/providers/moonshotai/model_info.py +0 -0
  267. {janito-2.22.0 → janito-2.24.0}/janito/providers/moonshotai/provider.py +0 -0
  268. {janito-2.22.0 → janito-2.24.0}/janito/providers/openai/__init__.py +0 -0
  269. {janito-2.22.0 → janito-2.24.0}/janito/providers/openai/model_info.py +0 -0
  270. {janito-2.22.0 → janito-2.24.0}/janito/providers/openai/provider.py +0 -0
  271. {janito-2.22.0 → janito-2.24.0}/janito/providers/openai/schema_generator.py +0 -0
  272. {janito-2.22.0 → janito-2.24.0}/janito/providers/registry.py +0 -0
  273. {janito-2.22.0 → janito-2.24.0}/janito/providers/zai/__init__.py +0 -0
  274. {janito-2.22.0 → janito-2.24.0}/janito/providers/zai/model_info.py +0 -0
  275. {janito-2.22.0 → janito-2.24.0}/janito/providers/zai/provider.py +0 -0
  276. {janito-2.22.0 → janito-2.24.0}/janito/providers/zai/schema_generator.py +0 -0
  277. {janito-2.22.0 → janito-2.24.0}/janito/regions/__init__.py +0 -0
  278. {janito-2.22.0 → janito-2.24.0}/janito/regions/cli.py +0 -0
  279. {janito-2.22.0 → janito-2.24.0}/janito/regions/geo_utils.py +0 -0
  280. {janito-2.22.0 → janito-2.24.0}/janito/regions/provider_regions.py +0 -0
  281. {janito-2.22.0 → janito-2.24.0}/janito/report_events.py +0 -0
  282. {janito-2.22.0 → janito-2.24.0}/janito/shell.bak.zip +0 -0
  283. {janito-2.22.0 → janito-2.24.0}/janito/tools/DOCSTRING_STANDARD.txt +0 -0
  284. {janito-2.22.0 → janito-2.24.0}/janito/tools/README.md +0 -0
  285. {janito-2.22.0 → janito-2.24.0}/janito/tools/__init__.py +0 -0
  286. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/__init__.py +0 -0
  287. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/__init__.py +2 -0
  288. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/adapter.py +55 -0
  289. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/ask_user.py +2 -0
  290. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/copy_file.py +0 -0
  291. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/create_directory.py +0 -0
  292. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/create_file.py +0 -0
  293. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
  294. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/fetch_url.py +89 -4
  295. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/find_files.py +2 -0
  296. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
  297. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/core.py +2 -0
  298. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/java_outline.py +0 -0
  299. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
  300. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
  301. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/get_file_outline/search_outline.py +2 -0
  302. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/move_file.py +0 -0
  303. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/open_html_in_browser.py +2 -0
  304. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/open_url.py +2 -0
  305. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/python_code_run.py +15 -10
  306. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/python_command_run.py +14 -9
  307. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/python_file_run.py +15 -10
  308. janito-2.24.0/janito/tools/adapters/local/read_chart.py +252 -0
  309. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/read_files.py +2 -0
  310. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/remove_directory.py +0 -0
  311. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/remove_file.py +0 -0
  312. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/replace_text_in_file.py +1 -1
  313. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/run_bash_command.py +18 -12
  314. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/run_powershell_command.py +15 -9
  315. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/search_text/__init__.py +0 -0
  316. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/search_text/core.py +2 -0
  317. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
  318. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
  319. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
  320. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
  321. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/core.py +6 -0
  322. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
  323. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
  324. janito-2.24.0/janito/tools/adapters/local/validate_file_syntax/jinja2_validator.py +47 -0
  325. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
  326. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
  327. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
  328. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
  329. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
  330. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
  331. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
  332. {janito-2.22.0 → janito-2.24.0}/janito/tools/adapters/local/view_file.py +2 -0
  333. {janito-2.22.0 → janito-2.24.0}/janito/tools/disabled_tools.py +0 -0
  334. {janito-2.22.0 → janito-2.24.0}/janito/tools/inspect_registry.py +0 -0
  335. janito-2.24.0/janito/tools/loop_protection.py +115 -0
  336. janito-2.24.0/janito/tools/loop_protection_decorator.py +110 -0
  337. {janito-2.22.0 → janito-2.24.0}/janito/tools/outline_file.bak.zip +0 -0
  338. {janito-2.22.0 → janito-2.24.0}/janito/tools/path_security.py +0 -0
  339. {janito-2.22.0 → janito-2.24.0}/janito/tools/permissions.py +0 -0
  340. {janito-2.22.0 → janito-2.24.0}/janito/tools/permissions_parse.py +0 -0
  341. {janito-2.22.0 → janito-2.24.0}/janito/tools/tool_base.py +0 -0
  342. {janito-2.22.0 → janito-2.24.0}/janito/tools/tool_events.py +0 -0
  343. {janito-2.22.0 → janito-2.24.0}/janito/tools/tool_run_exception.py +0 -0
  344. {janito-2.22.0 → janito-2.24.0}/janito/tools/tool_use_tracker.py +0 -0
  345. {janito-2.22.0 → janito-2.24.0}/janito/tools/tool_utils.py +0 -0
  346. {janito-2.22.0 → janito-2.24.0}/janito/tools/tools_adapter.py +0 -0
  347. {janito-2.22.0 → janito-2.24.0}/janito/tools/tools_schema.py +0 -0
  348. janito-2.24.0/janito/tools/url_whitelist.py +121 -0
  349. {janito-2.22.0 → janito-2.24.0}/janito/utils.py +0 -0
  350. {janito-2.22.0 → janito-2.24.0/janito.egg-info}/PKG-INFO +411 -411
  351. {janito-2.22.0 → janito-2.24.0}/janito.egg-info/SOURCES.txt +33 -0
  352. {janito-2.22.0 → janito-2.24.0}/janito.egg-info/dependency_links.txt +0 -0
  353. {janito-2.22.0 → janito-2.24.0}/janito.egg-info/entry_points.txt +0 -0
  354. {janito-2.22.0 → janito-2.24.0}/janito.egg-info/requires.txt +0 -0
  355. {janito-2.22.0 → janito-2.24.0}/janito.egg-info/top_level.txt +0 -0
  356. janito-2.24.0/janito.json +11 -0
  357. janito-2.24.0/market_prompt_fix.py +140 -0
  358. janito-2.24.0/market_test.py +99 -0
  359. {janito-2.22.0 → janito-2.24.0}/mkdocs.yml +0 -0
  360. {janito-2.22.0 → janito-2.24.0}/mkdocs_hooks.py +0 -0
  361. janito-2.24.0/plugins/example_plugin.py +89 -0
  362. {janito-2.22.0 → janito-2.24.0}/pyproject.toml +0 -0
  363. {janito-2.22.0 → janito-2.24.0}/pytest.ini +0 -0
  364. {janito-2.22.0 → janito-2.24.0}/requirements-dev.txt +0 -0
  365. {janito-2.22.0 → janito-2.24.0}/requirements.txt +0 -0
  366. {janito-2.22.0 → janito-2.24.0}/setup.cfg +4 -4
  367. janito-2.24.0/test_loop_protection_return.py +59 -0
  368. janito-2.24.0/test_market_analyst.py +123 -0
  369. {janito-2.22.0 → janito-2.24.0}/tests/adapters/local/get_file_outline/test_core_outline.py +0 -0
  370. {janito-2.22.0 → janito-2.24.0}/tests/adapters/local/test_read_files.py +0 -0
  371. {janito-2.22.0 → janito-2.24.0}/tests/test_cli_list_models.py +0 -0
  372. {janito-2.22.0 → janito-2.24.0}/tests/test_cli_list_providers.py +0 -0
  373. {janito-2.22.0 → janito-2.24.0}/tests/test_cli_list_providers_alibaba.py +0 -0
  374. {janito-2.22.0 → janito-2.24.0}/tests/test_cli_list_providers_moonshotai.py +0 -0
  375. {janito-2.22.0 → janito-2.24.0}/tests/test_cli_version.py +0 -0
  376. {janito-2.22.0 → janito-2.24.0}/tests/test_disabled_tools.py +0 -0
  377. janito-2.24.0/tests/test_plugin_system.py +152 -0
  378. {janito-2.22.0 → janito-2.24.0}/tests/test_provider_alibaba.py +0 -0
  379. {janito-2.22.0 → janito-2.24.0}/tests/test_provider_cerebras.py +0 -0
  380. {janito-2.22.0 → janito-2.24.0}/tests/test_provider_moonshotai.py +0 -0
  381. {janito-2.22.0 → janito-2.24.0}/tools/release.py +0 -0
  382. {janito-2.22.0 → janito-2.24.0}/tox.ini +0 -0
  383. janito-2.22.0/janito/agent/templates/profiles/system_prompt_template_market_analyst.txt.j2 +0 -10
  384. 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
@@ -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
+ ```