mindroot 9.24.0__py3-none-any.whl → 10.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mindroot might be problematic. Click here for more details.

Files changed (269) hide show
  1. mindroot/coreplugins/chat/services.py +2 -2
  2. mindroot/coreplugins/chat/static/js/chat.js +15 -4
  3. mindroot/coreplugins/chat/static/js/chatform.js +1 -1
  4. mindroot/coreplugins/check_list/helpers.py +221 -0
  5. mindroot/coreplugins/check_list/mod.py +383 -126
  6. mindroot/coreplugins/check_list/mod.py.backup +378 -0
  7. mindroot/coreplugins/check_list/mod.py.backup2 +506 -0
  8. mindroot/coreplugins/check_list/mod.py.backup3 +506 -0
  9. mindroot/coreplugins/check_list/plugin_info.json +14 -0
  10. mindroot/docs/_build/doctrees/developer_documentation.doctree +0 -0
  11. mindroot/docs/_build/doctrees/embed_chat.doctree +0 -0
  12. mindroot/docs/_build/doctrees/environment.pickle +0 -0
  13. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.check_list.doctree +0 -0
  14. mindroot/docs/_build/doctrees/source/mindroot.lib.doctree +0 -0
  15. mindroot/docs/_build/doctrees/user_documentation.doctree +0 -0
  16. mindroot/docs/_build/html/_images/apikey.png +0 -0
  17. mindroot/docs/_build/html/_images/chatwidgetx.png +0 -0
  18. mindroot/docs/_build/html/_images/disablechatavatar.png +0 -0
  19. mindroot/docs/_build/html/_images/widgetform.png +0 -0
  20. mindroot/docs/_build/html/_images/widgetonpage.png +0 -0
  21. mindroot/docs/_build/html/_modules/index.html +1 -0
  22. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_importer.html +282 -86
  23. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_router.html +281 -88
  24. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/asset_manager.html +280 -84
  25. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/command_router.html +281 -88
  26. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_catalog_routes.html +279 -86
  27. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_publish_routes.html +284 -91
  28. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_registry_routes.html +284 -91
  29. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_routes.html +281 -88
  30. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mod.html +280 -84
  31. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/oauth_callback_router.html +280 -87
  32. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_handler.html +282 -86
  33. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_router.html +285 -89
  34. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_manager.html +281 -88
  35. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_router.html +280 -87
  36. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_routes.html +280 -87
  37. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/registry_settings_routes.html +280 -87
  38. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/router.html +281 -88
  39. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/server_router.html +280 -84
  40. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/service_models.html +280 -87
  41. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/settings_router.html +1 -0
  42. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/api_key_manager.html +280 -87
  43. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/mod.html +279 -86
  44. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/router.html +280 -87
  45. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/commands.html +281 -88
  46. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/mod.html +279 -86
  47. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/models.html +280 -87
  48. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/router.html +281 -88
  49. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/services.html +283 -90
  50. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_manager.html +279 -86
  51. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_routes.html +279 -86
  52. mindroot/docs/_build/html/_modules/mindroot/coreplugins/check_list/mod.html +669 -213
  53. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/conversion.html +280 -87
  54. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/ledger.html +281 -88
  55. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/mod.html +281 -88
  56. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/models.html +279 -86
  57. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/router.html +279 -86
  58. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/storage.html +279 -86
  59. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/email_provider.html +280 -87
  60. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/imap_handler.html +284 -91
  61. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/mod.html +280 -87
  62. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/services.html +280 -87
  63. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/smtp_handler.html +280 -87
  64. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/test_email_service.html +280 -87
  65. mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/mod.html +281 -88
  66. mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/router.html +280 -87
  67. mindroot/docs/_build/html/_modules/mindroot/coreplugins/events/router.html +280 -87
  68. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/agent_ops.html +280 -87
  69. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/index_ops.html +280 -87
  70. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/plugin_ops.html +284 -91
  71. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/publish.html +281 -88
  72. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/mod.html +279 -86
  73. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/models.html +282 -86
  74. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/router.html +284 -91
  75. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/utils.html +282 -86
  76. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/middleware.html +1 -0
  77. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/mod.html +279 -86
  78. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/router.html +280 -87
  79. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/language_detection.html +280 -84
  80. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/middleware.html +280 -84
  81. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/mod.html +282 -86
  82. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_enhanced.html +280 -84
  83. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_l8n_standalone.html +282 -86
  84. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_middleware.html +282 -86
  85. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/utils.html +280 -84
  86. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_commands.html +282 -86
  87. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_manager.html +280 -84
  88. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/dynamic_commands.html +280 -84
  89. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mcp_manager.html +282 -86
  90. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mod.html +282 -86
  91. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/oauth_storage.html +280 -84
  92. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/server_installer.html +282 -86
  93. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/testmcpclient.html +285 -89
  94. mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/init_persona.html +280 -84
  95. mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/mod.html +282 -86
  96. mindroot/docs/_build/html/_modules/mindroot/coreplugins/startup/mod.html +282 -86
  97. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/credit_integration.html +280 -84
  98. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/mod.html +282 -86
  99. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/models.html +280 -84
  100. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/router.html +285 -89
  101. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/storage.html +282 -86
  102. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/stripe_integration.html +280 -84
  103. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/subscription_manager.html +280 -84
  104. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/webhook_handler.html +280 -84
  105. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/handlers.html +282 -86
  106. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/mod.html +282 -86
  107. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/models.html +282 -86
  108. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/reporting.html +282 -86
  109. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/router.html +282 -86
  110. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/storage.html +285 -89
  111. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/admin_init.html +282 -86
  112. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/email_service.html +282 -86
  113. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/mod.html +280 -84
  114. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/models.html +282 -86
  115. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/password_reset_service.html +282 -86
  116. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/role_service.html +282 -86
  117. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/router.html +282 -86
  118. mindroot/docs/_build/html/_modules/mindroot/lib/auth/api_key.html +280 -84
  119. mindroot/docs/_build/html/_modules/mindroot/lib/auth/auth.html +282 -86
  120. mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog.html +285 -89
  121. mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog2.html +282 -86
  122. mindroot/docs/_build/html/_modules/mindroot/lib/butemplates.html +282 -86
  123. mindroot/docs/_build/html/_modules/mindroot/lib/chatcontext.html +285 -89
  124. mindroot/docs/_build/html/_modules/mindroot/lib/chatlog.html +440 -91
  125. mindroot/docs/_build/html/_modules/mindroot/lib/chatlog_optimized.html +282 -86
  126. mindroot/docs/_build/html/_modules/mindroot/lib/json_escape.html +280 -84
  127. mindroot/docs/_build/html/_modules/mindroot/lib/json_str_block/json_str_block.html +282 -86
  128. mindroot/docs/_build/html/_modules/mindroot/lib/parent_templates.html +282 -86
  129. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/installation.html +280 -84
  130. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/l8n_static_handler.html +280 -84
  131. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader.html +282 -86
  132. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader_with_l8n.html +282 -86
  133. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/manifest.html +282 -86
  134. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/mapping.html +280 -84
  135. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/paths.html +282 -86
  136. mindroot/docs/_build/html/_modules/mindroot/lib/plugins_install.html +282 -86
  137. mindroot/docs/_build/html/_modules/mindroot/lib/providers/commands.html +282 -87
  138. mindroot/docs/_build/html/_modules/mindroot/lib/providers/hooks.html +280 -85
  139. mindroot/docs/_build/html/_modules/mindroot/lib/providers/missing.html +282 -87
  140. mindroot/docs/_build/html/_modules/mindroot/lib/providers/model_preferences_v2.html +1 -0
  141. mindroot/docs/_build/html/_modules/mindroot/lib/providers/services.html +282 -87
  142. mindroot/docs/_build/html/_modules/mindroot/lib/providers.html +285 -89
  143. mindroot/docs/_build/html/_modules/mindroot/lib/route_decorators.html +282 -86
  144. mindroot/docs/_build/html/_modules/mindroot/lib/session_files.html +282 -86
  145. mindroot/docs/_build/html/_modules/mindroot/lib/streamcmd.html +282 -86
  146. mindroot/docs/_build/html/_modules/mindroot/lib/templates.html +1 -0
  147. mindroot/docs/_build/html/_modules/mindroot/lib/token_counter.html +280 -84
  148. mindroot/docs/_build/html/_modules/mindroot/migrate.html +282 -86
  149. mindroot/docs/_build/html/_modules/mindroot/registry/component_manager.html +282 -86
  150. mindroot/docs/_build/html/_modules/mindroot/registry/data_access.html +285 -89
  151. mindroot/docs/_build/html/_modules/mindroot/server.html +1 -0
  152. mindroot/docs/_build/html/_modules/mindroot/server_missing_normal_args.html +282 -86
  153. mindroot/docs/_build/html/_modules/mindroot/server_prev.html +282 -86
  154. mindroot/docs/_build/html/_sources/developer_documentation.rst.txt +1 -1
  155. mindroot/docs/_build/html/_sources/embed_chat.rst.txt +54 -0
  156. mindroot/docs/_build/html/_sources/user_documentation.rst.txt +6 -1
  157. mindroot/docs/_build/html/chat_with_assistant.html +1 -0
  158. mindroot/docs/_build/html/developer_documentation.html +5 -4
  159. mindroot/docs/_build/html/embed_chat.html +381 -0
  160. mindroot/docs/_build/html/genindex.html +9 -2
  161. mindroot/docs/_build/html/getting_started.html +1 -0
  162. mindroot/docs/_build/html/index.html +2 -0
  163. mindroot/docs/_build/html/install_plugins_with_tools.html +1 -0
  164. mindroot/docs/_build/html/installation.html +1 -0
  165. mindroot/docs/_build/html/llm_api_key.html +1 -0
  166. mindroot/docs/_build/html/llm_plugin_installation.html +1 -0
  167. mindroot/docs/_build/html/objects.inv +0 -0
  168. mindroot/docs/_build/html/programming_task.html +4 -3
  169. mindroot/docs/_build/html/py-modindex.html +2 -1
  170. mindroot/docs/_build/html/search.html +1 -0
  171. mindroot/docs/_build/html/searchindex.js +1 -1
  172. mindroot/docs/_build/html/source/ahp.html +1 -0
  173. mindroot/docs/_build/html/source/mindroot.coreplugins.admin.html +1 -0
  174. mindroot/docs/_build/html/source/mindroot.coreplugins.api_keys.html +1 -0
  175. mindroot/docs/_build/html/source/mindroot.coreplugins.chat.html +1 -0
  176. mindroot/docs/_build/html/source/mindroot.coreplugins.chat_avatar.html +1 -0
  177. mindroot/docs/_build/html/source/mindroot.coreplugins.check_list.html +76 -45
  178. mindroot/docs/_build/html/source/mindroot.coreplugins.credits.html +1 -0
  179. mindroot/docs/_build/html/source/mindroot.coreplugins.email.html +1 -0
  180. mindroot/docs/_build/html/source/mindroot.coreplugins.env_manager.html +1 -0
  181. mindroot/docs/_build/html/source/mindroot.coreplugins.events.html +1 -0
  182. mindroot/docs/_build/html/source/mindroot.coreplugins.html +3 -0
  183. mindroot/docs/_build/html/source/mindroot.coreplugins.index.handlers.html +1 -0
  184. mindroot/docs/_build/html/source/mindroot.coreplugins.index.html +1 -0
  185. mindroot/docs/_build/html/source/mindroot.coreplugins.jwt_auth.html +1 -0
  186. mindroot/docs/_build/html/source/mindroot.coreplugins.l8n.html +1 -0
  187. mindroot/docs/_build/html/source/mindroot.coreplugins.mcp_.html +1 -0
  188. mindroot/docs/_build/html/source/mindroot.coreplugins.persona.html +1 -0
  189. mindroot/docs/_build/html/source/mindroot.coreplugins.startup.html +1 -0
  190. mindroot/docs/_build/html/source/mindroot.coreplugins.subscriptions.html +1 -0
  191. mindroot/docs/_build/html/source/mindroot.coreplugins.usage.html +1 -0
  192. mindroot/docs/_build/html/source/mindroot.coreplugins.user_service.html +1 -0
  193. mindroot/docs/_build/html/source/mindroot.html +2 -0
  194. mindroot/docs/_build/html/source/mindroot.lib.auth.html +1 -0
  195. mindroot/docs/_build/html/source/mindroot.lib.html +34 -3
  196. mindroot/docs/_build/html/source/mindroot.lib.json_str_block.html +1 -0
  197. mindroot/docs/_build/html/source/mindroot.lib.plugins.html +1 -0
  198. mindroot/docs/_build/html/source/mindroot.lib.providers.backup.html +1 -0
  199. mindroot/docs/_build/html/source/mindroot.lib.providers.html +1 -0
  200. mindroot/docs/_build/html/source/mindroot.registry.html +1 -0
  201. mindroot/docs/_build/html/source/modules.html +1 -0
  202. mindroot/docs/_build/html/source/mr_agent_expert_instr.html +1 -0
  203. mindroot/docs/_build/html/starting_mindroot.html +1 -0
  204. mindroot/docs/_build/html/user_documentation.html +9 -0
  205. mindroot/docs/apikey.png +0 -0
  206. mindroot/docs/chatwidget1.png +0 -0
  207. mindroot/docs/chatwidgetx.png +0 -0
  208. mindroot/docs/disablechatavatar.png +0 -0
  209. mindroot/docs/embed_chat.rst +54 -0
  210. mindroot/docs/user_documentation.rst +6 -1
  211. mindroot/docs/widgetform.png +0 -0
  212. mindroot/docs/widgetonpage.png +0 -0
  213. mindroot/lib/buchatlog3.py +592 -0
  214. mindroot/lib/chatlog.py +155 -5
  215. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/METADATA +1 -1
  216. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/RECORD +220 -248
  217. mindroot/docs/_build/html/.buildinfo.bak +0 -4
  218. mindroot/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -123
  219. mindroot/docs/_build/html/_static/css/badge_only.css +0 -1
  220. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  221. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  222. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  223. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  224. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  225. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +0 -2671
  226. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  227. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  228. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  229. mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  230. mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  231. mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  232. mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  233. mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  234. mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  235. mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  236. mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  237. mindroot/docs/_build/html/_static/css/theme.css +0 -4
  238. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  239. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  240. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  241. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  242. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  243. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  244. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  245. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  246. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  247. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  248. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  249. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  250. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  251. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  252. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  253. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  254. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  255. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  256. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  257. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  258. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  259. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  260. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  261. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  262. mindroot/docs/_build/html/_static/jquery.js +0 -2
  263. mindroot/docs/_build/html/_static/js/badge_only.js +0 -1
  264. mindroot/docs/_build/html/_static/js/theme.js +0 -1
  265. mindroot/docs/_build/html/_static/js/versions.js +0 -228
  266. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/WHEEL +0 -0
  267. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/entry_points.txt +0 -0
  268. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/licenses/LICENSE +0 -0
  269. {mindroot-9.24.0.dist-info → mindroot-10.2.0.dist-info}/top_level.txt +0 -0
