cmdbox 0.6.3.2__tar.gz → 0.6.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cmdbox might be problematic. Click here for more details.
- {cmdbox-0.6.3.2/cmdbox.egg-info → cmdbox-0.6.4.1}/PKG-INFO +51 -19
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/README.md +9 -17
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/app.py +22 -7
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/common.py +9 -6
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/commons/loghandler.py +101 -20
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/commons/redis_client.py +1 -1
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/edge.py +2 -4
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/feature.py +1 -1
- cmdbox-0.6.3.2/cmdbox/app/features/cli/cmdbox_mcp_client.py → cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_agent_mcp_client.py +175 -174
- cmdbox-0.6.3.2/cmdbox/app/features/cli/cmdbox_mcp_proxy.py → cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_agent_mcp_proxy.py +96 -96
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_audit_createdb.py +224 -224
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_audit_delete.py +4 -4
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_audit_search.py +4 -4
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_audit_write.py +6 -8
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_copy.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_download.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_list.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_mkdir.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_move.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_remove.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_rmdir.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_file_upload.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_http.py +7 -6
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_client_server_info.py +4 -4
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_cmd_list.py +4 -4
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_cmd_load.py +5 -5
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_edge_config.py +1 -1
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_edge_start.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_server_list.py +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_server_start.py +103 -103
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_server_stop.py +6 -6
- cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_tts_install.py +317 -0
- cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_tts_say.py +179 -0
- cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_tts_start.py +329 -0
- cmdbox-0.6.4.1/cmdbox/app/features/cli/cmdbox_tts_stop.py +108 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_apikey_add.py +91 -91
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_apikey_del.py +91 -91
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_gencert.py +7 -7
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_genpass.py +168 -168
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_group_add.py +94 -94
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_group_del.py +87 -87
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_group_edit.py +94 -94
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_group_list.py +87 -87
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_start.py +236 -235
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_stop.py +72 -72
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_user_add.py +104 -104
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_user_del.py +87 -87
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_user_edit.py +104 -104
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_web_user_list.py +87 -87
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_agent.py +16 -4
- cmdbox-0.6.4.1/cmdbox/app/features/web/cmdbox_web_get_cmd_choices.py +32 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_save_cmd.py +1 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_versions_used.py +4 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/filer.py +9 -9
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/mcp.py +19 -8
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/options.py +52 -47
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/server.py +224 -224
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/web.py +39 -17
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/features.yml +7 -1
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_client_time.py +2 -2
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_server_time.py +3 -3
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_APScheduler_3_11_0_MIT_License.txt +19 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_Werkzeug_3_1_1_BSD_License.txt +28 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_absolufy-imports_0_3_1_MIT_License.txt +21 -0
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_typer_0_16_0_MIT_License.txt → cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_backoff_2_2_1_MIT_License.txt +1 -1
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_cyclopts_3_22_5_Apache_Software_License.txt +201 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_fastapi-sso_0_18_0_MIT_License.txt +21 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_isodate_0_7_2_BSD_License.txt +26 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_lazy-object-proxy_1_11_0_BSD_License.txt +20 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_litellm-enterprise_0_1_19_UNKNOWN.txt +37 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_oauthlib_3_3_1_BSD-3-Clause.txt +27 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_openapi-core_0_19_5_BSD_License.txt +29 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_openapi-schema-validator_0_6_3_BSD_License.txt +29 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_openapi-spec-validator_0_7_2_Apache_Software_License.txt +201 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_opentelemetry-semantic-conventions_0_57b0_UNKNOWN.txt +201 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_orjson_3_11_1_Apache_Software_License-MIT_License.txt +201 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_parse_1_20_2_MIT_License.txt +19 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_pathable_0_4_4_Apache_Software_License.txt +201 -0
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_pillow_11_2_1_UNKNOWN.txt → cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_pillow_11_3_0_UNKNOWN.txt +393 -3
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_pyperclip_1_9_0_BSD_License.txt +27 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_rfc3339-validator_0_1_4_MIT_License.txt +22 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_rich-rst_1_3_1_MIT_License.txt +7 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_setuptools_80_9_0_UNKNOWN.txt +17 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_tokenizers_0_21_4_Apache_Software_License.txt +1 -0
- cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_watchdog_6_0_0_Apache_Software_License.txt +16 -0
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_httptools_0_6_4_MIT_License.txt → cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_wsproto_1_2_0_MIT_License.txt +3 -3
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/files.txt +69 -50
- cmdbox-0.6.4.1/cmdbox/logconf_cmdbox.yml +179 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/version.py +2 -2
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/agent.html +16 -2
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/agent.js +226 -1
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/common.js +20 -25
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/svgicon.js +18 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1/cmdbox.egg-info}/PKG-INFO +51 -19
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox.egg-info/SOURCES.txt +75 -59
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox.egg-info/requires.txt +3 -1
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/setup.py +3 -1
- cmdbox-0.6.3.2/cmdbox/app/features/web/cmdbox_web_get_cmd_choices.py +0 -24
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_setuptools_65_5_0_MIT_License.txt +0 -19
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_shellingham_1_5_4_ISC_License-ISCL.txt +0 -13
- cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_watchfiles_1_1_0_MIT_License.txt +0 -21
- cmdbox-0.6.3.2/cmdbox/logconf_audit.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_client.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_cmdbox.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_edge.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_gui.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_mcp.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_server.yml +0 -43
- cmdbox-0.6.3.2/cmdbox/logconf_web.yml +0 -43
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/LICENSE +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/MANIFEST.in +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/__main__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/azure_signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/azure_signin_saml.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/github_signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/google_signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/auth/signin_saml.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/client.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/commons/convert.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/commons/module.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/edge_tool.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/agent_base.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/audit_base.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_gui_start.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/cli/cmdbox_gui_stop.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_assets.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_audit.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_audit_metrics.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_bbforce_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_copyright.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_del_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_del_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_do_signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_do_signout.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_exec_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_exec_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_filer download.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_filer.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_filer_upload.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_get_cmds.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_get_modes.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_get_server_opt.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_gui.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_gui_callback.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_list_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_list_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_load_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_load_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_raw_cmd.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_raw_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_result.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_save_pipe.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_signin.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_user_data.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_users.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_usesignout.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/app/features/web/cmdbox_web_versions_cmdbox.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/autoload.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/.vscode/launch.json +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/requirements.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/__main__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/app/app.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/app/features/cli/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/app/features/web/__init__.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/extensions/features.yml +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/extensions/user_list.yml +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/logconf_sample.yml +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/version.py +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/web/assets/sample/favicon.ico +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/sample_project/sample/web/assets/sample/icon.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/extensions/user_list.yml +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_Authlib_1_6_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_Authlib_1_6_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_Jinja2_3_1_6_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_MarkupSafe_3_0_2_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_PyJWT_2_10_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_PyYAML_6_0_2_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_Pygments_2_19_2_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_SQLAlchemy_2_0_41_MIT.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_SQLAlchemy_2_0_43_MIT.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_Sphinx_8_2_3_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_aiohappyeyeballs_2_6_1_Python_Software_Foundation_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_aiohttp_3_12_13_Apache-2_0.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_aiohttp_3_12_15_Apache-2_0_AND_MIT.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_aiosignal_1_3_2_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_aiosignal_1_4_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_alabaster_1_0_0_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_annotated-types_0_7_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_anyio_4_9_0_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_anyio_4_10_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_argcomplete_3_6_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_async-timeout_5_0_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_attrs_25_3_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_babel_2_17_0_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_backports_tarfile_1_2_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_cachetools_5_5_2_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_certifi_2025_6_15_Mozilla_Public_License_2_0-MPL_2_0.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_certifi_2025_8_3_Mozilla_Public_License_2_0-MPL_2_0.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_cffi_1_17_1_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_charset-normalizer_3_4_2_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_charset-normalizer_3_4_3_MIT.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_click_8_2_1_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_cloudpickle_3_1_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_colorama_0_4_6_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_cryptography_45_0_4_Apache-2_0_OR_BSD-3-Clause.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_cryptography_45_0_6_Apache-2_0_OR_BSD-3-Clause.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_distro_1_9_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_dnspython_2_7_0_ISC_License-ISCL.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_docstring_parser_0_16_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_docstring_parser_0_17_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_docutils_0_21_2_BSD_License-GNU_General_Public_License-GPL-Public_Domain-Python_Software_Foundation_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_email_validator_2_2_0_The_Unlicense-Unlicense.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_exceptiongroup_1_3_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_fastapi_0_115_14_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_fastapi_0_116_1_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_fastmcp_2_10_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_fastmcp_2_11_3_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_filelock_3_18_0_The_Unlicense-Unlicense.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_frozenlist_1_7_0_Apache-2_0.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_fsspec_2025_5_1_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_fsspec_2025_7_0_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_gevent_25_5_1_MIT.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_google-adk_1_5_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_google-adk_1_10_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-api-core_2_25_1_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_google-api-python-client_2_174_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_google-api-python-client_2_178_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-auth-httplib2_0_2_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-auth_2_40_3_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_google-cloud-aiplatform_1_100_0_Apache_2_0.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_google-cloud-aiplatform_1_108_0_Apache_2_0.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-appengine-logging_1_6_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-audit-log_0_3_2_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_google-cloud-bigquery_3_34_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_google-cloud-bigquery_3_35_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-core_2_4_3_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-logging_3_12_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-resource-manager_1_14_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-secret-manager_2_24_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-speech_2_33_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-storage_2_19_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-cloud-trace_1_16_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-crc32c_1_7_1_Apache_2_0.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_google-genai_1_23_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_google-genai_1_29_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_google-resumable-media_2_7_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_googleapis-common-protos_1_70_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_graphviz_0_21_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_greenlet_3_2_3_MIT_AND_Python-2_0.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_greenlet_3_2_4_MIT_AND_Python-2_0.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_grpc-google-iam-v1_0_14_2_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_grpcio-status_1_73_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_grpcio-status_1_74_0_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_grpcio_1_73_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_grpcio_1_74_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_gunicorn_23_0_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_h11_0_16_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_httpcore_1_0_9_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_httplib2_0_22_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_httpx-sse_0_4_1_MIT.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_httpx_0_28_1_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_huggingface-hub_0_33_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_huggingface-hub_0_34_4_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_id_1_5_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_idna_3_10_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_imagesize_1_4_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_importlib_metadata_8_7_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_itsdangerous_2_2_0_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_jaraco_classes_3_4_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_jaraco_context_6_0_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_jaraco_functools_4_2_1_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_jiter_0_10_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_opentelemetry-api_1_34_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_jsonschema-path_0_3_4_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_jsonschema-specifications_2025_4_1_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_jsonschema_4_24_0_UNKNOWN.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_jsonschema_4_25_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_keyring_25_6_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_litellm_1_73_6_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_litellm_1_75_5_post1_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_markdown-it-py_3_0_0_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_markdown-it-py_4_0_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_mcp_1_10_1_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_mcp_1_12_4_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_mdurl_0_1_2_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_more-itertools_10_7_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_multidict_6_6_2_Apache_License_2_0.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_multidict_6_6_4_Apache_License_2_0.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_nh3_0_2_21_MIT.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_nh3_0_3_0_MIT.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_numpy_2_3_1_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_numpy_2_3_2_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_openai_1_93_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_openai_1_99_9_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_openapi-pydantic_0_5_1_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_opentelemetry-exporter-gcp-trace_1_9_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_opentelemetry-api_1_36_0_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_opentelemetry-resourcedetector-gcp_1_9_0a0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_opentelemetry-exporter-gcp-trace_1_9_0_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_opentelemetry-sdk_1_34_1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_opentelemetry-resourcedetector-gcp_1_9_0a0_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_opentelemetry-semantic-conventions_0_55b1_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_opentelemetry-sdk_1_36_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_packaging_25_0_Apache_Software_License-BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pip_24_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_plyer_2_1_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_prettytable_3_16_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_prompt_toolkit_3_0_51_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_propcache_0_3_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_proto-plus_1_26_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_protobuf_6_31_1_3-Clause_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_psycopg-binary_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_psycopg_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pyasn1_0_6_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pyasn1_modules_0_4_2_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pycparser_2_22_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pycryptodome_3_23_0_BSD_License-Public_Domain.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pydantic-settings_2_10_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pydantic_2_11_7_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pydantic_core_2_33_2_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pyparsing_3_2_3_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pystray_0_19_5_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_python-dateutil_2_9_0_post0_Apache_Software_License-BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_python-dotenv_1_1_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_python-multipart_0_0_20_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_pywin32-ctypes_0_2_3_BSD-3-Clause.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-applehelp_2_0_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_pywin32_311_Python_Software_Foundation_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_questionary_2_1_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_readme_renderer_44_0_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_redis_6_2_0_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_redis_6_4_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_referencing_0_36_2_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_regex_2024_11_6_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_regex_2025_7_34_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_requests-toolbelt_1_0_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_requests_2_32_4_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_rfc3986_2_0_0_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_rich_14_0_0_MIT_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_rich_14_1_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_roman-numerals-py_3_1_0_CC0_1_0_Universal-CC0_1_0-Public_Domain_Dedication-Zero-Clause_BSD-0BSD.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_rpds-py_0_25_1_MIT.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_rpds-py_0_27_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_rsa_4_9_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_shapely_2_1_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_six_1_17_0_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sniffio_1_3_1_Apache_Software_License-MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_snowballstemmer_3_0_1_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinx-intl_2_3_1_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinx-intl_2_3_2_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sphinx-last-updated-by-git_0_3_8_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sphinx-rtd-theme_3_0_2_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sphinx-sitemap_2_7_2_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sphinx_fontawesome_0_0_6_GNU_General_Public_License_v2-GPLv2.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-devhelp_2_0_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-applehelp_2_0_0_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-htmlhelp_2_1_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-devhelp_2_0_0_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-jquery_4_1_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-htmlhelp_2_1_0_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-qthelp_2_0_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-jquery_4_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_sphinxcontrib-jsmath_1_0_1_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sphinxcontrib-serializinghtml_2_0_0_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-qthelp_2_0_0_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_tokenizers_0_21_2_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sphinxcontrib-serializinghtml_2_0_0_BSD_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_sse-starlette_2_3_6_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_sse-starlette_3_0_2_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_starlette_0_46_2_BSD_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_starlette_0_47_2_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_tabulate_0_9_0_MIT_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_tenacity_8_5_0_Apache_Software_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_tenacity_9_1_2_Apache_Software_License.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_tiktoken_0_9_0_MIT_License-Copyright-c-2022_OpenAI-Shantanu_Jain-Permission_is_hereby_granted-free_of_charge-to_any_pers.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_tiktoken_0_11_0_MIT_License-Copyright-c-2022_OpenAI-Shantanu_Jain-Permission_is_hereby_granted-free_of_charge-to_any_per.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_tomli_2_2_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_tqdm_4_67_1_MIT_License-Mozilla_Public_License_2_0-MPL_2_0.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_twine_6_1_0_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_typing-inspection_0_4_1_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_typing_extensions_4_14_0_UNKNOWN.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_typing_extensions_4_14_1_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_tzdata_2025_2_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_tzlocal_5_3_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_uritemplate_4_2_0_BSD_3-Clause_OR_Apache-2_0.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_urllib3_2_5_0_UNKNOWN.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_uvicorn_0_35_0_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_wcwidth_0_2_13_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_websockets_15_0_1_BSD_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_wheel_0_45_1_MIT_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_yarl_1_20_1_Apache_Software_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_zipp_3_23_0_UNKNOWN.txt +0 -0
- /cmdbox-0.6.3.2/cmdbox/licenses/LICENSE_zope_event_5_1_Zope_Public_License.txt → /cmdbox-0.6.4.1/cmdbox/licenses/LICENSE_zope_event_5_1_1_Zope_Public_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/licenses/LICENSE_zope_interface_7_2_Zope_Public_License.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/apexcharts/apexcharts.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/apexcharts/apexcharts.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/bootstrap/bootstrap.bundle.min.5.3.0.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/bootstrap/bootstrap.min.5.3.0.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/audit.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/color_mode.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/favicon.ico +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/filer_modal.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/icon.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/list_cmd.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/list_pipe.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/main.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/open_capture.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/open_output_json.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/result.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/signin.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/users.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/view_raw.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/cmdbox/view_result.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/encodingjs/LICENSE.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/encodingjs/encoding.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/encodingjs/encoding.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/filer/filer.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/filer/main.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/filer/main.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/highlight/default.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/highlight/highlight.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/highlight/styles/tokyo-night-dark.min.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery/jquery.min.3.2.0.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-linedtextarea/README.md +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea-license.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-resizable/jquery-resizable.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/AUTHORS.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/LICENSE.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/jquery-ui.min.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/jquery-ui.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/jquery-ui.structure.min.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/jquery-ui.theme.min.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/jquery-ui/package.json +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/css/lightbox.min.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/images/close.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/images/loading.gif +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/images/next.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/images/prev.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/lightbox2/js/lightbox.min.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/split-pane/split-pane.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/split-pane/split-pane.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/tree-menu/css/tree-menu.css +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/tree-menu/image/file.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/tree-menu/image/folder-close.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/tree-menu/image/folder-open.png +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets/tree-menu/js/tree-menu.js +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/assets_license_list.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/audit.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/filer.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/gui.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/result.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/signin.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox/web/users.html +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox.egg-info/dependency_links.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox.egg-info/entry_points.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/cmdbox.egg-info/top_level.txt +0 -0
- {cmdbox-0.6.3.2 → cmdbox-0.6.4.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: cmdbox
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4.1
|
|
4
4
|
Summary: cmdbox: It is a command line application with a plugin mechanism.
|
|
5
5
|
Home-page: https://github.com/hamacom2004jp/cmdbox
|
|
6
6
|
Download-URL: https://github.com/hamacom2004jp/cmdbox
|
|
@@ -21,6 +21,46 @@ Classifier: Topic :: Utilities
|
|
|
21
21
|
Requires-Python: >=3.8
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
|
+
Requires-Dist: argcomplete
|
|
25
|
+
Requires-Dist: async-timeout
|
|
26
|
+
Requires-Dist: cryptography
|
|
27
|
+
Requires-Dist: fastapi
|
|
28
|
+
Requires-Dist: gevent
|
|
29
|
+
Requires-Dist: gunicorn
|
|
30
|
+
Requires-Dist: itsdangerous
|
|
31
|
+
Requires-Dist: numpy
|
|
32
|
+
Requires-Dist: Pillow
|
|
33
|
+
Requires-Dist: plyer
|
|
34
|
+
Requires-Dist: psycopg[binary]
|
|
35
|
+
Requires-Dist: pyjwt
|
|
36
|
+
Requires-Dist: pystray
|
|
37
|
+
Requires-Dist: python-multipart
|
|
38
|
+
Requires-Dist: pycryptodome
|
|
39
|
+
Requires-Dist: pyyaml
|
|
40
|
+
Requires-Dist: questionary
|
|
41
|
+
Requires-Dist: redis
|
|
42
|
+
Requires-Dist: requests
|
|
43
|
+
Requires-Dist: rich
|
|
44
|
+
Requires-Dist: six
|
|
45
|
+
Requires-Dist: tabulate
|
|
46
|
+
Requires-Dist: uvicorn
|
|
47
|
+
Requires-Dist: wsproto
|
|
48
|
+
Requires-Dist: wheel
|
|
49
|
+
Dynamic: author
|
|
50
|
+
Dynamic: author-email
|
|
51
|
+
Dynamic: classifier
|
|
52
|
+
Dynamic: description
|
|
53
|
+
Dynamic: description-content-type
|
|
54
|
+
Dynamic: download-url
|
|
55
|
+
Dynamic: home-page
|
|
56
|
+
Dynamic: keywords
|
|
57
|
+
Dynamic: license
|
|
58
|
+
Dynamic: license-file
|
|
59
|
+
Dynamic: maintainer
|
|
60
|
+
Dynamic: maintainer-email
|
|
61
|
+
Dynamic: requires-dist
|
|
62
|
+
Dynamic: requires-python
|
|
63
|
+
Dynamic: summary
|
|
24
64
|
|
|
25
65
|
# cmdbox (Command Development Application)
|
|
26
66
|
|
|
@@ -52,6 +92,7 @@ apt-get install -y pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl buil
|
|
|
52
92
|
- When using `--agent use` in web mode, install the modules with dependencies.
|
|
53
93
|
```bash
|
|
54
94
|
pip install google-adk litellm fastmcp
|
|
95
|
+
pip install backoff cryptography orjson apscheduler litellm-enterprise email-validator fastapi-sso
|
|
55
96
|
```
|
|
56
97
|
|
|
57
98
|
# Run
|
|
@@ -159,8 +200,8 @@ class ClientTime(feature.Feature):
|
|
|
159
200
|
ret = dict(success=dict(data=dt.strftime('%Y-%m-%d %H:%M:%S')))
|
|
160
201
|
common.print_format(ret, args.format, tm, args.output_json, args.output_json_append, pf=pf)
|
|
161
202
|
if 'success' not in ret:
|
|
162
|
-
return
|
|
163
|
-
return
|
|
203
|
+
return self.RESP_WARN, ret, None
|
|
204
|
+
return self.RESP_SUCCESS, ret, None
|
|
164
205
|
|
|
165
206
|
def edgerun(self, opt, tool, logger, timeout, prevres = None):
|
|
166
207
|
status, res = tool.exec_cmd(opt, logger, timeout, prevres)
|
|
@@ -229,8 +270,8 @@ class ServerTime(feature.Feature):
|
|
|
229
270
|
retry_count=args.retry_count, retry_interval=args.retry_interval, timeout=args.timeout)
|
|
230
271
|
common.print_format(ret, args.format, tm, args.output_json, args.output_json_append, pf=pf)
|
|
231
272
|
if 'success' not in ret:
|
|
232
|
-
return
|
|
233
|
-
return
|
|
273
|
+
return self.RESP_WARN, ret, None
|
|
274
|
+
return self.RESP_SUCCESS, ret, None
|
|
234
275
|
|
|
235
276
|
def is_cluster_redirect(self):
|
|
236
277
|
return False
|
|
@@ -242,7 +283,7 @@ class ServerTime(feature.Feature):
|
|
|
242
283
|
dt = datetime.datetime.now(tz)
|
|
243
284
|
ret = dict(success=dict(data=dt.strftime('%Y-%m-%d %H:%M:%S')))
|
|
244
285
|
redis_cli.rpush(msg[1], ret)
|
|
245
|
-
return self.
|
|
286
|
+
return self.RESP_SUCCESS
|
|
246
287
|
|
|
247
288
|
def edgerun(self, opt, tool, logger, timeout, prevres = None):
|
|
248
289
|
status, res = tool.exec_cmd(opt, logger, timeout, prevres)
|
|
@@ -300,20 +341,11 @@ aliases: # Specify the alias for the specified co
|
|
|
300
341
|
agentrule: # Specifies a list of rules that determine which commands the agent can execute.
|
|
301
342
|
policy: deny # Specify the default policy for the rule. The value can be allow or deny.
|
|
302
343
|
rules: # Specify the rules for the commands that the agent can execute according to the group to which the user belongs.
|
|
303
|
-
- mode:
|
|
304
|
-
cmds: [
|
|
344
|
+
- mode: cmd # Specify the "mode" as the condition for applying the rule.
|
|
345
|
+
cmds: [list, load] # Specify the "cmd" to which the rule applies. Multiple items can be specified in a list.
|
|
305
346
|
rule: allow # Specifies whether the specified command is allowed or not. Values are allow or deny.
|
|
306
347
|
- mode: client
|
|
307
|
-
cmds: [
|
|
308
|
-
rule: allow
|
|
309
|
-
- mode: cmd
|
|
310
|
-
cmds: [list, load]
|
|
311
|
-
rule: allow
|
|
312
|
-
- mode: server
|
|
313
|
-
cmds: [list]
|
|
314
|
-
rule: allow
|
|
315
|
-
- mode: web
|
|
316
|
-
cmds: [gencert, genpass, group_list, user_list]
|
|
348
|
+
cmds: [http]
|
|
317
349
|
rule: allow
|
|
318
350
|
audit:
|
|
319
351
|
enabled: true # Specify whether to enable the audit function.
|
|
@@ -28,6 +28,7 @@ apt-get install -y pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl buil
|
|
|
28
28
|
- When using `--agent use` in web mode, install the modules with dependencies.
|
|
29
29
|
```bash
|
|
30
30
|
pip install google-adk litellm fastmcp
|
|
31
|
+
pip install backoff cryptography orjson apscheduler litellm-enterprise email-validator fastapi-sso
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
# Run
|
|
@@ -135,8 +136,8 @@ class ClientTime(feature.Feature):
|
|
|
135
136
|
ret = dict(success=dict(data=dt.strftime('%Y-%m-%d %H:%M:%S')))
|
|
136
137
|
common.print_format(ret, args.format, tm, args.output_json, args.output_json_append, pf=pf)
|
|
137
138
|
if 'success' not in ret:
|
|
138
|
-
return
|
|
139
|
-
return
|
|
139
|
+
return self.RESP_WARN, ret, None
|
|
140
|
+
return self.RESP_SUCCESS, ret, None
|
|
140
141
|
|
|
141
142
|
def edgerun(self, opt, tool, logger, timeout, prevres = None):
|
|
142
143
|
status, res = tool.exec_cmd(opt, logger, timeout, prevres)
|
|
@@ -205,8 +206,8 @@ class ServerTime(feature.Feature):
|
|
|
205
206
|
retry_count=args.retry_count, retry_interval=args.retry_interval, timeout=args.timeout)
|
|
206
207
|
common.print_format(ret, args.format, tm, args.output_json, args.output_json_append, pf=pf)
|
|
207
208
|
if 'success' not in ret:
|
|
208
|
-
return
|
|
209
|
-
return
|
|
209
|
+
return self.RESP_WARN, ret, None
|
|
210
|
+
return self.RESP_SUCCESS, ret, None
|
|
210
211
|
|
|
211
212
|
def is_cluster_redirect(self):
|
|
212
213
|
return False
|
|
@@ -218,7 +219,7 @@ class ServerTime(feature.Feature):
|
|
|
218
219
|
dt = datetime.datetime.now(tz)
|
|
219
220
|
ret = dict(success=dict(data=dt.strftime('%Y-%m-%d %H:%M:%S')))
|
|
220
221
|
redis_cli.rpush(msg[1], ret)
|
|
221
|
-
return self.
|
|
222
|
+
return self.RESP_SUCCESS
|
|
222
223
|
|
|
223
224
|
def edgerun(self, opt, tool, logger, timeout, prevres = None):
|
|
224
225
|
status, res = tool.exec_cmd(opt, logger, timeout, prevres)
|
|
@@ -276,20 +277,11 @@ aliases: # Specify the alias for the specified co
|
|
|
276
277
|
agentrule: # Specifies a list of rules that determine which commands the agent can execute.
|
|
277
278
|
policy: deny # Specify the default policy for the rule. The value can be allow or deny.
|
|
278
279
|
rules: # Specify the rules for the commands that the agent can execute according to the group to which the user belongs.
|
|
279
|
-
- mode:
|
|
280
|
-
cmds: [
|
|
280
|
+
- mode: cmd # Specify the "mode" as the condition for applying the rule.
|
|
281
|
+
cmds: [list, load] # Specify the "cmd" to which the rule applies. Multiple items can be specified in a list.
|
|
281
282
|
rule: allow # Specifies whether the specified command is allowed or not. Values are allow or deny.
|
|
282
283
|
- mode: client
|
|
283
|
-
cmds: [
|
|
284
|
-
rule: allow
|
|
285
|
-
- mode: cmd
|
|
286
|
-
cmds: [list, load]
|
|
287
|
-
rule: allow
|
|
288
|
-
- mode: server
|
|
289
|
-
cmds: [list]
|
|
290
|
-
rule: allow
|
|
291
|
-
- mode: web
|
|
292
|
-
cmds: [gencert, genpass, group_list, user_list]
|
|
284
|
+
cmds: [http]
|
|
293
285
|
rule: allow
|
|
294
286
|
audit:
|
|
295
287
|
enabled: true # Specify whether to enable the audit function.
|
|
@@ -6,6 +6,7 @@ import argparse
|
|
|
6
6
|
import argcomplete
|
|
7
7
|
import logging
|
|
8
8
|
import time
|
|
9
|
+
import threading
|
|
9
10
|
import sys
|
|
10
11
|
|
|
11
12
|
|
|
@@ -58,6 +59,8 @@ class CmdBoxApp:
|
|
|
58
59
|
|
|
59
60
|
# プラグイン読込み
|
|
60
61
|
sfeatureloadtime = time.perf_counter()
|
|
62
|
+
self.options._load_features_yml(self.ver, logger=self.default_logger)
|
|
63
|
+
self.options.load_features_agentrule(self.default_logger)
|
|
61
64
|
self.options.load_svcmd('cmdbox.app.features.cli', prefix="cmdbox_", excludes=[], appcls=self.appcls, ver=self.ver, logger=self.default_logger,
|
|
62
65
|
isloaded=self.options.is_features_loaded('cli'))
|
|
63
66
|
if self.cli_features_packages is not None:
|
|
@@ -92,7 +95,7 @@ class CmdBoxApp:
|
|
|
92
95
|
except argparse.ArgumentError as e:
|
|
93
96
|
msg = dict(warn=f"ArgumentError: {e}")
|
|
94
97
|
common.print_format(msg, False, 0, None, False)
|
|
95
|
-
return
|
|
98
|
+
return feature.Feature.RESP_WARN, msg, None
|
|
96
99
|
# 起動時引数で指定されたオプションをファイルから読み込んだオプションで上書きする
|
|
97
100
|
args_dict = vars(args)
|
|
98
101
|
for key, val in file_dict.items():
|
|
@@ -120,7 +123,7 @@ class CmdBoxApp:
|
|
|
120
123
|
if args.useopt is None:
|
|
121
124
|
msg = dict(warn=f"Please specify the --useopt option.")
|
|
122
125
|
common.print_format(msg, args.format, smaintime, args.output_json, args.output_json_append)
|
|
123
|
-
return
|
|
126
|
+
return feature.Feature.RESP_WARN, msg, None
|
|
124
127
|
common.saveopt(opt, args.useopt)
|
|
125
128
|
ret = dict(success=f"Save options file. {args.useopt}")
|
|
126
129
|
|
|
@@ -133,15 +136,15 @@ class CmdBoxApp:
|
|
|
133
136
|
if args.version:
|
|
134
137
|
v = self.ver.__logo__ + '\n' + self.ver.__description__
|
|
135
138
|
common.print_format(v, False, smaintime, None, False)
|
|
136
|
-
return
|
|
139
|
+
return feature.Feature.RESP_SUCCESS, v, None
|
|
137
140
|
|
|
138
141
|
if args.mode is None:
|
|
139
142
|
msg = dict(warn=f"mode is None. Please specify the --help option.")
|
|
140
143
|
common.print_format(msg, args.format, smaintime, args.output_json, args.output_json_append)
|
|
141
|
-
return
|
|
144
|
+
return feature.Feature.RESP_WARN, msg, None
|
|
142
145
|
|
|
143
146
|
sloggerinittime = time.perf_counter()
|
|
144
|
-
logger
|
|
147
|
+
logger = self.load_config(args, webcall=webcall if args.cmd != 'webcap' else True)
|
|
145
148
|
try:
|
|
146
149
|
eloggerinittime = time.perf_counter()
|
|
147
150
|
if logger.level == logging.DEBUG:
|
|
@@ -168,7 +171,19 @@ class CmdBoxApp:
|
|
|
168
171
|
else:
|
|
169
172
|
msg = dict(warn=f"Unkown mode or cmd. mode={args.mode}, cmd={args.cmd}")
|
|
170
173
|
common.print_format(msg, args.format, smaintime, args.output_json, args.output_json_append)
|
|
171
|
-
return
|
|
174
|
+
return feature.Feature.RESP_WARN, msg, None
|
|
172
175
|
finally:
|
|
173
176
|
# ログの状態をwebcallから戻す
|
|
174
|
-
|
|
177
|
+
self.load_config(args, webcall=False)
|
|
178
|
+
|
|
179
|
+
def load_config(self, args:argparse.Namespace, webcall:bool=False) -> logging.Logger:
|
|
180
|
+
"""
|
|
181
|
+
アプリケーションの設定を読み込みます。
|
|
182
|
+
"""
|
|
183
|
+
logger, _ = common.load_config(args.mode, debug=args.debug, data=args.data, webcall=webcall if args.cmd != 'webcap' else True, ver=self.ver)
|
|
184
|
+
if not hasattr(common, 'logsv') and hasattr(args, 'logsv') and args.logsv:
|
|
185
|
+
from cmdbox.app.commons import loghandler
|
|
186
|
+
common.logsv = loghandler.LogRecordTCPServer("logsv", host="localhost", port=9020, debug=args.debug)
|
|
187
|
+
threading.Thread(daemon=True, target=common.logsv.serve_until_stopped, name="logsv").start()
|
|
188
|
+
|
|
189
|
+
return logger
|
|
@@ -4,7 +4,6 @@ from cmdbox.app.commons import convert, module, loghandler
|
|
|
4
4
|
from cryptography.fernet import Fernet
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from rich.console import Console
|
|
7
|
-
from rich.logging import RichHandler
|
|
8
7
|
from tabulate import tabulate
|
|
9
8
|
from typing import List, Tuple, Dict, Any
|
|
10
9
|
import argparse
|
|
@@ -195,7 +194,7 @@ def console_log(console:Console, message:Any, highlight:bool=True, **kwargs) ->
|
|
|
195
194
|
**kwargs: その他のキーワード引数
|
|
196
195
|
"""
|
|
197
196
|
dtstr = datetime.datetime.now().strftime('[%Y-%m-%d %H:%M:%S]')
|
|
198
|
-
console.print(f"{dtstr} {message}", highlight=highlight, **kwargs)
|
|
197
|
+
console.print(f"{dtstr} {message}", highlight=highlight, crop=False, soft_wrap=True, **kwargs)
|
|
199
198
|
|
|
200
199
|
def default_logger(debug:bool=False, ver=version, webcall:bool=False) -> logging.Logger:
|
|
201
200
|
"""
|
|
@@ -245,13 +244,13 @@ def load_config(mode:str, debug:bool=False, data=HOME_DIR, webcall:bool=False, v
|
|
|
245
244
|
log_name = mode
|
|
246
245
|
if not log_conf_path.exists():
|
|
247
246
|
log_conf_path = Path(ver.__file__).parent / f"logconf_{ver.__appid__}.yml"
|
|
248
|
-
log_name =
|
|
247
|
+
log_name = mode
|
|
249
248
|
if not log_conf_path.exists():
|
|
250
249
|
log_conf_path = Path(version.__file__).parent / f"logconf_{mode}.yml"
|
|
251
250
|
log_name = mode
|
|
252
251
|
if not log_conf_path.exists():
|
|
253
252
|
log_conf_path = Path(version.__file__).parent / f"logconf_{ver.__appid__}.yml"
|
|
254
|
-
log_name =
|
|
253
|
+
log_name = mode
|
|
255
254
|
with open(log_conf_path) as f:
|
|
256
255
|
log_config = yaml.safe_load(f)
|
|
257
256
|
std_key = None
|
|
@@ -268,8 +267,12 @@ def load_config(mode:str, debug:bool=False, data=HOME_DIR, webcall:bool=False, v
|
|
|
268
267
|
for k, l in log_config['loggers'].items():
|
|
269
268
|
if 'handlers' in l and std_key in l['handlers']:
|
|
270
269
|
l['handlers'].remove(std_key)
|
|
271
|
-
if 'loggers' not in log_config
|
|
272
|
-
raise BaseException(f"Loggers not found
|
|
270
|
+
if 'loggers' not in log_config:
|
|
271
|
+
raise BaseException(f"Loggers not found at log_conf_path={log_conf_path}")
|
|
272
|
+
if log_name not in log_config['loggers']:
|
|
273
|
+
if ver.__appid__ not in log_config['loggers']:
|
|
274
|
+
raise BaseException(f"Loggers not found.({ver.__appid__}) at log_conf_path={log_conf_path}")
|
|
275
|
+
log_name = ver.__appid__
|
|
273
276
|
log_config['disable_existing_loggers'] = False # これを入れないとdictConfigで既存のロガーが無効になる
|
|
274
277
|
logging.config.dictConfig(log_config)
|
|
275
278
|
logger = logging.getLogger(log_name)
|
|
@@ -4,6 +4,11 @@ from rich.theme import Theme
|
|
|
4
4
|
import re
|
|
5
5
|
import logging
|
|
6
6
|
import logging.handlers
|
|
7
|
+
import pickle
|
|
8
|
+
import socketserver
|
|
9
|
+
import struct
|
|
10
|
+
import socket
|
|
11
|
+
|
|
7
12
|
|
|
8
13
|
class Colors:
|
|
9
14
|
S = "\033["
|
|
@@ -103,6 +108,9 @@ theme=Theme({
|
|
|
103
108
|
"repr.log_success": "green",})
|
|
104
109
|
|
|
105
110
|
class LogLevelHighlighter(highlighter.ReprHighlighter):
|
|
111
|
+
"""
|
|
112
|
+
ログメッセージのログレベルをハイライトします。
|
|
113
|
+
"""
|
|
106
114
|
def __init__(self):
|
|
107
115
|
#self.highlights = []
|
|
108
116
|
self.highlights.append(r"(?P<log_debug>DEBUG|EXEC)")
|
|
@@ -112,29 +120,12 @@ class LogLevelHighlighter(highlighter.ReprHighlighter):
|
|
|
112
120
|
self.highlights.append(r"(?P<log_fatal>FATAL|CRITICAL)")
|
|
113
121
|
self.highlights.append(r"(?P<log_product>CMDBOX|IINFER|USOUND|GAIAN|GAIC|WITSHAPE)")
|
|
114
122
|
self.highlights.append(r"(?P<log_success>SUCCESS|OK|PASSED|DONE|COMPLETE|START|FINISH|OPEN|CONNECTED|ALLOW)")
|
|
115
|
-
"""
|
|
116
|
-
self.highlights.append(r"(?P<tag_start><)(?P<tag_name>[-\w.:|]*)(?P<tag_contents>[\w\W]*)(?P<tag_end>>)")
|
|
117
|
-
self.highlights.append(r'(?P<attrib_name>[\w_]{1,50})=(?P<attrib_value>"?[\w_]+"?)?')
|
|
118
|
-
self.highlights.append(r"(?P<brace>[][{}()])")
|
|
119
|
-
self.highlights.append(highlighter._combine_regex(
|
|
120
|
-
r"(?P<ipv4>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})",
|
|
121
|
-
r"(?P<ipv6>([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})",
|
|
122
|
-
r"(?P<eui64>(?:[0-9A-Fa-f]{1,2}-){7}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{1,2}:){7}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{4}\.){3}[0-9A-Fa-f]{4})",
|
|
123
|
-
r"(?P<eui48>(?:[0-9A-Fa-f]{1,2}-){5}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{1,2}:){5}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{4}\.){2}[0-9A-Fa-f]{4})",
|
|
124
|
-
r"(?P<uuid>[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})",
|
|
125
|
-
r"(?P<call>[\w.]*?)\(",
|
|
126
|
-
r"\b(?P<bool_true>True)\b|\b(?P<bool_false>False)\b|\b(?P<none>None)\b",
|
|
127
|
-
r"(?P<ellipsis>\.\.\.)",
|
|
128
|
-
r"(?P<number_complex>(?<!\w)(?:\-?[0-9]+\.?[0-9]*(?:e[-+]?\d+?)?)(?:[-+](?:[0-9]+\.?[0-9]*(?:e[-+]?\d+)?))?j)",
|
|
129
|
-
r"(?P<number>(?<!\w)\-?[0-9]+\.?[0-9]*(e[-+]?\d+?)?\b|0x[0-9a-fA-F]*)",
|
|
130
|
-
r"(?P<path>\B(/[-\w._+]+)*\/)(?P<filename>[-\w._+]*)?",
|
|
131
|
-
r"(?<![\\\w])(?P<str>b?'''.*?(?<!\\)'''|b?'.*?(?<!\\)'|b?\"\"\".*?(?<!\\)\"\"\"|b?\".*?(?<!\\)\")",
|
|
132
|
-
r"(?P<url>(file|https|http|ws|wss)://[-0-9a-zA-Z$_+!`(),.?/;:&=%#~@]*)",
|
|
133
|
-
))
|
|
134
|
-
"""
|
|
135
123
|
self.highlights = [re.compile(h, re.IGNORECASE) for h in self.highlights]
|
|
136
124
|
|
|
137
125
|
class ColorfulStreamHandler(logging.StreamHandler):
|
|
126
|
+
"""
|
|
127
|
+
コンソールにカラフルなログメッセージを出力します。
|
|
128
|
+
"""
|
|
138
129
|
console = Console(soft_wrap=True, height=True, highlighter=LogLevelHighlighter(), theme=theme)
|
|
139
130
|
|
|
140
131
|
def emit(self, record: logging.LogRecord) -> None:
|
|
@@ -154,3 +145,93 @@ class TimedRotatingFileHandler(logging.handlers.TimedRotatingFileHandler):
|
|
|
154
145
|
record.levelname = level_mapping_nc[record.levelno]
|
|
155
146
|
super().emit(record)
|
|
156
147
|
|
|
148
|
+
class SocketHandler(logging.handlers.SocketHandler):
|
|
149
|
+
def emit(self, record: logging.LogRecord) -> None:
|
|
150
|
+
record.levelname = level_mapping_nc[record.levelno]
|
|
151
|
+
super().emit(record)
|
|
152
|
+
|
|
153
|
+
class LogRecordRequestHandler(socketserver.StreamRequestHandler):
|
|
154
|
+
"""
|
|
155
|
+
ログリクエストを処理するためのハンドラ
|
|
156
|
+
"""
|
|
157
|
+
def setup(self):
|
|
158
|
+
super().setup()
|
|
159
|
+
from cmdbox.app import common
|
|
160
|
+
common.set_debug(self._getLogger(), LogRecordTCPServer.debug)
|
|
161
|
+
|
|
162
|
+
def _getLogger(self):
|
|
163
|
+
if self.server.logname is not None:
|
|
164
|
+
name = self.server.logname
|
|
165
|
+
else:
|
|
166
|
+
name = self.logname
|
|
167
|
+
return logging.getLogger(name)
|
|
168
|
+
|
|
169
|
+
def handle(self):
|
|
170
|
+
"""
|
|
171
|
+
ログリクエストを処理します。
|
|
172
|
+
"""
|
|
173
|
+
while True:
|
|
174
|
+
chunk = self.connection.recv(4)
|
|
175
|
+
if len(chunk) < 4:
|
|
176
|
+
break
|
|
177
|
+
slen = struct.unpack('>L', chunk)[0]
|
|
178
|
+
chunk = self.connection.recv(slen)
|
|
179
|
+
while len(chunk) < slen:
|
|
180
|
+
chunk = chunk + self.connection.recv(slen - len(chunk))
|
|
181
|
+
obj = self.unPickle(chunk)
|
|
182
|
+
record = logging.makeLogRecord(obj)
|
|
183
|
+
self.handleLogRecord(record)
|
|
184
|
+
|
|
185
|
+
def unPickle(self, data):
|
|
186
|
+
return pickle.loads(data)
|
|
187
|
+
|
|
188
|
+
def handleLogRecord(self, record):
|
|
189
|
+
logger = self._getLogger()
|
|
190
|
+
logger.handle(record)
|
|
191
|
+
|
|
192
|
+
class LogRecordTCPServer(socketserver.ThreadingTCPServer):
|
|
193
|
+
"""
|
|
194
|
+
ログレコードを受信するためのTCPサーバー。
|
|
195
|
+
"""
|
|
196
|
+
# 停止後すぐにサーバーを再起動できるようにする
|
|
197
|
+
allow_reuse_address = True
|
|
198
|
+
|
|
199
|
+
def __init__(self, logname, host='localhost', port=logging.handlers.DEFAULT_TCP_LOGGING_PORT,
|
|
200
|
+
handler=LogRecordRequestHandler, debug=False):
|
|
201
|
+
"""
|
|
202
|
+
コンストラクタ
|
|
203
|
+
|
|
204
|
+
Args:
|
|
205
|
+
logname (str): ログ名
|
|
206
|
+
host (str): ホスト名
|
|
207
|
+
port (int): ポート番号
|
|
208
|
+
handler (socketserver.RequestHandler): リクエストハンドラ
|
|
209
|
+
debug (bool): デバッグモード
|
|
210
|
+
"""
|
|
211
|
+
socketserver.ThreadingTCPServer.__init__(self, (host, port), handler, bind_and_activate=False)
|
|
212
|
+
self.allow_reuse_address = False
|
|
213
|
+
self.allow_reuse_port = False
|
|
214
|
+
self.request_queue_size = 15
|
|
215
|
+
self.abort = 0
|
|
216
|
+
self.timeout = 1
|
|
217
|
+
self.logname = logname
|
|
218
|
+
self.handler = handler
|
|
219
|
+
LogRecordTCPServer.debug = debug
|
|
220
|
+
|
|
221
|
+
def serve_until_stopped(self):
|
|
222
|
+
import select
|
|
223
|
+
abort = 0
|
|
224
|
+
try:
|
|
225
|
+
self.server_bind()
|
|
226
|
+
self.server_activate()
|
|
227
|
+
except:
|
|
228
|
+
# すでにlogsvが起動中の場合は待機しない
|
|
229
|
+
self.server_close()
|
|
230
|
+
abort = 1
|
|
231
|
+
while not abort:
|
|
232
|
+
rd, wr, ex = select.select([self.socket.fileno()],
|
|
233
|
+
[], [],
|
|
234
|
+
self.timeout)
|
|
235
|
+
if rd:
|
|
236
|
+
self.handle_request()
|
|
237
|
+
abort = self.abort
|
|
@@ -104,7 +104,7 @@ class RedisClient(object):
|
|
|
104
104
|
i = 0
|
|
105
105
|
return True
|
|
106
106
|
except redis.exceptions.ConnectionError as e:
|
|
107
|
-
self.logger.warning(f"fail to ping server. {e}")
|
|
107
|
+
self.logger.warning(f"fail to ping server. {self.host}:{self.port}, error={e}")
|
|
108
108
|
if i >= retry_count and retry_count > 0:
|
|
109
109
|
return False
|
|
110
110
|
time.sleep(retry_interval if retry_interval > 0 else 5)
|
|
@@ -9,7 +9,6 @@ from uvicorn.config import Config
|
|
|
9
9
|
import argparse
|
|
10
10
|
import json
|
|
11
11
|
import logging
|
|
12
|
-
import locale
|
|
13
12
|
import queue
|
|
14
13
|
import requests
|
|
15
14
|
import time
|
|
@@ -54,7 +53,6 @@ class Edge(object):
|
|
|
54
53
|
|
|
55
54
|
import questionary
|
|
56
55
|
ref_opts = self.options.get_cmd_choices(edge_mode, edge_cmd)
|
|
57
|
-
language, _ = locale.getlocale()
|
|
58
56
|
edge_dir = Path(self.data) / '.edge'
|
|
59
57
|
common.mkdirs(edge_dir)
|
|
60
58
|
conf_file = edge_dir / 'edge.conf'
|
|
@@ -96,7 +94,7 @@ class Edge(object):
|
|
|
96
94
|
default = str(default) if isinstance(default, int) or isinstance(default, float) else default
|
|
97
95
|
description_ja = r['description_ja'] if 'description_ja' in r else None
|
|
98
96
|
description_en = r['description_en'] if 'description_en' in r else None
|
|
99
|
-
help = description_en if
|
|
97
|
+
help = description_en if not common.is_japan() else description_ja
|
|
100
98
|
choice = r['choice'] if 'choice' in r else None
|
|
101
99
|
choice = [str(c) for c in choice] if choice is not None else None
|
|
102
100
|
required = r['required'] if 'required' in r else False
|
|
@@ -676,7 +674,7 @@ class Edge(object):
|
|
|
676
674
|
if time.time() - tm > oauth2_timeout:
|
|
677
675
|
return 1, dict(warn="Signin Timeout.")
|
|
678
676
|
time.sleep(1)
|
|
679
|
-
return
|
|
677
|
+
return feature.Feature.RESP_SUCCESS, dict(success="Signin success.")
|
|
680
678
|
|
|
681
679
|
# saml認証を使用する場合
|
|
682
680
|
elif auth_type == "saml":
|