mindroot 9.11.0__py3-none-any.whl → 9.13.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 (417) hide show
  1. mindroot/coreplugins/admin/static/js/model-preferences-v2.js +1 -1
  2. mindroot/coreplugins/home/templates/home.jinja2 +1 -0
  3. mindroot/docs/Makefile +20 -0
  4. mindroot/docs/_build/doctrees/chat_with_assistant.doctree +0 -0
  5. mindroot/docs/_build/doctrees/developer_documentation.doctree +0 -0
  6. mindroot/docs/_build/doctrees/environment.pickle +0 -0
  7. mindroot/docs/_build/doctrees/getting_started.doctree +0 -0
  8. mindroot/docs/_build/doctrees/index.doctree +0 -0
  9. mindroot/docs/_build/doctrees/install_plugins_with_tools.doctree +0 -0
  10. mindroot/docs/_build/doctrees/installation.doctree +0 -0
  11. mindroot/docs/_build/doctrees/llm_api_key.doctree +0 -0
  12. mindroot/docs/_build/doctrees/llm_plugin_installation.doctree +0 -0
  13. mindroot/docs/_build/doctrees/programming_task.doctree +0 -0
  14. mindroot/docs/_build/doctrees/source/ahp.doctree +0 -0
  15. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.admin.doctree +0 -0
  16. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.api_keys.doctree +0 -0
  17. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat.doctree +0 -0
  18. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat_avatar.doctree +0 -0
  19. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.check_list.doctree +0 -0
  20. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.credits.doctree +0 -0
  21. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.doctree +0 -0
  22. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.email.doctree +0 -0
  23. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.env_manager.doctree +0 -0
  24. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.events.doctree +0 -0
  25. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.doctree +0 -0
  26. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.handlers.doctree +0 -0
  27. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.jwt_auth.doctree +0 -0
  28. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.l8n.doctree +0 -0
  29. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.mcp_.doctree +0 -0
  30. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.persona.doctree +0 -0
  31. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.startup.doctree +0 -0
  32. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.subscriptions.doctree +0 -0
  33. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.usage.doctree +0 -0
  34. mindroot/docs/_build/doctrees/source/mindroot.coreplugins.user_service.doctree +0 -0
  35. mindroot/docs/_build/doctrees/source/mindroot.doctree +0 -0
  36. mindroot/docs/_build/doctrees/source/mindroot.lib.auth.doctree +0 -0
  37. mindroot/docs/_build/doctrees/source/mindroot.lib.doctree +0 -0
  38. mindroot/docs/_build/doctrees/source/mindroot.lib.json_str_block.doctree +0 -0
  39. mindroot/docs/_build/doctrees/source/mindroot.lib.plugins.doctree +0 -0
  40. mindroot/docs/_build/doctrees/source/mindroot.lib.providers.backup.doctree +0 -0
  41. mindroot/docs/_build/doctrees/source/mindroot.lib.providers.doctree +0 -0
  42. mindroot/docs/_build/doctrees/source/mindroot.registry.doctree +0 -0
  43. mindroot/docs/_build/doctrees/source/modules.doctree +0 -0
  44. mindroot/docs/_build/doctrees/source/mr_agent_expert_instr.doctree +0 -0
  45. mindroot/docs/_build/doctrees/starting_mindroot.doctree +0 -0
  46. mindroot/docs/_build/doctrees/user_documentation.doctree +0 -0
  47. mindroot/docs/_build/html/.buildinfo +4 -0
  48. mindroot/docs/_build/html/.buildinfo.bak +4 -0
  49. mindroot/docs/_build/html/_images/envvar.png +0 -0
  50. mindroot/docs/_build/html/_images/files.png +0 -0
  51. mindroot/docs/_build/html/_images/installopenrouter.png +0 -0
  52. mindroot/docs/_build/html/_images/mood.png +0 -0
  53. mindroot/docs/_build/html/_images/moon.png +0 -0
  54. mindroot/docs/_build/html/_images/openrouter.png +0 -0
  55. mindroot/docs/_build/html/_images/restart.png +0 -0
  56. mindroot/docs/_build/html/_modules/index.html +425 -0
  57. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_importer.html +292 -0
  58. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_router.html +620 -0
  59. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/asset_manager.html +289 -0
  60. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/command_router.html +518 -0
  61. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_catalog_routes.html +275 -0
  62. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_publish_routes.html +581 -0
  63. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_registry_routes.html +623 -0
  64. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_routes.html +347 -0
  65. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mod.html +163 -0
  66. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/oauth_callback_router.html +188 -0
  67. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_handler.html +195 -0
  68. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_router.html +428 -0
  69. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_manager.html +610 -0
  70. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_router.html +146 -0
  71. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_routes.html +230 -0
  72. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/registry_settings_routes.html +253 -0
  73. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/router.html +267 -0
  74. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/server_router.html +271 -0
  75. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/service_models.html +195 -0
  76. mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/settings_router.html +403 -0
  77. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/api_key_manager.html +215 -0
  78. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/mod.html +127 -0
  79. mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/router.html +170 -0
  80. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/commands.html +565 -0
  81. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/mod.html +118 -0
  82. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/models.html +130 -0
  83. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/router.html +571 -0
  84. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/services.html +645 -0
  85. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_manager.html +258 -0
  86. mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_routes.html +409 -0
  87. mindroot/docs/_build/html/_modules/mindroot/coreplugins/check_list/mod.html +460 -0
  88. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/conversion.html +232 -0
  89. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/ledger.html +283 -0
  90. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/mod.html +355 -0
  91. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/models.html +269 -0
  92. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/router.html +306 -0
  93. mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/storage.html +257 -0
  94. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/email_provider.html +159 -0
  95. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/imap_handler.html +343 -0
  96. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/mod.html +210 -0
  97. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/services.html +172 -0
  98. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/smtp_handler.html +188 -0
  99. mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/test_email_service.html +179 -0
  100. mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/mod.html +409 -0
  101. mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/router.html +147 -0
  102. mindroot/docs/_build/html/_modules/mindroot/coreplugins/events/router.html +201 -0
  103. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/agent_ops.html +195 -0
  104. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/index_ops.html +214 -0
  105. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/plugin_ops.html +263 -0
  106. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/publish.html +225 -0
  107. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/mod.html +120 -0
  108. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/models.html +148 -0
  109. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/router.html +184 -0
  110. mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/utils.html +166 -0
  111. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/middleware.html +400 -0
  112. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/mod.html +153 -0
  113. mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/router.html +134 -0
  114. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/language_detection.html +296 -0
  115. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/middleware.html +258 -0
  116. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/mod.html +393 -0
  117. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_enhanced.html +408 -0
  118. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_l8n_standalone.html +379 -0
  119. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_middleware.html +394 -0
  120. mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/utils.html +348 -0
  121. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_commands.html +456 -0
  122. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_manager.html +409 -0
  123. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/dynamic_commands.html +267 -0
  124. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mcp_manager.html +1186 -0
  125. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mod.html +510 -0
  126. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/oauth_storage.html +260 -0
  127. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/server_installer.html +195 -0
  128. mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/testmcpclient.html +217 -0
  129. mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/init_persona.html +117 -0
  130. mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/mod.html +276 -0
  131. mindroot/docs/_build/html/_modules/mindroot/coreplugins/startup/mod.html +122 -0
  132. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/credit_integration.html +163 -0
  133. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/mod.html +1089 -0
  134. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/models.html +261 -0
  135. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/router.html +502 -0
  136. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/storage.html +413 -0
  137. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/stripe_integration.html +178 -0
  138. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/subscription_manager.html +289 -0
  139. mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/webhook_handler.html +327 -0
  140. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/handlers.html +157 -0
  141. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/mod.html +253 -0
  142. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/models.html +141 -0
  143. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/reporting.html +226 -0
  144. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/router.html +228 -0
  145. mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/storage.html +264 -0
  146. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/admin_init.html +234 -0
  147. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/email_service.html +204 -0
  148. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/mod.html +260 -0
  149. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/models.html +148 -0
  150. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/password_reset_service.html +336 -0
  151. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/role_service.html +183 -0
  152. mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/router.html +202 -0
  153. mindroot/docs/_build/html/_modules/mindroot/lib/auth/api_key.html +129 -0
  154. mindroot/docs/_build/html/_modules/mindroot/lib/auth/auth.html +203 -0
  155. mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog.html +259 -0
  156. mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog2.html +500 -0
  157. mindroot/docs/_build/html/_modules/mindroot/lib/butemplates.html +415 -0
  158. mindroot/docs/_build/html/_modules/mindroot/lib/chatcontext.html +401 -0
  159. mindroot/docs/_build/html/_modules/mindroot/lib/chatlog.html +619 -0
  160. mindroot/docs/_build/html/_modules/mindroot/lib/chatlog_optimized.html +655 -0
  161. mindroot/docs/_build/html/_modules/mindroot/lib/json_escape.html +138 -0
  162. mindroot/docs/_build/html/_modules/mindroot/lib/json_str_block/json_str_block.html +213 -0
  163. mindroot/docs/_build/html/_modules/mindroot/lib/parent_templates.html +181 -0
  164. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/installation.html +481 -0
  165. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/l8n_static_handler.html +347 -0
  166. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader.html +403 -0
  167. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader_with_l8n.html +391 -0
  168. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/manifest.html +450 -0
  169. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/mapping.html +127 -0
  170. mindroot/docs/_build/html/_modules/mindroot/lib/plugins/paths.html +215 -0
  171. mindroot/docs/_build/html/_modules/mindroot/lib/plugins_install.html +171 -0
  172. mindroot/docs/_build/html/_modules/mindroot/lib/providers/commands.html +125 -0
  173. mindroot/docs/_build/html/_modules/mindroot/lib/providers/hooks.html +117 -0
  174. mindroot/docs/_build/html/_modules/mindroot/lib/providers/missing.html +169 -0
  175. mindroot/docs/_build/html/_modules/mindroot/lib/providers/model_preferences_v2.html +291 -0
  176. mindroot/docs/_build/html/_modules/mindroot/lib/providers/services.html +122 -0
  177. mindroot/docs/_build/html/_modules/mindroot/lib/providers.html +465 -0
  178. mindroot/docs/_build/html/_modules/mindroot/lib/route_decorators.html +175 -0
  179. mindroot/docs/_build/html/_modules/mindroot/lib/session_files.html +142 -0
  180. mindroot/docs/_build/html/_modules/mindroot/lib/streamcmd.html +246 -0
  181. mindroot/docs/_build/html/_modules/mindroot/lib/templates.html +677 -0
  182. mindroot/docs/_build/html/_modules/mindroot/lib/token_counter.html +326 -0
  183. mindroot/docs/_build/html/_modules/mindroot/migrate.html +153 -0
  184. mindroot/docs/_build/html/_modules/mindroot/registry/component_manager.html +140 -0
  185. mindroot/docs/_build/html/_modules/mindroot/registry/data_access.html +302 -0
  186. mindroot/docs/_build/html/_modules/mindroot/server.html +317 -0
  187. mindroot/docs/_build/html/_modules/mindroot/server_missing_normal_args.html +322 -0
  188. mindroot/docs/_build/html/_modules/mindroot/server_prev.html +298 -0
  189. mindroot/docs/_build/html/_sources/chat_with_assistant.rst.txt +14 -0
  190. mindroot/docs/_build/html/_sources/developer_documentation.rst.txt +26 -0
  191. mindroot/docs/_build/html/_sources/getting_started.rst.txt +139 -0
  192. mindroot/docs/_build/html/_sources/index.rst.txt +38 -0
  193. mindroot/docs/_build/html/_sources/install_plugins_with_tools.rst.txt +25 -0
  194. mindroot/docs/_build/html/_sources/installation.rst.txt +21 -0
  195. mindroot/docs/_build/html/_sources/llm_api_key.rst.txt +22 -0
  196. mindroot/docs/_build/html/_sources/llm_plugin_installation.rst.txt +27 -0
  197. mindroot/docs/_build/html/_sources/programming_task.rst.txt +10 -0
  198. mindroot/docs/_build/html/_sources/source/ahp.rst.txt +7 -0
  199. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.admin.rst.txt +189 -0
  200. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.api_keys.rst.txt +45 -0
  201. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat.rst.txt +93 -0
  202. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat_avatar.rst.txt +10 -0
  203. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.check_list.rst.txt +21 -0
  204. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.credits.rst.txt +61 -0
  205. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.email.rst.txt +77 -0
  206. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.env_manager.rst.txt +29 -0
  207. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.events.rst.txt +29 -0
  208. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.handlers.rst.txt +45 -0
  209. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.rst.txt +53 -0
  210. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.jwt_auth.rst.txt +45 -0
  211. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.l8n.rst.txt +109 -0
  212. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.mcp_.rst.txt +93 -0
  213. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.persona.rst.txt +29 -0
  214. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.rst.txt +35 -0
  215. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.startup.rst.txt +21 -0
  216. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.subscriptions.rst.txt +85 -0
  217. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.usage.rst.txt +61 -0
  218. mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.user_service.rst.txt +69 -0
  219. mindroot/docs/_build/html/_sources/source/mindroot.lib.auth.rst.txt +29 -0
  220. mindroot/docs/_build/html/_sources/source/mindroot.lib.json_str_block.rst.txt +21 -0
  221. mindroot/docs/_build/html/_sources/source/mindroot.lib.plugins.rst.txt +69 -0
  222. mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.backup.rst.txt +10 -0
  223. mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.rst.txt +61 -0
  224. mindroot/docs/_build/html/_sources/source/mindroot.lib.rst.txt +152 -0
  225. mindroot/docs/_build/html/_sources/source/mindroot.registry.rst.txt +29 -0
  226. mindroot/docs/_build/html/_sources/source/mindroot.rst.txt +54 -0
  227. mindroot/docs/_build/html/_sources/source/modules.rst.txt +7 -0
  228. mindroot/docs/_build/html/_sources/source/mr_agent_expert_instr.rst.txt +7 -0
  229. mindroot/docs/_build/html/_sources/starting_mindroot.rst.txt +12 -0
  230. mindroot/docs/_build/html/_sources/user_documentation.rst.txt +16 -0
  231. mindroot/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +123 -0
  232. mindroot/docs/_build/html/_static/basic.css +906 -0
  233. mindroot/docs/_build/html/_static/css/badge_only.css +1 -0
  234. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  235. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  236. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  237. mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  238. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  239. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
  240. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  241. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  242. mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  243. mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  244. mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  245. mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  246. mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  247. mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  248. mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  249. mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  250. mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  251. mindroot/docs/_build/html/_static/css/theme.css +4 -0
  252. mindroot/docs/_build/html/_static/custom.css +19 -0
  253. mindroot/docs/_build/html/_static/debug.css +69 -0
  254. mindroot/docs/_build/html/_static/doctools.js +149 -0
  255. mindroot/docs/_build/html/_static/documentation_options.js +13 -0
  256. mindroot/docs/_build/html/_static/file.png +0 -0
  257. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  258. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  259. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  260. mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  261. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  262. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  263. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  264. mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  265. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  266. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  267. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  268. mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  269. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  270. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  271. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  272. mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  273. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  274. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  275. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  276. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  277. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  278. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  279. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  280. mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  281. mindroot/docs/_build/html/_static/jquery.js +2 -0
  282. mindroot/docs/_build/html/_static/js/badge_only.js +1 -0
  283. mindroot/docs/_build/html/_static/js/theme.js +1 -0
  284. mindroot/docs/_build/html/_static/js/versions.js +228 -0
  285. mindroot/docs/_build/html/_static/language_data.js +192 -0
  286. mindroot/docs/_build/html/_static/minus.png +0 -0
  287. mindroot/docs/_build/html/_static/plus.png +0 -0
  288. mindroot/docs/_build/html/_static/pygments.css +232 -0
  289. mindroot/docs/_build/html/_static/scripts/furo-extensions.js +0 -0
  290. mindroot/docs/_build/html/_static/scripts/furo.js +3 -0
  291. mindroot/docs/_build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
  292. mindroot/docs/_build/html/_static/scripts/furo.js.map +1 -0
  293. mindroot/docs/_build/html/_static/searchtools.js +635 -0
  294. mindroot/docs/_build/html/_static/skeleton.css +296 -0
  295. mindroot/docs/_build/html/_static/sphinx_highlight.js +154 -0
  296. mindroot/docs/_build/html/_static/styles/furo-extensions.css +2 -0
  297. mindroot/docs/_build/html/_static/styles/furo-extensions.css.map +1 -0
  298. mindroot/docs/_build/html/_static/styles/furo.css +2 -0
  299. mindroot/docs/_build/html/_static/styles/furo.css.map +1 -0
  300. mindroot/docs/_build/html/chat_with_assistant.html +329 -0
  301. mindroot/docs/_build/html/developer_documentation.html +338 -0
  302. mindroot/docs/_build/html/genindex.html +4690 -0
  303. mindroot/docs/_build/html/getting_started.html +423 -0
  304. mindroot/docs/_build/html/index.html +357 -0
  305. mindroot/docs/_build/html/install_plugins_with_tools.html +336 -0
  306. mindroot/docs/_build/html/installation.html +330 -0
  307. mindroot/docs/_build/html/llm_api_key.html +337 -0
  308. mindroot/docs/_build/html/llm_plugin_installation.html +338 -0
  309. mindroot/docs/_build/html/objects.inv +0 -0
  310. mindroot/docs/_build/html/programming_task.html +326 -0
  311. mindroot/docs/_build/html/py-modindex.html +1307 -0
  312. mindroot/docs/_build/html/search.html +307 -0
  313. mindroot/docs/_build/html/searchindex.js +1 -0
  314. mindroot/docs/_build/html/source/ahp.html +302 -0
  315. mindroot/docs/_build/html/source/mindroot.coreplugins.admin.html +2212 -0
  316. mindroot/docs/_build/html/source/mindroot.coreplugins.api_keys.html +532 -0
  317. mindroot/docs/_build/html/source/mindroot.coreplugins.chat.html +1185 -0
  318. mindroot/docs/_build/html/source/mindroot.coreplugins.chat_avatar.html +311 -0
  319. mindroot/docs/_build/html/source/mindroot.coreplugins.check_list.html +441 -0
  320. mindroot/docs/_build/html/source/mindroot.coreplugins.credits.html +879 -0
  321. mindroot/docs/_build/html/source/mindroot.coreplugins.email.html +554 -0
  322. mindroot/docs/_build/html/source/mindroot.coreplugins.env_manager.html +447 -0
  323. mindroot/docs/_build/html/source/mindroot.coreplugins.events.html +338 -0
  324. mindroot/docs/_build/html/source/mindroot.coreplugins.html +1785 -0
  325. mindroot/docs/_build/html/source/mindroot.coreplugins.index.handlers.html +481 -0
  326. mindroot/docs/_build/html/source/mindroot.coreplugins.index.html +696 -0
  327. mindroot/docs/_build/html/source/mindroot.coreplugins.jwt_auth.html +432 -0
  328. mindroot/docs/_build/html/source/mindroot.coreplugins.l8n.html +933 -0
  329. mindroot/docs/_build/html/source/mindroot.coreplugins.mcp_.html +1271 -0
  330. mindroot/docs/_build/html/source/mindroot.coreplugins.persona.html +386 -0
  331. mindroot/docs/_build/html/source/mindroot.coreplugins.startup.html +327 -0
  332. mindroot/docs/_build/html/source/mindroot.coreplugins.subscriptions.html +1631 -0
  333. mindroot/docs/_build/html/source/mindroot.coreplugins.usage.html +677 -0
  334. mindroot/docs/_build/html/source/mindroot.coreplugins.user_service.html +681 -0
  335. mindroot/docs/_build/html/source/mindroot.html +811 -0
  336. mindroot/docs/_build/html/source/mindroot.lib.auth.html +407 -0
  337. mindroot/docs/_build/html/source/mindroot.lib.html +2027 -0
  338. mindroot/docs/_build/html/source/mindroot.lib.json_str_block.html +344 -0
  339. mindroot/docs/_build/html/source/mindroot.lib.plugins.html +1050 -0
  340. mindroot/docs/_build/html/source/mindroot.lib.providers.backup.html +324 -0
  341. mindroot/docs/_build/html/source/mindroot.lib.providers.html +572 -0
  342. mindroot/docs/_build/html/source/mindroot.registry.html +501 -0
  343. mindroot/docs/_build/html/source/modules.html +377 -0
  344. mindroot/docs/_build/html/source/mr_agent_expert_instr.html +302 -0
  345. mindroot/docs/_build/html/starting_mindroot.html +325 -0
  346. mindroot/docs/_build/html/user_documentation.html +333 -0
  347. mindroot/docs/_static/custom.css +19 -0
  348. mindroot/docs/chat_with_assistant.rst +14 -0
  349. mindroot/docs/conf.py +54 -0
  350. mindroot/docs/data/agents/local/Assistant/agent.json +27 -0
  351. mindroot/docs/data/agents/local/SysAdmin/agent.json +33 -0
  352. mindroot/docs/data/equivalent_flags.json +1 -0
  353. mindroot/docs/data/mcp/servers.json +9 -0
  354. mindroot/docs/data/models.json +57 -0
  355. mindroot/docs/data/plugin_manifest.json +95 -0
  356. mindroot/docs/data/preferred_models.json +12 -0
  357. mindroot/docs/data/providers.json +62 -0
  358. mindroot/docs/developer_documentation.rst +26 -0
  359. mindroot/docs/envvar.png +0 -0
  360. mindroot/docs/files.png +0 -0
  361. mindroot/docs/getting_started.rst +139 -0
  362. mindroot/docs/index.rst +38 -0
  363. mindroot/docs/install_plugins_with_tools.rst +25 -0
  364. mindroot/docs/installation.rst +21 -0
  365. mindroot/docs/installopenrouter.png +0 -0
  366. mindroot/docs/llm_api_key.rst +22 -0
  367. mindroot/docs/llm_plugin_installation.rst +27 -0
  368. mindroot/docs/make.bat +35 -0
  369. mindroot/docs/mood.png +0 -0
  370. mindroot/docs/moon.png +0 -0
  371. mindroot/docs/openrouter.png +0 -0
  372. mindroot/docs/personas/local/Assistant/avatar.png +0 -0
  373. mindroot/docs/personas/local/Assistant/faceref.png +0 -0
  374. mindroot/docs/personas/local/Assistant/persona.json +7 -0
  375. mindroot/docs/programming_task.rst +10 -0
  376. mindroot/docs/restart.png +0 -0
  377. mindroot/docs/source/ahp.rst +7 -0
  378. mindroot/docs/source/mindroot.coreplugins.admin.rst +189 -0
  379. mindroot/docs/source/mindroot.coreplugins.api_keys.rst +45 -0
  380. mindroot/docs/source/mindroot.coreplugins.chat.rst +93 -0
  381. mindroot/docs/source/mindroot.coreplugins.chat_avatar.rst +10 -0
  382. mindroot/docs/source/mindroot.coreplugins.check_list.rst +21 -0
  383. mindroot/docs/source/mindroot.coreplugins.credits.rst +61 -0
  384. mindroot/docs/source/mindroot.coreplugins.email.rst +77 -0
  385. mindroot/docs/source/mindroot.coreplugins.env_manager.rst +29 -0
  386. mindroot/docs/source/mindroot.coreplugins.events.rst +29 -0
  387. mindroot/docs/source/mindroot.coreplugins.index.handlers.rst +45 -0
  388. mindroot/docs/source/mindroot.coreplugins.index.rst +53 -0
  389. mindroot/docs/source/mindroot.coreplugins.jwt_auth.rst +45 -0
  390. mindroot/docs/source/mindroot.coreplugins.l8n.rst +109 -0
  391. mindroot/docs/source/mindroot.coreplugins.mcp_.rst +93 -0
  392. mindroot/docs/source/mindroot.coreplugins.persona.rst +29 -0
  393. mindroot/docs/source/mindroot.coreplugins.rst +35 -0
  394. mindroot/docs/source/mindroot.coreplugins.startup.rst +21 -0
  395. mindroot/docs/source/mindroot.coreplugins.subscriptions.rst +85 -0
  396. mindroot/docs/source/mindroot.coreplugins.usage.rst +61 -0
  397. mindroot/docs/source/mindroot.coreplugins.user_service.rst +69 -0
  398. mindroot/docs/source/mindroot.lib.auth.rst +29 -0
  399. mindroot/docs/source/mindroot.lib.json_str_block.rst +21 -0
  400. mindroot/docs/source/mindroot.lib.plugins.rst +69 -0
  401. mindroot/docs/source/mindroot.lib.providers.backup.rst +10 -0
  402. mindroot/docs/source/mindroot.lib.providers.rst +61 -0
  403. mindroot/docs/source/mindroot.lib.rst +152 -0
  404. mindroot/docs/source/mindroot.registry.rst +29 -0
  405. mindroot/docs/source/mindroot.rst +54 -0
  406. mindroot/docs/source/modules.rst +7 -0
  407. mindroot/docs/source/mr_agent_expert_instr.rst +7 -0
  408. mindroot/docs/starting_mindroot.rst +12 -0
  409. mindroot/docs/user_documentation.rst +16 -0
  410. mindroot/lib/providers/model_preferences_v2.py +5 -3
  411. mindroot/server.py +10 -1
  412. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/METADATA +1 -1
  413. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/RECORD +417 -10
  414. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/WHEEL +0 -0
  415. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/entry_points.txt +0 -0
  416. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/licenses/LICENSE +0 -0
  417. {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1050 @@
1
+ <!doctype html>
2
+ <html class="no-js" lang="en" data-content_root="../">
3
+ <head><meta charset="utf-8"/>
4
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
5
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" />
7
+
8
+ <!-- Generated with Sphinx 8.2.3 and Furo 2025.07.19 -->
9
+ <title>mindroot.lib.plugins package - MindRoot 9.10.0 documentation</title>
10
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d111a655" />
11
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=25af2a20" />
12
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=8dab3a3b" />
13
+ <link rel="stylesheet" type="text/css" href="../_static/custom.css?v=f4b9d74b" />
14
+
15
+
16
+
17
+
18
+ <style>
19
+ body {
20
+ --color-code-background: #f2f2f2;
21
+ --color-code-foreground: #1e1e1e;
22
+ --color-brand-primary: #007acc;
23
+ --color-brand-content: #007acc;
24
+
25
+ }
26
+ @media not print {
27
+ body[data-theme="dark"] {
28
+ --color-code-background: #2b2b2b;
29
+ --color-code-foreground: #f8f8f2;
30
+ --color-brand-primary: #ff7b72;
31
+ --color-brand-content: #ff7b72;
32
+
33
+ }
34
+ @media (prefers-color-scheme: dark) {
35
+ body:not([data-theme="light"]) {
36
+ --color-code-background: #2b2b2b;
37
+ --color-code-foreground: #f8f8f2;
38
+ --color-brand-primary: #ff7b72;
39
+ --color-brand-content: #ff7b72;
40
+
41
+ }
42
+ }
43
+ }
44
+ </style></head>
45
+ <body>
46
+
47
+ <script>
48
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
49
+ </script>
50
+
51
+
52
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
53
+ <symbol id="svg-toc" viewBox="0 0 24 24">
54
+ <title>Contents</title>
55
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
56
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
57
+ </svg>
58
+ </symbol>
59
+ <symbol id="svg-menu" viewBox="0 0 24 24">
60
+ <title>Menu</title>
61
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
62
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
63
+ <line x1="3" y1="12" x2="21" y2="12"></line>
64
+ <line x1="3" y1="6" x2="21" y2="6"></line>
65
+ <line x1="3" y1="18" x2="21" y2="18"></line>
66
+ </svg>
67
+ </symbol>
68
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
69
+ <title>Expand</title>
70
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
71
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
72
+ <polyline points="9 18 15 12 9 6"></polyline>
73
+ </svg>
74
+ </symbol>
75
+ <symbol id="svg-sun" viewBox="0 0 24 24">
76
+ <title>Light mode</title>
77
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
78
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
79
+ <circle cx="12" cy="12" r="5"></circle>
80
+ <line x1="12" y1="1" x2="12" y2="3"></line>
81
+ <line x1="12" y1="21" x2="12" y2="23"></line>
82
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
83
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
84
+ <line x1="1" y1="12" x2="3" y2="12"></line>
85
+ <line x1="21" y1="12" x2="23" y2="12"></line>
86
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
87
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
88
+ </svg>
89
+ </symbol>
90
+ <symbol id="svg-moon" viewBox="0 0 24 24">
91
+ <title>Dark mode</title>
92
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
93
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
94
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
95
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
96
+ </svg>
97
+ </symbol>
98
+ <symbol id="svg-sun-with-moon" viewBox="0 0 24 24">
99
+ <title>Auto light/dark, in light mode</title>
100
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
101
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
102
+ class="icon-custom-derived-from-feather-sun-and-tabler-moon">
103
+ <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/>
104
+ <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/>
105
+ <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/>
106
+ <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/>
107
+ <line x1="19" y1="14.05" x2="20.414" y2="15.464"/>
108
+ <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/>
109
+ <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/>
110
+ <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/>
111
+ <line x1="19" y1="5.05" x2="20.414" y2="3.636"/>
112
+ <circle cx="14.5" cy="9.55" r="3.6"/>
113
+ </svg>
114
+ </symbol>
115
+ <symbol id="svg-moon-with-sun" viewBox="0 0 24 24">
116
+ <title>Auto light/dark, in dark mode</title>
117
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
118
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
119
+ class="icon-custom-derived-from-feather-sun-and-tabler-moon">
120
+ <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/>
121
+ <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/>
122
+ <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/>
123
+ <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/>
124
+ <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/>
125
+ <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/>
126
+ <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/>
127
+ <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/>
128
+ <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/>
129
+ <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/>
130
+ </svg>
131
+ </symbol>
132
+ <symbol id="svg-pencil" viewBox="0 0 24 24">
133
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
134
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code">
135
+ <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" />
136
+ <path d="M13.5 6.5l4 4" />
137
+ <path d="M20 21l2 -2l-2 -2" />
138
+ <path d="M17 17l-2 2l2 2" />
139
+ </svg>
140
+ </symbol>
141
+ <symbol id="svg-eye" viewBox="0 0 24 24">
142
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
143
+ stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code">
144
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
145
+ <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
146
+ <path
147
+ d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" />
148
+ <path d="M20 21l2 -2l-2 -2" />
149
+ <path d="M17 17l-2 2l2 2" />
150
+ </svg>
151
+ </symbol>
152
+ </svg>
153
+
154
+ <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
155
+ <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
156
+ <label class="overlay sidebar-overlay" for="__navigation">
157
+ <div class="visually-hidden">Hide navigation sidebar</div>
158
+ </label>
159
+ <label class="overlay toc-overlay" for="__toc">
160
+ <div class="visually-hidden">Hide table of contents sidebar</div>
161
+ </label>
162
+
163
+ <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
164
+
165
+
166
+
167
+ <div class="page">
168
+ <header class="mobile-header">
169
+ <div class="header-left">
170
+ <label class="nav-overlay-icon" for="__navigation">
171
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
172
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
173
+ </label>
174
+ </div>
175
+ <div class="header-center">
176
+ <a href="../index.html"><div class="brand">MindRoot 9.10.0 documentation</div></a>
177
+ </div>
178
+ <div class="header-right">
179
+ <div class="theme-toggle-container theme-toggle-header">
180
+ <button class="theme-toggle">
181
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
182
+ <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
183
+ <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
184
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
185
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
186
+ </button>
187
+ </div>
188
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
189
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
190
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
191
+ </label>
192
+ </div>
193
+ </header>
194
+ <aside class="sidebar-drawer">
195
+ <div class="sidebar-container">
196
+
197
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
198
+
199
+
200
+ </a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
201
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
202
+ <input type="hidden" name="check_keywords" value="yes">
203
+ <input type="hidden" name="area" value="default">
204
+ </form>
205
+ <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
206
+ <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
207
+ <ul>
208
+ <li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a></li>
209
+ </ul>
210
+
211
+ </div>
212
+ </div>
213
+
214
+ </div>
215
+
216
+ </div>
217
+ </aside>
218
+ <div class="main">
219
+ <div class="content">
220
+ <div class="article-container">
221
+ <a href="#" class="back-to-top muted-link">
222
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
223
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
224
+ </svg>
225
+ <span>Back to top</span>
226
+ </a>
227
+ <div class="content-icon-container">
228
+ <div class="view-this-page">
229
+ <a class="muted-link" href="../_sources/source/mindroot.lib.plugins.rst.txt" title="View this page">
230
+ <svg><use href="#svg-eye"></use></svg>
231
+ <span class="visually-hidden">View this page</span>
232
+ </a>
233
+ </div>
234
+ <div class="theme-toggle-container theme-toggle-content">
235
+ <button class="theme-toggle">
236
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
237
+ <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
238
+ <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
239
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
240
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
241
+ </button>
242
+ </div>
243
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
244
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
245
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
246
+ </label>
247
+ </div>
248
+ <article role="main" id="furo-main-content">
249
+ <section id="mindroot-lib-plugins-package">
250
+ <h1>mindroot.lib.plugins package<a class="headerlink" href="#mindroot-lib-plugins-package" title="Link to this heading">¶</a></h1>
251
+ <section id="submodules">
252
+ <h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading">¶</a></h2>
253
+ </section>
254
+ <section id="module-mindroot.lib.plugins.installation">
255
+ <span id="mindroot-lib-plugins-installation-module"></span><h2>mindroot.lib.plugins.installation module<a class="headerlink" href="#module-mindroot.lib.plugins.installation" title="Link to this heading">¶</a></h2>
256
+ <dl class="py function">
257
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.check_plugin_dependencies">
258
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">check_plugin_dependencies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#check_plugin_dependencies"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.check_plugin_dependencies" title="Link to this definition">¶</a></dt>
259
+ <dd><p>Check if all plugin dependencies are met.</p>
260
+ <dl class="field-list simple">
261
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
262
+ <dd class="field-odd"><p><strong>plugin_path</strong> (<em>str</em>) – Path to plugin directory</p>
263
+ </dd>
264
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
265
+ <dd class="field-even"><p>True if all dependencies are met</p>
266
+ </dd>
267
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
268
+ <dd class="field-odd"><p>bool</p>
269
+ </dd>
270
+ </dl>
271
+ </dd></dl>
272
+
273
+ <dl class="py function">
274
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.download_github_files">
275
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">download_github_files</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">repo_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tag</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#download_github_files"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.download_github_files" title="Link to this definition">¶</a></dt>
276
+ <dd><p>Download GitHub repo files to temp directory.</p>
277
+ <dl class="field-list simple">
278
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
279
+ <dd class="field-odd"><ul class="simple">
280
+ <li><p><strong>repo_path</strong> (<em>str</em>) – GitHub repository path (user/repo)</p></li>
281
+ <li><p><strong>tag</strong> (<em>str</em><em>, </em><em>optional</em>) – Specific tag to download</p></li>
282
+ </ul>
283
+ </dd>
284
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
285
+ <dd class="field-even"><p>(plugin_dir, plugin_root, plugin_info)</p>
286
+ </dd>
287
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
288
+ <dd class="field-odd"><p>tuple</p>
289
+ </dd>
290
+ </dl>
291
+ </dd></dl>
292
+
293
+ <dl class="py function">
294
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.install_plugin_dependencies">
295
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">install_plugin_dependencies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#install_plugin_dependencies"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.install_plugin_dependencies" title="Link to this definition">¶</a></dt>
296
+ <dd><p>Install plugin dependencies from requirements.txt.</p>
297
+ <dl class="field-list simple">
298
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
299
+ <dd class="field-odd"><p><strong>plugin_path</strong> (<em>str</em>) – Path to plugin directory</p>
300
+ </dd>
301
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
302
+ <dd class="field-even"><p>True if installation successful</p>
303
+ </dd>
304
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
305
+ <dd class="field-odd"><p>bool</p>
306
+ </dd>
307
+ </dl>
308
+ </dd></dl>
309
+
310
+ <dl class="py function">
311
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.install_recommended_plugins">
312
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">install_recommended_plugins</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">agent_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#install_recommended_plugins"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.install_recommended_plugins" title="Link to this definition">¶</a></dt>
313
+ <dd><p>Install plugins recommended for an agent based on its required_plugins list.</p>
314
+ <dl class="field-list simple">
315
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
316
+ <dd class="field-odd"><p><strong>agent_name</strong> (<em>str</em>) – Name of the agent</p>
317
+ </dd>
318
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
319
+ <dd class="field-even"><p>Results of plugin installation</p>
320
+ </dd>
321
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
322
+ <dd class="field-odd"><p>dict</p>
323
+ </dd>
324
+ </dl>
325
+ </dd></dl>
326
+
327
+ <dl class="py function">
328
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.plugin_install">
329
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">plugin_install</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'pypi'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_path</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remote_source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#plugin_install"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.plugin_install" title="Link to this definition">¶</a></dt>
330
+ <dd><p>Install a plugin from various sources.</p>
331
+ <dl class="field-list simple">
332
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
333
+ <dd class="field-odd"><ul class="simple">
334
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
335
+ <li><p><strong>source</strong> (<em>str</em>) – Installation source (‘pypi’, ‘local’, ‘github’)</p></li>
336
+ <li><p><strong>source_path</strong> (<em>str</em><em>, </em><em>optional</em>) – Path or GitHub repo reference</p></li>
337
+ <li><p><strong>remote_source</strong> (<em>str</em><em>, </em><em>optional</em>) – Remote source for the plugin (e.g., GitHub repo path)</p></li>
338
+ </ul>
339
+ </dd>
340
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
341
+ <dd class="field-even"><p>True if installation successful</p>
342
+ </dd>
343
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
344
+ <dd class="field-odd"><p>bool</p>
345
+ </dd>
346
+ </dl>
347
+ </dd></dl>
348
+
349
+ <dl class="py function">
350
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.installation.plugin_update">
351
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.installation.</span></span><span class="sig-name descname"><span class="pre">plugin_update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#plugin_update"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.installation.plugin_update" title="Link to this definition">¶</a></dt>
352
+ <dd><p>Update an installed plugin.</p>
353
+ <dl class="field-list simple">
354
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
355
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin to update</p>
356
+ </dd>
357
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
358
+ <dd class="field-even"><p>True if update successful</p>
359
+ </dd>
360
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
361
+ <dd class="field-odd"><p>bool</p>
362
+ </dd>
363
+ </dl>
364
+ </dd></dl>
365
+
366
+ </section>
367
+ <section id="module-mindroot.lib.plugins.l8n_static_handler">
368
+ <span id="mindroot-lib-plugins-l8n-static-handler-module"></span><h2>mindroot.lib.plugins.l8n_static_handler module<a class="headerlink" href="#module-mindroot.lib.plugins.l8n_static_handler" title="Link to this heading">¶</a></h2>
369
+ <dl class="py class">
370
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles">
371
+ <em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.l8n_static_handler.</span></span><span class="sig-name descname"><span class="pre">TranslatedStaticFiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="keyword-only-separator o"><abbr title="Keyword-only parameters separator (PEP 3102)"><span class="pre">*</span></abbr></span></em>, <em class="sig-param"><span class="n"><span class="pre">directory</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#TranslatedStaticFiles"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles" title="Link to this definition">¶</a></dt>
372
+ <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">StaticFiles</span></code></p>
373
+ <p>Custom StaticFiles handler that applies l8n translations to JavaScript files.</p>
374
+ <dl class="py method">
375
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.apply_translations_to_js">
376
+ <span class="sig-name descname"><span class="pre">apply_translations_to_js</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">content</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">language</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">file_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#TranslatedStaticFiles.apply_translations_to_js"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.apply_translations_to_js" title="Link to this definition">¶</a></dt>
377
+ <dd><p>Apply translations to JavaScript content.</p>
378
+ <p>This looks for __TRANSLATE_key__ placeholders in JS files and replaces them
379
+ with translated strings. If translations are missing, returns None to
380
+ signal that the original file should be served instead.</p>
381
+ </dd></dl>
382
+
383
+ <dl class="py method">
384
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_current_language">
385
+ <span class="sig-name descname"><span class="pre">get_current_language</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Request</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#TranslatedStaticFiles.get_current_language"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_current_language" title="Link to this definition">¶</a></dt>
386
+ <dd><p>Get the current language for the request.</p>
387
+ </dd></dl>
388
+
389
+ <dl class="py method">
390
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_response">
391
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_response</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scope</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">MutableMapping</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Response</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#TranslatedStaticFiles.get_response"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_response" title="Link to this definition">¶</a></dt>
392
+ <dd><p>Override to add translation support for JavaScript files.</p>
393
+ </dd></dl>
394
+
395
+ <dl class="py method">
396
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.should_translate_file">
397
+ <span class="sig-name descname"><span class="pre">should_translate_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Path</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#TranslatedStaticFiles.should_translate_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.should_translate_file" title="Link to this definition">¶</a></dt>
398
+ <dd><p>Check if a file should be translated.</p>
399
+ </dd></dl>
400
+
401
+ </dd></dl>
402
+
403
+ <dl class="py function">
404
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.create_js_translation_object">
405
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.l8n_static_handler.</span></span><span class="sig-name descname"><span class="pre">create_js_translation_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">translations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#create_js_translation_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.create_js_translation_object" title="Link to this definition">¶</a></dt>
406
+ <dd><p>Create a JavaScript object containing translations.</p>
407
+ <p>This can be injected into JS files to provide client-side translation support.</p>
408
+ <dl class="field-list simple">
409
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
410
+ <dd class="field-odd"><p><strong>translations</strong> – Dictionary of translation key-value pairs</p>
411
+ </dd>
412
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
413
+ <dd class="field-even"><p>JavaScript code defining a translation object</p>
414
+ </dd>
415
+ </dl>
416
+ </dd></dl>
417
+
418
+ <dl class="py function">
419
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.inject_translations_into_js">
420
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.l8n_static_handler.</span></span><span class="sig-name descname"><span class="pre">inject_translations_into_js</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">content</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">translations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#inject_translations_into_js"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.inject_translations_into_js" title="Link to this definition">¶</a></dt>
421
+ <dd><p>Inject translation object into JavaScript content.</p>
422
+ <p>This prepends translation definitions to JS files.</p>
423
+ <dl class="field-list simple">
424
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
425
+ <dd class="field-odd"><ul class="simple">
426
+ <li><p><strong>content</strong> – Original JavaScript content</p></li>
427
+ <li><p><strong>translations</strong> – Translation dictionary</p></li>
428
+ </ul>
429
+ </dd>
430
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
431
+ <dd class="field-even"><p>JavaScript content with translations injected</p>
432
+ </dd>
433
+ </dl>
434
+ </dd></dl>
435
+
436
+ <dl class="py function">
437
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.l8n_static_handler.mount_translated_static_files">
438
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.l8n_static_handler.</span></span><span class="sig-name descname"><span class="pre">mount_translated_static_files</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/l8n_static_handler.html#mount_translated_static_files"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.l8n_static_handler.mount_translated_static_files" title="Link to this definition">¶</a></dt>
439
+ <dd><p>Mount plugin static files with translation support.</p>
440
+ <dl class="field-list simple">
441
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
442
+ <dd class="field-odd"><ul class="simple">
443
+ <li><p><strong>app</strong> (<em>FastAPI</em>) – The FastAPI application instance</p></li>
444
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
445
+ <li><p><strong>category</strong> (<em>str</em>) – Plugin category (‘core’ or ‘installed’)</p></li>
446
+ </ul>
447
+ </dd>
448
+ </dl>
449
+ </dd></dl>
450
+
451
+ </section>
452
+ <section id="module-mindroot.lib.plugins.loader">
453
+ <span id="mindroot-lib-plugins-loader-module"></span><h2>mindroot.lib.plugins.loader module<a class="headerlink" href="#module-mindroot.lib.plugins.loader" title="Link to this heading">¶</a></h2>
454
+ <dl class="py function">
455
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader.load">
456
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader.</span></span><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader.load" title="Link to this definition">¶</a></dt>
457
+ <dd><p>Load all enabled plugins with l8n translation support.</p>
458
+ <dl class="field-list simple">
459
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
460
+ <dd class="field-odd"><p><strong>app</strong> (<em>FastAPI</em><em>, </em><em>optional</em>) – The FastAPI application instance</p>
461
+ </dd>
462
+ <dt class="field-even">Raises<span class="colon">:</span></dt>
463
+ <dd class="field-even"><p><strong>Exception</strong> – If no FastAPI instance is provided or found</p>
464
+ </dd>
465
+ </dl>
466
+ </dd></dl>
467
+
468
+ <dl class="py function">
469
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader.load_middleware">
470
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader.</span></span><span class="sig-name descname"><span class="pre">load_middleware</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#load_middleware"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader.load_middleware" title="Link to this definition">¶</a></dt>
471
+ <dd><p>Load plugin middleware if it exists.</p>
472
+ <dl class="field-list simple">
473
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
474
+ <dd class="field-odd"><ul class="simple">
475
+ <li><p><strong>app</strong> (<em>FastAPI</em>) – The FastAPI application instance</p></li>
476
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
477
+ <li><p><strong>plugin_path</strong> (<em>str</em>) – Import path of the plugin</p></li>
478
+ </ul>
479
+ </dd>
480
+ </dl>
481
+ </dd></dl>
482
+
483
+ <dl class="py function">
484
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader.mount_static_files">
485
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader.</span></span><span class="sig-name descname"><span class="pre">mount_static_files</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#mount_static_files"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader.mount_static_files" title="Link to this definition">¶</a></dt>
486
+ <dd><p>Mount plugin static files with translation support if available.</p>
487
+ <dl class="field-list simple">
488
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
489
+ <dd class="field-odd"><ul class="simple">
490
+ <li><p><strong>app</strong> (<em>FastAPI</em>) – The FastAPI application instance</p></li>
491
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
492
+ <li><p><strong>category</strong> (<em>str</em>) – Plugin category (‘core’ or ‘installed’)</p></li>
493
+ </ul>
494
+ </dd>
495
+ </dl>
496
+ </dd></dl>
497
+
498
+ <dl class="py function">
499
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader.pre_load">
500
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader.</span></span><span class="sig-name descname"><span class="pre">pre_load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#pre_load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader.pre_load" title="Link to this definition">¶</a></dt>
501
+ <dd></dd></dl>
502
+
503
+ </section>
504
+ <section id="module-mindroot.lib.plugins.loader_with_l8n">
505
+ <span id="mindroot-lib-plugins-loader-with-l8n-module"></span><h2>mindroot.lib.plugins.loader_with_l8n module<a class="headerlink" href="#module-mindroot.lib.plugins.loader_with_l8n" title="Link to this heading">¶</a></h2>
506
+ <dl class="py function">
507
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader_with_l8n.load">
508
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader_with_l8n.</span></span><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader_with_l8n.html#load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader_with_l8n.load" title="Link to this definition">¶</a></dt>
509
+ <dd><p>Load all enabled plugins with l8n translation support.</p>
510
+ <dl class="field-list simple">
511
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
512
+ <dd class="field-odd"><p><strong>app</strong> (<em>FastAPI</em><em>, </em><em>optional</em>) – The FastAPI application instance</p>
513
+ </dd>
514
+ <dt class="field-even">Raises<span class="colon">:</span></dt>
515
+ <dd class="field-even"><p><strong>Exception</strong> – If no FastAPI instance is provided or found</p>
516
+ </dd>
517
+ </dl>
518
+ </dd></dl>
519
+
520
+ <dl class="py function">
521
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader_with_l8n.load_middleware">
522
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader_with_l8n.</span></span><span class="sig-name descname"><span class="pre">load_middleware</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader_with_l8n.html#load_middleware"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader_with_l8n.load_middleware" title="Link to this definition">¶</a></dt>
523
+ <dd><p>Load plugin middleware if it exists.</p>
524
+ <dl class="field-list simple">
525
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
526
+ <dd class="field-odd"><ul class="simple">
527
+ <li><p><strong>app</strong> (<em>FastAPI</em>) – The FastAPI application instance</p></li>
528
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
529
+ <li><p><strong>plugin_path</strong> (<em>str</em>) – Import path of the plugin</p></li>
530
+ </ul>
531
+ </dd>
532
+ </dl>
533
+ </dd></dl>
534
+
535
+ <dl class="py function">
536
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader_with_l8n.mount_static_files">
537
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader_with_l8n.</span></span><span class="sig-name descname"><span class="pre">mount_static_files</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader_with_l8n.html#mount_static_files"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader_with_l8n.mount_static_files" title="Link to this definition">¶</a></dt>
538
+ <dd><p>Mount plugin static files with translation support if available.</p>
539
+ <dl class="field-list simple">
540
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
541
+ <dd class="field-odd"><ul class="simple">
542
+ <li><p><strong>app</strong> (<em>FastAPI</em>) – The FastAPI application instance</p></li>
543
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
544
+ <li><p><strong>category</strong> (<em>str</em>) – Plugin category (‘core’ or ‘installed’)</p></li>
545
+ </ul>
546
+ </dd>
547
+ </dl>
548
+ </dd></dl>
549
+
550
+ <dl class="py function">
551
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.loader_with_l8n.pre_load">
552
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.loader_with_l8n.</span></span><span class="sig-name descname"><span class="pre">pre_load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader_with_l8n.html#pre_load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.loader_with_l8n.pre_load" title="Link to this definition">¶</a></dt>
553
+ <dd></dd></dl>
554
+
555
+ </section>
556
+ <section id="module-mindroot.lib.plugins.manifest">
557
+ <span id="mindroot-lib-plugins-manifest-module"></span><h2>mindroot.lib.plugins.manifest module<a class="headerlink" href="#module-mindroot.lib.plugins.manifest" title="Link to this heading">¶</a></h2>
558
+ <dl class="py function">
559
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.create_default_plugin_manifest">
560
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">create_default_plugin_manifest</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#create_default_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.create_default_plugin_manifest" title="Link to this definition">¶</a></dt>
561
+ <dd><p>Create a new default manifest file.</p>
562
+ <p>This function first attempts migration, then creates from default template if needed.</p>
563
+ </dd></dl>
564
+
565
+ <dl class="py function">
566
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.list_enabled">
567
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">list_enabled</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">include_category</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#list_enabled"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.list_enabled" title="Link to this definition">¶</a></dt>
568
+ <dd><p>List all enabled plugins.</p>
569
+ <dl class="field-list simple">
570
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
571
+ <dd class="field-odd"><p><strong>include_category</strong> (<em>bool</em>) – Whether to include the category in results</p>
572
+ </dd>
573
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
574
+ <dd class="field-even"><p>List of enabled plugins, optionally with categories</p>
575
+ </dd>
576
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
577
+ <dd class="field-odd"><p>list</p>
578
+ </dd>
579
+ </dl>
580
+ </dd></dl>
581
+
582
+ <dl class="py function">
583
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.load_plugin_manifest">
584
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">load_plugin_manifest</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#load_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.load_plugin_manifest" title="Link to this definition">¶</a></dt>
585
+ <dd><p>Load the plugin manifest file.</p>
586
+ <dl class="field-list simple">
587
+ <dt class="field-odd">Returns<span class="colon">:</span></dt>
588
+ <dd class="field-odd"><p>The manifest data structure</p>
589
+ </dd>
590
+ <dt class="field-even">Return type<span class="colon">:</span></dt>
591
+ <dd class="field-even"><p>dict</p>
592
+ </dd>
593
+ </dl>
594
+ </dd></dl>
595
+
596
+ <dl class="py function">
597
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.save_plugin_manifest">
598
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">save_plugin_manifest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">manifest</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#save_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.save_plugin_manifest" title="Link to this definition">¶</a></dt>
599
+ <dd><p>Save the plugin manifest file.</p>
600
+ <dl class="field-list simple">
601
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
602
+ <dd class="field-odd"><p><strong>manifest</strong> (<em>dict</em>) – The manifest data structure to save</p>
603
+ </dd>
604
+ </dl>
605
+ </dd></dl>
606
+
607
+ <dl class="py function">
608
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.toggle_plugin_state">
609
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">toggle_plugin_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">enabled</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#toggle_plugin_state"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.toggle_plugin_state" title="Link to this definition">¶</a></dt>
610
+ <dd><p>Toggle a plugin’s enabled state.</p>
611
+ <dl class="field-list simple">
612
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
613
+ <dd class="field-odd"><ul class="simple">
614
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
615
+ <li><p><strong>enabled</strong> (<em>bool</em>) – New enabled state</p></li>
616
+ </ul>
617
+ </dd>
618
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
619
+ <dd class="field-even"><p>True if successful, False if plugin not found</p>
620
+ </dd>
621
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
622
+ <dd class="field-odd"><p>bool</p>
623
+ </dd>
624
+ </dl>
625
+ </dd></dl>
626
+
627
+ <dl class="py function">
628
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.manifest.update_plugin_manifest">
629
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.manifest.</span></span><span class="sig-name descname"><span class="pre">update_plugin_manifest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remote_source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'0.0.1'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metadata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#update_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.manifest.update_plugin_manifest" title="Link to this definition">¶</a></dt>
630
+ <dd><p>Update or add a plugin entry in the manifest.</p>
631
+ <dl class="field-list simple">
632
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
633
+ <dd class="field-odd"><ul class="simple">
634
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
635
+ <li><p><strong>source</strong> (<em>str</em>) – Source type (‘core’, ‘local’, ‘github’)</p></li>
636
+ <li><p><strong>source_path</strong> (<em>str</em>) – Path to the plugin</p></li>
637
+ <li><p><strong>remote_source</strong> (<em>str</em><em>, </em><em>optional</em>) – GitHub repository reference</p></li>
638
+ <li><p><strong>version</strong> (<em>str</em><em>, </em><em>optional</em>) – Plugin version</p></li>
639
+ <li><p><strong>metadata</strong> (<em>dict</em><em>, </em><em>optional</em>) – Plugin metadata including commands and services</p></li>
640
+ </ul>
641
+ </dd>
642
+ </dl>
643
+ </dd></dl>
644
+
645
+ </section>
646
+ <section id="module-mindroot.lib.plugins.mapping">
647
+ <span id="mindroot-lib-plugins-mapping-module"></span><h2>mindroot.lib.plugins.mapping module<a class="headerlink" href="#module-mindroot.lib.plugins.mapping" title="Link to this heading">¶</a></h2>
648
+ <dl class="py function">
649
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.mapping.get_command_plugin_mapping">
650
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.mapping.</span></span><span class="sig-name descname"><span class="pre">get_command_plugin_mapping</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/mapping.html#get_command_plugin_mapping"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.mapping.get_command_plugin_mapping" title="Link to this definition">¶</a></dt>
651
+ <dd><p>Get a mapping of commands to the plugins that provide them.</p>
652
+ <dl class="field-list simple">
653
+ <dt class="field-odd">Returns<span class="colon">:</span></dt>
654
+ <dd class="field-odd"><p>Mapping of command names to lists of plugin names</p>
655
+ </dd>
656
+ <dt class="field-even">Return type<span class="colon">:</span></dt>
657
+ <dd class="field-even"><p>dict</p>
658
+ </dd>
659
+ </dl>
660
+ </dd></dl>
661
+
662
+ </section>
663
+ <section id="module-mindroot.lib.plugins.paths">
664
+ <span id="mindroot-lib-plugins-paths-module"></span><h2>mindroot.lib.plugins.paths module<a class="headerlink" href="#module-mindroot.lib.plugins.paths" title="Link to this heading">¶</a></h2>
665
+ <dl class="py function">
666
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.paths.get_plugin_import_path">
667
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.paths.</span></span><span class="sig-name descname"><span class="pre">get_plugin_import_path</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/paths.html#get_plugin_import_path"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.paths.get_plugin_import_path" title="Link to this definition">¶</a></dt>
668
+ <dd><p>Get the Python import path for a plugin.</p>
669
+ <dl class="field-list simple">
670
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
671
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p>
672
+ </dd>
673
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
674
+ <dd class="field-even"><p>Import path for the plugin or None if not found</p>
675
+ </dd>
676
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
677
+ <dd class="field-odd"><p>str</p>
678
+ </dd>
679
+ </dl>
680
+ </dd></dl>
681
+
682
+ <dl class="py function">
683
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.paths.get_plugin_path">
684
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.paths.</span></span><span class="sig-name descname"><span class="pre">get_plugin_path</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/paths.html#get_plugin_path"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.paths.get_plugin_path" title="Link to this definition">¶</a></dt>
685
+ <dd><p>Get the filesystem path for a plugin.</p>
686
+ <dl class="field-list simple">
687
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
688
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p>
689
+ </dd>
690
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
691
+ <dd class="field-even"><p>Absolute path to the plugin directory or None if not found</p>
692
+ </dd>
693
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
694
+ <dd class="field-odd"><p>str</p>
695
+ </dd>
696
+ </dl>
697
+ </dd></dl>
698
+
699
+ </section>
700
+ <section id="module-mindroot.lib.plugins">
701
+ <span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-mindroot.lib.plugins" title="Link to this heading">¶</a></h2>
702
+ <p>Plugin system for managing, installing, and loading plugins.</p>
703
+ <p>This module provides the main interface for the plugin system, including:
704
+ - Plugin installation and updates
705
+ - Plugin loading and initialization
706
+ - Manifest management
707
+ - Path resolution</p>
708
+ <dl>
709
+ <dt>Typical usage:</dt><dd><p>from lib.plugins import load, plugin_install, toggle_plugin_state</p>
710
+ <p># Install a plugin
711
+ plugin_install(‘my-plugin’, source=’github’, source_path=’user/repo’)</p>
712
+ <p># Load plugins in FastAPI app
713
+ await load(app)</p>
714
+ </dd>
715
+ </dl>
716
+ <dl class="py function">
717
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.check_plugin_dependencies">
718
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">check_plugin_dependencies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#check_plugin_dependencies"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.check_plugin_dependencies" title="Link to this definition">¶</a></dt>
719
+ <dd><p>Check if all plugin dependencies are met.</p>
720
+ <dl class="field-list simple">
721
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
722
+ <dd class="field-odd"><p><strong>plugin_path</strong> (<em>str</em>) – Path to plugin directory</p>
723
+ </dd>
724
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
725
+ <dd class="field-even"><p>True if all dependencies are met</p>
726
+ </dd>
727
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
728
+ <dd class="field-odd"><p>bool</p>
729
+ </dd>
730
+ </dl>
731
+ </dd></dl>
732
+
733
+ <dl class="py function">
734
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.get_plugin_import_path">
735
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">get_plugin_import_path</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/paths.html#get_plugin_import_path"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.get_plugin_import_path" title="Link to this definition">¶</a></dt>
736
+ <dd><p>Get the Python import path for a plugin.</p>
737
+ <dl class="field-list simple">
738
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
739
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p>
740
+ </dd>
741
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
742
+ <dd class="field-even"><p>Import path for the plugin or None if not found</p>
743
+ </dd>
744
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
745
+ <dd class="field-odd"><p>str</p>
746
+ </dd>
747
+ </dl>
748
+ </dd></dl>
749
+
750
+ <dl class="py function">
751
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.get_plugin_path">
752
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">get_plugin_path</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/paths.html#get_plugin_path"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.get_plugin_path" title="Link to this definition">¶</a></dt>
753
+ <dd><p>Get the filesystem path for a plugin.</p>
754
+ <dl class="field-list simple">
755
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
756
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p>
757
+ </dd>
758
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
759
+ <dd class="field-even"><p>Absolute path to the plugin directory or None if not found</p>
760
+ </dd>
761
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
762
+ <dd class="field-odd"><p>str</p>
763
+ </dd>
764
+ </dl>
765
+ </dd></dl>
766
+
767
+ <dl class="py function">
768
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.install_plugin_dependencies">
769
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">install_plugin_dependencies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_path</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#install_plugin_dependencies"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.install_plugin_dependencies" title="Link to this definition">¶</a></dt>
770
+ <dd><p>Install plugin dependencies from requirements.txt.</p>
771
+ <dl class="field-list simple">
772
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
773
+ <dd class="field-odd"><p><strong>plugin_path</strong> (<em>str</em>) – Path to plugin directory</p>
774
+ </dd>
775
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
776
+ <dd class="field-even"><p>True if installation successful</p>
777
+ </dd>
778
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
779
+ <dd class="field-odd"><p>bool</p>
780
+ </dd>
781
+ </dl>
782
+ </dd></dl>
783
+
784
+ <dl class="py function">
785
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.list_enabled">
786
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">list_enabled</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">include_category</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#list_enabled"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.list_enabled" title="Link to this definition">¶</a></dt>
787
+ <dd><p>List all enabled plugins.</p>
788
+ <dl class="field-list simple">
789
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
790
+ <dd class="field-odd"><p><strong>include_category</strong> (<em>bool</em>) – Whether to include the category in results</p>
791
+ </dd>
792
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
793
+ <dd class="field-even"><p>List of enabled plugins, optionally with categories</p>
794
+ </dd>
795
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
796
+ <dd class="field-odd"><p>list</p>
797
+ </dd>
798
+ </dl>
799
+ </dd></dl>
800
+
801
+ <dl class="py function">
802
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.load">
803
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.load" title="Link to this definition">¶</a></dt>
804
+ <dd><p>Load all enabled plugins with l8n translation support.</p>
805
+ <dl class="field-list simple">
806
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
807
+ <dd class="field-odd"><p><strong>app</strong> (<em>FastAPI</em><em>, </em><em>optional</em>) – The FastAPI application instance</p>
808
+ </dd>
809
+ <dt class="field-even">Raises<span class="colon">:</span></dt>
810
+ <dd class="field-even"><p><strong>Exception</strong> – If no FastAPI instance is provided or found</p>
811
+ </dd>
812
+ </dl>
813
+ </dd></dl>
814
+
815
+ <dl class="py function">
816
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.load_plugin_manifest">
817
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">load_plugin_manifest</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#load_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.load_plugin_manifest" title="Link to this definition">¶</a></dt>
818
+ <dd><p>Load the plugin manifest file.</p>
819
+ <dl class="field-list simple">
820
+ <dt class="field-odd">Returns<span class="colon">:</span></dt>
821
+ <dd class="field-odd"><p>The manifest data structure</p>
822
+ </dd>
823
+ <dt class="field-even">Return type<span class="colon">:</span></dt>
824
+ <dd class="field-even"><p>dict</p>
825
+ </dd>
826
+ </dl>
827
+ </dd></dl>
828
+
829
+ <dl class="py function">
830
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.plugin_install">
831
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">plugin_install</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'pypi'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_path</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remote_source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#plugin_install"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.plugin_install" title="Link to this definition">¶</a></dt>
832
+ <dd><p>Install a plugin from various sources.</p>
833
+ <dl class="field-list simple">
834
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
835
+ <dd class="field-odd"><ul class="simple">
836
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
837
+ <li><p><strong>source</strong> (<em>str</em>) – Installation source (‘pypi’, ‘local’, ‘github’)</p></li>
838
+ <li><p><strong>source_path</strong> (<em>str</em><em>, </em><em>optional</em>) – Path or GitHub repo reference</p></li>
839
+ <li><p><strong>remote_source</strong> (<em>str</em><em>, </em><em>optional</em>) – Remote source for the plugin (e.g., GitHub repo path)</p></li>
840
+ </ul>
841
+ </dd>
842
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
843
+ <dd class="field-even"><p>True if installation successful</p>
844
+ </dd>
845
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
846
+ <dd class="field-odd"><p>bool</p>
847
+ </dd>
848
+ </dl>
849
+ </dd></dl>
850
+
851
+ <dl class="py function">
852
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.plugin_update">
853
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">plugin_update</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/installation.html#plugin_update"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.plugin_update" title="Link to this definition">¶</a></dt>
854
+ <dd><p>Update an installed plugin.</p>
855
+ <dl class="field-list simple">
856
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
857
+ <dd class="field-odd"><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin to update</p>
858
+ </dd>
859
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
860
+ <dd class="field-even"><p>True if update successful</p>
861
+ </dd>
862
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
863
+ <dd class="field-odd"><p>bool</p>
864
+ </dd>
865
+ </dl>
866
+ </dd></dl>
867
+
868
+ <dl class="py function">
869
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.pre_load">
870
+ <em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">pre_load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">app</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/loader.html#pre_load"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.pre_load" title="Link to this definition">¶</a></dt>
871
+ <dd></dd></dl>
872
+
873
+ <dl class="py function">
874
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.save_plugin_manifest">
875
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">save_plugin_manifest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">manifest</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#save_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.save_plugin_manifest" title="Link to this definition">¶</a></dt>
876
+ <dd><p>Save the plugin manifest file.</p>
877
+ <dl class="field-list simple">
878
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
879
+ <dd class="field-odd"><p><strong>manifest</strong> (<em>dict</em>) – The manifest data structure to save</p>
880
+ </dd>
881
+ </dl>
882
+ </dd></dl>
883
+
884
+ <dl class="py function">
885
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.toggle_plugin_state">
886
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">toggle_plugin_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">enabled</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#toggle_plugin_state"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.toggle_plugin_state" title="Link to this definition">¶</a></dt>
887
+ <dd><p>Toggle a plugin’s enabled state.</p>
888
+ <dl class="field-list simple">
889
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
890
+ <dd class="field-odd"><ul class="simple">
891
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
892
+ <li><p><strong>enabled</strong> (<em>bool</em>) – New enabled state</p></li>
893
+ </ul>
894
+ </dd>
895
+ <dt class="field-even">Returns<span class="colon">:</span></dt>
896
+ <dd class="field-even"><p>True if successful, False if plugin not found</p>
897
+ </dd>
898
+ <dt class="field-odd">Return type<span class="colon">:</span></dt>
899
+ <dd class="field-odd"><p>bool</p>
900
+ </dd>
901
+ </dl>
902
+ </dd></dl>
903
+
904
+ <dl class="py function">
905
+ <dt class="sig sig-object py" id="mindroot.lib.plugins.update_plugin_manifest">
906
+ <span class="sig-prename descclassname"><span class="pre">mindroot.lib.plugins.</span></span><span class="sig-name descname"><span class="pre">update_plugin_manifest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plugin_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remote_source</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'0.0.1'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metadata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mindroot/lib/plugins/manifest.html#update_plugin_manifest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mindroot.lib.plugins.update_plugin_manifest" title="Link to this definition">¶</a></dt>
907
+ <dd><p>Update or add a plugin entry in the manifest.</p>
908
+ <dl class="field-list simple">
909
+ <dt class="field-odd">Parameters<span class="colon">:</span></dt>
910
+ <dd class="field-odd"><ul class="simple">
911
+ <li><p><strong>plugin_name</strong> (<em>str</em>) – Name of the plugin</p></li>
912
+ <li><p><strong>source</strong> (<em>str</em>) – Source type (‘core’, ‘local’, ‘github’)</p></li>
913
+ <li><p><strong>source_path</strong> (<em>str</em>) – Path to the plugin</p></li>
914
+ <li><p><strong>remote_source</strong> (<em>str</em><em>, </em><em>optional</em>) – GitHub repository reference</p></li>
915
+ <li><p><strong>version</strong> (<em>str</em><em>, </em><em>optional</em>) – Plugin version</p></li>
916
+ <li><p><strong>metadata</strong> (<em>dict</em><em>, </em><em>optional</em>) – Plugin metadata including commands and services</p></li>
917
+ </ul>
918
+ </dd>
919
+ </dl>
920
+ </dd></dl>
921
+
922
+ </section>
923
+ </section>
924
+
925
+ </article>
926
+ </div>
927
+ <footer>
928
+
929
+ <div class="related-pages">
930
+
931
+
932
+ </div>
933
+ <div class="bottom-of-page">
934
+ <div class="left-details">
935
+ <div class="copyright">
936
+ Copyright &#169; 2025, Jason Livesay
937
+ </div>
938
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
939
+
940
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
941
+
942
+ </div>
943
+ <div class="right-details">
944
+
945
+ </div>
946
+ </div>
947
+
948
+ </footer>
949
+ </div>
950
+ <aside class="toc-drawer">
951
+
952
+
953
+ <div class="toc-sticky toc-scroll">
954
+ <div class="toc-title-container">
955
+ <span class="toc-title">
956
+ On this page
957
+ </span>
958
+ </div>
959
+ <div class="toc-tree-container">
960
+ <div class="toc-tree">
961
+ <ul>
962
+ <li><a class="reference internal" href="#">mindroot.lib.plugins package</a><ul>
963
+ <li><a class="reference internal" href="#submodules">Submodules</a></li>
964
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.installation">mindroot.lib.plugins.installation module</a><ul>
965
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.check_plugin_dependencies"><code class="docutils literal notranslate"><span class="pre">check_plugin_dependencies()</span></code></a></li>
966
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.download_github_files"><code class="docutils literal notranslate"><span class="pre">download_github_files()</span></code></a></li>
967
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.install_plugin_dependencies"><code class="docutils literal notranslate"><span class="pre">install_plugin_dependencies()</span></code></a></li>
968
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.install_recommended_plugins"><code class="docutils literal notranslate"><span class="pre">install_recommended_plugins()</span></code></a></li>
969
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.plugin_install"><code class="docutils literal notranslate"><span class="pre">plugin_install()</span></code></a></li>
970
+ <li><a class="reference internal" href="#mindroot.lib.plugins.installation.plugin_update"><code class="docutils literal notranslate"><span class="pre">plugin_update()</span></code></a></li>
971
+ </ul>
972
+ </li>
973
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.l8n_static_handler">mindroot.lib.plugins.l8n_static_handler module</a><ul>
974
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles"><code class="docutils literal notranslate"><span class="pre">TranslatedStaticFiles</span></code></a><ul>
975
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.apply_translations_to_js"><code class="docutils literal notranslate"><span class="pre">TranslatedStaticFiles.apply_translations_to_js()</span></code></a></li>
976
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_current_language"><code class="docutils literal notranslate"><span class="pre">TranslatedStaticFiles.get_current_language()</span></code></a></li>
977
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.get_response"><code class="docutils literal notranslate"><span class="pre">TranslatedStaticFiles.get_response()</span></code></a></li>
978
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.TranslatedStaticFiles.should_translate_file"><code class="docutils literal notranslate"><span class="pre">TranslatedStaticFiles.should_translate_file()</span></code></a></li>
979
+ </ul>
980
+ </li>
981
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.create_js_translation_object"><code class="docutils literal notranslate"><span class="pre">create_js_translation_object()</span></code></a></li>
982
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.inject_translations_into_js"><code class="docutils literal notranslate"><span class="pre">inject_translations_into_js()</span></code></a></li>
983
+ <li><a class="reference internal" href="#mindroot.lib.plugins.l8n_static_handler.mount_translated_static_files"><code class="docutils literal notranslate"><span class="pre">mount_translated_static_files()</span></code></a></li>
984
+ </ul>
985
+ </li>
986
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.loader">mindroot.lib.plugins.loader module</a><ul>
987
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader.load"><code class="docutils literal notranslate"><span class="pre">load()</span></code></a></li>
988
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader.load_middleware"><code class="docutils literal notranslate"><span class="pre">load_middleware()</span></code></a></li>
989
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader.mount_static_files"><code class="docutils literal notranslate"><span class="pre">mount_static_files()</span></code></a></li>
990
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader.pre_load"><code class="docutils literal notranslate"><span class="pre">pre_load()</span></code></a></li>
991
+ </ul>
992
+ </li>
993
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.loader_with_l8n">mindroot.lib.plugins.loader_with_l8n module</a><ul>
994
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader_with_l8n.load"><code class="docutils literal notranslate"><span class="pre">load()</span></code></a></li>
995
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader_with_l8n.load_middleware"><code class="docutils literal notranslate"><span class="pre">load_middleware()</span></code></a></li>
996
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader_with_l8n.mount_static_files"><code class="docutils literal notranslate"><span class="pre">mount_static_files()</span></code></a></li>
997
+ <li><a class="reference internal" href="#mindroot.lib.plugins.loader_with_l8n.pre_load"><code class="docutils literal notranslate"><span class="pre">pre_load()</span></code></a></li>
998
+ </ul>
999
+ </li>
1000
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.manifest">mindroot.lib.plugins.manifest module</a><ul>
1001
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.create_default_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">create_default_plugin_manifest()</span></code></a></li>
1002
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.list_enabled"><code class="docutils literal notranslate"><span class="pre">list_enabled()</span></code></a></li>
1003
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.load_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">load_plugin_manifest()</span></code></a></li>
1004
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.save_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">save_plugin_manifest()</span></code></a></li>
1005
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.toggle_plugin_state"><code class="docutils literal notranslate"><span class="pre">toggle_plugin_state()</span></code></a></li>
1006
+ <li><a class="reference internal" href="#mindroot.lib.plugins.manifest.update_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">update_plugin_manifest()</span></code></a></li>
1007
+ </ul>
1008
+ </li>
1009
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.mapping">mindroot.lib.plugins.mapping module</a><ul>
1010
+ <li><a class="reference internal" href="#mindroot.lib.plugins.mapping.get_command_plugin_mapping"><code class="docutils literal notranslate"><span class="pre">get_command_plugin_mapping()</span></code></a></li>
1011
+ </ul>
1012
+ </li>
1013
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins.paths">mindroot.lib.plugins.paths module</a><ul>
1014
+ <li><a class="reference internal" href="#mindroot.lib.plugins.paths.get_plugin_import_path"><code class="docutils literal notranslate"><span class="pre">get_plugin_import_path()</span></code></a></li>
1015
+ <li><a class="reference internal" href="#mindroot.lib.plugins.paths.get_plugin_path"><code class="docutils literal notranslate"><span class="pre">get_plugin_path()</span></code></a></li>
1016
+ </ul>
1017
+ </li>
1018
+ <li><a class="reference internal" href="#module-mindroot.lib.plugins">Module contents</a><ul>
1019
+ <li><a class="reference internal" href="#mindroot.lib.plugins.check_plugin_dependencies"><code class="docutils literal notranslate"><span class="pre">check_plugin_dependencies()</span></code></a></li>
1020
+ <li><a class="reference internal" href="#mindroot.lib.plugins.get_plugin_import_path"><code class="docutils literal notranslate"><span class="pre">get_plugin_import_path()</span></code></a></li>
1021
+ <li><a class="reference internal" href="#mindroot.lib.plugins.get_plugin_path"><code class="docutils literal notranslate"><span class="pre">get_plugin_path()</span></code></a></li>
1022
+ <li><a class="reference internal" href="#mindroot.lib.plugins.install_plugin_dependencies"><code class="docutils literal notranslate"><span class="pre">install_plugin_dependencies()</span></code></a></li>
1023
+ <li><a class="reference internal" href="#mindroot.lib.plugins.list_enabled"><code class="docutils literal notranslate"><span class="pre">list_enabled()</span></code></a></li>
1024
+ <li><a class="reference internal" href="#mindroot.lib.plugins.load"><code class="docutils literal notranslate"><span class="pre">load()</span></code></a></li>
1025
+ <li><a class="reference internal" href="#mindroot.lib.plugins.load_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">load_plugin_manifest()</span></code></a></li>
1026
+ <li><a class="reference internal" href="#mindroot.lib.plugins.plugin_install"><code class="docutils literal notranslate"><span class="pre">plugin_install()</span></code></a></li>
1027
+ <li><a class="reference internal" href="#mindroot.lib.plugins.plugin_update"><code class="docutils literal notranslate"><span class="pre">plugin_update()</span></code></a></li>
1028
+ <li><a class="reference internal" href="#mindroot.lib.plugins.pre_load"><code class="docutils literal notranslate"><span class="pre">pre_load()</span></code></a></li>
1029
+ <li><a class="reference internal" href="#mindroot.lib.plugins.save_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">save_plugin_manifest()</span></code></a></li>
1030
+ <li><a class="reference internal" href="#mindroot.lib.plugins.toggle_plugin_state"><code class="docutils literal notranslate"><span class="pre">toggle_plugin_state()</span></code></a></li>
1031
+ <li><a class="reference internal" href="#mindroot.lib.plugins.update_plugin_manifest"><code class="docutils literal notranslate"><span class="pre">update_plugin_manifest()</span></code></a></li>
1032
+ </ul>
1033
+ </li>
1034
+ </ul>
1035
+ </li>
1036
+ </ul>
1037
+
1038
+ </div>
1039
+ </div>
1040
+ </div>
1041
+
1042
+
1043
+ </aside>
1044
+ </div>
1045
+ </div><script src="../_static/documentation_options.js?v=3c16008f"></script>
1046
+ <script src="../_static/doctools.js?v=9bcbadda"></script>
1047
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
1048
+ <script src="../_static/scripts/furo.js?v=46bd48cc"></script>
1049
+ </body>
1050
+ </html>