mindroot/lib/chatlog.py CHANGED
@@ -281,7 +281,7 @@ async def find_child_logs_by_parent_id(parent_log_id: str) -> List[str]:
281
281
 
282
282
  def extract_delegate_task_log_ids(messages: List[Dict]) -> List[str]:
283
283
  """
284
- Extract log IDs from delegate_task commands in messages.
284
+ Extract log IDs from delegate_task and delegate_subtask commands in messages.
285
285
 
286
286
  Args:
287
287
  messages: List of chat messages
@@ -312,10 +312,15 @@ def extract_delegate_task_log_ids(messages: List[Dict]) -> List[str]:
312
312
  for key, value in cmd.items():
313
313
  if key == 'delegate_task' and 'log_id' in value:
314
314
  log_ids.append(value['log_id'])
315
+ elif key == 'delegate_subtask' and 'log_id' in value:
316
+ log_ids.append(value['log_id'])
315
317
  except (json.JSONDecodeError, TypeError, KeyError):
316
318
  # If not JSON, try regex to find log_ids in delegate_task commands
317
319
  matches = re.findall(r'"delegate_task"\s*:\s*{\s*"log_id"\s*:\s*"([^"]+)"', text)
318
320
  log_ids.extend(matches)
321
+ # Also check for delegate_subtask commands
322
+ matches = re.findall(r'"delegate_subtask"\s*:\s*{\s*"log_id"\s*:\s*"([^"]+)"', text)
323
+ log_ids.extend(matches)
319
324
 
320
325
  return log_ids
321
326
 
@@ -389,7 +394,119 @@ async def save_token_counts_to_cache(log_id: str, token_counts: Dict[str, int])
389
394
  async with aiofiles.open(cache_path, 'w') as f:
390
395
  await f.write(json.dumps(token_counts))
391
396
 
392
- async def count_tokens_for_log_id(log_id: str) -> Dict[str, int]:
397
+ async def build_token_hierarchy(log_id: str, user: str = None, visited: set = None) -> Dict:
398
+ """
399
+ Build a hierarchical token count structure for a log and its children.
400
+
401
+ Args:
402
+ log_id: The log ID to build hierarchy for
403
+ user: User for the log
404
+ visited: Set of already visited log IDs to prevent infinite recursion
405
+
406
+ Returns:
407
+ Dictionary with hierarchical structure containing:
408
+ - log_id: The log ID
409
+ - individual_counts: Token counts for this log only
410
+ - cumulative_counts: Token counts including all children
411
+ - children: List of child hierarchies
412
+ """
413
+ if visited is None:
414
+ visited = set()
415
+
416
+ if log_id in visited:
417
+ return None # Prevent infinite recursion
418
+
419
+ visited.add(log_id)
420
+
421
+ # Find the chatlog file
422
+ chatlog_path = await find_chatlog_file(log_id)
423
+ if not chatlog_path:
424
+ return None
425
+
426
+ # Load the chat log
427
+ async with aiofiles.open(chatlog_path, 'r') as f:
428
+ content = await f.read()
429
+ log_data = json.loads(content)
430
+
431
+ # Check if we have cached individual counts for this specific session
432
+ cached_individual = await get_cached_token_counts(log_id, chatlog_path)
433
+ if cached_individual and 'input_tokens_sequence' in cached_individual:
434
+ print(f"Using cached individual token counts for session {log_id}")
435
+ individual_counts = {
436
+ 'input_tokens_sequence': cached_individual['input_tokens_sequence'],
437
+ 'output_tokens_sequence': cached_individual['output_tokens_sequence'],
438
+ 'input_tokens_total': cached_individual['input_tokens_total']
439
+ }
440
+ else:
441
+ # Calculate individual counts for this session
442
+ if user is None:
443
+ try:
444
+ path_parts = chatlog_path.split(os.sep)
445
+ if len(path_parts) >= 4 and path_parts[-4] == 'chat':
446
+ user = path_parts[-3]
447
+ else:
448
+ user = "system"
449
+ except Exception:
450
+ user = "system"
451
+
452
+ temp_log = ChatLog(log_id=log_id, user=user, agent=log_data.get('agent', 'unknown'))
453
+ temp_log.messages = log_data.get('messages', [])
454
+
455
+ # Count tokens for this log only
456
+ individual_counts = temp_log.count_tokens()
457
+
458
+ # Cache the individual session counts
459
+ individual_cache_data = {
460
+ 'input_tokens_sequence': individual_counts['input_tokens_sequence'],
461
+ 'output_tokens_sequence': individual_counts['output_tokens_sequence'],
462
+ 'input_tokens_total': individual_counts['input_tokens_total']
463
+ }
464
+ await save_token_counts_to_cache(log_id, individual_cache_data)
465
+ print(f"Cached individual token counts for session {log_id}")
466
+
467
+ # Find all child log IDs
468
+ if user is None:
469
+ try:
470
+ path_parts = chatlog_path.split(os.sep)
471
+ if len(path_parts) >= 4 and path_parts[-4] == 'chat':
472
+ user = path_parts[-3]
473
+ else:
474
+ user = "system"
475
+ except Exception:
476
+ user = "system"
477
+
478
+ temp_log = ChatLog(log_id=log_id, user=user, agent=log_data.get('agent', 'unknown'))
479
+ temp_log.messages = log_data.get('messages', [])
480
+ delegated_log_ids = extract_delegate_task_log_ids(temp_log.messages)
481
+ child_logs_by_parent = await find_child_logs_by_parent_id(log_id)
482
+ all_child_log_ids = list(set(delegated_log_ids) | set(child_logs_by_parent))
483
+
484
+ # Build child hierarchies
485
+ children = []
486
+ cumulative_counts = {
487
+ 'input_tokens_sequence': individual_counts['input_tokens_sequence'],
488
+ 'output_tokens_sequence': individual_counts['output_tokens_sequence'],
489
+ 'input_tokens_total': individual_counts['input_tokens_total']
490
+ }
491
+
492
+ for child_id in all_child_log_ids:
493
+ child_hierarchy = await build_token_hierarchy(child_id, user, visited.copy())
494
+ if child_hierarchy:
495
+ children.append(child_hierarchy)
496
+ # Add child's cumulative counts to our cumulative counts
497
+ cumulative_counts['input_tokens_sequence'] += child_hierarchy['cumulative_counts']['input_tokens_sequence']
498
+ cumulative_counts['output_tokens_sequence'] += child_hierarchy['cumulative_counts']['output_tokens_sequence']
499
+ cumulative_counts['input_tokens_total'] += child_hierarchy['cumulative_counts']['input_tokens_total']
500
+
501
+ return {
502
+ 'log_id': log_id,
503
+ 'agent': log_data.get('agent', 'unknown'),
504
+ 'individual_counts': individual_counts,
505
+ 'cumulative_counts': cumulative_counts,
506
+ 'children': children
507
+ }
508
+
509
+ async def count_tokens_for_log_id(log_id: str, user: str = None, hierarchical: bool = False) -> Dict[str, int]:
393
510
  """
