cmdbox 0.6.2.3__tar.gz → 0.6.2.4__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 (392) hide show
  1. {cmdbox-0.6.2.3/cmdbox.egg-info → cmdbox-0.6.2.4}/PKG-INFO +1 -1
  2. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/signin.py +3 -2
  3. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_audit_search.py +6 -0
  4. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_start.py +1 -1
  5. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/mcp.py +82 -86
  6. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/web.py +15 -0
  7. {cmdbox-0.6.2.3/cmdbox/extensions/sample_project/sample → cmdbox-0.6.2.4/cmdbox}/extensions/user_list.yml +25 -1
  8. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/version.py +2 -2
  9. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/agent.js +1 -0
  10. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4/cmdbox.egg-info}/PKG-INFO +1 -1
  11. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/LICENSE +0 -0
  12. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/MANIFEST.in +0 -0
  13. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/README.md +0 -0
  14. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/__init__.py +0 -0
  15. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/__main__.py +0 -0
  16. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/__init__.py +0 -0
  17. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/app.py +0 -0
  18. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/__init__.py +0 -0
  19. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/azure_signin.py +0 -0
  20. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/azure_signin_saml.py +0 -0
  21. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/github_signin.py +0 -0
  22. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/google_signin.py +0 -0
  23. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/auth/signin_saml.py +0 -0
  24. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/client.py +0 -0
  25. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/common.py +0 -0
  26. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/commons/convert.py +0 -0
  27. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/commons/loghandler.py +0 -0
  28. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/commons/module.py +0 -0
  29. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/commons/redis_client.py +0 -0
  30. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/edge.py +0 -0
  31. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/edge_tool.py +0 -0
  32. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/feature.py +0 -0
  33. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/agent_base.py +0 -0
  34. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/audit_base.py +0 -0
  35. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_audit_createdb.py +0 -0
  36. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_audit_delete.py +0 -0
  37. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_audit_write.py +0 -0
  38. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_copy.py +0 -0
  39. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_download.py +0 -0
  40. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_list.py +0 -0
  41. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_mkdir.py +0 -0
  42. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_move.py +0 -0
  43. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_remove.py +0 -0
  44. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_rmdir.py +0 -0
  45. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_file_upload.py +0 -0
  46. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_client_server_info.py +0 -0
  47. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_cmd_list.py +0 -0
  48. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_cmd_load.py +0 -0
  49. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_edge_config.py +0 -0
  50. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_edge_start.py +0 -0
  51. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_gui_start.py +0 -0
  52. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_gui_stop.py +0 -0
  53. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_mcp_client.py +0 -0
  54. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_mcp_proxy.py +0 -0
  55. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_server_list.py +0 -0
  56. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_server_start.py +0 -0
  57. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_server_stop.py +0 -0
  58. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_apikey_add.py +0 -0
  59. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_apikey_del.py +0 -0
  60. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_gencert.py +0 -0
  61. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_genpass.py +0 -0
  62. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_group_add.py +0 -0
  63. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_group_del.py +0 -0
  64. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_group_edit.py +0 -0
  65. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_group_list.py +0 -0
  66. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_stop.py +0 -0
  67. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_user_add.py +0 -0
  68. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_user_del.py +0 -0
  69. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_user_edit.py +0 -0
  70. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/cli/cmdbox_web_user_list.py +0 -0
  71. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_agent.py +0 -0
  72. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_assets.py +0 -0
  73. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_audit.py +0 -0
  74. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_audit_metrics.py +0 -0
  75. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_bbforce_cmd.py +0 -0
  76. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_copyright.py +0 -0
  77. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_del_cmd.py +0 -0
  78. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_del_pipe.py +0 -0
  79. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_do_signin.py +0 -0
  80. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_do_signout.py +0 -0
  81. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_exec_cmd.py +0 -0
  82. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_exec_pipe.py +0 -0
  83. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_filer download.py +0 -0
  84. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_filer.py +0 -0
  85. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_filer_upload.py +0 -0
  86. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_get_cmd_choices.py +0 -0
  87. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_get_cmds.py +0 -0
  88. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_get_modes.py +0 -0
  89. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_get_server_opt.py +0 -0
  90. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_gui.py +0 -0
  91. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_gui_callback.py +0 -0
  92. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_list_cmd.py +0 -0
  93. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_list_pipe.py +0 -0
  94. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_load_cmd.py +0 -0
  95. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_load_pipe.py +0 -0
  96. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_raw_cmd.py +0 -0
  97. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_raw_pipe.py +0 -0
  98. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_result.py +0 -0
  99. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_save_cmd.py +0 -0
  100. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_save_pipe.py +0 -0
  101. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_signin.py +0 -0
  102. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_user_data.py +0 -0
  103. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_users.py +0 -0
  104. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_usesignout.py +0 -0
  105. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_versions_cmdbox.py +0 -0
  106. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/features/web/cmdbox_web_versions_used.py +0 -0
  107. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/filer.py +0 -0
  108. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/options.py +0 -0
  109. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/app/server.py +0 -0
  110. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/autoload.py +0 -0
  111. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/config.yml +0 -0
  112. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/features.yml +0 -0
  113. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/.vscode/launch.json +0 -0
  114. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/requirements.txt +0 -0
  115. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/__init__.py +0 -0
  116. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/__main__.py +0 -0
  117. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/app/app.py +0 -0
  118. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/app/features/cli/__init__.py +0 -0
  119. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_client_time.py +0 -0
  120. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/app/features/cli/sample_server_time.py +0 -0
  121. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/app/features/web/__init__.py +0 -0
  122. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/extensions/features.yml +0 -0
  123. {cmdbox-0.6.2.3/cmdbox → cmdbox-0.6.2.4/cmdbox/extensions/sample_project/sample}/extensions/user_list.yml +0 -0
  124. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/logconf_sample.yml +0 -0
  125. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/version.py +0 -0
  126. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/web/assets/sample/favicon.ico +0 -0
  127. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/extensions/sample_project/sample/web/assets/sample/icon.png +0 -0
  128. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_Authlib_1_6_0_BSD_License.txt +0 -0
  129. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_Jinja2_3_1_6_BSD_License.txt +0 -0
  130. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_MarkupSafe_3_0_2_BSD_License.txt +0 -0
  131. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_PyJWT_2_10_1_MIT_License.txt +0 -0
  132. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_PyYAML_6_0_2_MIT_License.txt +0 -0
  133. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_Pygments_2_19_2_BSD_License.txt +0 -0
  134. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_SQLAlchemy_2_0_41_MIT.txt +0 -0
  135. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_Sphinx_8_2_3_UNKNOWN.txt +0 -0
  136. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_aiohappyeyeballs_2_6_1_Python_Software_Foundation_License.txt +0 -0
  137. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_aiohttp_3_12_13_Apache-2_0.txt +0 -0
  138. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_aiosignal_1_3_2_Apache_Software_License.txt +0 -0
  139. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_alabaster_1_0_0_BSD_License.txt +0 -0
  140. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_annotated-types_0_7_0_MIT_License.txt +0 -0
  141. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_anyio_4_9_0_MIT_License.txt +0 -0
  142. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_argcomplete_3_6_2_Apache_Software_License.txt +0 -0
  143. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_async-timeout_5_0_1_Apache_Software_License.txt +0 -0
  144. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_attrs_25_3_0_UNKNOWN.txt +0 -0
  145. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_babel_2_17_0_BSD_License.txt +0 -0
  146. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_backports_tarfile_1_2_0_MIT_License.txt +0 -0
  147. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_cachetools_5_5_2_MIT_License.txt +0 -0
  148. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_certifi_2025_6_15_Mozilla_Public_License_2_0-MPL_2_0.txt +0 -0
  149. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_cffi_1_17_1_MIT_License.txt +0 -0
  150. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_charset-normalizer_3_4_2_MIT_License.txt +0 -0
  151. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_click_8_2_1_UNKNOWN.txt +0 -0
  152. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_cloudpickle_3_1_1_BSD_License.txt +0 -0
  153. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_colorama_0_4_6_BSD_License.txt +0 -0
  154. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_cryptography_45_0_4_Apache-2_0_OR_BSD-3-Clause.txt +0 -0
  155. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_distro_1_9_0_Apache_Software_License.txt +0 -0
  156. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_dnspython_2_7_0_ISC_License-ISCL.txt +0 -0
  157. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_docstring_parser_0_16_MIT_License.txt +0 -0
  158. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_docutils_0_21_2_BSD_License-GNU_General_Public_License-GPL-Public_Domain-Python_Software_Foundation_License.txt +0 -0
  159. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_email_validator_2_2_0_The_Unlicense-Unlicense.txt +0 -0
  160. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_exceptiongroup_1_3_0_MIT_License.txt +0 -0
  161. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_fastapi_0_115_14_MIT_License.txt +0 -0
  162. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_fastmcp_2_10_1_Apache_Software_License.txt +0 -0
  163. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_filelock_3_18_0_The_Unlicense-Unlicense.txt +0 -0
  164. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_frozenlist_1_7_0_Apache-2_0.txt +0 -0
  165. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_fsspec_2025_5_1_BSD_License.txt +0 -0
  166. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_gevent_25_5_1_MIT.txt +0 -0
  167. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-adk_1_5_0_Apache_Software_License.txt +0 -0
  168. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-api-core_2_25_1_Apache_Software_License.txt +0 -0
  169. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-api-python-client_2_174_0_Apache_Software_License.txt +0 -0
  170. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-auth-httplib2_0_2_0_Apache_Software_License.txt +0 -0
  171. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-auth_2_40_3_Apache_Software_License.txt +0 -0
  172. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-aiplatform_1_100_0_Apache_2_0.txt +0 -0
  173. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-appengine-logging_1_6_2_Apache_Software_License.txt +0 -0
  174. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-audit-log_0_3_2_Apache_Software_License.txt +0 -0
  175. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-bigquery_3_34_0_Apache_Software_License.txt +0 -0
  176. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-core_2_4_3_Apache_Software_License.txt +0 -0
  177. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-logging_3_12_1_Apache_Software_License.txt +0 -0
  178. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-resource-manager_1_14_2_Apache_Software_License.txt +0 -0
  179. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-secret-manager_2_24_0_Apache_Software_License.txt +0 -0
  180. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-speech_2_33_0_Apache_Software_License.txt +0 -0
  181. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-storage_2_19_0_Apache_Software_License.txt +0 -0
  182. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-cloud-trace_1_16_2_Apache_Software_License.txt +0 -0
  183. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-crc32c_1_7_1_Apache_2_0.txt +0 -0
  184. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-genai_1_23_0_Apache_Software_License.txt +0 -0
  185. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_google-resumable-media_2_7_2_Apache_Software_License.txt +0 -0
  186. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_googleapis-common-protos_1_70_0_Apache_Software_License.txt +0 -0
  187. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_graphviz_0_21_UNKNOWN.txt +0 -0
  188. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_greenlet_3_2_3_MIT_AND_Python-2_0.txt +0 -0
  189. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_grpc-google-iam-v1_0_14_2_Apache_Software_License.txt +0 -0
  190. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_grpcio-status_1_73_1_Apache_Software_License.txt +0 -0
  191. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_grpcio_1_73_1_Apache_Software_License.txt +0 -0
  192. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_gunicorn_23_0_0_MIT_License.txt +0 -0
  193. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_h11_0_16_0_MIT_License.txt +0 -0
  194. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_httpcore_1_0_9_BSD_License.txt +0 -0
  195. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_httplib2_0_22_0_MIT_License.txt +0 -0
  196. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_httptools_0_6_4_MIT_License.txt +0 -0
  197. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_httpx-sse_0_4_1_MIT.txt +0 -0
  198. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_httpx_0_28_1_BSD_License.txt +0 -0
  199. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_huggingface-hub_0_33_1_Apache_Software_License.txt +0 -0
  200. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_id_1_5_0_Apache_Software_License.txt +0 -0
  201. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_idna_3_10_BSD_License.txt +0 -0
  202. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_imagesize_1_4_1_MIT_License.txt +0 -0
  203. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_importlib_metadata_8_7_0_Apache_Software_License.txt +0 -0
  204. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_itsdangerous_2_2_0_BSD_License.txt +0 -0
  205. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jaraco_classes_3_4_0_MIT_License.txt +0 -0
  206. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jaraco_context_6_0_1_MIT_License.txt +0 -0
  207. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jaraco_functools_4_2_1_UNKNOWN.txt +0 -0
  208. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jiter_0_10_0_MIT_License.txt +0 -0
  209. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jsonschema-specifications_2025_4_1_UNKNOWN.txt +0 -0
  210. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_jsonschema_4_24_0_UNKNOWN.txt +0 -0
  211. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_keyring_25_6_0_MIT_License.txt +0 -0
  212. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_litellm_1_73_6_MIT_License.txt +0 -0
  213. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_markdown-it-py_3_0_0_MIT_License.txt +0 -0
  214. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_mcp_1_10_1_MIT_License.txt +0 -0
  215. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_mdurl_0_1_2_MIT_License.txt +0 -0
  216. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_more-itertools_10_7_0_MIT_License.txt +0 -0
  217. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_multidict_6_6_2_Apache_License_2_0.txt +0 -0
  218. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_nh3_0_2_21_MIT.txt +0 -0
  219. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_numpy_2_3_1_BSD_License.txt +0 -0
  220. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_openai_1_93_0_Apache_Software_License.txt +0 -0
  221. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_openapi-pydantic_0_5_1_MIT_License.txt +0 -0
  222. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_opentelemetry-api_1_34_1_Apache_Software_License.txt +0 -0
  223. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_opentelemetry-exporter-gcp-trace_1_9_0_Apache_Software_License.txt +0 -0
  224. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_opentelemetry-resourcedetector-gcp_1_9_0a0_Apache_Software_License.txt +0 -0
  225. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_opentelemetry-sdk_1_34_1_Apache_Software_License.txt +0 -0
  226. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_opentelemetry-semantic-conventions_0_55b1_Apache_Software_License.txt +0 -0
  227. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_packaging_25_0_Apache_Software_License-BSD_License.txt +0 -0
  228. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pillow_11_2_1_UNKNOWN.txt +0 -0
  229. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pip_24_0_MIT_License.txt +0 -0
  230. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_plyer_2_1_0_MIT_License.txt +0 -0
  231. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_prettytable_3_16_0_UNKNOWN.txt +0 -0
  232. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_prompt_toolkit_3_0_51_BSD_License.txt +0 -0
  233. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_propcache_0_3_2_Apache_Software_License.txt +0 -0
  234. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_proto-plus_1_26_1_Apache_Software_License.txt +0 -0
  235. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_protobuf_6_31_1_3-Clause_BSD_License.txt +0 -0
  236. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_psycopg-binary_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  237. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_psycopg_3_2_9_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  238. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pyasn1_0_6_1_BSD_License.txt +0 -0
  239. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pyasn1_modules_0_4_2_BSD_License.txt +0 -0
  240. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pycparser_2_22_BSD_License.txt +0 -0
  241. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pycryptodome_3_23_0_BSD_License-Public_Domain.txt +0 -0
  242. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pydantic-settings_2_10_1_MIT_License.txt +0 -0
  243. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pydantic_2_11_7_MIT_License.txt +0 -0
  244. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pydantic_core_2_33_2_MIT_License.txt +0 -0
  245. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pyparsing_3_2_3_MIT_License.txt +0 -0
  246. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pystray_0_19_5_GNU_Lesser_General_Public_License_v3-LGPLv3.txt +0 -0
  247. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_python-dateutil_2_9_0_post0_Apache_Software_License-BSD_License.txt +0 -0
  248. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_python-dotenv_1_1_1_BSD_License.txt +0 -0
  249. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_python-multipart_0_0_20_Apache_Software_License.txt +0 -0
  250. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_pywin32-ctypes_0_2_3_BSD-3-Clause.txt +0 -0
  251. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_questionary_2_1_0_MIT_License.txt +0 -0
  252. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_readme_renderer_44_0_Apache_Software_License.txt +0 -0
  253. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_redis_6_2_0_MIT_License.txt +0 -0
  254. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_referencing_0_36_2_UNKNOWN.txt +0 -0
  255. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_regex_2024_11_6_Apache_Software_License.txt +0 -0
  256. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_requests-toolbelt_1_0_0_Apache_Software_License.txt +0 -0
  257. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_requests_2_32_4_Apache_Software_License.txt +0 -0
  258. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_rfc3986_2_0_0_Apache_Software_License.txt +0 -0
  259. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_rich_14_0_0_MIT_License.txt +0 -0
  260. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/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
  261. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_rpds-py_0_25_1_MIT.txt +0 -0
  262. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_rsa_4_9_1_Apache_Software_License.txt +0 -0
  263. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_setuptools_65_5_0_MIT_License.txt +0 -0
  264. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_shapely_2_1_1_BSD_License.txt +0 -0
  265. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_shellingham_1_5_4_ISC_License-ISCL.txt +0 -0
  266. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_six_1_17_0_MIT_License.txt +0 -0
  267. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sniffio_1_3_1_Apache_Software_License-MIT_License.txt +0 -0
  268. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_snowballstemmer_3_0_1_BSD_License.txt +0 -0
  269. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinx-intl_2_3_1_BSD_License.txt +0 -0
  270. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinx-last-updated-by-git_0_3_8_BSD_License.txt +0 -0
  271. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinx-rtd-theme_3_0_2_MIT_License.txt +0 -0
  272. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinx-sitemap_2_7_2_UNKNOWN.txt +0 -0
  273. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinx_fontawesome_0_0_6_GNU_General_Public_License_v2-GPLv2.txt +0 -0
  274. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-applehelp_2_0_0_BSD_License.txt +0 -0
  275. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-devhelp_2_0_0_BSD_License.txt +0 -0
  276. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-htmlhelp_2_1_0_BSD_License.txt +0 -0
  277. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-jquery_4_1_BSD_License.txt +0 -0
  278. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-jsmath_1_0_1_BSD_License.txt +0 -0
  279. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-qthelp_2_0_0_BSD_License.txt +0 -0
  280. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sphinxcontrib-serializinghtml_2_0_0_BSD_License.txt +0 -0
  281. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_sse-starlette_2_3_6_BSD_License.txt +0 -0
  282. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_starlette_0_46_2_BSD_License.txt +0 -0
  283. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tabulate_0_9_0_MIT_License.txt +0 -0
  284. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tenacity_8_5_0_Apache_Software_License.txt +0 -0
  285. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/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 +0 -0
  286. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tokenizers_0_21_2_Apache_Software_License.txt +0 -0
  287. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tomli_2_2_1_MIT_License.txt +0 -0
  288. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tqdm_4_67_1_MIT_License-Mozilla_Public_License_2_0-MPL_2_0.txt +0 -0
  289. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_twine_6_1_0_Apache_Software_License.txt +0 -0
  290. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_typer_0_16_0_MIT_License.txt +0 -0
  291. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_typing-inspection_0_4_1_UNKNOWN.txt +0 -0
  292. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_typing_extensions_4_14_0_UNKNOWN.txt +0 -0
  293. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tzdata_2025_2_Apache_Software_License.txt +0 -0
  294. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_tzlocal_5_3_1_MIT_License.txt +0 -0
  295. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_uritemplate_4_2_0_BSD_3-Clause_OR_Apache-2_0.txt +0 -0
  296. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_urllib3_2_5_0_UNKNOWN.txt +0 -0
  297. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_uvicorn_0_35_0_BSD_License.txt +0 -0
  298. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_watchfiles_1_1_0_MIT_License.txt +0 -0
  299. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_wcwidth_0_2_13_MIT_License.txt +0 -0
  300. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_websockets_15_0_1_BSD_License.txt +0 -0
  301. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_wheel_0_45_1_MIT_License.txt +0 -0
  302. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_yarl_1_20_1_Apache_Software_License.txt +0 -0
  303. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_zipp_3_23_0_UNKNOWN.txt +0 -0
  304. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_zope_event_5_1_Zope_Public_License.txt +0 -0
  305. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/LICENSE_zope_interface_7_2_Zope_Public_License.txt +0 -0
  306. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/licenses/files.txt +0 -0
  307. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_audit.yml +0 -0
  308. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_client.yml +0 -0
  309. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_cmdbox.yml +0 -0
  310. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_edge.yml +0 -0
  311. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_gui.yml +0 -0
  312. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_mcp.yml +0 -0
  313. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_server.yml +0 -0
  314. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/logconf_web.yml +0 -0
  315. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/agent.html +0 -0
  316. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/apexcharts/apexcharts.css +0 -0
  317. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/apexcharts/apexcharts.min.js +0 -0
  318. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/bootstrap/bootstrap.bundle.min.5.3.0.js +0 -0
  319. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/bootstrap/bootstrap.min.5.3.0.css +0 -0
  320. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/audit.js +0 -0
  321. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/color_mode.css +0 -0
  322. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/common.js +0 -0
  323. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/favicon.ico +0 -0
  324. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/filer_modal.js +0 -0
  325. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/icon.png +0 -0
  326. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/list_cmd.js +0 -0
  327. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/list_pipe.js +0 -0
  328. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/main.js +0 -0
  329. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/open_capture.js +0 -0
  330. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/open_output_json.js +0 -0
  331. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/result.js +0 -0
  332. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/signin.js +0 -0
  333. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/svgicon.js +0 -0
  334. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/users.js +0 -0
  335. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/view_raw.js +0 -0
  336. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/cmdbox/view_result.js +0 -0
  337. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/encodingjs/LICENSE.txt +0 -0
  338. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/encodingjs/encoding.js +0 -0
  339. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/encodingjs/encoding.min.js +0 -0
  340. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/filer/filer.js +0 -0
  341. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/filer/main.css +0 -0
  342. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/filer/main.js +0 -0
  343. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/highlight/default.css +0 -0
  344. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/highlight/highlight.min.js +0 -0
  345. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/highlight/styles/tokyo-night-dark.min.css +0 -0
  346. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery/jquery.min.3.2.0.js +0 -0
  347. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-linedtextarea/README.md +0 -0
  348. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea-license.txt +0 -0
  349. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.css +0 -0
  350. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.html +0 -0
  351. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-linedtextarea/jquery-linedtextarea.js +0 -0
  352. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-resizable/jquery-resizable.min.js +0 -0
  353. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/AUTHORS.txt +0 -0
  354. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/LICENSE.txt +0 -0
  355. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
  356. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
  357. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
  358. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
  359. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
  360. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
  361. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/jquery-ui.min.css +0 -0
  362. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/jquery-ui.min.js +0 -0
  363. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/jquery-ui.structure.min.css +0 -0
  364. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/jquery-ui.theme.min.css +0 -0
  365. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/jquery-ui/package.json +0 -0
  366. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/css/lightbox.min.css +0 -0
  367. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/images/close.png +0 -0
  368. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/images/loading.gif +0 -0
  369. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/images/next.png +0 -0
  370. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/images/prev.png +0 -0
  371. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/lightbox2/js/lightbox.min.js +0 -0
  372. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/split-pane/split-pane.css +0 -0
  373. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/split-pane/split-pane.js +0 -0
  374. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/tree-menu/css/tree-menu.css +0 -0
  375. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/tree-menu/image/file.png +0 -0
  376. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/tree-menu/image/folder-close.png +0 -0
  377. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/tree-menu/image/folder-open.png +0 -0
  378. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets/tree-menu/js/tree-menu.js +0 -0
  379. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/assets_license_list.txt +0 -0
  380. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/audit.html +0 -0
  381. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/filer.html +0 -0
  382. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/gui.html +0 -0
  383. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/result.html +0 -0
  384. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/signin.html +0 -0
  385. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox/web/users.html +0 -0
  386. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox.egg-info/SOURCES.txt +0 -0
  387. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox.egg-info/dependency_links.txt +0 -0
  388. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox.egg-info/entry_points.txt +0 -0
  389. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox.egg-info/requires.txt +0 -0
  390. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/cmdbox.egg-info/top_level.txt +0 -0
  391. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/setup.cfg +0 -0
  392. {cmdbox-0.6.2.3 → cmdbox-0.6.2.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cmdbox
3
- Version: 0.6.2.3
3
+ Version: 0.6.2.4
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
@@ -931,7 +931,8 @@ async def create_request_scope(req:Request=None, res:Response=None, websocket:We
931
931
  sess = None
932
932
  if req is not None:
933
933
  sess = req.session if hasattr(req, 'session') else None
934
- request_scope.set(dict(req=req, res=res, websocket=websocket))
934
+ from cmdbox.app.web import Web
935
+ request_scope.set(dict(req=req, res=res, websocket=websocket, web=Web.getInstance()))
935
936
  try:
936
937
  yield # リクエストの処理
937
938
  finally:
@@ -954,4 +955,4 @@ def get_request_scope() -> Dict[str, Any]:
954
955
  Returns:
955
956
  Dict[str, Any]: リクエストとレスポンスとWebSocket接続
956
957
  """
957
- return request_scope.get() if request_scope.get() is not None else dict(req=None, res=None, session=None, websocket=None)
958
+ return request_scope.get() if request_scope.get() is not None else dict(req=None, res=None, session=None, websocket=None, web=None)
@@ -144,6 +144,12 @@ class AuditSearch(audit_base.AuditBase):
144
144
  Returns:
145
145
  Tuple[int, Dict[str, Any], Any]: 終了コード, 結果, オブジェクト
146
146
  """
147
+ if not hasattr(args, 'format') or not args.format:
148
+ args.format = False
149
+ if not hasattr(args, 'output_json') or not args.output_json:
150
+ args.output_json = None
151
+ if not hasattr(args, 'output_json_append') or not args.output_json_append:
152
+ args.output_json_append = False
147
153
  if args.svname is None:
148
154
  msg = dict(warn=f"Please specify the --svname option.")
149
155
  common.print_format(msg, args.format, tm, None, False, pf=pf)
@@ -183,7 +183,7 @@ class WebStart(feature.UnsupportEdgeFeature, agent_base.AgentBase):
183
183
  Returns:
184
184
  web.Web: Webオブジェクト
185
185
  """
186
- w = web.Web(logger, Path(args.data), appcls=self.appcls, ver=self.ver,
186
+ w = web.Web.getInstance(logger, Path(args.data), appcls=self.appcls, ver=self.ver,
187
187
  redis_host=args.host, redis_port=args.port, redis_password=args.password, svname=args.svname,
188
188
  client_only=args.client_only, doc_root=args.doc_root, gui_html=args.gui_html, filer_html=args.filer_html,
189
189
  result_html=args.result_html, users_html=args.users_html,
@@ -35,11 +35,12 @@ class Mcp:
35
35
  self.ver = ver
36
36
  self.signin = sign
37
37
 
38
- def create_mcpserver(self, args:argparse.Namespace, tools:List[Any], web:Any) -> Any:
38
+ def create_mcpserver(self, logger:logging.Logger, args:argparse.Namespace, tools:List[Any], web:Any) -> Any:
39
39
  """
40
40
  mcpserverを作成します
41
41
 
42
42
  Args:
43
+ logger (logging.Logger): ロガー
43
44
  args (argparse.Namespace): 引数
44
45
  tools (List[Any]): ツールのリスト
45
46
  web (Any): Web関連のオブジェクト
@@ -60,13 +61,85 @@ class Mcp:
60
61
  issuer=issuer,
61
62
  audience=audience
62
63
  )
63
- mcp = FastMCP(name=self.ver.__appid__, tools=tools, auth=auth)
64
+ mcp = FastMCP(name=self.ver.__appid__, auth=auth)
64
65
  else:
65
66
  self.logger.info(f"Using BearerAuthProvider without public key, issuer, or audience.")
66
- mcp = FastMCP(name=self.ver.__appid__, tools=tools)
67
+ mcp = FastMCP(name=self.ver.__appid__)
67
68
  mcp.add_middleware(self.create_mw_logging(self.logger, args))
68
69
  mcp.add_middleware(self.create_mw_reqscope(self.logger, args, web))
69
- mcp.add_middleware(self.create_mw_toollist(self.logger, args))
70
+
71
+ options = Options.getInstance()
72
+ cmd_list:feature.Feature = options.get_cmd_attr('cmd', 'list', "feature")
73
+ language, _ = locale.getlocale()
74
+ is_japan = language.find('Japan') >= 0 or language.find('ja_JP') >= 0
75
+ _self_mcp = self
76
+ from cmdbox.app.web import Web
77
+ from fastmcp.tools import tool, tool_manager
78
+ class CustomToolManager(tool_manager.ToolManager):
79
+ async def _load_tools(self, *, via_server: bool = False) -> dict[str, tool.Tool]:
80
+ if hasattr(self, '_tools') and self._tools:
81
+ return self._tools
82
+ ret = await super()._load_tools(via_server=via_server)
83
+ #scope = signin.get_request_scope()
84
+ #web:Web = scope["web"]
85
+ signin_file = web.signin_file
86
+ #signin_data = signin.Signin.load_signin_file(signin_file)
87
+ #if signin.Signin._check_signin(scope["req"], scope["res"], signin_data, logger) is not None:
88
+ # logger.warning("Unable to execute command because authentication information cannot be obtained")
89
+ # raise Exception("Unable to execute command because authentication information cannot be obtained")
90
+ #groups = scope["req"].session["signin"]["groups"]
91
+ ret_tools = dict()
92
+ # システムコマンドリストのフィルタリング
93
+ for func in tools:
94
+ mode = [t.replace('mode=', '') for t in func.tags if t.startswith('mode=')]
95
+ mode = mode[0] if mode else None
96
+ cmd = [t.replace('cmd=', '') for t in func.tags if t.startswith('cmd=')]
97
+ cmd = cmd[0] if cmd else None
98
+ if mode is None or cmd is None:
99
+ logger.warning(f"Tool {func.name} does not have mode or cmd tag, skipping.")
100
+ continue
101
+ #if not signin.Signin._check_cmd(signin_data, groups, mode, cmd, logger):
102
+ # logger.warning(f"User does not have permission to use tool {func.name} (mode={mode}, cmd={cmd}), skipping.")
103
+ # continue
104
+ ret_tools[func.name] = func
105
+ # ユーザーコマンドリストの取得(すべてのコマンドを取得するためにgroupsをadminに設定)
106
+ args = argparse.Namespace(data=web.data, signin_file=signin_file, groups=['admin'], kwd=None,
107
+ format=False, output_json=None, output_json_append=False,)
108
+ st, ret, _ = cmd_list.apprun(logger, args, time.perf_counter(), [])
109
+ if ret is None or 'success' not in ret or not ret['success']:
110
+ return ret_tools
111
+ for opt in ret['success']:
112
+ func_name = opt['title']
113
+ mode, cmd, description = opt['mode'], opt['cmd'], opt['description'] if 'description' in opt and opt['description'] else ''
114
+ choices = options.get_cmd_choices(mode, cmd, False)
115
+ description += '\n' + options.get_cmd_attr(mode, cmd, 'description_ja' if is_japan else 'description_en')
116
+ # 関数の定義を生成
117
+ func_txt = _self_mcp._create_func_txt(func_name, mode, cmd, is_japan, options, title=opt['title'])
118
+ if logger.level == logging.DEBUG:
119
+ logger.debug(f"generating agent tool: {func_name}")
120
+ func_ctx = []
121
+ # 関数を実行してコンテキストに追加
122
+ exec(func_txt,
123
+ dict(time=time,List=List, Path=Path, argparse=argparse, common=common, options=options, logging=logging, signin=signin,),
124
+ dict(func_ctx=func_ctx))
125
+ # 関数のスキーマを生成
126
+ input_schema = dict(
127
+ type="object",
128
+ properties={o['opt']: _self_mcp._to_schema(o, is_japan) for o in choices},
129
+ required=[],
130
+ )
131
+ output_schema = dict(type="object", properties=dict())
132
+ func_tool = tool.FunctionTool(fn=func_ctx[0], name=func_name, title=func_name.title(), description=description,
133
+ tags=[f"mode={mode}", f"cmd={cmd}"],
134
+ parameters=input_schema, output_schema=output_schema,)
135
+ # ツールリストに追加
136
+ ret_tools[func_name] = func_tool
137
+ self._tools = ret_tools
138
+ return ret_tools
139
+ mcp._tool_manager = CustomToolManager(
140
+ duplicate_behavior=mcp._tool_manager.duplicate_behavior,
141
+ mask_error_details=mcp._tool_manager.mask_error_details
142
+ )
70
143
  return mcp
71
144
 
72
145
  def create_session_service(self, args:argparse.Namespace) -> Any:
@@ -335,6 +408,8 @@ class Mcp:
335
408
  func_txt += f' opt_path = opt["data"] / ".cmds" / f"cmd-{title}.json"\n'
336
409
  func_txt += f' opt.update(common.loadopt(opt_path))\n'
337
410
  func_txt += f' scope = signin.get_request_scope()\n'
411
+ func_txt += f' if logger.level == logging.DEBUG:\n'
412
+ func_txt += ' logger.debug(f"MCP Call scope={scope}")\n'
338
413
  func_txt += f' opt["mode"] = "{mode}"\n'
339
414
  func_txt += f' opt["cmd"] = "{cmd}"\n'
340
415
  func_txt += f' opt["format"] = False\n'
@@ -356,6 +431,8 @@ class Mcp:
356
431
  func_txt += f' feat = options.get_cmd_attr("{mode}", "{cmd}", "feature")\n'
357
432
  func_txt += f' args.groups = groups\n'
358
433
  func_txt += f' try:\n'
434
+ func_txt += f' if logger.level == logging.DEBUG:\n'
435
+ func_txt += ' logger.debug(f"MCP Call {feat}#apprun, args={args}")\n'
359
436
  func_txt += f' st, ret, _ = feat.apprun(logger, args, time.perf_counter(), [])\n'
360
437
  func_txt += f' return ret\n'
361
438
  func_txt += f' except Exception as e:\n'
@@ -411,87 +488,6 @@ class Mcp:
411
488
  func_tools.append(func_tool)
412
489
  return func_tools
413
490
 
414
- def create_mw_toollist(self, logger:logging.Logger, args:argparse.Namespace) -> Any:
415
- """
416
- ツールリストを作成するミドルウェアを作成します
417
-
418
- Args:
419
- logger (logging.Logger): ロガー
420
- args (argparse.Namespace): 引数
421
-
422
- Returns:
423
- Any: ミドルウェア
424
- """
425
- from cmdbox.app.web import Web
426
- from fastmcp.server.middleware import Middleware, MiddlewareContext, ListToolsResult
427
- from fastmcp.tools import FunctionTool
428
- func_tools:List[FunctionTool] = self.create_tools(logger, args)
429
- options = Options.getInstance()
430
- cmd_list:feature.Feature = options.get_cmd_attr('cmd', 'list', "feature")
431
- language, _ = locale.getlocale()
432
- is_japan = language.find('Japan') >= 0 or language.find('ja_JP') >= 0
433
- mcp = self
434
- class CommandListMiddleware(Middleware):
435
- async def on_list_tools(self, context: MiddlewareContext, call_next):
436
- # 認証情報の取得
437
- scope = signin.get_request_scope()
438
- web:Web = scope["web"]
439
- signin_file = web.signin_file
440
- signin_data = signin.Signin.load_signin_file(signin_file)
441
- if signin.Signin._check_signin(scope["req"], scope["res"], signin_data, logger) is not None:
442
- logger.warning("Unable to execute command because authentication information cannot be obtained")
443
- return dict(warn="Unable to execute command because authentication information cannot be obtained")
444
- groups = scope["req"].session["signin"]["groups"]
445
- ret_tools = []
446
- # システムコマンドリストのフィルタリング
447
- for func in func_tools:
448
- mode = [t.replace('mode=', '') for t in func.tags if t.startswith('mode=')]
449
- mode = mode[0] if mode else None
450
- cmd = [t.replace('cmd=', '') for t in func.tags if t.startswith('cmd=')]
451
- cmd = cmd[0] if cmd else None
452
- if mode is None or cmd is None:
453
- logger.warning(f"Tool {func.name} does not have mode or cmd tag, skipping.")
454
- continue
455
- if not signin.Signin._check_cmd(signin_data, groups, mode, cmd, logger):
456
- logger.warning(f"User does not have permission to use tool {func.name} (mode={mode}, cmd={cmd}), skipping.")
457
- continue
458
- ret_tools.append(func)
459
- # ユーザーコマンドリストの取得
460
- args = argparse.Namespace(data=web.data, signin_file=signin_file, groups=groups, kwd=None,
461
- format=False, output_json=None, output_json_append=False,)
462
- st, ret, _ = cmd_list.apprun(logger, args, time.perf_counter(), [])
463
- if ret is None or 'success' not in ret or not ret['success']:
464
- return ret_tools
465
- for opt in ret['success']:
466
- func_name = f"user_{opt['title']}"
467
- mode, cmd, description = opt['mode'], opt['cmd'], opt['description'] if 'description' in opt and opt['description'] else ''
468
- choices = options.get_cmd_choices(mode, cmd, False)
469
- description += '\n' + options.get_cmd_attr(mode, cmd, 'description_ja' if is_japan else 'description_en')
470
- # 関数の定義を生成
471
- func_txt = mcp._create_func_txt(func_name, mode, cmd, is_japan, options, title=opt['title'])
472
- if logger.level == logging.DEBUG:
473
- logger.debug(f"generating agent tool: {func_name}")
474
- func_ctx = []
475
- # 関数を実行してコンテキストに追加
476
- exec(func_txt,
477
- dict(time=time,List=List, Path=Path, argparse=argparse, common=common, options=options, logging=logging, signin=signin,),
478
- dict(func_ctx=func_ctx))
479
- # 関数のスキーマを生成
480
- input_schema = dict(
481
- type="object",
482
- properties={o['opt']: mcp._to_schema(o, is_japan) for o in choices},
483
- required=[],
484
- )
485
- output_schema = dict(type="object", properties=dict())
486
- func_tool = FunctionTool(fn=func_ctx[0], name=func_name, title=func_name.title(), description=description,
487
- tags=[f"mode={mode}", f"cmd={cmd}"],
488
- parameters=input_schema, output_schema=output_schema,)
489
- # ツールリストに追加
490
- ret_tools.append(func_tool)
491
-
492
- return ret_tools
493
- return CommandListMiddleware()
494
-
495
491
  def create_mw_logging(self, logger:logging.Logger, args:argparse.Namespace) -> Any:
496
492
  """
497
493
  ログ出力用のミドルウェアを作成します
@@ -563,7 +559,7 @@ class Mcp:
563
559
  session_service:BaseSessionService = self.create_session_service(args)
564
560
  from fastmcp.tools import FunctionTool
565
561
  tools:List[FunctionTool] = self.create_tools(logger, args)
566
- mcp:FastMCP = self.create_mcpserver(args, tools, web)
562
+ mcp:FastMCP = self.create_mcpserver(logger, args, tools, web)
567
563
  root_agent = self.create_agent(logger, args, [t.fn for t in tools])
568
564
  runner = self.create_runner(logger, args, session_service, root_agent)
569
565
  if logger.level == logging.DEBUG:
@@ -27,6 +27,21 @@ import webbrowser
27
27
 
28
28
 
29
29
  class Web:
30
+ @classmethod
31
+ def getInstance(cls, *args, **kwargs) -> 'Web':
32
+ """
33
+ Webクラスのインスタンスを取得する
34
+ Args:
35
+ *args: 可変長引数
36
+ **kwargs: キーワード引数
37
+
38
+ Returns:
39
+ Web: Webクラスのインスタンス
40
+ """
41
+ if not hasattr(cls, '_instance'):
42
+ cls._instance = cls(*args, **kwargs)
43
+ return cls._instance
44
+
30
45
  def __init__(self, logger:logging.Logger, data:Path, appcls=None, ver=None,
31
46
  redis_host:str="localhost", redis_port:int=6379, redis_password:str=None, svname:str='server',
32
47
  client_only:bool=False, doc_root:Path=None, gui_html:str=None, filer_html:str=None, result_html:str=None, users_html:str=None,
@@ -78,7 +78,7 @@ pathrule: # List of RESTAPI rules, rules that determine whe
78
78
  - groups: [user]
79
79
  paths: [/signin, /assets, /bbforce_cmd, /copyright, /dosignin, /dosignout, /password/change,
80
80
  /gui/user_data/load, /gui/user_data/save, /gui/user_data/delete,
81
- /agent, /mcp,
81
+ /agent, /mcpsv,
82
82
  /exec_cmd, /exec_pipe, /filer, /result, /gui, /get_server_opt, /usesignout, /versions_cmdbox, /versions_used]
83
83
  rule: allow
84
84
  - groups: [readonly]
@@ -106,6 +106,30 @@ password: # Password settings.
106
106
  enabled: true # Specify whether or not to enable account lockout.
107
107
  threshold: 5 # Specify the number of failed login attempts before the account is locked.
108
108
  reset: 30 # Specify the number of minutes after which the failed login count will be reset.
109
+ apikey:
110
+ gen_cert: # Specify whether to generate a certificate for API key.
111
+ enabled: true # Specify whether to enable certificate generation for API key.
112
+ privatekey: idp_private.pem # Specify the destination file for the generated private key.
113
+ certificate: idp_cert.pem # Specify the destination file for the generated certificate.
114
+ publickey: idp_public.pem # Specify the destination file for the generated public key.
115
+ gen_jwt: # Specify whether to generate JWT for API key.
116
+ enabled: true # Specify whether to enable JWT generation for API key.
117
+ privatekey: idp_private.pem # Specify the private key file for JWT generation.
118
+ privatekey_passphrase: # Specify the passphrase for the private key file.
119
+ # If the private key is encrypted, specify the passphrase here.
120
+ algorithm: RS256 # Specify the algorithm used to generate the JWT. The value can be RS256, PS256, or ES256.
121
+ claims: # Specify the claims to be included in the JWT.
122
+ iss: identity_provider # Specify the issuer of the JWT. This is usually the name of the identity provider.
123
+ sub: app_user # Specify the subject of the JWT. This is usually the name of the application.
124
+ aud: app_organization # Specify the audience of the JWT. This is usually the name of the organization that will use the application.
125
+ exp: 31536000 # Specify the expiration time of the JWT in seconds. The default is 31536000 seconds (1 year).
126
+ verify_jwt: # Specify whether to verify JWT for API key.
127
+ enabled: true # Specify whether to enable JWT verification for API key.
128
+ certificate: idp_cert.pem # Specify the certificate file for JWT verification.
129
+ publickey: idp_public.pem # Specify the public key file for JWT verification. Not required if certificate exists.
130
+ issuer: identity_provider # Specify the issuer of the JWT. This is usually the name of the identity provider. (If not specified, no verification)
131
+ audience: app_organization # Specify the audience of the JWT. This is usually the name of the organization that will use the application. (If not specified, no verification)
132
+ algorithm: RS256 # Specify the algorithm used to verify the JWT. The value can be RS256, PS256, or ES256.
109
133
  oauth2: # OAuth2 settings.
110
134
  providers: # This is a per-provider setting for OAuth2.
111
135
  google: # Google's OAuth2 configuration.
@@ -1,10 +1,10 @@
1
1
  import datetime
2
2
 
3
- dt_now = datetime.datetime(2025, 7, 13)
3
+ dt_now = datetime.datetime(2025, 7, 16)
4
4
  days_ago = (datetime.datetime.now() - dt_now).days
5
5
  __appid__ = 'cmdbox'
6
6
  __title__ = 'cmdbox (Command Development Application)'
7
- __version__ = '0.6.2.3'
7
+ __version__ = '0.6.2.4'
8
8
  __copyright__ = f'Copyright © 2023-{dt_now.strftime("%Y")} hamacom2004jp'
9
9
  __pypiurl__ = 'https://pypi.org/project/cmdbox/'
10
10
  __srcurl__ = 'https://github.com/hamacom2004jp/cmdbox'
@@ -253,6 +253,7 @@ agent.create_history = (histories, session_id, msg) => {
253
253
  e.preventDefault();
254
254
  e.stopPropagation();
255
255
  agent.delete_session(session_id).then((res) => {
256
+ const messages = $('#messages');
256
257
  if (res['success']) {
257
258
  history.remove();
258
259
  const sid = messages.attr('data-session_id');
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cmdbox
3
- Version: 0.6.2.3
3
+ Version: 0.6.2.4
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes