cmdbox 0.6.4.2__tar.gz → 0.6.5__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.

Files changed (416) hide show
  1. {cmdbox-0.6.4.2/cmdbox.egg-info → cmdbox-0.6.5}/PKG-INFO +3 -1
  2. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/app.py +7 -0
  3. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/client.py +4 -3
  4. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/common.py +85 -7
  5. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/commons/convert.py +3 -1
  6. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/edge.py +12 -12
  7. cmdbox-0.6.4.2/cmdbox/app/features/cli/cmdbox_vision_install.py → cmdbox-0.6.5/cmdbox/app/features/cli/_cmdbox_vision_install.py +2 -1
  8. cmdbox-0.6.5/cmdbox/app/features/cli/_cmdbox_vision_predict.py +496 -0
  9. cmdbox-0.6.4.2/cmdbox/app/features/cli/cmdbox_vision_start.py → cmdbox-0.6.5/cmdbox/app/features/cli/_cmdbox_vision_start.py +5 -1
  10. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_cmd_list.py +3 -3
  11. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_cmd_load.py +3 -3
  12. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_tts_install.py +4 -2
  13. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_tts_say.py +2 -1
  14. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_apikey_add.py +3 -3
  15. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_apikey_del.py +3 -3
  16. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_group_add.py +3 -3
  17. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_group_del.py +3 -3
  18. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_group_edit.py +3 -3
  19. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_group_list.py +3 -3
  20. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_start.py +10 -10
  21. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_user_add.py +3 -3
  22. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_user_del.py +3 -3
  23. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_user_edit.py +3 -3
  24. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_user_list.py +3 -3
  25. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_exec_cmd.py +12 -14
  26. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/filer.py +5 -2
  27. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/mcp.py +4 -3
  28. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/options.py +8 -0
  29. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/web.py +50 -36
  30. cmdbox-0.6.5/cmdbox/licenses/LICENSE_Hypercorn_0_17_3_MIT_License.txt +22 -0
  31. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_cffi_1_17_1_MIT_License.txt → cmdbox-0.6.5/cmdbox/licenses/LICENSE_cffi_2_0_0_UNKNOWN.txt +2 -5
  32. cmdbox-0.6.5/cmdbox/licenses/LICENSE_h2_4_3_0_MIT_License.txt +21 -0
  33. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_backoff_2_2_1_MIT_License.txt → cmdbox-0.6.5/cmdbox/licenses/LICENSE_hpack_4_1_0_MIT_License.txt +1 -1
  34. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_graphviz_0_21_UNKNOWN.txt → cmdbox-0.6.5/cmdbox/licenses/LICENSE_hyperframe_6_1_0_MIT_License.txt +1 -1
  35. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_rpds-py_0_27_0_UNKNOWN.txt → cmdbox-0.6.5/cmdbox/licenses/LICENSE_priority_2_0_0_MIT_License.txt +2 -2
  36. cmdbox-0.6.5/cmdbox/licenses/files.txt +98 -0
  37. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/version.py +2 -2
  38. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/svgicon.js +9 -0
  39. {cmdbox-0.6.4.2 → cmdbox-0.6.5/cmdbox.egg-info}/PKG-INFO +3 -1
  40. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox.egg-info/SOURCES.txt +29 -129
  41. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox.egg-info/requires.txt +2 -0
  42. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/setup.py +2 -0
  43. cmdbox-0.6.4.2/cmdbox/app/features/cli/cmdbox_vision_predict.py +0 -192
  44. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_APScheduler_3_11_0_MIT_License.txt +0 -19
  45. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_Authlib_1_6_1_BSD_License.txt +0 -29
  46. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_SQLAlchemy_2_0_43_MIT.txt +0 -19
  47. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_Werkzeug_3_1_1_BSD_License.txt +0 -28
  48. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_absolufy-imports_0_3_1_MIT_License.txt +0 -21
  49. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_aiohttp_3_12_15_Apache-2_0_AND_MIT.txt +0 -13
  50. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_aiosignal_1_4_0_Apache_Software_License.txt +0 -201
  51. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_attrs_25_3_0_UNKNOWN.txt +0 -21
  52. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_cachetools_5_5_2_MIT_License.txt +0 -20
  53. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_cloudpickle_3_1_1_BSD_License.txt +0 -1
  54. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_cyclopts_3_22_5_Apache_Software_License.txt +0 -201
  55. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_distro_1_9_0_Apache_Software_License.txt +0 -202
  56. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_dnspython_2_7_0_ISC_License-ISCL.txt +0 -35
  57. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_docstring_parser_0_17_0_MIT_License.txt +0 -21
  58. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_email_validator_2_2_0_The_Unlicense-Unlicense.txt +0 -27
  59. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_exceptiongroup_1_3_0_MIT_License.txt +0 -73
  60. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_fastapi-sso_0_18_0_MIT_License.txt +0 -21
  61. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_fastmcp_2_11_3_Apache_Software_License.txt +0 -201
  62. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_filelock_3_18_0_The_Unlicense-Unlicense.txt +0 -24
  63. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_frozenlist_1_7_0_Apache-2_0.txt +0 -201
  64. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_fsspec_2025_7_0_BSD_License.txt +0 -29
  65. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-adk_1_10_0_Apache_Software_License.txt +0 -202
  66. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-api-core_2_25_1_Apache_Software_License.txt +0 -202
  67. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-api-python-client_2_178_0_Apache_Software_License.txt +0 -201
  68. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-auth-httplib2_0_2_0_Apache_Software_License.txt +0 -201
  69. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-auth_2_40_3_Apache_Software_License.txt +0 -201
  70. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-aiplatform_1_108_0_Apache_2_0.txt +0 -202
  71. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-appengine-logging_1_6_2_Apache_Software_License.txt +0 -202
  72. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-audit-log_0_3_2_Apache_Software_License.txt +0 -202
  73. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-bigquery_3_35_1_Apache_Software_License.txt +0 -202
  74. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-core_2_4_3_Apache_Software_License.txt +0 -202
  75. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-logging_3_12_1_Apache_Software_License.txt +0 -202
  76. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-resource-manager_1_14_2_Apache_Software_License.txt +0 -202
  77. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-secret-manager_2_24_0_Apache_Software_License.txt +0 -202
  78. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-speech_2_33_0_Apache_Software_License.txt +0 -202
  79. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-storage_2_19_0_Apache_Software_License.txt +0 -202
  80. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-cloud-trace_1_16_2_Apache_Software_License.txt +0 -202
  81. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-crc32c_1_7_1_Apache_2_0.txt +0 -202
  82. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-genai_1_29_0_Apache_Software_License.txt +0 -202
  83. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_google-resumable-media_2_7_2_Apache_Software_License.txt +0 -202
  84. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_googleapis-common-protos_1_70_0_Apache_Software_License.txt +0 -202
  85. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_grpc-google-iam-v1_0_14_2_Apache_Software_License.txt +0 -202
  86. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_grpcio-status_1_74_0_Apache_Software_License.txt +0 -610
  87. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_grpcio_1_74_0_Apache_Software_License.txt +0 -610
  88. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_httpcore_1_0_9_BSD_License.txt +0 -27
  89. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_httplib2_0_22_0_MIT_License.txt +0 -23
  90. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_httpx-sse_0_4_1_MIT.txt +0 -21
  91. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_httpx_0_28_1_BSD_License.txt +0 -12
  92. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_huggingface-hub_0_34_4_Apache_Software_License.txt +0 -201
  93. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_isodate_0_7_2_BSD_License.txt +0 -26
  94. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_jiter_0_10_0_MIT_License.txt +0 -1
  95. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_jsonschema-path_0_3_4_Apache_Software_License.txt +0 -201
  96. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_jsonschema-specifications_2025_4_1_UNKNOWN.txt +0 -19
  97. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_jsonschema_4_25_0_UNKNOWN.txt +0 -19
  98. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_lazy-object-proxy_1_11_0_BSD_License.txt +0 -20
  99. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_litellm-enterprise_0_1_19_UNKNOWN.txt +0 -37
  100. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_litellm_1_75_5_post1_MIT_License.txt +0 -26
  101. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_mcp_1_12_4_MIT_License.txt +0 -21
  102. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_multidict_6_6_4_Apache_License_2_0.txt +0 -13
  103. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_oauthlib_3_3_1_BSD-3-Clause.txt +0 -27
  104. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_openai_1_99_9_Apache_Software_License.txt +0 -201
  105. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_openapi-core_0_19_5_BSD_License.txt +0 -29
  106. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_openapi-pydantic_0_5_1_MIT_License.txt +0 -40
  107. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_openapi-schema-validator_0_6_3_BSD_License.txt +0 -29
  108. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_openapi-spec-validator_0_7_2_Apache_Software_License.txt +0 -201
  109. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_opentelemetry-api_1_36_0_UNKNOWN.txt +0 -201
  110. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_opentelemetry-exporter-gcp-trace_1_9_0_Apache_Software_License.txt +0 -201
  111. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_opentelemetry-resourcedetector-gcp_1_9_0a0_Apache_Software_License.txt +0 -201
  112. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_opentelemetry-sdk_1_36_0_UNKNOWN.txt +0 -201
  113. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_opentelemetry-semantic-conventions_0_57b0_UNKNOWN.txt +0 -201
  114. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_orjson_3_11_1_Apache_Software_License-MIT_License.txt +0 -201
  115. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_parse_1_20_2_MIT_License.txt +0 -19
  116. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pathable_0_4_4_Apache_Software_License.txt +0 -201
  117. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_propcache_0_3_2_Apache_Software_License.txt +0 -202
  118. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_proto-plus_1_26_1_Apache_Software_License.txt +0 -202
  119. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_protobuf_6_31_1_3-Clause_BSD_License.txt +0 -32
  120. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pyasn1_0_6_1_BSD_License.txt +0 -24
  121. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pyasn1_modules_0_4_2_BSD_License.txt +0 -24
  122. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pydantic-settings_2_10_1_MIT_License.txt +0 -21
  123. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pyparsing_3_2_3_MIT_License.txt +0 -18
  124. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pyperclip_1_9_0_BSD_License.txt +0 -27
  125. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_python-dateutil_2_9_0_post0_Apache_Software_License-BSD_License.txt +0 -54
  126. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_python-dotenv_1_1_1_BSD_License.txt +0 -27
  127. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pywin32_311_Python_Software_Foundation_License.txt +0 -1
  128. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_referencing_0_36_2_UNKNOWN.txt +0 -19
  129. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_regex_2025_7_34_UNKNOWN.txt +0 -208
  130. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_rfc3339-validator_0_1_4_MIT_License.txt +0 -22
  131. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_rich-rst_1_3_1_MIT_License.txt +0 -7
  132. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_rsa_4_9_1_Apache_Software_License.txt +0 -13
  133. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_shapely_2_1_1_BSD_License.txt +0 -29
  134. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_sse-starlette_3_0_2_UNKNOWN.txt +0 -27
  135. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_tenacity_9_1_2_Apache_Software_License.txt +0 -202
  136. cmdbox-0.6.4.2/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 -21
  137. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_tokenizers_0_21_4_Apache_Software_License.txt +0 -1
  138. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_tqdm_4_67_1_MIT_License-Mozilla_Public_License_2_0-MPL_2_0.txt +0 -49
  139. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_typing_extensions_4_14_1_UNKNOWN.txt +0 -279
  140. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_tzlocal_5_3_1_MIT_License.txt +0 -19
  141. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_uritemplate_4_2_0_BSD_3-Clause_OR_Apache-2_0.txt +0 -3
  142. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_uvicorn_0_35_0_BSD_License.txt +0 -27
  143. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_watchdog_6_0_0_Apache_Software_License.txt +0 -16
  144. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_websockets_15_0_1_BSD_License.txt +0 -24
  145. cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_yarl_1_20_1_Apache_Software_License.txt +0 -202
  146. cmdbox-0.6.4.2/cmdbox/licenses/files.txt +0 -219
  147. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/LICENSE +0 -0
  148. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/MANIFEST.in +0 -0
  149. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/README.md +0 -0
  150. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/__init__.py +0 -0
  151. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/__main__.py +0 -0
  152. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/__init__.py +0 -0
  153. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/__init__.py +0 -0
  154. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/azure_signin.py +0 -0
  155. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/azure_signin_saml.py +0 -0
  156. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/github_signin.py +0 -0
  157. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/google_signin.py +0 -0
  158. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/signin.py +0 -0
  159. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/auth/signin_saml.py +0 -0
  160. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/commons/loghandler.py +0 -0
  161. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/commons/module.py +0 -0
  162. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/commons/redis_client.py +0 -0
  163. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/edge_tool.py +0 -0
  164. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/feature.py +0 -0
  165. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/agent_base.py +0 -0
  166. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/audit_base.py +0 -0
  167. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_agent_mcp_client.py +0 -0
  168. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_agent_mcp_proxy.py +0 -0
  169. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_audit_createdb.py +0 -0
  170. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_audit_delete.py +0 -0
  171. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_audit_search.py +0 -0
  172. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_audit_write.py +0 -0
  173. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_copy.py +0 -0
  174. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_download.py +0 -0
  175. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_list.py +0 -0
  176. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_mkdir.py +0 -0
  177. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_move.py +0 -0
  178. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_remove.py +0 -0
  179. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_rmdir.py +0 -0
  180. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_file_upload.py +0 -0
  181. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_http.py +0 -0
  182. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_client_server_info.py +0 -0
  183. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_edge_config.py +0 -0
  184. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_edge_start.py +0 -0
  185. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_gui_start.py +0 -0
  186. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_gui_stop.py +0 -0
  187. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_server_list.py +0 -0
  188. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_server_start.py +0 -0
  189. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_server_stop.py +0 -0
  190. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_tts_start.py +0 -0
  191. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_tts_stop.py +0 -0
  192. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_gencert.py +0 -0
  193. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_genpass.py +0 -0
  194. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/cli/cmdbox_web_stop.py +0 -0
  195. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_agent.py +0 -0
  196. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_assets.py +0 -0
  197. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_audit.py +0 -0
  198. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_audit_metrics.py +0 -0
  199. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_bbforce_cmd.py +0 -0
  200. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_copyright.py +0 -0
  201. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_del_cmd.py +0 -0
  202. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_del_pipe.py +0 -0
  203. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_do_signin.py +0 -0
  204. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_do_signout.py +0 -0
  205. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_exec_pipe.py +0 -0
  206. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_filer download.py +0 -0
  207. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_filer.py +0 -0
  208. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_filer_upload.py +0 -0
  209. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_get_cmd_choices.py +0 -0
  210. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_get_cmds.py +0 -0
  211. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_get_modes.py +0 -0
  212. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_get_server_opt.py +0 -0
  213. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_gui.py +0 -0
  214. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_gui_callback.py +0 -0
  215. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_list_cmd.py +0 -0
  216. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_list_pipe.py +0 -0
  217. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_load_cmd.py +0 -0
  218. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_load_pipe.py +0 -0
  219. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_raw_cmd.py +0 -0
  220. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_raw_pipe.py +0 -0
  221. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_result.py +0 -0
  222. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_save_cmd.py +0 -0
  223. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_save_pipe.py +0 -0
  224. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_signin.py +0 -0
  225. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_user_data.py +0 -0
  226. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_users.py +0 -0
  227. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_usesignout.py +0 -0
  228. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_versions_cmdbox.py +0 -0
  229. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/features/web/cmdbox_web_versions_used.py +0 -0
  230. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/app/server.py +0 -0
  231. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/autoload.py +0 -0
  232. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/features.yml +0 -0
  233. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/.vscode/launch.json +0 -0
  234. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/requirements.txt +0 -0
  235. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/__init__.py +0 -0
  236. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/__main__.py +0 -0
  237. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/app/app.py +0 -0
  238. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/app/features/cli/__init__.py +0 -0
  239. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_client_time.py +0 -0
  240. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_server_time.py +0 -0
  241. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/app/features/web/__init__.py +0 -0
  242. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/extensions/features.yml +0 -0
  243. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/extensions/user_list.yml +0 -0
  244. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/logconf_sample.yml +0 -0
  245. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/version.py +0 -0
  246. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/web/assets/sample/favicon.ico +0 -0
  247. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/sample_project/sample/web/assets/sample/icon.png +0 -0
  248. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/extensions/user_list.yml +0 -0
  249. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_Jinja2_3_1_6_BSD_License.txt +0 -0
  250. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_MarkupSafe_3_0_2_BSD_License.txt +0 -0
  251. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_PyJWT_2_10_1_MIT_License.txt +0 -0
  252. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_PyYAML_6_0_2_MIT_License.txt +0 -0
  253. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_Pygments_2_19_2_BSD_License.txt +0 -0
  254. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_Sphinx_8_2_3_UNKNOWN.txt +0 -0
  255. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_alabaster_1_0_0_BSD_License.txt +0 -0
  256. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_annotated-types_0_7_0_MIT_License.txt +0 -0
  257. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_anyio_4_10_0_UNKNOWN.txt +0 -0
  258. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_argcomplete_3_6_2_Apache_Software_License.txt +0 -0
  259. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_async-timeout_5_0_1_Apache_Software_License.txt +0 -0
  260. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_babel_2_17_0_BSD_License.txt +0 -0
  261. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_backports_tarfile_1_2_0_MIT_License.txt +0 -0
  262. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_certifi_2025_8_3_Mozilla_Public_License_2_0-MPL_2_0.txt +0 -0
  263. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_charset-normalizer_3_4_3_MIT.txt +0 -0
  264. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_click_8_2_1_UNKNOWN.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_click_8_3_0_UNKNOWN.txt +0 -0
  265. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_colorama_0_4_6_BSD_License.txt +0 -0
  266. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_cryptography_45_0_6_Apache-2_0_OR_BSD-3-Clause.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_cryptography_46_0_1_UNKNOWN.txt +0 -0
  267. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_docutils_0_21_2_BSD_License-GNU_General_Public_License-GPL-Public_Domain-Python_Software_Foundation_License.txt +0 -0
  268. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_fastapi_0_116_1_MIT_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_fastapi_0_116_2_MIT_License.txt +0 -0
  269. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_gevent_25_5_1_MIT.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_gevent_25_9_1_MIT.txt +0 -0
  270. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_greenlet_3_2_4_MIT_AND_Python-2_0.txt +0 -0
  271. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_gunicorn_23_0_0_MIT_License.txt +0 -0
  272. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_h11_0_16_0_MIT_License.txt +0 -0
  273. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_id_1_5_0_Apache_Software_License.txt +0 -0
  274. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_idna_3_10_BSD_License.txt +0 -0
  275. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_imagesize_1_4_1_MIT_License.txt +0 -0
  276. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_importlib_metadata_8_7_0_Apache_Software_License.txt +0 -0
  277. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_itsdangerous_2_2_0_BSD_License.txt +0 -0
  278. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_jaraco_classes_3_4_0_MIT_License.txt +0 -0
  279. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_jaraco_context_6_0_1_MIT_License.txt +0 -0
  280. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_jaraco_functools_4_2_1_UNKNOWN.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_jaraco_functools_4_3_0_UNKNOWN.txt +0 -0
  281. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_keyring_25_6_0_MIT_License.txt +0 -0
  282. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_markdown-it-py_4_0_0_MIT_License.txt +0 -0
  283. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_mdurl_0_1_2_MIT_License.txt +0 -0
  284. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_more-itertools_10_7_0_MIT_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_more-itertools_10_8_0_UNKNOWN.txt +0 -0
  285. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_nh3_0_3_0_MIT.txt +0 -0
  286. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_numpy_2_3_2_BSD_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_numpy_2_3_3_BSD_License.txt +0 -0
  287. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_packaging_25_0_Apache_Software_License-BSD_License.txt +0 -0
  288. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pillow_11_3_0_UNKNOWN.txt +0 -0
  289. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pip_24_0_MIT_License.txt +0 -0
  290. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_plyer_2_1_0_MIT_License.txt +0 -0
  291. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_prettytable_3_16_0_UNKNOWN.txt +0 -0
  292. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_prompt_toolkit_3_0_51_BSD_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_prompt_toolkit_3_0_52_BSD_License.txt +0 -0
  293. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_psycopg-binary_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_psycopg-binary_3_2_10_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  294. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_psycopg_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_psycopg_3_2_10_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  295. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pycparser_2_22_BSD_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_pycparser_2_23_BSD_License.txt +0 -0
  296. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pycryptodome_3_23_0_BSD_License-Public_Domain.txt +0 -0
  297. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_pydantic_2_11_7_MIT_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_pydantic_2_11_9_MIT_License.txt +0 -0
  298. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pydantic_core_2_33_2_MIT_License.txt +0 -0
  299. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pystray_0_19_5_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  300. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_python-multipart_0_0_20_Apache_Software_License.txt +0 -0
  301. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_pywin32-ctypes_0_2_3_BSD-3-Clause.txt +0 -0
  302. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_questionary_2_1_0_MIT_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_questionary_2_1_1_MIT_License.txt +0 -0
  303. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_readme_renderer_44_0_Apache_Software_License.txt +0 -0
  304. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_redis_6_4_0_MIT_License.txt +0 -0
  305. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_requests-toolbelt_1_0_0_Apache_Software_License.txt +0 -0
  306. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_requests_2_32_4_Apache_Software_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_requests_2_32_5_Apache_Software_License.txt +0 -0
  307. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_rfc3986_2_0_0_Apache_Software_License.txt +0 -0
  308. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_rich_14_1_0_MIT_License.txt +0 -0
  309. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/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
  310. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_setuptools_80_9_0_UNKNOWN.txt +0 -0
  311. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_six_1_17_0_MIT_License.txt +0 -0
  312. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sniffio_1_3_1_Apache_Software_License-MIT_License.txt +0 -0
  313. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_snowballstemmer_3_0_1_BSD_License.txt +0 -0
  314. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinx-intl_2_3_2_UNKNOWN.txt +0 -0
  315. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinx-last-updated-by-git_0_3_8_BSD_License.txt +0 -0
  316. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinx-rtd-theme_3_0_2_MIT_License.txt +0 -0
  317. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_sphinx-sitemap_2_7_2_UNKNOWN.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_sphinx-sitemap_2_8_0_UNKNOWN.txt +0 -0
  318. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinx_fontawesome_0_0_6_GNU_General_Public_License_v2-GPLv2.txt +0 -0
  319. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-applehelp_2_0_0_BSD_License.txt +0 -0
  320. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-devhelp_2_0_0_BSD_License.txt +0 -0
  321. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-htmlhelp_2_1_0_BSD_License.txt +0 -0
  322. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-jquery_4_1_BSD_License.txt +0 -0
  323. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-jsmath_1_0_1_BSD_License.txt +0 -0
  324. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-qthelp_2_0_0_BSD_License.txt +0 -0
  325. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_sphinxcontrib-serializinghtml_2_0_0_BSD_License.txt +0 -0
  326. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_starlette_0_47_2_BSD_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_starlette_0_48_0_BSD_License.txt +0 -0
  327. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_tabulate_0_9_0_MIT_License.txt +0 -0
  328. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_tomli_2_2_1_MIT_License.txt +0 -0
  329. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_twine_6_1_0_Apache_Software_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_twine_6_2_0_UNKNOWN.txt +0 -0
  330. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_typing-inspection_0_4_1_UNKNOWN.txt +0 -0
  331. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_aiohappyeyeballs_2_6_1_Python_Software_Foundation_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_typing_extensions_4_15_0_UNKNOWN.txt +0 -0
  332. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_tzdata_2025_2_Apache_Software_License.txt +0 -0
  333. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_urllib3_2_5_0_UNKNOWN.txt +0 -0
  334. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_wcwidth_0_2_13_MIT_License.txt +0 -0
  335. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_wheel_0_45_1_MIT_License.txt +0 -0
  336. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_wsproto_1_2_0_MIT_License.txt +0 -0
  337. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/licenses/LICENSE_zipp_3_23_0_UNKNOWN.txt +0 -0
  338. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_zope_event_5_1_1_Zope_Public_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_zope_event_6_0_Zope_Public_License.txt +0 -0
  339. /cmdbox-0.6.4.2/cmdbox/licenses/LICENSE_zope_interface_7_2_Zope_Public_License.txt → /cmdbox-0.6.5/cmdbox/licenses/LICENSE_zope_interface_8_0_Zope_Public_License.txt +0 -0
  340. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/logconf_cmdbox.yml +0 -0
  341. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/agent.html +0 -0
  342. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/apexcharts/apexcharts.css +0 -0
  343. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/apexcharts/apexcharts.min.js +0 -0
  344. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/bootstrap/bootstrap.bundle.min.5.3.0.js +0 -0
  345. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/bootstrap/bootstrap.min.5.3.0.css +0 -0
  346. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/agent.js +0 -0
  347. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/audit.js +0 -0
  348. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/color_mode.css +0 -0
  349. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/common.js +0 -0
  350. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/favicon.ico +0 -0
  351. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/filer_modal.js +0 -0
  352. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/icon.png +0 -0
  353. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/list_cmd.js +0 -0
  354. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/list_pipe.js +0 -0
  355. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/main.js +0 -0
  356. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/open_capture.js +0 -0
  357. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/open_output_json.js +0 -0
  358. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/result.js +0 -0
  359. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/signin.js +0 -0
  360. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/users.js +0 -0
  361. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/view_raw.js +0 -0
  362. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/cmdbox/view_result.js +0 -0
  363. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/encodingjs/LICENSE.txt +0 -0
  364. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/encodingjs/encoding.js +0 -0
  365. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/encodingjs/encoding.min.js +0 -0
  366. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/filer/filer.js +0 -0
  367. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/filer/main.css +0 -0
  368. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/filer/main.js +0 -0
  369. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/highlight/default.css +0 -0
  370. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/highlight/highlight.min.js +0 -0
  371. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/highlight/styles/tokyo-night-dark.min.css +0 -0
  372. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery/jquery.min.3.2.0.js +0 -0
  373. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-linedtextarea/README.md +0 -0
  374. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea-license.txt +0 -0
  375. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.css +0 -0
  376. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.html +0 -0
  377. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.js +0 -0
  378. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-resizable/jquery-resizable.min.js +0 -0
  379. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/AUTHORS.txt +0 -0
  380. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/LICENSE.txt +0 -0
  381. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
  382. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
  383. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
  384. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
  385. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
  386. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
  387. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/jquery-ui.min.css +0 -0
  388. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/jquery-ui.min.js +0 -0
  389. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/jquery-ui.structure.min.css +0 -0
  390. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/jquery-ui.theme.min.css +0 -0
  391. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/jquery-ui/package.json +0 -0
  392. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/css/lightbox.min.css +0 -0
  393. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/images/close.png +0 -0
  394. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/images/loading.gif +0 -0
  395. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/images/next.png +0 -0
  396. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/images/prev.png +0 -0
  397. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/lightbox2/js/lightbox.min.js +0 -0
  398. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/split-pane/split-pane.css +0 -0
  399. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/split-pane/split-pane.js +0 -0
  400. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/tree-menu/css/tree-menu.css +0 -0
  401. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/tree-menu/image/file.png +0 -0
  402. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/tree-menu/image/folder-close.png +0 -0
  403. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/tree-menu/image/folder-open.png +0 -0
  404. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets/tree-menu/js/tree-menu.js +0 -0
  405. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/assets_license_list.txt +0 -0
  406. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/audit.html +0 -0
  407. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/filer.html +0 -0
  408. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/gui.html +0 -0
  409. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/result.html +0 -0
  410. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/signin.html +0 -0
  411. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/users.html +0 -0
  412. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox/web/voicevox_license_list.txt +0 -0
  413. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox.egg-info/dependency_links.txt +0 -0
  414. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox.egg-info/entry_points.txt +0 -0
  415. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/cmdbox.egg-info/top_level.txt +0 -0
  416. {cmdbox-0.6.4.2 → cmdbox-0.6.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cmdbox
3
- Version: 0.6.4.2
3
+ Version: 0.6.5
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
@@ -23,8 +23,10 @@ Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: argcomplete
25
25
  Requires-Dist: async-timeout
26
+ Requires-Dist: cffi
26
27
  Requires-Dist: cryptography
27
28
  Requires-Dist: fastapi
29
+ Requires-Dist: debugpy
28
30
  Requires-Dist: gevent
29
31
  Requires-Dist: gunicorn
30
32
  Requires-Dist: itsdangerous
@@ -118,6 +118,13 @@ class CmdBoxApp:
118
118
  args = argparse.Namespace(**{k:common.chopdq(v) for k,v in args_dict.items()})
119
119
  eargsparsetime = time.perf_counter()
120
120
 
121
+ if args.debug_attach:
122
+ import debugpy
123
+ debugpy.listen(("", args.debug_attach_port))
124
+ self.default_logger.info(f"Waiting for debugger attach on port {args.debug_attach_port}...")
125
+ debugpy.wait_for_client()
126
+ self.default_logger.info("Debugger attached.")
127
+
121
128
  ret = dict(success=f"Start command. {args}")
122
129
  if args.saveopt:
123
130
  if args.useopt is None:
@@ -1,5 +1,5 @@
1
1
  from pathlib import Path
2
- from cmdbox.app import filer
2
+ from cmdbox.app import common, filer
3
3
  from cmdbox.app.commons import convert, redis_client
4
4
  import base64
5
5
  import logging
@@ -196,12 +196,13 @@ class Client(object):
196
196
  if download_file.exists():
197
197
  self.logger.warning(f"download_file {download_file} already exists.")
198
198
  return dict(warn=f"download_file {download_file} already exists.")
199
- with open(download_file, "wb") as f:
199
+ def _wd(f):
200
200
  f.write(base64.b64decode(res_json["success"]["data"]))
201
201
  del res_json["success"]["data"]
202
202
  res_json["success"]["download_file"] = str(download_file.absolute())
203
+ common.save_file(download_file, _wd, mode='wb')
203
204
  return res_json
204
-
205
+
205
206
  def file_upload(self, svpath:str, upload_file:Path, scope:str="client", client_data:Path=None, mkdir:bool=False, orverwrite:bool=False,
206
207
  retry_count:int=3, retry_interval:int=5, timeout:int=60):
207
208
  """
@@ -80,8 +80,9 @@ def load_yml(yml_path:Path) -> dict:
80
80
  Returns:
81
81
  dict: 読み込んだYAMLファイルの内容
82
82
  """
83
- with open(yml_path, encoding="utf-8") as f:
83
+ def _r(f):
84
84
  return yaml.safe_load(f)
85
+ return load_file(yml_path, _r)
85
86
 
86
87
  def save_yml(yml_path:Path, data:dict) -> None:
87
88
  """
@@ -91,8 +92,83 @@ def save_yml(yml_path:Path, data:dict) -> None:
91
92
  yml_path (Path): YAMLファイルのパス
92
93
  data (dict): 書き込むデータ
93
94
  """
94
- with open(yml_path, 'w') as f:
95
+ def _w(f):
95
96
  yaml.dump(data, f, default_flow_style=False, sort_keys=False)
97
+ save_file(yml_path, _w)
98
+
99
+ def load_file(file_path:Path, func, mode='r', encoding='utf-8') -> None:
100
+ """
101
+ ファイルを読み込みます。読み込み時に排他ロックします。
102
+
103
+ Args:
104
+ file_path (Path): ファイルのパス
105
+ func: 読み込んだデータを処理する関数
106
+ mode (str, optional): ファイルモード. Defaults to 'r'.
107
+ encoding (str, optional): エンコーディング. Defaults to 'utf-8'.
108
+ """
109
+ lock_file = f'{file_path}.lock'
110
+ try:
111
+ with open(lock_file, 'w') as fd:
112
+ try:
113
+ if sys.platform == 'win32':
114
+ import msvcrt
115
+ msvcrt.locking(fd.fileno(), msvcrt.LK_LOCK, 0)
116
+ else:
117
+ import fcntl
118
+ fcntl.lockf(fd, fcntl.LOCK_EX)
119
+ if 'b' in mode:
120
+ with open(file_path, mode) as f:
121
+ return func(f)
122
+ else:
123
+ with open(file_path, mode, encoding=encoding) as f:
124
+ return func(f)
125
+ finally:
126
+ if sys.platform == 'win32':
127
+ msvcrt.locking(fd.fileno(), msvcrt.LK_UNLCK, 0)
128
+ else:
129
+ fcntl.lockf(fd, fcntl.LOCK_UN)
130
+ finally:
131
+ try:
132
+ os.remove(lock_file)
133
+ except:
134
+ pass
135
+
136
+ def save_file(file_path:Path, func, mode='w', encoding='utf-8') -> None:
137
+ """
138
+ ファイルに書き込みます。書き込み時に排他ロックします。
139
+
140
+ Args:
141
+ file_path (Path): ファイルのパス
142
+ func: 書き込む関数
143
+ mode (str, optional): ファイルモード. Defaults to 'w'.
144
+ encoding (str, optional): エンコーディング. Defaults to 'utf-8'.
145
+ """
146
+ lock_file = f'{file_path}.lock'
147
+ try:
148
+ with open(lock_file, 'w') as fd:
149
+ try:
150
+ if sys.platform == 'win32':
151
+ import msvcrt
152
+ msvcrt.locking(fd.fileno(), msvcrt.LK_LOCK, 0)
153
+ else:
154
+ import fcntl
155
+ fcntl.lockf(fd, fcntl.LOCK_EX)
156
+ if 'b' in mode:
157
+ with open(file_path, mode) as f:
158
+ func(f)
159
+ else:
160
+ with open(file_path, mode, encoding=encoding) as f:
161
+ func(f)
162
+ finally:
163
+ if sys.platform == 'win32':
164
+ msvcrt.locking(fd.fileno(), msvcrt.LK_UNLCK, 0)
165
+ else:
166
+ fcntl.lockf(fd, fcntl.LOCK_UN)
167
+ finally:
168
+ try:
169
+ os.remove(lock_file)
170
+ except:
171
+ pass
96
172
 
97
173
  class CommonValue:
98
174
  _map = dict()
@@ -251,8 +327,7 @@ def load_config(mode:str, debug:bool=False, data=HOME_DIR, webcall:bool=False, v
251
327
  if not log_conf_path.exists():
252
328
  log_conf_path = Path(version.__file__).parent / f"logconf_{ver.__appid__}.yml"
253
329
  log_name = mode
254
- with open(log_conf_path) as f:
255
- log_config = yaml.safe_load(f)
330
+ log_config = load_yml(log_conf_path)
256
331
  std_key = None
257
332
  set_common_value('webcall', webcall)
258
333
  for k, h in log_config['handlers'].items():
@@ -343,8 +418,9 @@ def saveopt(opt:dict, opt_path:Path, webmode:bool=False) -> None:
343
418
  k = r['opt']
344
419
  d = r['default'] if 'default' in r else None
345
420
  opt[k] = d if k not in lopts else lopts.get(k, d)
346
- with open(opt_path, 'w') as f:
421
+ def _w(f):
347
422
  json.dump(opt, f, indent=4, default=default_json_enc)
423
+ save_file(opt_path, _w)
348
424
 
349
425
  def saveuser(user_data:dict, user_path:Path) -> None:
350
426
  """
@@ -552,9 +628,10 @@ def print_format(data:dict, format:bool, tm:float, output_json:str=None, output_
552
628
  pass
553
629
  if output_json is not None:
554
630
  try:
555
- with open(output_json, 'a' if output_json_append else 'w', encoding='utf-8') as f:
631
+ def _w(f):
556
632
  json.dump(data, f, default=default_json_enc, ensure_ascii=False)
557
633
  print('', file=f)
634
+ save_file(Path(output_json), _w, mode='a' if output_json_append else 'w')
558
635
  except Exception as e:
559
636
  pass
560
637
  return txt
@@ -584,8 +661,9 @@ def download_file(url:str, save_path:Path) -> Path:
584
661
  Path: 保存したファイルのパス
585
662
  """
586
663
  r = requests.get(url, stream=True)
587
- with open(save_path, 'wb') as f:
664
+ def _w(f):
588
665
  f.write(r.content)
666
+ save_file(Path(save_path), _w)
589
667
  return save_path
590
668
 
591
669
  def cmd(cmd:str, logger:logging.Logger, slise:int=100, newenv:Dict=None) -> Tuple[int, str, str]:
@@ -99,8 +99,10 @@ def npy2imgfile(npy, output_image_file:Path=None, image_type:str='jpeg') -> byte
99
99
  image_type = 'jpeg' if image_type == 'jpg' else image_type
100
100
  img_byte = img2byte(image, format=image_type)
101
101
  if output_image_file is not None:
102
- with open(output_image_file, 'wb') as f:
102
+ from cmdbox.app import common
103
+ def _w(f):
103
104
  f.write(img_byte)
105
+ common.save_file(output_image_file, _w, mode='wb')
104
106
  return img_byte
105
107
 
106
108
  def bytes2b64str(img:bytes) -> str:
@@ -515,9 +515,9 @@ class Edge(object):
515
515
  except Exception as e:
516
516
  raise HTTPException(status_code=500, detail=f'Failed to get token. {e}')
517
517
 
518
- if not hasattr(self, 'thUvicorn') or not self.thUvicorn.is_alive():
519
- self.thUvicorn = web.ThreadedUvicorn(config=Config(app=fastapi, host='localhost', port=oauth2_port))
520
- self.thUvicorn.start()
518
+ if not hasattr(self, 'thHttp') or not self.thHttp.is_alive():
519
+ self.thHttp = web.ThreadedASGI(config=Config(app=fastapi, host='localhost', port=oauth2_port))
520
+ self.thHttp.start()
521
521
  time.sleep(1)
522
522
 
523
523
  # OAuth2認証のリクエストを送信
@@ -581,9 +581,9 @@ class Edge(object):
581
581
  except Exception as e:
582
582
  raise HTTPException(status_code=500, detail=f'Failed to get token. {e}')
583
583
 
584
- if not hasattr(self, 'thUvicorn') or not self.thUvicorn.is_alive():
585
- self.thUvicorn = web.ThreadedUvicorn(config=Config(app=fastapi, host='localhost', port=oauth2_port))
586
- self.thUvicorn.start()
584
+ if not hasattr(self, 'thHttp') or not self.thHttp.is_alive():
585
+ self.thHttp = web.ThreadedASGI(config=Config(app=fastapi, host='localhost', port=oauth2_port))
586
+ self.thHttp.start()
587
587
  time.sleep(1)
588
588
 
589
589
  # OAuth2認証のリクエストを送信
@@ -652,9 +652,9 @@ class Edge(object):
652
652
  except Exception as e:
653
653
  raise HTTPException(status_code=500, detail=f'Failed to get token. {e}')
654
654
 
655
- if not hasattr(self, 'thUvicorn') or not self.thUvicorn.is_alive():
656
- self.thUvicorn = web.ThreadedUvicorn(self.logger, Config(app=fastapi, host='localhost', port=oauth2_port), {})
657
- self.thUvicorn.start()
655
+ if not hasattr(self, 'thHttp') or not self.thHttp.is_alive():
656
+ self.thHttp = web.ThreadedASGI(config=Config(app=fastapi, host='localhost', port=oauth2_port))
657
+ self.thHttp.start()
658
658
  time.sleep(1)
659
659
 
660
660
  # OAuth2認証のリクエストを送信
@@ -734,9 +734,9 @@ class Edge(object):
734
734
  except Exception as e:
735
735
  raise HTTPException(status_code=500, detail=f'Failed to get token. {e}')
736
736
 
737
- if not hasattr(self, 'thUvicorn') or not self.thUvicorn.is_alive():
738
- self.thUvicorn = web.ThreadedUvicorn(self.logger, Config(app=fastapi, host='localhost', port=saml_port), {})
739
- self.thUvicorn.start()
737
+ if not hasattr(self, 'thHttp') or not self.thHttp.is_alive():
738
+ self.thHttp = web.ThreadedASGI(config=Config(app=fastapi, host='localhost', port=saml_port))
739
+ self.thHttp.start()
740
740
  time.sleep(1)
741
741
 
742
742
  # SAML認証のリクエストを送信
@@ -185,8 +185,9 @@ class VisionInstall(cmdbox_vision_start.VisionStart):
185
185
  _msg = f"Failed to download SAM2 model: {responce.status_code} {responce.reason}. {mv['url']}"
186
186
  logger.error(_msg, exc_info=True)
187
187
  return dict(warn=_msg)
188
- with open(model_file, mode='wb') as f:
188
+ def _wm(f):
189
189
  f.write(responce.content)
190
+ common.save_file(model_file, _wm, mode='wb')
190
191
  #===============================================================
191
192
  # SAM2のpythonライブラリのインストール
192
193
  whl_url = f'git+https://github.com/facebookresearch/sam2.git'