394
511
  Count tokens for a chat log identified by log_id, including any delegated tasks.
395
512
 
@@ -397,13 +514,32 @@ async def count_tokens_for_log_id(log_id: str) -> Dict[str, int]:
397
514
  log_id: The log ID to count tokens for
398
515
 
399
516
  Returns:
400
- Dictionary with token counts or None if log not found
517
+ Dictionary with token counts or None if log not found.
518
+ If hierarchical=True, includes 'hierarchy' key with tree structure.
519
+ If hierarchical=False (default), returns flat structure for backwards compatibility.
401
520
  """
402
521
  # Find the chatlog file
403
522
  chatlog_path = await find_chatlog_file(log_id)
404
523
  if not chatlog_path:
405
524
  return None
406
525
 
526
+ # If hierarchical structure is requested, build and return it
527
+ if hierarchical:
528
+ # Check cache first for hierarchical data
529
+ cached_counts = await get_cached_token_counts(log_id, chatlog_path)
530
+ if cached_counts and 'hierarchy' in cached_counts:
531
+ print(f"Using cached hierarchical token counts for {log_id}")
532
+ return cached_counts
533
+
534
+ print(f"Calculating hierarchical token counts for {log_id}")
535
+ hierarchy = await build_token_hierarchy(log_id, user)
536
+ if hierarchy:
537
+ result = {'hierarchy': hierarchy}
538
+ # Save hierarchical data to cache
539
+ await save_token_counts_to_cache(log_id, result)
540
+ return result
541
+ return None
542
+
407
543
  # Check cache first
408
544
  cached_counts = await get_cached_token_counts(log_id, chatlog_path)
409
545
  if cached_counts:
@@ -421,7 +557,21 @@ async def count_tokens_for_log_id(log_id: str) -> Dict[str, int]:
421
557
  parent_log_id = log_data.get('parent_log_id')
422
558
 
423
559
  # Create a temporary ChatLog instance to count tokens
424
- temp_log = ChatLog(log_id=log_id, user="system", agent=log_data.get('agent', 'unknown'))
560
+ # Use provided user or try to determine from chatlog path or fallback to "system"
561
+ if user is None:
562
+ # Try to extract user from chatlog path: data/chat/{user}/{agent}/chatlog_{log_id}.json
563
+ try:
564
+ path_parts = chatlog_path.split(os.sep)
565
+ if len(path_parts) >= 4 and path_parts[-4] == 'chat':
566
+ extracted_user = path_parts[-3] # User is third from the end
567
+ user = extracted_user
568
+ print(f"Extracted user '{user}' from chatlog path: {chatlog_path}")
569
+ else:
570
+ user = "system" # Default fallback
571
+ except Exception as e:
572
+ print(f"Error extracting user from path {chatlog_path}: {e}")
573
+ user = "system" # Default fallback
574
+ temp_log = ChatLog(log_id=log_id, user=user, agent=log_data.get('agent', 'unknown'))
425
575
  temp_log.messages = log_data.get('messages', [])
426
576
 
427
577
  # Count tokens for this log
@@ -449,7 +599,7 @@ async def count_tokens_for_log_id(log_id: str) -> Dict[str, int]:
449
599
 
450
600
  # Recursively count tokens for all child tasks
451
601
  for child_id in all_child_log_ids:
452
- delegated_counts = await count_tokens_for_log_id(child_id)
602
+ delegated_counts = await count_tokens_for_log_id(child_id, user=user)
453
603
  if delegated_counts:
454
604
  combined_counts['input_tokens_sequence'] += delegated_counts['input_tokens_sequence']
455
605
  combined_counts['output_tokens_sequence'] += delegated_counts['output_tokens_sequence']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mindroot
3
- Version: 9.24.0
3
+ Version: 10.2.0
4
4
  Summary: MindRoot AI Agent Framework
5
5
  Requires-Python: >=3.9
6
6
  License-File: LICENSE