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.
- mindroot/coreplugins/admin/static/js/model-preferences-v2.js +1 -1
- mindroot/coreplugins/home/templates/home.jinja2 +1 -0
- mindroot/docs/Makefile +20 -0
- mindroot/docs/_build/doctrees/chat_with_assistant.doctree +0 -0
- mindroot/docs/_build/doctrees/developer_documentation.doctree +0 -0
- mindroot/docs/_build/doctrees/environment.pickle +0 -0
- mindroot/docs/_build/doctrees/getting_started.doctree +0 -0
- mindroot/docs/_build/doctrees/index.doctree +0 -0
- mindroot/docs/_build/doctrees/install_plugins_with_tools.doctree +0 -0
- mindroot/docs/_build/doctrees/installation.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_api_key.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_plugin_installation.doctree +0 -0
- mindroot/docs/_build/doctrees/programming_task.doctree +0 -0
- mindroot/docs/_build/doctrees/source/ahp.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.admin.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.api_keys.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat_avatar.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.check_list.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.credits.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.email.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.env_manager.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.events.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.handlers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.jwt_auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.l8n.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.mcp_.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.persona.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.startup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.subscriptions.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.usage.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.user_service.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.json_str_block.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.plugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.backup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.registry.doctree +0 -0
- mindroot/docs/_build/doctrees/source/modules.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mr_agent_expert_instr.doctree +0 -0
- mindroot/docs/_build/doctrees/starting_mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/user_documentation.doctree +0 -0
- mindroot/docs/_build/html/.buildinfo +4 -0
- mindroot/docs/_build/html/.buildinfo.bak +4 -0
- mindroot/docs/_build/html/_images/envvar.png +0 -0
- mindroot/docs/_build/html/_images/files.png +0 -0
- mindroot/docs/_build/html/_images/installopenrouter.png +0 -0
- mindroot/docs/_build/html/_images/mood.png +0 -0
- mindroot/docs/_build/html/_images/moon.png +0 -0
- mindroot/docs/_build/html/_images/openrouter.png +0 -0
- mindroot/docs/_build/html/_images/restart.png +0 -0
- mindroot/docs/_build/html/_modules/index.html +425 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_importer.html +292 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_router.html +620 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/asset_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/command_router.html +518 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_catalog_routes.html +275 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_publish_routes.html +581 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_registry_routes.html +623 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_routes.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mod.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/oauth_callback_router.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_handler.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_router.html +428 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_manager.html +610 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_router.html +146 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_routes.html +230 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/registry_settings_routes.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/router.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/server_router.html +271 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/service_models.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/settings_router.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/api_key_manager.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/mod.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/router.html +170 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/commands.html +565 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/mod.html +118 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/models.html +130 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/router.html +571 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/services.html +645 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_manager.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_routes.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/check_list/mod.html +460 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/conversion.html +232 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/ledger.html +283 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/mod.html +355 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/models.html +269 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/router.html +306 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/storage.html +257 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/email_provider.html +159 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/imap_handler.html +343 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/mod.html +210 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/services.html +172 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/smtp_handler.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/test_email_service.html +179 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/mod.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/router.html +147 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/events/router.html +201 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/agent_ops.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/index_ops.html +214 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/plugin_ops.html +263 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/publish.html +225 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/mod.html +120 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/router.html +184 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/utils.html +166 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/middleware.html +400 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/mod.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/router.html +134 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/language_detection.html +296 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/middleware.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/mod.html +393 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_enhanced.html +408 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_l8n_standalone.html +379 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_middleware.html +394 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/utils.html +348 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_commands.html +456 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_manager.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/dynamic_commands.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mcp_manager.html +1186 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mod.html +510 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/oauth_storage.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/server_installer.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/testmcpclient.html +217 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/init_persona.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/mod.html +276 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/startup/mod.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/credit_integration.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/mod.html +1089 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/models.html +261 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/router.html +502 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/storage.html +413 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/stripe_integration.html +178 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/subscription_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/webhook_handler.html +327 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/handlers.html +157 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/mod.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/models.html +141 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/reporting.html +226 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/router.html +228 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/storage.html +264 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/admin_init.html +234 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/email_service.html +204 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/mod.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/password_reset_service.html +336 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/role_service.html +183 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/router.html +202 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/api_key.html +129 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/auth.html +203 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog.html +259 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog2.html +500 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/butemplates.html +415 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatcontext.html +401 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog.html +619 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog_optimized.html +655 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_escape.html +138 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_str_block/json_str_block.html +213 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/parent_templates.html +181 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/installation.html +481 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/l8n_static_handler.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader_with_l8n.html +391 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/manifest.html +450 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/mapping.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/paths.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins_install.html +171 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/commands.html +125 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/hooks.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/missing.html +169 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/model_preferences_v2.html +291 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/services.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers.html +465 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/route_decorators.html +175 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/session_files.html +142 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/streamcmd.html +246 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/templates.html +677 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/token_counter.html +326 -0
- mindroot/docs/_build/html/_modules/mindroot/migrate.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/component_manager.html +140 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/data_access.html +302 -0
- mindroot/docs/_build/html/_modules/mindroot/server.html +317 -0
- mindroot/docs/_build/html/_modules/mindroot/server_missing_normal_args.html +322 -0
- mindroot/docs/_build/html/_modules/mindroot/server_prev.html +298 -0
- mindroot/docs/_build/html/_sources/chat_with_assistant.rst.txt +14 -0
- mindroot/docs/_build/html/_sources/developer_documentation.rst.txt +26 -0
- mindroot/docs/_build/html/_sources/getting_started.rst.txt +139 -0
- mindroot/docs/_build/html/_sources/index.rst.txt +38 -0
- mindroot/docs/_build/html/_sources/install_plugins_with_tools.rst.txt +25 -0
- mindroot/docs/_build/html/_sources/installation.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/llm_api_key.rst.txt +22 -0
- mindroot/docs/_build/html/_sources/llm_plugin_installation.rst.txt +27 -0
- mindroot/docs/_build/html/_sources/programming_task.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/ahp.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.admin.rst.txt +189 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.api_keys.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat_avatar.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.check_list.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.credits.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.email.rst.txt +77 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.env_manager.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.events.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.handlers.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.rst.txt +53 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.jwt_auth.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.l8n.rst.txt +109 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.mcp_.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.persona.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.rst.txt +35 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.startup.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.subscriptions.rst.txt +85 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.usage.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.user_service.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.auth.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.json_str_block.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.plugins.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.backup.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.rst.txt +152 -0
- mindroot/docs/_build/html/_sources/source/mindroot.registry.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.rst.txt +54 -0
- mindroot/docs/_build/html/_sources/source/modules.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mr_agent_expert_instr.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/starting_mindroot.rst.txt +12 -0
- mindroot/docs/_build/html/_sources/user_documentation.rst.txt +16 -0
- mindroot/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +123 -0
- mindroot/docs/_build/html/_static/basic.css +906 -0
- mindroot/docs/_build/html/_static/css/badge_only.css +1 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/theme.css +4 -0
- mindroot/docs/_build/html/_static/custom.css +19 -0
- mindroot/docs/_build/html/_static/debug.css +69 -0
- mindroot/docs/_build/html/_static/doctools.js +149 -0
- mindroot/docs/_build/html/_static/documentation_options.js +13 -0
- mindroot/docs/_build/html/_static/file.png +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/jquery.js +2 -0
- mindroot/docs/_build/html/_static/js/badge_only.js +1 -0
- mindroot/docs/_build/html/_static/js/theme.js +1 -0
- mindroot/docs/_build/html/_static/js/versions.js +228 -0
- mindroot/docs/_build/html/_static/language_data.js +192 -0
- mindroot/docs/_build/html/_static/minus.png +0 -0
- mindroot/docs/_build/html/_static/plus.png +0 -0
- mindroot/docs/_build/html/_static/pygments.css +232 -0
- mindroot/docs/_build/html/_static/scripts/furo-extensions.js +0 -0
- mindroot/docs/_build/html/_static/scripts/furo.js +3 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.map +1 -0
- mindroot/docs/_build/html/_static/searchtools.js +635 -0
- mindroot/docs/_build/html/_static/skeleton.css +296 -0
- mindroot/docs/_build/html/_static/sphinx_highlight.js +154 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css.map +1 -0
- mindroot/docs/_build/html/_static/styles/furo.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo.css.map +1 -0
- mindroot/docs/_build/html/chat_with_assistant.html +329 -0
- mindroot/docs/_build/html/developer_documentation.html +338 -0
- mindroot/docs/_build/html/genindex.html +4690 -0
- mindroot/docs/_build/html/getting_started.html +423 -0
- mindroot/docs/_build/html/index.html +357 -0
- mindroot/docs/_build/html/install_plugins_with_tools.html +336 -0
- mindroot/docs/_build/html/installation.html +330 -0
- mindroot/docs/_build/html/llm_api_key.html +337 -0
- mindroot/docs/_build/html/llm_plugin_installation.html +338 -0
- mindroot/docs/_build/html/objects.inv +0 -0
- mindroot/docs/_build/html/programming_task.html +326 -0
- mindroot/docs/_build/html/py-modindex.html +1307 -0
- mindroot/docs/_build/html/search.html +307 -0
- mindroot/docs/_build/html/searchindex.js +1 -0
- mindroot/docs/_build/html/source/ahp.html +302 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.admin.html +2212 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.api_keys.html +532 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat.html +1185 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat_avatar.html +311 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.check_list.html +441 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.credits.html +879 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.email.html +554 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.env_manager.html +447 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.events.html +338 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.html +1785 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.handlers.html +481 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.html +696 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.jwt_auth.html +432 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.l8n.html +933 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.mcp_.html +1271 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.persona.html +386 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.startup.html +327 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.subscriptions.html +1631 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.usage.html +677 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.user_service.html +681 -0
- mindroot/docs/_build/html/source/mindroot.html +811 -0
- mindroot/docs/_build/html/source/mindroot.lib.auth.html +407 -0
- mindroot/docs/_build/html/source/mindroot.lib.html +2027 -0
- mindroot/docs/_build/html/source/mindroot.lib.json_str_block.html +344 -0
- mindroot/docs/_build/html/source/mindroot.lib.plugins.html +1050 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.backup.html +324 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.html +572 -0
- mindroot/docs/_build/html/source/mindroot.registry.html +501 -0
- mindroot/docs/_build/html/source/modules.html +377 -0
- mindroot/docs/_build/html/source/mr_agent_expert_instr.html +302 -0
- mindroot/docs/_build/html/starting_mindroot.html +325 -0
- mindroot/docs/_build/html/user_documentation.html +333 -0
- mindroot/docs/_static/custom.css +19 -0
- mindroot/docs/chat_with_assistant.rst +14 -0
- mindroot/docs/conf.py +54 -0
- mindroot/docs/data/agents/local/Assistant/agent.json +27 -0
- mindroot/docs/data/agents/local/SysAdmin/agent.json +33 -0
- mindroot/docs/data/equivalent_flags.json +1 -0
- mindroot/docs/data/mcp/servers.json +9 -0
- mindroot/docs/data/models.json +57 -0
- mindroot/docs/data/plugin_manifest.json +95 -0
- mindroot/docs/data/preferred_models.json +12 -0
- mindroot/docs/data/providers.json +62 -0
- mindroot/docs/developer_documentation.rst +26 -0
- mindroot/docs/envvar.png +0 -0
- mindroot/docs/files.png +0 -0
- mindroot/docs/getting_started.rst +139 -0
- mindroot/docs/index.rst +38 -0
- mindroot/docs/install_plugins_with_tools.rst +25 -0
- mindroot/docs/installation.rst +21 -0
- mindroot/docs/installopenrouter.png +0 -0
- mindroot/docs/llm_api_key.rst +22 -0
- mindroot/docs/llm_plugin_installation.rst +27 -0
- mindroot/docs/make.bat +35 -0
- mindroot/docs/mood.png +0 -0
- mindroot/docs/moon.png +0 -0
- mindroot/docs/openrouter.png +0 -0
- mindroot/docs/personas/local/Assistant/avatar.png +0 -0
- mindroot/docs/personas/local/Assistant/faceref.png +0 -0
- mindroot/docs/personas/local/Assistant/persona.json +7 -0
- mindroot/docs/programming_task.rst +10 -0
- mindroot/docs/restart.png +0 -0
- mindroot/docs/source/ahp.rst +7 -0
- mindroot/docs/source/mindroot.coreplugins.admin.rst +189 -0
- mindroot/docs/source/mindroot.coreplugins.api_keys.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.chat.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.chat_avatar.rst +10 -0
- mindroot/docs/source/mindroot.coreplugins.check_list.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.credits.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.email.rst +77 -0
- mindroot/docs/source/mindroot.coreplugins.env_manager.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.events.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.index.handlers.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.index.rst +53 -0
- mindroot/docs/source/mindroot.coreplugins.jwt_auth.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.l8n.rst +109 -0
- mindroot/docs/source/mindroot.coreplugins.mcp_.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.persona.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.rst +35 -0
- mindroot/docs/source/mindroot.coreplugins.startup.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.subscriptions.rst +85 -0
- mindroot/docs/source/mindroot.coreplugins.usage.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.user_service.rst +69 -0
- mindroot/docs/source/mindroot.lib.auth.rst +29 -0
- mindroot/docs/source/mindroot.lib.json_str_block.rst +21 -0
- mindroot/docs/source/mindroot.lib.plugins.rst +69 -0
- mindroot/docs/source/mindroot.lib.providers.backup.rst +10 -0
- mindroot/docs/source/mindroot.lib.providers.rst +61 -0
- mindroot/docs/source/mindroot.lib.rst +152 -0
- mindroot/docs/source/mindroot.registry.rst +29 -0
- mindroot/docs/source/mindroot.rst +54 -0
- mindroot/docs/source/modules.rst +7 -0
- mindroot/docs/source/mr_agent_expert_instr.rst +7 -0
- mindroot/docs/starting_mindroot.rst +12 -0
- mindroot/docs/user_documentation.rst +16 -0
- mindroot/lib/providers/model_preferences_v2.py +5 -3
- mindroot/server.py +10 -1
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/METADATA +1 -1
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/RECORD +417 -10
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/WHEEL +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/entry_points.txt +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/licenses/LICENSE +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.13.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="../../../../">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
<title>mindroot.coreplugins.credits.mod — MindRoot 9.10.0 documentation</title>
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css?v=b86133f3" />
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="../../../../_static/css/theme.css?v=e59714d7" />
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<script src="../../../../_static/jquery.js?v=5d32c60e"></script>
|
|
14
|
+
<script src="../../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
|
15
|
+
<script src="../../../../_static/documentation_options.js?v=3c16008f"></script>
|
|
16
|
+
<script src="../../../../_static/doctools.js?v=9bcbadda"></script>
|
|
17
|
+
<script src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
18
|
+
<script src="../../../../_static/js/theme.js"></script>
|
|
19
|
+
<link rel="index" title="Index" href="../../../../genindex.html" />
|
|
20
|
+
<link rel="search" title="Search" href="../../../../search.html" />
|
|
21
|
+
</head>
|
|
22
|
+
|
|
23
|
+
<body class="wy-body-for-nav">
|
|
24
|
+
<div class="wy-grid-for-nav">
|
|
25
|
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
26
|
+
<div class="wy-side-scroll">
|
|
27
|
+
<div class="wy-side-nav-search" style="background: #343131" >
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<a href="../../../../index.html" class="icon icon-home">
|
|
32
|
+
MindRoot
|
|
33
|
+
</a>
|
|
34
|
+
<div role="search">
|
|
35
|
+
<form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
|
|
36
|
+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
37
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
38
|
+
<input type="hidden" name="area" value="default" />
|
|
39
|
+
</form>
|
|
40
|
+
</div>
|
|
41
|
+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
42
|
+
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
|
43
|
+
<ul>
|
|
44
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../../getting_started.html">Getting Started</a></li>
|
|
45
|
+
</ul>
|
|
46
|
+
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</nav>
|
|
50
|
+
|
|
51
|
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #343131" >
|
|
52
|
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
53
|
+
<a href="../../../../index.html">MindRoot</a>
|
|
54
|
+
</nav>
|
|
55
|
+
|
|
56
|
+
<div class="wy-nav-content">
|
|
57
|
+
<div class="rst-content">
|
|
58
|
+
<div role="navigation" aria-label="Page navigation">
|
|
59
|
+
<ul class="wy-breadcrumbs">
|
|
60
|
+
<li><a href="../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
|
61
|
+
<li class="breadcrumb-item"><a href="../../../index.html">Module code</a></li>
|
|
62
|
+
<li class="breadcrumb-item active">mindroot.coreplugins.credits.mod</li>
|
|
63
|
+
<li class="wy-breadcrumbs-aside">
|
|
64
|
+
</li>
|
|
65
|
+
</ul>
|
|
66
|
+
<hr/>
|
|
67
|
+
</div>
|
|
68
|
+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
69
|
+
<div itemprop="articleBody">
|
|
70
|
+
|
|
71
|
+
<h1>Source code for mindroot.coreplugins.credits.mod</h1><div class="highlight"><pre>
|
|
72
|
+
<span></span><span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">date</span>
|
|
73
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Dict</span>
|
|
74
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</span>
|
|
75
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">lib.providers.services</span><span class="w"> </span><span class="kn">import</span> <span class="n">service</span>
|
|
76
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">lib.providers.commands</span><span class="w"> </span><span class="kn">import</span> <span class="n">command</span>
|
|
77
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">lib.providers.hooks</span><span class="w"> </span><span class="kn">import</span> <span class="n">hook</span>
|
|
78
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">lib.utils.debug</span><span class="w"> </span><span class="kn">import</span> <span class="n">debug_box</span>
|
|
79
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">CreditTransaction</span><span class="p">,</span> <span class="n">CreditRatioConfig</span>
|
|
80
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.storage</span><span class="w"> </span><span class="kn">import</span> <span class="n">CreditStorage</span>
|
|
81
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.ledger</span><span class="w"> </span><span class="kn">import</span> <span class="n">CreditLedger</span>
|
|
82
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.conversion</span><span class="w"> </span><span class="kn">import</span> <span class="n">CreditUsageHandler</span><span class="p">,</span> <span class="n">CreditPolicy</span>
|
|
83
|
+
|
|
84
|
+
<span class="c1"># Global handler for usage tracking</span>
|
|
85
|
+
<span class="n">_usage_handler</span> <span class="o">=</span> <span class="kc">None</span>
|
|
86
|
+
|
|
87
|
+
<div class="viewcode-block" id="CreditsPlugin">
|
|
88
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.CreditsPlugin">[docs]</a>
|
|
89
|
+
<span class="k">class</span><span class="w"> </span><span class="nc">CreditsPlugin</span><span class="p">:</span>
|
|
90
|
+
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">base_path</span><span class="p">:</span> <span class="nb">str</span><span class="p">):</span>
|
|
91
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">base_path</span> <span class="o">=</span> <span class="n">base_path</span>
|
|
92
|
+
|
|
93
|
+
<div class="viewcode-block" id="CreditsPlugin.create_components">
|
|
94
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.CreditsPlugin.create_components">[docs]</a>
|
|
95
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">create_components</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
96
|
+
<span class="w"> </span><span class="sd">"""Create fresh instances of all credit system components"""</span>
|
|
97
|
+
<span class="n">storage</span> <span class="o">=</span> <span class="n">CreditStorage</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">base_path</span><span class="p">)</span>
|
|
98
|
+
<span class="n">ratio_config</span> <span class="o">=</span> <span class="n">CreditRatioConfig</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">base_path</span><span class="p">)</span>
|
|
99
|
+
<span class="n">ledger</span> <span class="o">=</span> <span class="n">CreditLedger</span><span class="p">(</span><span class="n">storage</span><span class="p">)</span>
|
|
100
|
+
<span class="n">credit_policy</span> <span class="o">=</span> <span class="n">CreditPolicy</span><span class="p">(</span><span class="n">ledger</span><span class="p">,</span> <span class="n">ratio_config</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">base_path</span><span class="p">)</span>
|
|
101
|
+
<span class="n">usage_handler</span> <span class="o">=</span> <span class="n">CreditUsageHandler</span><span class="p">(</span><span class="n">ledger</span><span class="p">,</span> <span class="n">ratio_config</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">base_path</span><span class="p">)</span>
|
|
102
|
+
<span class="k">return</span> <span class="n">storage</span><span class="p">,</span> <span class="n">ledger</span><span class="p">,</span> <span class="n">ratio_config</span><span class="p">,</span> <span class="n">credit_policy</span><span class="p">,</span> <span class="n">usage_handler</span></div>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<div class="viewcode-block" id="get_base_path">
|
|
107
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.get_base_path">[docs]</a>
|
|
108
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
|
109
|
+
<span class="w"> </span><span class="sd">"""Get the base path for credit data storage"""</span>
|
|
110
|
+
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">Path</span><span class="o">.</span><span class="n">cwd</span><span class="p">()</span> <span class="o">/</span> <span class="s1">'data'</span> <span class="o">/</span> <span class="s1">'credits'</span><span class="p">)</span></div>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
<div class="viewcode-block" id="startup">
|
|
114
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.startup">[docs]</a>
|
|
115
|
+
<span class="nd">@hook</span><span class="p">()</span>
|
|
116
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">startup</span><span class="p">(</span><span class="n">app</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
117
|
+
<span class="w"> </span><span class="sd">"""Startup tasks"""</span>
|
|
118
|
+
<span class="c1"># Initialize components</span>
|
|
119
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
120
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">usage_handler</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
121
|
+
|
|
122
|
+
<span class="c1"># Store usage handler globally for the handle_usage service</span>
|
|
123
|
+
<span class="k">global</span> <span class="n">_usage_handler</span>
|
|
124
|
+
<span class="n">_usage_handler</span> <span class="o">=</span> <span class="n">usage_handler</span></div>
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
<div class="viewcode-block" id="handle_usage">
|
|
129
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.handle_usage">[docs]</a>
|
|
130
|
+
<span class="nd">@hook</span><span class="p">()</span>
|
|
131
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">handle_usage</span><span class="p">(</span><span class="n">plugin_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">quantity</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
|
|
132
|
+
<span class="n">metadata</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">model_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
|
|
133
|
+
<span class="w"> </span><span class="sd">"""Handle usage tracking for credits system.</span>
|
|
134
|
+
<span class="sd"> This service is called by the usage plugin after tracking usage.</span>
|
|
135
|
+
<span class="sd"> """</span>
|
|
136
|
+
<span class="k">global</span> <span class="n">_usage_handler</span>
|
|
137
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">_usage_handler</span><span class="p">:</span>
|
|
138
|
+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"Credits plugin not properly initialized"</span><span class="p">)</span>
|
|
139
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">cost_type_id</span><span class="p">)</span>
|
|
140
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"quantity:"</span><span class="p">,</span> <span class="n">quantity</span><span class="p">)</span>
|
|
141
|
+
<span class="n">debug_box</span><span class="p">(</span><span class="s2">"Recording credit usage: </span><span class="si">{}</span><span class="s2"> </span><span class="si">{}</span><span class="s2"> </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">plugin_id</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">,</span> <span class="n">quantity</span><span class="p">))</span>
|
|
142
|
+
<span class="k">await</span> <span class="n">_usage_handler</span><span class="o">.</span><span class="n">handle_usage</span><span class="p">(</span><span class="n">plugin_id</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">,</span> <span class="n">quantity</span><span class="p">,</span>
|
|
143
|
+
<span class="n">metadata</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">model_id</span><span class="p">)</span></div>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
<div class="viewcode-block" id="allocate_credits">
|
|
147
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.allocate_credits">[docs]</a>
|
|
148
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
149
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">allocate_credits</span><span class="p">(</span><span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">amount</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
|
|
150
|
+
<span class="n">source</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">reference_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
|
151
|
+
<span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
152
|
+
<span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="nb">float</span><span class="p">:</span>
|
|
153
|
+
<span class="w"> </span><span class="sd">"""Allocate credits to a user.</span>
|
|
154
|
+
<span class="sd"> </span>
|
|
155
|
+
<span class="sd"> Args:</span>
|
|
156
|
+
<span class="sd"> username: User to allocate credits to</span>
|
|
157
|
+
<span class="sd"> amount: Amount of credits to allocate</span>
|
|
158
|
+
<span class="sd"> source: Source of allocation (e.g., 'purchase', 'admin_grant')</span>
|
|
159
|
+
<span class="sd"> reference_id: External reference (e.g., payment ID)</span>
|
|
160
|
+
<span class="sd"> metadata: Additional information about allocation</span>
|
|
161
|
+
<span class="sd"> context: Request context</span>
|
|
162
|
+
<span class="sd"> </span>
|
|
163
|
+
<span class="sd"> Returns:</span>
|
|
164
|
+
<span class="sd"> float: New credit balance</span>
|
|
165
|
+
<span class="sd"> </span>
|
|
166
|
+
<span class="sd"> Example:</span>
|
|
167
|
+
<span class="sd"> new_balance = await allocate_credits(</span>
|
|
168
|
+
<span class="sd"> 'user123',</span>
|
|
169
|
+
<span class="sd"> 1000.0,</span>
|
|
170
|
+
<span class="sd"> 'purchase',</span>
|
|
171
|
+
<span class="sd"> 'payment_123',</span>
|
|
172
|
+
<span class="sd"> {'payment_method': 'stripe'}</span>
|
|
173
|
+
<span class="sd"> )</span>
|
|
174
|
+
<span class="sd"> """</span>
|
|
175
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
176
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">ledger</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
177
|
+
<span class="k">return</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">record_allocation</span><span class="p">(</span>
|
|
178
|
+
<span class="n">username</span><span class="p">,</span> <span class="n">amount</span><span class="p">,</span> <span class="n">source</span><span class="p">,</span> <span class="n">reference_id</span><span class="p">,</span> <span class="n">metadata</span>
|
|
179
|
+
<span class="p">)</span></div>
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
<div class="viewcode-block" id="get_credit_balance">
|
|
183
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.get_credit_balance">[docs]</a>
|
|
184
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
185
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_credit_balance</span><span class="p">(</span><span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="nb">float</span><span class="p">:</span>
|
|
186
|
+
<span class="w"> </span><span class="sd">"""Get current credit balance for a user.</span>
|
|
187
|
+
<span class="sd"> </span>
|
|
188
|
+
<span class="sd"> Example:</span>
|
|
189
|
+
<span class="sd"> balance = await get_credit_balance('user123')</span>
|
|
190
|
+
<span class="sd"> """</span>
|
|
191
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
192
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">ledger</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
193
|
+
<span class="k">return</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">get_balance</span><span class="p">(</span><span class="n">username</span><span class="p">)</span></div>
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
<div class="viewcode-block" id="check_credits_available">
|
|
197
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.check_credits_available">[docs]</a>
|
|
198
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
199
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">check_credits_available</span><span class="p">(</span><span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">required_amount</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
|
|
200
|
+
<span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">:</span>
|
|
201
|
+
<span class="w"> </span><span class="sd">"""Check if user has sufficient credits.</span>
|
|
202
|
+
<span class="sd"> </span>
|
|
203
|
+
<span class="sd"> Returns:</span>
|
|
204
|
+
<span class="sd"> Dict with 'has_sufficient' and 'current_balance' keys</span>
|
|
205
|
+
<span class="sd"> """</span>
|
|
206
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
207
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">ledger</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
208
|
+
|
|
209
|
+
<span class="n">has_sufficient</span><span class="p">,</span> <span class="n">balance</span> <span class="o">=</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">check_credits_available</span><span class="p">(</span>
|
|
210
|
+
<span class="n">username</span><span class="p">,</span> <span class="n">required_amount</span>
|
|
211
|
+
<span class="p">)</span>
|
|
212
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
213
|
+
<span class="s1">'has_sufficient'</span><span class="p">:</span> <span class="n">has_sufficient</span><span class="p">,</span>
|
|
214
|
+
<span class="s1">'current_balance'</span><span class="p">:</span> <span class="n">balance</span>
|
|
215
|
+
<span class="p">}</span></div>
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
<div class="viewcode-block" id="set_credit_ratio">
|
|
219
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.set_credit_ratio">[docs]</a>
|
|
220
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
221
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">set_credit_ratio</span><span class="p">(</span><span class="n">ratio</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">plugin_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
222
|
+
<span class="n">cost_type_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
223
|
+
<span class="n">model_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
224
|
+
<span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
225
|
+
<span class="w"> </span><span class="sd">"""Set credit ratio for cost conversion.</span>
|
|
226
|
+
<span class="sd"> </span>
|
|
227
|
+
<span class="sd"> Args:</span>
|
|
228
|
+
<span class="sd"> ratio: Credits per unit cost</span>
|
|
229
|
+
<span class="sd"> plugin_id: Optional plugin identifier</span>
|
|
230
|
+
<span class="sd"> cost_type_id: Optional cost type identifier</span>
|
|
231
|
+
<span class="sd"> model_id: Optional model identifier</span>
|
|
232
|
+
<span class="sd"> </span>
|
|
233
|
+
<span class="sd"> Example:</span>
|
|
234
|
+
<span class="sd"> # Set global default ratio</span>
|
|
235
|
+
<span class="sd"> await set_credit_ratio(100.0)</span>
|
|
236
|
+
<span class="sd"> </span>
|
|
237
|
+
<span class="sd"> # Set model-specific ratio</span>
|
|
238
|
+
<span class="sd"> await set_credit_ratio(</span>
|
|
239
|
+
<span class="sd"> 90.0,</span>
|
|
240
|
+
<span class="sd"> plugin_id='gpt4',</span>
|
|
241
|
+
<span class="sd"> cost_type_id='gpt4.input_tokens',</span>
|
|
242
|
+
<span class="sd"> model_id='gpt-4-1106-preview'</span>
|
|
243
|
+
<span class="sd"> )</span>
|
|
244
|
+
<span class="sd"> """</span>
|
|
245
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
246
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">ratio_config</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
247
|
+
<span class="k">await</span> <span class="n">ratio_config</span><span class="o">.</span><span class="n">set_ratio</span><span class="p">(</span><span class="n">ratio</span><span class="p">,</span> <span class="n">plugin_id</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">,</span> <span class="n">model_id</span><span class="p">)</span></div>
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
<div class="viewcode-block" id="get_credit_ratios">
|
|
251
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.get_credit_ratios">[docs]</a>
|
|
252
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
253
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_credit_ratios</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">:</span>
|
|
254
|
+
<span class="w"> </span><span class="sd">"""Get current credit ratio configuration."""</span>
|
|
255
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
256
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">ratio_config</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
257
|
+
<span class="k">return</span> <span class="k">await</span> <span class="n">ratio_config</span><span class="o">.</span><span class="n">get_config</span><span class="p">()</span></div>
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
<div class="viewcode-block" id="get_credit_report">
|
|
261
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.get_credit_report">[docs]</a>
|
|
262
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
263
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_credit_report</span><span class="p">(</span><span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
|
264
|
+
<span class="n">start_date</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
265
|
+
<span class="n">end_date</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
266
|
+
<span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">:</span>
|
|
267
|
+
<span class="w"> </span><span class="sd">"""Get detailed credit report for a user.</span>
|
|
268
|
+
<span class="sd"> </span>
|
|
269
|
+
<span class="sd"> Args:</span>
|
|
270
|
+
<span class="sd"> username: User to get report for</span>
|
|
271
|
+
<span class="sd"> start_date: Optional start date (YYYY-MM-DD)</span>
|
|
272
|
+
<span class="sd"> end_date: Optional end date (YYYY-MM-DD)</span>
|
|
273
|
+
<span class="sd"> </span>
|
|
274
|
+
<span class="sd"> Returns:</span>
|
|
275
|
+
<span class="sd"> Dict containing:</span>
|
|
276
|
+
<span class="sd"> - Current balance</span>
|
|
277
|
+
<span class="sd"> - Transaction history</span>
|
|
278
|
+
<span class="sd"> - Usage summary</span>
|
|
279
|
+
<span class="sd"> """</span>
|
|
280
|
+
<span class="n">start</span> <span class="o">=</span> <span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">start_date</span><span class="p">)</span> <span class="k">if</span> <span class="n">start_date</span> <span class="k">else</span> <span class="kc">None</span>
|
|
281
|
+
<span class="n">end</span> <span class="o">=</span> <span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">end_date</span><span class="p">)</span> <span class="k">if</span> <span class="n">end_date</span> <span class="k">else</span> <span class="kc">None</span>
|
|
282
|
+
|
|
283
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
284
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">ledger</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
285
|
+
<span class="n">transactions</span> <span class="o">=</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">get_transactions</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">)</span>
|
|
286
|
+
<span class="n">summary</span> <span class="o">=</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">get_usage_summary</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">)</span>
|
|
287
|
+
<span class="n">current_balance</span> <span class="o">=</span> <span class="k">await</span> <span class="n">ledger</span><span class="o">.</span><span class="n">get_balance</span><span class="p">(</span><span class="n">username</span><span class="p">)</span>
|
|
288
|
+
|
|
289
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
290
|
+
<span class="s1">'username'</span><span class="p">:</span> <span class="n">username</span><span class="p">,</span>
|
|
291
|
+
<span class="s1">'current_balance'</span><span class="p">:</span> <span class="n">current_balance</span><span class="p">,</span>
|
|
292
|
+
<span class="s1">'summary'</span><span class="p">:</span> <span class="n">summary</span><span class="p">,</span>
|
|
293
|
+
<span class="s1">'transactions'</span><span class="p">:</span> <span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">to_dict</span><span class="p">()</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">transactions</span><span class="p">]</span>
|
|
294
|
+
<span class="p">}</span></div>
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
<div class="viewcode-block" id="estimate_credits">
|
|
298
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.credits.html#mindroot.coreplugins.credits.mod.estimate_credits">[docs]</a>
|
|
299
|
+
<span class="nd">@service</span><span class="p">()</span>
|
|
300
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">estimate_credits</span><span class="p">(</span><span class="n">plugin_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
|
301
|
+
<span class="n">estimated_cost</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
|
|
302
|
+
<span class="n">model_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
|
303
|
+
<span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">:</span>
|
|
304
|
+
<span class="w"> </span><span class="sd">"""Estimate credits needed for an operation.</span>
|
|
305
|
+
<span class="sd"> </span>
|
|
306
|
+
<span class="sd"> Example:</span>
|
|
307
|
+
<span class="sd"> estimate = await estimate_credits(</span>
|
|
308
|
+
<span class="sd"> 'gpt4',</span>
|
|
309
|
+
<span class="sd"> 'gpt4.input_tokens',</span>
|
|
310
|
+
<span class="sd"> 0.01, # $0.01</span>
|
|
311
|
+
<span class="sd"> 'gpt-4-1106-preview'</span>
|
|
312
|
+
<span class="sd"> )</span>
|
|
313
|
+
<span class="sd"> """</span>
|
|
314
|
+
<span class="n">plugin</span> <span class="o">=</span> <span class="n">CreditsPlugin</span><span class="p">(</span><span class="n">get_base_path</span><span class="p">(</span><span class="n">context</span><span class="p">))</span>
|
|
315
|
+
<span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">credit_policy</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">plugin</span><span class="o">.</span><span class="n">create_components</span><span class="p">()</span>
|
|
316
|
+
<span class="n">credits</span> <span class="o">=</span> <span class="k">await</span> <span class="n">credit_policy</span><span class="o">.</span><span class="n">estimate_credits_needed</span><span class="p">(</span>
|
|
317
|
+
<span class="n">plugin_id</span><span class="p">,</span> <span class="n">cost_type_id</span><span class="p">,</span> <span class="n">estimated_cost</span><span class="p">,</span> <span class="n">model_id</span>
|
|
318
|
+
<span class="p">)</span>
|
|
319
|
+
|
|
320
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
321
|
+
<span class="s1">'estimated_cost'</span><span class="p">:</span> <span class="n">estimated_cost</span><span class="p">,</span>
|
|
322
|
+
<span class="s1">'credits_required'</span><span class="p">:</span> <span class="n">credits</span><span class="p">,</span>
|
|
323
|
+
<span class="s1">'ratio_used'</span><span class="p">:</span> <span class="n">credits</span> <span class="o">/</span> <span class="n">estimated_cost</span>
|
|
324
|
+
<span class="p">}</span></div>
|
|
325
|
+
|
|
326
|
+
</pre></div>
|
|
327
|
+
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
<footer>
|
|
331
|
+
|
|
332
|
+
<hr/>
|
|
333
|
+
|
|
334
|
+
<div role="contentinfo">
|
|
335
|
+
<p>© Copyright 2025, Jason Livesay.</p>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
339
|
+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
340
|
+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
</footer>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
</section>
|
|
347
|
+
</div>
|
|
348
|
+
<script>
|
|
349
|
+
jQuery(function () {
|
|
350
|
+
SphinxRtdTheme.Navigation.enable(true);
|
|
351
|
+
});
|
|
352
|
+
</script>
|
|
353
|
+
|
|
354
|
+
</body>
|
|
355
|
+
</html>
|