janito 3.5.1__py3-none-any.whl → 3.7.0__py3-none-any.whl
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/README.md +1 -4
- janito/cli/chat_mode/bindings.py +0 -50
- janito/cli/chat_mode/session.py +1 -12
- janito/cli/chat_mode/shell/commands/multi.py +0 -5
- janito/cli/chat_mode/shell/commands/security/allowed_sites.py +33 -47
- janito/cli/cli_commands/list_plugins.py +43 -52
- janito/cli/core/getters.py +0 -3
- janito/cli/core/model_guesser.py +24 -40
- janito/cli/main_cli.py +12 -9
- janito/cli/prompt_core.py +9 -47
- janito/cli/rich_terminal_reporter.py +2 -2
- janito/docs/GETTING_STARTED.md +1 -1
- janito/drivers/openai/driver.py +0 -1
- janito/drivers/zai/driver.py +0 -1
- janito/i18n/it.py +46 -46
- janito/llm/agent.py +16 -32
- janito/llm/auth_utils.py +5 -14
- janito/llm/driver.py +0 -8
- janito/plugins/__init__.py +12 -31
- janito/plugins/auto_loader.py +11 -12
- janito/plugins/auto_loader_fixed.py +11 -12
- janito/{plugin_system → plugins}/base.py +2 -5
- janito/plugins/builtin.py +1 -15
- janito/plugins/core_adapter.py +11 -89
- janito/plugins/core_loader.py +120 -0
- janito/plugins/core_loader_fixed.py +125 -0
- janito/plugins/discovery.py +5 -5
- janito/plugins/discovery_core.py +9 -14
- janito/plugins/manager.py +1 -1
- janito/providers/__init__.py +0 -1
- janito/providers/moonshot/model_info.py +11 -0
- janito/tools/__init__.py +7 -31
- janito/tools/adapters/__init__.py +1 -6
- janito/tools/adapters/local/__init__.py +70 -7
- janito/{plugins/tools → tools/adapters/local}/ask_user.py +3 -3
- janito/{plugins/tools → tools/adapters/local}/create_file.py +6 -6
- janito/{plugins/tools → tools/adapters/local}/fetch_url.py +3 -3
- janito/{plugins/tools → tools/adapters/local}/python_code_run.py +7 -23
- janito/{plugins/tools → tools/adapters/local}/python_command_run.py +5 -21
- janito/{plugins/tools → tools/adapters/local}/python_file_run.py +5 -21
- janito/{plugins/tools → tools/adapters/local}/replace_text_in_file.py +4 -4
- janito/{plugins/tools → tools/adapters/local}/run_bash_command.py +3 -3
- janito/{plugins/tools → tools/adapters/local}/run_powershell_command.py +3 -3
- janito/{plugins/tools → tools/adapters/local}/show_image.py +6 -15
- janito/{plugins/core/imagedisplay/tools → tools/adapters/local}/show_image_grid.py +5 -13
- janito/tools/function_adapter.py +65 -0
- janito/tools/loop_protection_decorator.py +117 -114
- janito-3.7.0.dist-info/METADATA +84 -0
- {janito-3.5.1.dist-info → janito-3.7.0.dist-info}/RECORD +88 -157
- janito/cli/cli_commands/check_tools.py +0 -212
- janito/llm/cancellation_manager.py +0 -63
- janito/llm/enter_cancellation.py +0 -107
- janito/plugin_system/__init__.py +0 -10
- janito/plugin_system/core_loader.py +0 -217
- janito/plugin_system/core_loader_fixed.py +0 -225
- janito/plugins/core/__init__.py +0 -7
- janito/plugins/core/codeanalyzer/__init__.py +0 -43
- janito/plugins/core/filemanager/__init__.py +0 -124
- janito/plugins/core/filemanager/tools/create_file.py +0 -87
- janito/plugins/core/filemanager/tools/replace_text_in_file.py +0 -270
- janito/plugins/core/imagedisplay/__init__.py +0 -14
- janito/plugins/core/imagedisplay/plugin.py +0 -51
- janito/plugins/core/imagedisplay/tools/__init__.py +0 -1
- janito/plugins/core/imagedisplay/tools/show_image.py +0 -83
- janito/plugins/core/system/__init__.py +0 -23
- janito/plugins/core/system/tools/run_bash_command.py +0 -204
- janito/plugins/core/system/tools/run_powershell_command.py +0 -234
- janito/plugins/dev/__init__.py +0 -7
- janito/plugins/dev/pythondev/__init__.py +0 -37
- janito/plugins/dev/visualization/__init__.py +0 -23
- janito/plugins/example_plugin.py +0 -108
- janito/plugins/tools/__init__.py +0 -10
- janito/plugins/tools/copy_file.py +0 -87
- janito/plugins/tools/core_tools_plugin.py +0 -87
- janito/plugins/tools/create_directory.py +0 -70
- janito/plugins/tools/decorators.py +0 -19
- janito/plugins/tools/delete_text_in_file.py +0 -134
- janito/plugins/tools/find_files.py +0 -143
- janito/plugins/tools/get_file_outline/__init__.py +0 -7
- janito/plugins/tools/get_file_outline/core.py +0 -122
- janito/plugins/tools/get_file_outline/java_outline.py +0 -47
- janito/plugins/tools/get_file_outline/markdown_outline.py +0 -14
- janito/plugins/tools/get_file_outline/python_outline.py +0 -303
- janito/plugins/tools/get_file_outline/search_outline.py +0 -36
- janito/plugins/tools/move_file.py +0 -131
- janito/plugins/tools/open_html_in_browser.py +0 -51
- janito/plugins/tools/open_url.py +0 -37
- janito/plugins/tools/read_chart.py +0 -259
- janito/plugins/tools/read_files.py +0 -58
- janito/plugins/tools/remove_directory.py +0 -55
- janito/plugins/tools/remove_file.py +0 -58
- janito/plugins/tools/search_text/__init__.py +0 -7
- janito/plugins/tools/search_text/core.py +0 -205
- janito/plugins/tools/search_text/match_lines.py +0 -67
- janito/plugins/tools/search_text/pattern_utils.py +0 -73
- janito/plugins/tools/search_text/traverse_directory.py +0 -145
- janito/plugins/tools/show_image_grid.py +0 -85
- janito/plugins/tools/validate_file_syntax/__init__.py +0 -7
- janito/plugins/tools/validate_file_syntax/core.py +0 -114
- janito/plugins/tools/validate_file_syntax/css_validator.py +0 -35
- janito/plugins/tools/validate_file_syntax/html_validator.py +0 -100
- janito/plugins/tools/validate_file_syntax/jinja2_validator.py +0 -50
- janito/plugins/tools/validate_file_syntax/js_validator.py +0 -27
- janito/plugins/tools/validate_file_syntax/json_validator.py +0 -6
- janito/plugins/tools/validate_file_syntax/markdown_validator.py +0 -109
- janito/plugins/tools/validate_file_syntax/ps1_validator.py +0 -32
- janito/plugins/tools/validate_file_syntax/python_validator.py +0 -5
- janito/plugins/tools/validate_file_syntax/xml_validator.py +0 -11
- janito/plugins/tools/validate_file_syntax/yaml_validator.py +0 -6
- janito/plugins/tools/view_file.py +0 -172
- janito/plugins/ui/__init__.py +0 -7
- janito/plugins/ui/userinterface/__init__.py +0 -16
- janito/plugins/ui/userinterface/tools/ask_user.py +0 -110
- janito/plugins/web/__init__.py +0 -7
- janito/plugins/web/webtools/__init__.py +0 -33
- janito/plugins/web/webtools/tools/fetch_url.py +0 -458
- janito/providers/together/__init__.py +0 -1
- janito/providers/together/model_info.py +0 -69
- janito/providers/together/provider.py +0 -108
- janito/tools/cli_initializer.py +0 -88
- janito/tools/initialize.py +0 -70
- janito-3.5.1.dist-info/METADATA +0 -229
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/copy_file.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/create_directory.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/delete_text_in_file.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/find_files.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/__init__.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/core.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/java_outline.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/markdown_outline.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/python_outline.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/get_file_outline/search_outline.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/move_file.py +0 -0
- /janito/{plugins/web/webtools/tools → tools/adapters/local}/open_html_in_browser.py +0 -0
- /janito/{plugins/web/webtools/tools → tools/adapters/local}/open_url.py +0 -0
- /janito/{plugins/dev/visualization/tools → tools/adapters/local}/read_chart.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/read_files.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/remove_directory.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/remove_file.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/search_text/__init__.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/search_text/core.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/search_text/match_lines.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/search_text/pattern_utils.py +0 -0
- /janito/{plugins/core/codeanalyzer/tools → tools/adapters/local}/search_text/traverse_directory.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/__init__.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/core.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/css_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/html_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/jinja2_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/js_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/json_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/markdown_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/ps1_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/python_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/xml_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/validate_file_syntax/yaml_validator.py +0 -0
- /janito/{plugins/core/filemanager/tools → tools/adapters/local}/view_file.py +0 -0
- {janito-3.5.1.dist-info → janito-3.7.0.dist-info}/WHEEL +0 -0
- {janito-3.5.1.dist-info → janito-3.7.0.dist-info}/entry_points.txt +0 -0
- {janito-3.5.1.dist-info → janito-3.7.0.dist-info}/licenses/LICENSE +0 -0
- {janito-3.5.1.dist-info → janito-3.7.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
janito/README.md,sha256=
|
1
|
+
janito/README.md,sha256=AOgBj3v721gNifltyzna7mxoQ7BDowRmjBQAM-0r_aQ,4759
|
2
2
|
janito/__init__.py,sha256=a0pFui3A_AfWJiUfg93yE-Vf4868bqG3y9yg2fkTIuY,244
|
3
3
|
janito/__main__.py,sha256=lPQ8kAyYfyeS1KopmJ8EVY5g1YswlIqCS615mM_B_rM,70
|
4
4
|
janito/_version.py,sha256=PtAVr2K9fOS5sv6aXzmcb7UaR5NLGMFOofL7Ndjh75o,2344
|
@@ -30,18 +30,18 @@ janito/cli/__init__.py,sha256=xaPDOrWphBbCR63Xpcx_yfpXSJIlCaaICc4j2qpWqrM,194
|
|
30
30
|
janito/cli/config.py,sha256=HkZ14701HzIqrvaNyDcDhGlVHfpX_uHlLp2rHmhRm_k,872
|
31
31
|
janito/cli/console.py,sha256=gJolqzWL7jEPLxeuH-CwBDRFpXt976KdZOEAB2tdBDs,64
|
32
32
|
janito/cli/main.py,sha256=s5odou0txf8pzTf1ADk2yV7T5m8B6cejJ81e7iu776U,312
|
33
|
-
janito/cli/main_cli.py,sha256=
|
34
|
-
janito/cli/prompt_core.py,sha256=
|
33
|
+
janito/cli/main_cli.py,sha256=FXpoybaEbDRlK5-oMOMlcdM7TpVfnOdr6-mOkgJHeTo,16648
|
34
|
+
janito/cli/prompt_core.py,sha256=F68J4Xl6jZMYFN4oBBYZFj15Jp-HTYoLub4bw2XpNRU,11648
|
35
35
|
janito/cli/prompt_handler.py,sha256=SnPTlL64noeAMGlI08VBDD5IDD8jlVMIYA4-fS8zVLg,215
|
36
36
|
janito/cli/prompt_setup.py,sha256=s48gvNfZhKjsEhf4EzL1tKIGm4wDidPMDvlM6TAPYes,2116
|
37
|
-
janito/cli/rich_terminal_reporter.py,sha256=
|
37
|
+
janito/cli/rich_terminal_reporter.py,sha256=Hitf5U13gncad4GPVAcDMfdSwlfzQzOn9KdeX4TjTWU,6806
|
38
38
|
janito/cli/utils.py,sha256=plCQiDKIf3V8mFhhX5H9-MF2W86i-xRdWf8Xi117Z0w,677
|
39
39
|
janito/cli/verbose_output.py,sha256=wY_B4of5e8Vv7w1fRwOZzNGU2JqbMdcFnGjtEr4hLus,7686
|
40
|
-
janito/cli/chat_mode/bindings.py,sha256=
|
40
|
+
janito/cli/chat_mode/bindings.py,sha256=odjc5_-YW1t2FRhBUNRNoBMoQIg5sMz3ktV7xG0ADFU,975
|
41
41
|
janito/cli/chat_mode/chat_entry.py,sha256=RFdPd23jsA2DMHRacpjAdwI_1dFBaWrtnwyQEgb2fHA,475
|
42
42
|
janito/cli/chat_mode/prompt_style.py,sha256=vsqQ9xxmrYjj1pWuVe9CayQf39fo2EIXrkKPkflSVn4,805
|
43
43
|
janito/cli/chat_mode/script_runner.py,sha256=WFTFVWzg_VQrD2Ujj02XWjscfGgHwmjBeRxaEjWw9ps,6505
|
44
|
-
janito/cli/chat_mode/session.py,sha256=
|
44
|
+
janito/cli/chat_mode/session.py,sha256=1mCET4V9u1FGEMnr8HJGOc6X8lhTNkhAYlZ3cvIvefw,18540
|
45
45
|
janito/cli/chat_mode/toolbar.py,sha256=SzdWAJdcY1g2rTPZCPL6G5X8jO6ZQYjwko2-nw54_nU,3397
|
46
46
|
janito/cli/chat_mode/shell/autocomplete.py,sha256=lE68MaVaodbA2VfUM0_YLqQVLBJAE_BJsd5cMtwuD-g,793
|
47
47
|
janito/cli/chat_mode/shell/commands.bak.zip,sha256=I7GFjXg2ORT5NzFpicH1vQ3kchhduQsZinzqo0xO8wU,74238
|
@@ -59,7 +59,7 @@ janito/cli/chat_mode/shell/commands/help.py,sha256=scbjpb37WT9GLrYf-Cn7MrUhL_ZUQ
|
|
59
59
|
janito/cli/chat_mode/shell/commands/history_view.py,sha256=9dyxYpDHjT77LEIikjBQA03Ep3P2AmKXUwUnVsG0OQc,3584
|
60
60
|
janito/cli/chat_mode/shell/commands/lang.py,sha256=uIelDs3gPYDZ9X9gw7iDMmiwefT7TiBo32420pq2tW8,837
|
61
61
|
janito/cli/chat_mode/shell/commands/model.py,sha256=DrtQuqbac5VCpzBikpdu9vVgFVm_K9FYIjUOqmUztD4,1518
|
62
|
-
janito/cli/chat_mode/shell/commands/multi.py,sha256=
|
62
|
+
janito/cli/chat_mode/shell/commands/multi.py,sha256=HAAk0fAO3n8KFta3I4hT_scOAlz4SxWDyaNBUJBQ4nc,1985
|
63
63
|
janito/cli/chat_mode/shell/commands/privileges.py,sha256=0u6x48lZl3orBPkO04KnRqfB-w7Y_OUyg-rHrNGxx-Q,1157
|
64
64
|
janito/cli/chat_mode/shell/commands/prompt.py,sha256=6mj1oUO6bodyED19-_tJVO0x-l3REzYjKhp8OKFFWy4,1790
|
65
65
|
janito/cli/chat_mode/shell/commands/provider.py,sha256=p8PM7SPs-ghAfg0Tdd3jVoVpIscaCcrMZC2k5FxkE8I,1155
|
@@ -74,16 +74,15 @@ janito/cli/chat_mode/shell/commands/utility.py,sha256=K982P-UwgPLzpEvSuSBGwiQ3zC
|
|
74
74
|
janito/cli/chat_mode/shell/commands/verbose.py,sha256=HDTe0NhdcjBuhh-eJSW8iLPDeeBO95K5iSDAMAljxa4,953
|
75
75
|
janito/cli/chat_mode/shell/commands/write.py,sha256=NHPj2xe8icUBcpxALIoZZ1zAsX6bhBFqBhnQPqq7fHs,2341
|
76
76
|
janito/cli/chat_mode/shell/commands/security/__init__.py,sha256=od-vkuI7LqmUqz2Q42YToWauRM6IPHGeNj14867yIgM,50
|
77
|
-
janito/cli/chat_mode/shell/commands/security/allowed_sites.py,sha256=
|
77
|
+
janito/cli/chat_mode/shell/commands/security/allowed_sites.py,sha256=K_izmERZlumlTVxiTMvMXbMhADlJBvhyeeM5IGva_X8,3240
|
78
78
|
janito/cli/chat_mode/shell/session/__init__.py,sha256=uTYE_QpZFEn7v9QE5o1LdulpCWa9vmk0OsefbBGWg_c,37
|
79
79
|
janito/cli/chat_mode/shell/session/history.py,sha256=tYav6GgjAZkvWhlI_rfG6OArNqW6Wn2DTv39Hb20QYc,1262
|
80
80
|
janito/cli/chat_mode/shell/session/manager.py,sha256=MwD9reHsRaly0CyRB-S1JJ0wPKz2g8Xdj2VvlU35Hgc,1001
|
81
|
-
janito/cli/cli_commands/check_tools.py,sha256=cSXcF0szeWzeEK7kpg7P2cZW3sv5R1nxgCb3P7bWpyE,7182
|
82
81
|
janito/cli/cli_commands/enable_disable_plugin.py,sha256=IIEg5Gz2aAW_7BKrMQTXSGF0zWBoBdrcQQMjfQ7yay4,2985
|
83
82
|
janito/cli/cli_commands/list_config.py,sha256=oiQEGaGPjwjG-PrOcakpNMbbqISTsBEs7rkGH3ceQsI,1179
|
84
83
|
janito/cli/cli_commands/list_drivers.py,sha256=r2ENykUcvf_9XYp6LHd3RvLXGXyVUA6oe_Pr0dyv92I,5124
|
85
84
|
janito/cli/cli_commands/list_models.py,sha256=QF3Wa7OhNcJFKeBxaw0C_rDfsvJFNb-siz5uorajBvo,1595
|
86
|
-
janito/cli/cli_commands/list_plugins.py,sha256=
|
85
|
+
janito/cli/cli_commands/list_plugins.py,sha256=Lv-M6EAFiqnj0tl9Bq23s162t--81AIs2EqZxhi81lQ,7996
|
87
86
|
janito/cli/cli_commands/list_profiles.py,sha256=O4k6U9iCEeNH3lM-NP_XX_E9W0h__hheLSn23241dkA,3538
|
88
87
|
janito/cli/cli_commands/list_providers.py,sha256=oilrBjNL5mot1nz45XQQY6oeiSxoNvphhQYspNcEJpw,391
|
89
88
|
janito/cli/cli_commands/list_providers_region.py,sha256=qrMj_gtgEMty8UH0P_O5SgWCVJ9ZKxGUp_GdsE4_EH4,2548
|
@@ -96,166 +95,56 @@ janito/cli/cli_commands/show_config.py,sha256=ammzVEqJQCAdWFRrhI1zjjmzgTCH2l38RE
|
|
96
95
|
janito/cli/cli_commands/show_system_prompt.py,sha256=WQclY_bmJrHbIBRU1qx1WV4VyooyXVx_XQyX_4Rb1hs,6335
|
97
96
|
janito/cli/core/__init__.py,sha256=YH95fhgY9yBX8RgqX9dSrEkl4exjV0T4rbmJ6xUpG-Y,196
|
98
97
|
janito/cli/core/event_logger.py,sha256=1X6lR0Ax7AgF8HlPWFoY5Ystuu7Bh4ooTo78vXzeGB0,2008
|
99
|
-
janito/cli/core/getters.py,sha256=
|
100
|
-
janito/cli/core/model_guesser.py,sha256=
|
98
|
+
janito/cli/core/getters.py,sha256=opmcSz86J-I95Klsh0c4y6lsYvNakrvRqvuA0o5ARWI,2869
|
99
|
+
janito/cli/core/model_guesser.py,sha256=V7LBkIllSp_tP9-2B1gcl5b4b-La7mrOvE3AZQQm8lk,1716
|
101
100
|
janito/cli/core/runner.py,sha256=gi8xke6re9AoHHNCivV50i0eUAliw8QTUdXyqMkMplM,9044
|
102
101
|
janito/cli/core/setters.py,sha256=zjSUxy6iUzcrmEunFk7dA90KqbMaq2O7LTGP8wn2HxA,5378
|
103
102
|
janito/cli/core/unsetters.py,sha256=FEw9gCt0vRvoCt0kRSNfVB2tzi_TqppJIx2nHPP59-k,2012
|
104
103
|
janito/cli/single_shot_mode/__init__.py,sha256=Ct99pKe9tINzVW6oedZJfzfZQKWpXz-weSSCn0hrwHY,115
|
105
104
|
janito/cli/single_shot_mode/handler.py,sha256=d251ObY-5bkUyccV9NYkKDF0VCKrQTrGEnwt3mtj61w,5529
|
106
|
-
janito/docs/GETTING_STARTED.md,sha256=
|
105
|
+
janito/docs/GETTING_STARTED.md,sha256=xt2eRDL3gvMZyErg0sKsbr5CxNsAqg9fn_YEXqAeli8,5003
|
107
106
|
janito/drivers/dashscope.bak.zip,sha256=9Pv4Xyciju8jO1lEMFVgYXexoZkxmDO3Ig6vw3ODfL8,4936
|
108
107
|
janito/drivers/openai_responses.bak.zip,sha256=E43eDCHGa2tCtdjzj_pMnWDdnsOZzj8BJTR5tJp8wcM,13352
|
109
108
|
janito/drivers/azure_openai/driver.py,sha256=L2rQOl1d0BHaDChHLtZszAeuWNoyYIgwuYuahE1qJps,4152
|
110
109
|
janito/drivers/cerebras/__init__.py,sha256=wXWxPTy4KH5Esw8ml9h-TeApi6XXujNFY2Q4jKVdcAY,26
|
111
110
|
janito/drivers/openai/README.md,sha256=bgPdaYX0pyotCoJ9t3cJbYM-teQ_YM1DAFEKLCMP32Q,666
|
112
|
-
janito/drivers/openai/driver.py,sha256=
|
111
|
+
janito/drivers/openai/driver.py,sha256=NbR_1Btr7QpJjNzJ3CxJa1-Kfw17lImZFU9fyKDLSRo,19567
|
113
112
|
janito/drivers/zai/__init__.py,sha256=rleES3ZJEslJ8M02TdTPyxHKXxA4-e2fDJa6yjuzY8s,22
|
114
|
-
janito/drivers/zai/driver.py,sha256=
|
113
|
+
janito/drivers/zai/driver.py,sha256=uOR7VFEMjd7Dw_zSFO1SN5SgBCIG8b4CEzRMIUXBgUQ,18859
|
115
114
|
janito/event_bus/__init__.py,sha256=VG6GOhKMBh0O_92D-zW8a3YitJPKDajGgPiFezTXlNE,77
|
116
115
|
janito/event_bus/bus.py,sha256=LokZbAdwcWhWOyKSp7H3Ism57x4EZhxlRPjl3NE4UKU,2847
|
117
116
|
janito/event_bus/event.py,sha256=MtgcBPD7cvCuubiLIyo-BWcsNSO-941HLk6bScHTJtQ,427
|
118
117
|
janito/event_bus/handler.py,sha256=RhBtT1E48VEM2-k8u3HYsESw7VX5qAgiB8ZTJeKXhHc,1322
|
119
118
|
janito/event_bus/queue_bus.py,sha256=l4phun3pxXxi8ZlIq8ChYaiYDVO1PZeXoOzyi3vyu20,1558
|
120
119
|
janito/i18n/__init__.py,sha256=6zCIu6pSQpoMJvIRK9oOD3pkzbNeJik3lFDXse0X6ag,994
|
121
|
-
janito/i18n/it.py,sha256=
|
120
|
+
janito/i18n/it.py,sha256=jpWyCrwoZXxHaLEbmYL2B1ouOa854ecdCfpXq4mqroc,4052
|
122
121
|
janito/i18n/messages.py,sha256=fBuwOTFoygyHPkYphm6Y0r1iE8497Z4iryVAmPhMEkg,1851
|
123
122
|
janito/i18n/pt.py,sha256=NlTgpDSftUfFG7FGbs7TK54vQlJVMyaZDHGcWjelwMc,4168
|
124
123
|
janito/llm/README.md,sha256=6GRqCu_a9va5HCB1YqNqbshyWKFyAGlnXugrjom-xj8,1213
|
125
124
|
janito/llm/__init__.py,sha256=dpyVH51qVRCw-PDyAFLAxq0zd4jl5MDcuV6Cri0D-dQ,134
|
126
|
-
janito/llm/agent.py,sha256=
|
125
|
+
janito/llm/agent.py,sha256=T0JfeMoOudTWsHwWCcaocrHyq9k0TvkL4_YePlXvZfo,21269
|
127
126
|
janito/llm/auth.py,sha256=8Dl_orUEPhn2X6XjkO2Nr-j1HFT2YDxk1qJl9hSFI88,2286
|
128
|
-
janito/llm/auth_utils.py,sha256=
|
129
|
-
janito/llm/
|
130
|
-
janito/llm/driver.py,sha256=iVCYGUE5bqa_MTF6p_l2VUl_2y_-IOStNeC0IWfkA3I,10394
|
127
|
+
janito/llm/auth_utils.py,sha256=7GH7bIScKhVWJW6ugcDrJLcYRamj5dl_l8N1rrvR4Ws,663
|
128
|
+
janito/llm/driver.py,sha256=stiicPe_MXTuWW4q6MSwK7PCj8UZcA_30pGACu6xYUQ,10039
|
131
129
|
janito/llm/driver_config.py,sha256=OW0ae49EfgKDqaThuDjZBiaN78voNzwiZ6szERMqJos,1406
|
132
130
|
janito/llm/driver_config_builder.py,sha256=BvWGx7vaBR5NyvPY1XNAP3lAgo1uf-T25CSsIo2kkCU,1401
|
133
131
|
janito/llm/driver_input.py,sha256=Zq7IO4KdQPUraeIo6XoOaRy1IdQAyYY15RQw4JU30uA,389
|
134
|
-
janito/llm/enter_cancellation.py,sha256=sE6yadsFGnKDQVBKenv1sF96wIcAP2LqymiUFJBlijU,3312
|
135
132
|
janito/llm/message_parts.py,sha256=QY_0kDjaxdoErDgKPRPv1dNkkYJuXIBmHWNLiOEKAH4,1365
|
136
133
|
janito/llm/model.py,sha256=EioBkdgn8hJ0iQaKN-0KbXlsrk3YKmwR9IbvoEbdVTE,1159
|
137
134
|
janito/llm/provider.py,sha256=3FbhQPrWBSEoIdIi-5DWIh0DD_CM570EFf1NcuGyGko,7961
|
138
|
-
janito/
|
139
|
-
janito/
|
140
|
-
janito/
|
141
|
-
janito/
|
142
|
-
janito/plugins/
|
143
|
-
janito/plugins/auto_loader.py,sha256=-uVDTKQToGCw1nqwAxrt4IDvgP3z3pvZoC5EXFWNm_k,2288
|
144
|
-
janito/plugins/auto_loader_fixed.py,sha256=3JnGDp1enombEHsR8spRDpVrD6tSPdudysWvhyuk5Ec,2304
|
145
|
-
janito/plugins/builtin.py,sha256=kbIOVmqucJKyISC5kWcgda_6IhHGA6yWoxUghc1Qtk0,3409
|
135
|
+
janito/plugins/__init__.py,sha256=6tTpUDNJJCRqlGK6RBd40wP_xEowuZZh0FRGeQ5lQQA,400
|
136
|
+
janito/plugins/auto_loader.py,sha256=8DRpPZtAUtP-et4Lzaam93MH4s_sqQXXKI8Ly5-GQf8,2329
|
137
|
+
janito/plugins/auto_loader_fixed.py,sha256=11pL7J0bX3XOOevQa10_oUtNbH-CXkpKhxOl69Bmzro,2335
|
138
|
+
janito/plugins/base.py,sha256=4sQdTOogtDgmLWgA3q1Z8h8s-JySRkk9nSAmg0mHoNM,4285
|
139
|
+
janito/plugins/builtin.py,sha256=rAdOz5cekFfsTfXJd5-2AXW4Nh81JoBMONqj1skiTR8,2985
|
146
140
|
janito/plugins/config.py,sha256=ex5f1XsKPEgIO4DgJCohPzMKAQoUdx1OdSVU0FlSr5o,2331
|
147
|
-
janito/plugins/core_adapter.py,sha256=
|
148
|
-
janito/plugins/
|
149
|
-
janito/plugins/
|
150
|
-
janito/plugins/
|
151
|
-
janito/plugins/
|
152
|
-
janito/plugins/
|
153
|
-
janito/
|
154
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/__init__.py,sha256=OKV_BHnoD9h-vkcVoW6AHmsuDjjauHPCKNK0nVFl4sU,37
|
155
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/core.py,sha256=25k6a8PaDYxAfxnEAvZvOWg2BgUcgKU_BkzJmZKUMEA,4611
|
156
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
|
157
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
|
158
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
|
159
|
-
janito/plugins/core/codeanalyzer/tools/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
|
160
|
-
janito/plugins/core/codeanalyzer/tools/search_text/__init__.py,sha256=FEYpF5tTtf0fiAyRGIGSn-kV-MJDkhdFIbus16mYW8Y,34
|
161
|
-
janito/plugins/core/codeanalyzer/tools/search_text/core.py,sha256=Qoid7FESJGVIsFm5oasgv9vZDy0aSzqeJPBWAF2_Edo,7877
|
162
|
-
janito/plugins/core/codeanalyzer/tools/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
|
163
|
-
janito/plugins/core/codeanalyzer/tools/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
|
164
|
-
janito/plugins/core/codeanalyzer/tools/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
|
165
|
-
janito/plugins/core/filemanager/__init__.py,sha256=waUhGQ2OL59Ooes4cQOOlQdBsFQSIffevJkcZq_kaCQ,3241
|
166
|
-
janito/plugins/core/filemanager/tools/copy_file.py,sha256=SBJm19Ipe5dqRE1Mxl6JSrn4bNmfObVnDr5b1mcEu6c,3682
|
167
|
-
janito/plugins/core/filemanager/tools/create_directory.py,sha256=LxwqQEsnOrEphCIoaMRRx9P9bu0MzidP3Fc5q6letxc,2584
|
168
|
-
janito/plugins/core/filemanager/tools/create_file.py,sha256=MDMTt3ocp1Ejo3vo7K5Ht2cMPObXiQTr5OTtLv9qOuw,3821
|
169
|
-
janito/plugins/core/filemanager/tools/delete_text_in_file.py,sha256=uEeedRxXAR7_CqUc_qhbEdM0OzRi_pgnP-iDjs2Zvjk,5087
|
170
|
-
janito/plugins/core/filemanager/tools/find_files.py,sha256=Zbag3aP34vc7ffJh8bOqAwXj3KiZhV--uzTVHtNb-fI,6250
|
171
|
-
janito/plugins/core/filemanager/tools/move_file.py,sha256=LMGm8bn3NNyIPJG4vrlO09smXQcgzA09EwoooZxkIA8,4695
|
172
|
-
janito/plugins/core/filemanager/tools/read_files.py,sha256=LzlNrQEadYF8dF97Wm8AHde2nuqbMkN5vVskQLhvFdA,2329
|
173
|
-
janito/plugins/core/filemanager/tools/remove_directory.py,sha256=DEhHdmwJRl5Yp9eEukIIooMrpATCtXcv5HmaDRn8vH8,1913
|
174
|
-
janito/plugins/core/filemanager/tools/remove_file.py,sha256=Imra4jGkBfAd6pnUAmbUsjN0exj2vzZWuNRXq_GOMsI,2093
|
175
|
-
janito/plugins/core/filemanager/tools/replace_text_in_file.py,sha256=Y6mbPuoTpsFXKrSp51s0rz7Hhz1WHkG1sY4pZ3RoZsU,10790
|
176
|
-
janito/plugins/core/filemanager/tools/view_file.py,sha256=cBKcbwbfH-UMyvQ7PmYTgsshcFmorjWtyH1kaYi7oNY,7379
|
177
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/__init__.py,sha256=P53RHmas4BbHL90cMxH9m-RpMCJI8JquoJb0rpkPVVk,29
|
178
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/core.py,sha256=oYCpk_kyCbseKG_xX5xQjW91bPSpzzl18TPm7mMpwPI,3714
|
179
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
|
180
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
|
181
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
|
182
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
|
183
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
|
184
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
|
185
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
|
186
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
187
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
188
|
-
janito/plugins/core/filemanager/tools/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
189
|
-
janito/plugins/core/imagedisplay/__init__.py,sha256=9RxTfPaWGIk3Z2Md4Fh1tHmbn_QRXUUtKUBDUzip8xk,458
|
190
|
-
janito/plugins/core/imagedisplay/plugin.py,sha256=kq32hgqAKRodyu7Dd-4fO3Lj5NLFW5LFug6kGDa2n2k,1748
|
191
|
-
janito/plugins/core/imagedisplay/tools/__init__.py,sha256=z4xyfhiLUYaHBzus1AxaAWDYncPaPBqVtNipy7y9m88,38
|
192
|
-
janito/plugins/core/imagedisplay/tools/show_image.py,sha256=NpQTCMfBZ4NM6DpMe0lTJYH4NHkBCruUR11E4SdLCUw,3095
|
193
|
-
janito/plugins/core/imagedisplay/tools/show_image_grid.py,sha256=ZsTbDCBr38xYXbbAJBgRKTLuAOw-_C8799LwHA-1yYQ,3078
|
194
|
-
janito/plugins/core/system/__init__.py,sha256=tuaUFus8jTljReloESjdYFWXIEfSEYDct59I-4gZAyc,584
|
195
|
-
janito/plugins/core/system/tools/run_bash_command.py,sha256=oxDbsLHkznN7WhW4WzIblABk27onJ5EgpAlzyrJ3AfU,9020
|
196
|
-
janito/plugins/core/system/tools/run_powershell_command.py,sha256=gWviIUtZvRUgde9TN_kUqYeseyVpsFmOJPMWLOb9_Nw,10152
|
197
|
-
janito/plugins/dev/__init__.py,sha256=V7wIaP_LMGBtg6ldz5fmiWf0eL-lSz4vcFgZjKcHAZo,136
|
198
|
-
janito/plugins/dev/pythondev/__init__.py,sha256=qAO8Ub1lwBAMcfIt6oX0clTTB2msjIIJNHBRZczhHy8,991
|
199
|
-
janito/plugins/dev/visualization/__init__.py,sha256=2zJuePRWKBzuC1_XHg3cguh-JGh4GcvkdENUV3xplz4,547
|
200
|
-
janito/plugins/dev/visualization/tools/read_chart.py,sha256=qQebp_MEE_x2AL_pl85uA58A4lbhLQsyGl7wiG_Cjhc,10411
|
201
|
-
janito/plugins/tools/__init__.py,sha256=vNqUVWA0guwAYuPgdmiDsjmgibj9siP0e61pfTHZ8-8,271
|
202
|
-
janito/plugins/tools/ask_user.py,sha256=7Wgl_9XEPWty3qTG_xcQdwJWypXRorMv3WYM_AZDrBY,4050
|
203
|
-
janito/plugins/tools/copy_file.py,sha256=A0LxkN9b4eDBD7Ww_4LO412kldbx-DlrUELUB-27jOk,3672
|
204
|
-
janito/plugins/tools/core_tools_plugin.py,sha256=QgRE3KcbF-KgRR5y-ADYeuTTLDlenxuKM-68wliVfbs,2683
|
205
|
-
janito/plugins/tools/create_directory.py,sha256=f8fccqwRR3xj_IJ7KZacsxBo2k754bLgVyAefC4jsnI,2574
|
206
|
-
janito/plugins/tools/create_file.py,sha256=C8w_CLMOvoxzwlsGuRKchFfbMCEgqQ-qLIxRf1j_dtc,6419
|
207
|
-
janito/plugins/tools/decorators.py,sha256=BRAjjo4NF4_JxwPPVrrF2wtzsJXuZJkwv_QhZgPFMS4,382
|
208
|
-
janito/plugins/tools/delete_text_in_file.py,sha256=nZb-QuJopA3NDfOW3BEsG6Aj9EaMlfpuEYiG9aGp4z4,5070
|
209
|
-
janito/plugins/tools/fetch_url.py,sha256=hqtllaqx5rgZ-5wAih6-R1tvX5sIFUHy3DTP68JImQM,18202
|
210
|
-
janito/plugins/tools/find_files.py,sha256=S4CLC-WmifyEIO7B1Mk52TAEpy4fIFr9GW9QVQeEE4E,6240
|
211
|
-
janito/plugins/tools/move_file.py,sha256=IgBTH2V3z83K3HT0cHWxAag-E5FoUTKS5nJa-_akvvs,4685
|
212
|
-
janito/plugins/tools/open_html_in_browser.py,sha256=82ONg0OSo_8puznWbrgaiZSyBK_G-TejYgsDQM8a2KU,2091
|
213
|
-
janito/plugins/tools/open_url.py,sha256=X-fdPCTkJ5WBkNDAjV_XVUh3MDEuDGcv-5PbvfC8y68,1542
|
214
|
-
janito/plugins/tools/python_code_run.py,sha256=BIc7hPTsEqsCo3BTZviVZjoj8baQE9wNz7pQLUT8HFI,7715
|
215
|
-
janito/plugins/tools/python_command_run.py,sha256=nbXxuoDADPw5wR5ysNm5tIwFN9RrrshoQISBscXd_Ow,7645
|
216
|
-
janito/plugins/tools/python_file_run.py,sha256=jIbzBwjAHLY2xy2crQpdFj9KH3VjaD4qc7TxbkeNW88,7569
|
217
|
-
janito/plugins/tools/read_chart.py,sha256=8KT-Zzfpdp68QN6Pl8enDLPrKRBY2lhcKsJ8scS6i3o,10401
|
218
|
-
janito/plugins/tools/read_files.py,sha256=7RVj4qescT__VHe1k_VdnpHKHY5YeG0fqPiNIopd3Is,2319
|
219
|
-
janito/plugins/tools/remove_directory.py,sha256=jmY0pSrOJVQqR-_P7OuZijovAKkNB5cDk8BAAKVvvLI,1903
|
220
|
-
janito/plugins/tools/remove_file.py,sha256=tWjCx96O2cFW3XIpx8U5W2JUzbfsoXY5zn8k3jr4AIA,2083
|
221
|
-
janito/plugins/tools/replace_text_in_file.py,sha256=F7RvMdA0EM9xDtM7lB_0DrMjDeYa8exn73_15SQ0iug,10949
|
222
|
-
janito/plugins/tools/run_bash_command.py,sha256=r-zjfDmw7z2H08cNqKHxXov1_KvfmjPeL5IEg4ZDTxQ,7945
|
223
|
-
janito/plugins/tools/run_powershell_command.py,sha256=3CWvSr9IkCX6yJ3P_cP80QYUZg30m5TREAPOpzzqYrM,9303
|
224
|
-
janito/plugins/tools/show_image.py,sha256=v-vEP5LG2-YjrcoWTfgXQ8jSlXfslXjWVV6Uaq7N4IA,3052
|
225
|
-
janito/plugins/tools/show_image_grid.py,sha256=eS9PGcGrIqazX1fBSu39N3RaQlFoeIdVc75z2ruhWeI,3118
|
226
|
-
janito/plugins/tools/view_file.py,sha256=SlTfdKyEnaqhDnPc7gpBC51JWIkdc3WvYsTq3amEN4g,7369
|
227
|
-
janito/plugins/tools/get_file_outline/__init__.py,sha256=po2B4UWf4qvw3yisWkiW1VeeFl1SGvm4xhs1kNbNyCc,110
|
228
|
-
janito/plugins/tools/get_file_outline/core.py,sha256=KHZwnRdgRzyEJe0IjKzjxs8TQBJdU7xYTDWnqQgZVhM,4590
|
229
|
-
janito/plugins/tools/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
|
230
|
-
janito/plugins/tools/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
|
231
|
-
janito/plugins/tools/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
|
232
|
-
janito/plugins/tools/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
|
233
|
-
janito/plugins/tools/search_text/__init__.py,sha256=pZo-65KTw9y0oFBCBXEyxACbS10QvAXa21icXuRyh34,101
|
234
|
-
janito/plugins/tools/search_text/core.py,sha256=bjXWCkGEkCnX-q60N3prU_EYiN5i8Sw_7ArTvq18pco,7856
|
235
|
-
janito/plugins/tools/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
|
236
|
-
janito/plugins/tools/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
|
237
|
-
janito/plugins/tools/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
|
238
|
-
janito/plugins/tools/validate_file_syntax/__init__.py,sha256=1Fp7sHG_ndTJi9xbUzpFSp9TSW-DpwN2n_psZM8mXmw,128
|
239
|
-
janito/plugins/tools/validate_file_syntax/core.py,sha256=E8g67nRv5x_PomKm8IlUdQlYyjC3l3IdSTBlODKPn6Y,3705
|
240
|
-
janito/plugins/tools/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
|
241
|
-
janito/plugins/tools/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
|
242
|
-
janito/plugins/tools/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
|
243
|
-
janito/plugins/tools/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
|
244
|
-
janito/plugins/tools/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
|
245
|
-
janito/plugins/tools/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
|
246
|
-
janito/plugins/tools/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
|
247
|
-
janito/plugins/tools/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
248
|
-
janito/plugins/tools/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
249
|
-
janito/plugins/tools/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
250
|
-
janito/plugins/ui/__init__.py,sha256=V3bXCQO9YyWc6oiPKyXRP6YqJT_LT9330b3uukSzJ_8,122
|
251
|
-
janito/plugins/ui/userinterface/__init__.py,sha256=kmno20y5PuZvv_eqDWPKEcN6Zo_vlyt-WZv-4A5e8UI,352
|
252
|
-
janito/plugins/ui/userinterface/tools/ask_user.py,sha256=4xY8SUndw_OYAPzeIRxugmihxxn7Y-b2v9xYT_LGdkY,3941
|
253
|
-
janito/plugins/web/__init__.py,sha256=gVPBgz06iQgBUlqHJt3TpWQErkbH_Cx_6BX6XVSYtcY,118
|
254
|
-
janito/plugins/web/webtools/__init__.py,sha256=vGFtbZvV2DnooPmw4B8hHd0UgpVfNugLs8uK0sI9N2w,847
|
255
|
-
janito/plugins/web/webtools/tools/fetch_url.py,sha256=VjB89FjLNrqLmOVL6wm1RHyixB3n-RViC0DJjW33iRM,17804
|
256
|
-
janito/plugins/web/webtools/tools/open_html_in_browser.py,sha256=XqICIwVx5vEE77gHkaNAC-bAeEEy0DBmDksATiL-sRY,2101
|
257
|
-
janito/plugins/web/webtools/tools/open_url.py,sha256=V3Sv7iLynUreLjVl5-bl-XFH_LzpTeBrS8-cvzp_7rM,1552
|
258
|
-
janito/providers/__init__.py,sha256=LZcyllhmGyOXQ8duQA2Qbg0fSrahog5ATNZppNOxFK0,571
|
141
|
+
janito/plugins/core_adapter.py,sha256=zOhRMLIsqPb5r-8-pJGucEiWEB1_M5btW6TmsAm-mdE,1877
|
142
|
+
janito/plugins/core_loader.py,sha256=VcIwuKUaR2bvRZIFEiUHaS8YulTOKrYtvO_VhKHRpGI,3576
|
143
|
+
janito/plugins/core_loader_fixed.py,sha256=ZjBOU-aQCMnRXxQfFSI5caUR_IqaI0HdqOJSt-G-Lkc,3909
|
144
|
+
janito/plugins/discovery.py,sha256=JKaoROD4Ci-k8HN1hns130mXq28ZZhQsWfTBSJoOqYc,10106
|
145
|
+
janito/plugins/discovery_core.py,sha256=O5OccNWNyrSXGeeTk5xSG0qbsjNsajclNNCiHljFRpI,1613
|
146
|
+
janito/plugins/manager.py,sha256=OyqGiZubcPgogs2u_rIV2cs_r4HNPwFZH9U25Z9g5cI,8135
|
147
|
+
janito/providers/__init__.py,sha256=EvOFeiqucAY9tgCosJ81p0QA6wQwMT1cR3EeIGrhSQQ,528
|
259
148
|
janito/providers/dashscope.bak.zip,sha256=BwXxRmZreEivvRtmqbr5BR62IFVlNjAf4y6DrF2BVJo,5998
|
260
149
|
janito/providers/registry.py,sha256=Ygwv9eVrTXOKhv0EKxSWQXO5WMHvajWE2Q_Lc3p7dKo,730
|
261
150
|
janito/providers/alibaba/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -282,15 +171,12 @@ janito/providers/mistral/__init__.py,sha256=jFHSvtQro8BnHajv7M0Zf9vssXyTzLxyN2J-
|
|
282
171
|
janito/providers/mistral/model_info.py,sha256=yeCg30ZjJ-HL4QaH7YjADKReINkDMmA3Cj28g7MyMP0,2268
|
283
172
|
janito/providers/mistral/provider.py,sha256=rBFrwT40vnPi-whNCMI8o-OurIdCRxm3tkgPXBDB3Gk,4775
|
284
173
|
janito/providers/moonshot/__init__.py,sha256=QBirGjijujOZuJ1UZ8c7MflSy5EHjWnuBmAr3AupbH0,29
|
285
|
-
janito/providers/moonshot/model_info.py,sha256=
|
174
|
+
janito/providers/moonshot/model_info.py,sha256=hmDsc6WxKwZ7Y9PSudEHye8aUGQ01xprpYInwcaJAp0,1030
|
286
175
|
janito/providers/moonshot/provider.py,sha256=LJxNoC7Oo-ZoFKs2ulK2lXzUEx7kV-79HJ8JG4J-UWU,3856
|
287
176
|
janito/providers/openai/__init__.py,sha256=f0m16-sIqScjL9Mp4A0CQBZx6H3PTEy0cnE08jeaB5U,38
|
288
177
|
janito/providers/openai/model_info.py,sha256=VTkq3xcx2vk0tXlFVHQxKeFzl-DL1T1J2elVOEwCdHI,4265
|
289
178
|
janito/providers/openai/provider.py,sha256=PPr_qmSe5GyysnZCxhjeUVhE2LWKjKOSRel-8aaxq_U,4761
|
290
179
|
janito/providers/openai/schema_generator.py,sha256=hTqeLcPTR8jeKn5DUUpo7b-EZ-V-g1WwXiX7MbHnFzE,2234
|
291
|
-
janito/providers/together/__init__.py,sha256=8JguGMgLW_QUJ-G6VIypp_Uq6avi3LGwKWpEiyGRWOU,33
|
292
|
-
janito/providers/together/model_info.py,sha256=4EsluZgPfZW68Uc9o5vDnUmo-hQAGIs5eTDWuR24kPg,2407
|
293
|
-
janito/providers/together/provider.py,sha256=BiM8p8rlqPem_PHdOyXq08J3LZFrAKtP7PDqDSToLdI,3847
|
294
180
|
janito/providers/zai/__init__.py,sha256=qtIr9_QBFaXG8xB6cRDGhS7se6ir11CWseI9azLMRBo,24
|
295
181
|
janito/providers/zai/model_info.py,sha256=ldwD8enpxXv1G-YsDw4YJn31YsVueQ4vj5HgoYvnPxo,1183
|
296
182
|
janito/providers/zai/provider.py,sha256=aKqDTdcwWk-FT70wTbTrTzlWx2NwRWkLoB64upiliU8,5066
|
@@ -301,14 +187,13 @@ janito/regions/geo_utils.py,sha256=nLJ2x0tx1xMNI0_cMEiji-X8denynsaPYmXR9gGg8uk,5
|
|
301
187
|
janito/regions/provider_regions.py,sha256=QJdbsdgjg-WcTRqPLGtm3pHJAm2o0-Y9MgE_vNzENEk,4619
|
302
188
|
janito/tools/DOCSTRING_STANDARD.txt,sha256=VLPwNgjxRVD_xZSSVvUZ4H-4bBwM-VKh_RyfzYQsYSs,1735
|
303
189
|
janito/tools/README.md,sha256=5HkLpF5k4PENJER7SlDPRXj0yo9mpHvAHW4uuzhq4ak,115
|
304
|
-
janito/tools/__init__.py,sha256=
|
190
|
+
janito/tools/__init__.py,sha256=W1B39PztC2UF7PS2WyLH6el32MFOETMlN1-LurOROCg,1171
|
305
191
|
janito/tools/base.py,sha256=R38A9xWYh3JRYZMDSom2d1taNDy9J7HpLbZo9X2wH_o,316
|
306
|
-
janito/tools/cli_initializer.py,sha256=KJbUL6_iAsaeBZl_AVrdtczSZRQBJ9RPZufHJVKwAtU,2632
|
307
192
|
janito/tools/disabled_tools.py,sha256=Tx__16wtMWZ9z34cYLdH1gukwot5MCL-9kLjd5MPX6Y,2110
|
308
|
-
janito/tools/
|
193
|
+
janito/tools/function_adapter.py,sha256=A_-5pA5Y3v0TAYMA-vq3A-Cawg75kH5XWcUEkNHSOoI,2267
|
309
194
|
janito/tools/inspect_registry.py,sha256=Jo7PrMPRKLuR-j_mBAk9PBcTzeJf1eQrS1ChGofgQk0,538
|
310
195
|
janito/tools/loop_protection.py,sha256=WQ2Cqt459vXvrO0T1EqkEHynHlRkPzfaC83RSmXzjkM,4718
|
311
|
-
janito/tools/loop_protection_decorator.py,sha256=
|
196
|
+
janito/tools/loop_protection_decorator.py,sha256=R1j2ouscKbVcDm2wlxRZ6zQuKExgj633ijeDq4j0oO0,6457
|
312
197
|
janito/tools/outline_file.bak.zip,sha256=EeI2cBXCwTdWVgJDNiroxKeYlkjwo6NLKeXz3J-2iZI,15607
|
313
198
|
janito/tools/path_security.py,sha256=40b0hV0X3449Dht93A04Q3c9AYSsBQsBFy2BjzM83lA,8214
|
314
199
|
janito/tools/path_utils.py,sha256=Rg5GE4kiu7rky6I2KTtivW6wPXzc9Qmq0_lOjwkPYlI,832
|
@@ -322,12 +207,58 @@ janito/tools/tool_utils.py,sha256=alPm9DvtXSw_zPRKvP5GjbebPRf_nfvmWk2TNlL5Cws,12
|
|
322
207
|
janito/tools/tools_adapter.py,sha256=F1Wkji222dY53HMaZWf3vqVas1Bimm3UXERKvxF54Ew,21687
|
323
208
|
janito/tools/tools_schema.py,sha256=rGrKrmpPNR07VXHAJ_haGBRRO-YGLOF51BlYRep9AAQ,4415
|
324
209
|
janito/tools/url_whitelist.py,sha256=0CPLkHTp5HgnwgjxwgXnJmwPeZQ30q4j3YjW59hiUUE,4295
|
325
|
-
janito/tools/adapters/__init__.py,sha256=
|
326
|
-
janito/tools/adapters/local/__init__.py,sha256=
|
210
|
+
janito/tools/adapters/__init__.py,sha256=XKixOKtUJs1R-rGwGDXSLVLg5-Kp090gvWbsseWT4LI,92
|
211
|
+
janito/tools/adapters/local/__init__.py,sha256=I6LtLnDTyApZrSlKcihSQqZv3gADVX781Mcj46LH7ac,2362
|
327
212
|
janito/tools/adapters/local/adapter.py,sha256=u4nLHTaYdwZXMi1J8lsKvlG6rOmdq9xjey_3zeyCG4k,8707
|
328
|
-
janito
|
329
|
-
janito
|
330
|
-
janito
|
331
|
-
janito
|
332
|
-
janito
|
333
|
-
janito
|
213
|
+
janito/tools/adapters/local/ask_user.py,sha256=-shjMRKrRe7HNHM2w_6YAl7eEgl8QXaIV6LKrUDEBxU,4060
|
214
|
+
janito/tools/adapters/local/copy_file.py,sha256=SBJm19Ipe5dqRE1Mxl6JSrn4bNmfObVnDr5b1mcEu6c,3682
|
215
|
+
janito/tools/adapters/local/create_directory.py,sha256=LxwqQEsnOrEphCIoaMRRx9P9bu0MzidP3Fc5q6letxc,2584
|
216
|
+
janito/tools/adapters/local/create_file.py,sha256=fLTVnMpDnHzzIVK3nS0DtawBT-I18Is-qa0Hg8y6TXY,6385
|
217
|
+
janito/tools/adapters/local/delete_text_in_file.py,sha256=uEeedRxXAR7_CqUc_qhbEdM0OzRi_pgnP-iDjs2Zvjk,5087
|
218
|
+
janito/tools/adapters/local/fetch_url.py,sha256=QjoOZj06PjsU8uFjJ6O8Fy-WUvS4GhSaHAJQx2rAzoE,18212
|
219
|
+
janito/tools/adapters/local/find_files.py,sha256=Zbag3aP34vc7ffJh8bOqAwXj3KiZhV--uzTVHtNb-fI,6250
|
220
|
+
janito/tools/adapters/local/move_file.py,sha256=LMGm8bn3NNyIPJG4vrlO09smXQcgzA09EwoooZxkIA8,4695
|
221
|
+
janito/tools/adapters/local/open_html_in_browser.py,sha256=XqICIwVx5vEE77gHkaNAC-bAeEEy0DBmDksATiL-sRY,2101
|
222
|
+
janito/tools/adapters/local/open_url.py,sha256=V3Sv7iLynUreLjVl5-bl-XFH_LzpTeBrS8-cvzp_7rM,1552
|
223
|
+
janito/tools/adapters/local/python_code_run.py,sha256=HdDuiRb7Fd7WC6bFS292XnSI1EYhn9XKlh8Hs_4Cz8E,6981
|
224
|
+
janito/tools/adapters/local/python_command_run.py,sha256=BT9emL3PsNGupkENNfUymPECiQEAm9tBhniCaOuatj0,6935
|
225
|
+
janito/tools/adapters/local/python_file_run.py,sha256=p0iOoxByCoKqW7QqfxTdHbPbRzEd_KWyZqnzrSb1qLQ,6859
|
226
|
+
janito/tools/adapters/local/read_chart.py,sha256=qQebp_MEE_x2AL_pl85uA58A4lbhLQsyGl7wiG_Cjhc,10411
|
227
|
+
janito/tools/adapters/local/read_files.py,sha256=LzlNrQEadYF8dF97Wm8AHde2nuqbMkN5vVskQLhvFdA,2329
|
228
|
+
janito/tools/adapters/local/remove_directory.py,sha256=DEhHdmwJRl5Yp9eEukIIooMrpATCtXcv5HmaDRn8vH8,1913
|
229
|
+
janito/tools/adapters/local/remove_file.py,sha256=Imra4jGkBfAd6pnUAmbUsjN0exj2vzZWuNRXq_GOMsI,2093
|
230
|
+
janito/tools/adapters/local/replace_text_in_file.py,sha256=zJIDecviF2YRpWxbvhtka4Iaje-QYhcaqQX1PxWolzE,10966
|
231
|
+
janito/tools/adapters/local/run_bash_command.py,sha256=7fABqAeAu7WJwzzwHmT54_m5OSwPMcgpQ74lQhPG7TA,7955
|
232
|
+
janito/tools/adapters/local/run_powershell_command.py,sha256=uQSJVQe40wSGbesyvZxDmIKJthAbDJFaxXm1dEN3gBs,9313
|
233
|
+
janito/tools/adapters/local/show_image.py,sha256=OkdiIkaRhjqPMSF5QFcqjLK-fN1oljo_YQM9TH2ZK_A,2932
|
234
|
+
janito/tools/adapters/local/show_image_grid.py,sha256=w_U04_K0qmCcX8ac6KUcs-UsnfCb-qsXT3-kasr17dM,3000
|
235
|
+
janito/tools/adapters/local/view_file.py,sha256=cBKcbwbfH-UMyvQ7PmYTgsshcFmorjWtyH1kaYi7oNY,7379
|
236
|
+
janito/tools/adapters/local/get_file_outline/__init__.py,sha256=OKV_BHnoD9h-vkcVoW6AHmsuDjjauHPCKNK0nVFl4sU,37
|
237
|
+
janito/tools/adapters/local/get_file_outline/core.py,sha256=25k6a8PaDYxAfxnEAvZvOWg2BgUcgKU_BkzJmZKUMEA,4611
|
238
|
+
janito/tools/adapters/local/get_file_outline/java_outline.py,sha256=_UeUY5JoQEUdlHcK8aqGTqYJl0T2KxIFXPTdwum9gKQ,1825
|
239
|
+
janito/tools/adapters/local/get_file_outline/markdown_outline.py,sha256=bXEBg0D93tEBDNy8t-wh4i7WxsxfpQ2C3dX1_rmtj08,434
|
240
|
+
janito/tools/adapters/local/get_file_outline/python_outline.py,sha256=RAcf9Vxec08lA06drYaNre5HCJ2lTzrRAskZ3rlyE-U,10326
|
241
|
+
janito/tools/adapters/local/get_file_outline/search_outline.py,sha256=bski24TpnJVf3L0TNzkx3HfvaXwttQl4EVkwk2POQOw,1348
|
242
|
+
janito/tools/adapters/local/search_text/__init__.py,sha256=FEYpF5tTtf0fiAyRGIGSn-kV-MJDkhdFIbus16mYW8Y,34
|
243
|
+
janito/tools/adapters/local/search_text/core.py,sha256=Qoid7FESJGVIsFm5oasgv9vZDy0aSzqeJPBWAF2_Edo,7877
|
244
|
+
janito/tools/adapters/local/search_text/match_lines.py,sha256=RLR8fZFP-Q57rY0fTENbMItmt3dJZiYX0otmGHVRjfw,2131
|
245
|
+
janito/tools/adapters/local/search_text/pattern_utils.py,sha256=D7vtAr8oT0tGV0C_UUarAXS9XQtP-MTYmmc8Yg8iVTg,2362
|
246
|
+
janito/tools/adapters/local/search_text/traverse_directory.py,sha256=EpL1qywAV0H29pm8-QsHrjKchKP4i4sRUOENVuNptCo,4000
|
247
|
+
janito/tools/adapters/local/validate_file_syntax/__init__.py,sha256=P53RHmas4BbHL90cMxH9m-RpMCJI8JquoJb0rpkPVVk,29
|
248
|
+
janito/tools/adapters/local/validate_file_syntax/core.py,sha256=oYCpk_kyCbseKG_xX5xQjW91bPSpzzl18TPm7mMpwPI,3714
|
249
|
+
janito/tools/adapters/local/validate_file_syntax/css_validator.py,sha256=jE5d26C_fU9k9azujbGVISn2WIRL-Ys6de4dsCq30bo,1351
|
250
|
+
janito/tools/adapters/local/validate_file_syntax/html_validator.py,sha256=VV93BRcAeUraXHc9dUyH1cs9gRwRwO84K1-L5zbJnYU,3207
|
251
|
+
janito/tools/adapters/local/validate_file_syntax/jinja2_validator.py,sha256=lfM0SsKsFygiEp1IuLNr5jdS7XJyjCLOPw2yo9vl-pY,1763
|
252
|
+
janito/tools/adapters/local/validate_file_syntax/js_validator.py,sha256=42LvgyMVhG9c2EAaSz3J9pu-yuh1oyIvRp0wN2rHiDQ,998
|
253
|
+
janito/tools/adapters/local/validate_file_syntax/json_validator.py,sha256=muCB0-bdxk9zNulzH1It3hWpYzJC3hD8LbxCnE0P5is,150
|
254
|
+
janito/tools/adapters/local/validate_file_syntax/markdown_validator.py,sha256=k4UT88fXvtclygz-nFhCMHJL5sk5WlGD-fP_cWqWMyU,3511
|
255
|
+
janito/tools/adapters/local/validate_file_syntax/ps1_validator.py,sha256=TeIkPt08t_-w2JiKksXHHK9lJNT348ZDkWoSTzMtRrI,1152
|
256
|
+
janito/tools/adapters/local/validate_file_syntax/python_validator.py,sha256=BfCO_K18qy92m-2ZVvHsbEU5e11OPo1pO9Vz4G4616E,130
|
257
|
+
janito/tools/adapters/local/validate_file_syntax/xml_validator.py,sha256=AijlsP_PgNuC8ZbGsC5vOTt3Jur76otQzkd_7qR0QFY,284
|
258
|
+
janito/tools/adapters/local/validate_file_syntax/yaml_validator.py,sha256=TgyI0HRL6ug_gBcWEm5TGJJuA4E34ZXcIzMpAbv3oJs,155
|
259
|
+
janito-3.7.0.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
|
260
|
+
janito-3.7.0.dist-info/METADATA,sha256=MjCqsl4RpH5z-2pwH3f2r84WtTEGu6I2EhTgIX4d_3s,2312
|
261
|
+
janito-3.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
262
|
+
janito-3.7.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
|
263
|
+
janito-3.7.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
|
264
|
+
janito-3.7.0.dist-info/RECORD,,
|
@@ -1,212 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
CLI Command: Check all registered tools for signature validation and availability
|
3
|
-
"""
|
4
|
-
|
5
|
-
import inspect
|
6
|
-
import sys
|
7
|
-
from typing import Dict, List, Tuple, Any
|
8
|
-
|
9
|
-
|
10
|
-
def _validate_tool_signature(tool_instance) -> Tuple[bool, List[str]]:
|
11
|
-
"""Validate the signature of a tool's run method."""
|
12
|
-
errors = []
|
13
|
-
|
14
|
-
if not hasattr(tool_instance, "run"):
|
15
|
-
errors.append("Missing 'run' method")
|
16
|
-
return False, errors
|
17
|
-
|
18
|
-
try:
|
19
|
-
sig = inspect.signature(tool_instance.run)
|
20
|
-
except ValueError as e:
|
21
|
-
errors.append(f"Invalid signature: {e}")
|
22
|
-
return False, errors
|
23
|
-
|
24
|
-
# Basic signature validation - just check if it's callable
|
25
|
-
if not callable(getattr(tool_instance, "run")):
|
26
|
-
errors.append("'run' method is not callable")
|
27
|
-
|
28
|
-
return len(errors) == 0, errors
|
29
|
-
|
30
|
-
|
31
|
-
def _check_tool_availability(tool_instance) -> Tuple[bool, List[str]]:
|
32
|
-
"""Check if a tool is available for use."""
|
33
|
-
errors = []
|
34
|
-
|
35
|
-
# Check if tool has required attributes
|
36
|
-
required_attrs = ["tool_name"]
|
37
|
-
for attr in required_attrs:
|
38
|
-
if not hasattr(tool_instance, attr):
|
39
|
-
errors.append(f"Missing required attribute: {attr}")
|
40
|
-
|
41
|
-
# Check description (optional for now)
|
42
|
-
if not hasattr(tool_instance, "description"):
|
43
|
-
pass # Allow missing description
|
44
|
-
|
45
|
-
# Check permissions
|
46
|
-
if not hasattr(tool_instance, "permissions"):
|
47
|
-
# Function-based tools use permissions from function decorators
|
48
|
-
pass # Allow missing permissions for function-based tools
|
49
|
-
else:
|
50
|
-
perms = tool_instance.permissions
|
51
|
-
if (
|
52
|
-
not hasattr(perms, "read")
|
53
|
-
or not hasattr(perms, "write")
|
54
|
-
or not hasattr(perms, "execute")
|
55
|
-
):
|
56
|
-
errors.append("Invalid permissions structure")
|
57
|
-
|
58
|
-
return len(errors) == 0, errors
|
59
|
-
|
60
|
-
|
61
|
-
def _get_tool_status_summary(
|
62
|
-
tools: List[Any], disabled_tools: List[str]
|
63
|
-
) -> Dict[str, Any]:
|
64
|
-
"""Get a comprehensive status summary for all tools."""
|
65
|
-
summary = {
|
66
|
-
"total": len(tools),
|
67
|
-
"available": 0,
|
68
|
-
"disabled": 0,
|
69
|
-
"invalid": 0,
|
70
|
-
"details": [],
|
71
|
-
}
|
72
|
-
|
73
|
-
for tool in tools:
|
74
|
-
tool_name = getattr(tool, "tool_name", str(tool))
|
75
|
-
|
76
|
-
# Check if disabled
|
77
|
-
is_disabled = tool_name in disabled_tools
|
78
|
-
|
79
|
-
# Validate signature and availability
|
80
|
-
sig_valid, sig_errors = _validate_tool_signature(tool)
|
81
|
-
avail_valid, avail_errors = _check_tool_availability(tool)
|
82
|
-
|
83
|
-
status = {
|
84
|
-
"name": tool_name,
|
85
|
-
"disabled": is_disabled,
|
86
|
-
"signature_valid": sig_valid,
|
87
|
-
"available": avail_valid,
|
88
|
-
"signature_errors": sig_errors,
|
89
|
-
"availability_errors": avail_errors,
|
90
|
-
}
|
91
|
-
|
92
|
-
summary["details"].append(status)
|
93
|
-
|
94
|
-
if is_disabled:
|
95
|
-
summary["disabled"] += 1
|
96
|
-
elif not sig_valid or not avail_valid:
|
97
|
-
summary["invalid"] += 1
|
98
|
-
else:
|
99
|
-
summary["available"] += 1
|
100
|
-
|
101
|
-
return summary
|
102
|
-
|
103
|
-
|
104
|
-
def _print_check_results(console, summary: Dict[str, Any], verbose: bool = False):
|
105
|
-
"""Print the tool check results in a formatted way."""
|
106
|
-
from rich.table import Table
|
107
|
-
from rich.panel import Panel
|
108
|
-
from rich.text import Text
|
109
|
-
|
110
|
-
# Overall summary
|
111
|
-
summary_text = Text()
|
112
|
-
summary_text.append(f"Total tools: {summary['total']}", style="cyan")
|
113
|
-
summary_text.append(" | ")
|
114
|
-
summary_text.append(f"Available: {summary['available']}", style="green")
|
115
|
-
summary_text.append(" | ")
|
116
|
-
summary_text.append(f"Disabled: {summary['disabled']}", style="yellow")
|
117
|
-
summary_text.append(" | ")
|
118
|
-
summary_text.append(f"Invalid: {summary['invalid']}", style="red")
|
119
|
-
|
120
|
-
console.print(Panel(summary_text, title="Tool Check Summary", style="bold"))
|
121
|
-
|
122
|
-
# Always show the table for check-tools
|
123
|
-
table = Table(title="Tool Details", show_header=True, header_style="bold")
|
124
|
-
table.add_column("Tool", style="cyan", no_wrap=True)
|
125
|
-
table.add_column("Status", style="green")
|
126
|
-
table.add_column("Issues", style="red")
|
127
|
-
|
128
|
-
for detail in summary["details"]:
|
129
|
-
name = detail["name"]
|
130
|
-
|
131
|
-
if detail["disabled"]:
|
132
|
-
status = "[yellow]Disabled[/yellow]"
|
133
|
-
issues = "-"
|
134
|
-
elif not detail["available"] or not detail["signature_valid"]:
|
135
|
-
status = "[red]Invalid[/red]"
|
136
|
-
all_issues = detail["signature_errors"] + detail["availability_errors"]
|
137
|
-
issues = "\n".join(all_issues)
|
138
|
-
else:
|
139
|
-
status = "[green]Available[/green]"
|
140
|
-
issues = "-"
|
141
|
-
|
142
|
-
table.add_row(name, status, issues)
|
143
|
-
|
144
|
-
console.print(table)
|
145
|
-
|
146
|
-
|
147
|
-
def handle_check_tools(args=None):
|
148
|
-
"""Handle the --check-tools CLI command."""
|
149
|
-
from janito.tools.adapters.local.adapter import LocalToolsAdapter
|
150
|
-
import janito.tools # Ensure all tools are registered
|
151
|
-
|
152
|
-
# Load disabled tools from config
|
153
|
-
from janito.tools.disabled_tools import DisabledToolsState
|
154
|
-
from janito.config import config
|
155
|
-
|
156
|
-
disabled_str = config.get("disabled_tools", "")
|
157
|
-
if disabled_str:
|
158
|
-
DisabledToolsState.set_disabled_tools(disabled_str)
|
159
|
-
disabled_tools = DisabledToolsState.get_disabled_tools()
|
160
|
-
|
161
|
-
# Initialize tools properly using the same approach as list_tools.py
|
162
|
-
from janito.tools.adapters.local.adapter import LocalToolsAdapter
|
163
|
-
from janito.tools.tool_base import ToolPermissions
|
164
|
-
import janito.tools # Ensure all tools are registered
|
165
|
-
|
166
|
-
read = getattr(args, "read", False) if args else False
|
167
|
-
write = getattr(args, "write", False) if args else False
|
168
|
-
execute = getattr(args, "exec", False) if args else False
|
169
|
-
if not (read or write or execute):
|
170
|
-
read = write = execute = True
|
171
|
-
from janito.tools.permissions import set_global_allowed_permissions
|
172
|
-
|
173
|
-
set_global_allowed_permissions(
|
174
|
-
ToolPermissions(read=read, write=write, execute=execute)
|
175
|
-
)
|
176
|
-
|
177
|
-
# Load disabled tools from config
|
178
|
-
from janito.tools.disabled_tools import DisabledToolsState
|
179
|
-
from janito.config import config
|
180
|
-
|
181
|
-
disabled_str = config.get("disabled_tools", "")
|
182
|
-
if disabled_str:
|
183
|
-
DisabledToolsState.set_disabled_tools(disabled_str)
|
184
|
-
disabled_tools = DisabledToolsState.get_disabled_tools()
|
185
|
-
|
186
|
-
# Initialize tools using the same method as list_tools.py
|
187
|
-
from janito.tools.initialize import initialize_tools
|
188
|
-
|
189
|
-
registry = initialize_tools()
|
190
|
-
|
191
|
-
# Get actual tool instances
|
192
|
-
tool_instances = []
|
193
|
-
for name, tool_info in registry._tools.items():
|
194
|
-
if "instance" in tool_info:
|
195
|
-
tool_instances.append(tool_info["instance"])
|
196
|
-
|
197
|
-
if not tool_instances:
|
198
|
-
print("No tools registered.")
|
199
|
-
return
|
200
|
-
|
201
|
-
from rich.console import Console
|
202
|
-
|
203
|
-
console = Console()
|
204
|
-
|
205
|
-
verbose = getattr(args, "verbose", False) if args else False
|
206
|
-
|
207
|
-
summary = _get_tool_status_summary(tool_instances, disabled_tools)
|
208
|
-
_print_check_results(console, summary, verbose=verbose)
|
209
|
-
|
210
|
-
# Exit with error code if there are invalid tools
|
211
|
-
if summary["invalid"] > 0:
|
212
|
-
sys.exit(1)
|
@@ -1,63 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Global cancellation manager for LLM requests.
|
3
|
-
Provides a centralized way to cancel ongoing requests.
|
4
|
-
"""
|
5
|
-
|
6
|
-
import threading
|
7
|
-
from typing import Optional
|
8
|
-
|
9
|
-
|
10
|
-
class CancellationManager:
|
11
|
-
"""Manages cancellation of LLM requests across the application."""
|
12
|
-
|
13
|
-
def __init__(self):
|
14
|
-
self._current_cancel_event: Optional[threading.Event] = None
|
15
|
-
self._lock = threading.Lock()
|
16
|
-
self._keyboard_cancellation = None
|
17
|
-
|
18
|
-
def start_new_request(self) -> threading.Event:
|
19
|
-
"""Start a new request and return its cancellation event."""
|
20
|
-
with self._lock:
|
21
|
-
# Create new cancellation event for this request
|
22
|
-
self._current_cancel_event = threading.Event()
|
23
|
-
|
24
|
-
# Start keyboard monitoring
|
25
|
-
from janito.llm.enter_cancellation import get_enter_cancellation
|
26
|
-
|
27
|
-
self._keyboard_cancellation = get_enter_cancellation()
|
28
|
-
self._keyboard_cancellation.start_monitoring(self._current_cancel_event)
|
29
|
-
|
30
|
-
return self._current_cancel_event
|
31
|
-
|
32
|
-
def cancel_current_request(self) -> bool:
|
33
|
-
"""Cancel the current request if one is active."""
|
34
|
-
with self._lock:
|
35
|
-
if self._current_cancel_event is not None:
|
36
|
-
self._current_cancel_event.set()
|
37
|
-
return True
|
38
|
-
return False
|
39
|
-
|
40
|
-
def get_current_cancel_event(self) -> Optional[threading.Event]:
|
41
|
-
"""Get the current cancellation event."""
|
42
|
-
with self._lock:
|
43
|
-
return self._current_cancel_event
|
44
|
-
|
45
|
-
def clear_current_request(self):
|
46
|
-
"""Clear the current request cancellation event."""
|
47
|
-
with self._lock:
|
48
|
-
if self._keyboard_cancellation:
|
49
|
-
self._keyboard_cancellation.stop_monitoring()
|
50
|
-
self._keyboard_cancellation = None
|
51
|
-
self._current_cancel_event = None
|
52
|
-
|
53
|
-
|
54
|
-
# Global cancellation manager instance
|
55
|
-
_global_manager = None
|
56
|
-
|
57
|
-
|
58
|
-
def get_cancellation_manager() -> CancellationManager:
|
59
|
-
"""Get the global cancellation manager instance."""
|
60
|
-
global _global_manager
|
61
|
-
if _global_manager is None:
|
62
|
-
_global_manager = CancellationManager()
|
63
|
-
return _global_manager
|