mito-ai 0.1.55__tar.gz → 0.1.56__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mito_ai-0.1.56/.cursorrules +17 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.gitignore +4 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/CLAUDE.md +4 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/PKG-INFO +5 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/README.md +4 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/dev/README.md +8 -0
- mito_ai-0.1.56/dev/chat_history_viewer.py +346 -0
- mito_ai-0.1.56/dev/setup_jupyter_dev_token.py +95 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/example-notebooks/geospatial/bike-violations.ipynb +53 -2
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/_version.py +1 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/anthropic_client.py +7 -6
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/models.py +1 -1
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/agent_execution_prompt.py +25 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py +145 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/agent_system_message.py +211 -275
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/chat_prompt.py +31 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/chat_system_message.py +131 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/explain_code_prompt.py +30 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/inline_completer_prompt.py +78 -107
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/prompt_constants.py +10 -48
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/__init__.py +70 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/active_cell_code.py +15 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/active_cell_id.py +10 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/active_cell_output.py +20 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/base.py +37 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/error_traceback.py +17 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/example.py +19 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/files.py +17 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/generic.py +15 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/get_cell_output_tool_response.py +21 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/notebook.py +19 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/rules.py +39 -0
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/utils.py → mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/selected_context.py +51 -42
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/streamlit_app_status.py +25 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/task.py +12 -0
- mito_ai-0.1.56/mito_ai/completions/prompt_builders/prompt_section_registry/variables.py +18 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/smart_debug_prompt.py +48 -63
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/constants.py +0 -3
- {mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai → mito_ai-0.1.56/mito_ai/labextension}/build_log.json +1 -1
- {mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai → mito_ai-0.1.56/mito_ai/labextension}/package.json +2 -2
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/schemas/mito_ai/package.json.orig +1 -1
- mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai/static/lib_index_js.49c79c62671528877c61.js → mito_ai-0.1.56/mito_ai/labextension/static/lib_index_js.dfd7975de75d64db80d6.js +487 -120
- mito_ai-0.1.56/mito_ai/labextension/static/lib_index_js.dfd7975de75d64db80d6.js.map +1 -0
- mito_ai-0.1.55/mito_ai/labextension/static/remoteEntry.9dfbffc3592eb6f0aef9.js → mito_ai-0.1.56/mito_ai/labextension/static/remoteEntry.1e7b5cf362385f109883.js +3 -3
- mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai/static/remoteEntry.9dfbffc3592eb6f0aef9.js.map → mito_ai-0.1.56/mito_ai/labextension/static/remoteEntry.1e7b5cf362385f109883.js.map +1 -1
- mito_ai-0.1.56/mito_ai/tests/completions/test_prompt_section_registry.py +44 -0
- mito_ai-0.1.56/mito_ai/tests/message_history/test_message_history_utils.py +402 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_anthropic_client.py +7 -3
- mito_ai-0.1.56/mito_ai/utils/message_history_utils.py +111 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/package.json +1 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/AiChatPlugin.ts +1 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/ChatInput.tsx +99 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/ChatMessage.tsx +2 -12
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatTaskpane.tsx +33 -9
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatWidget.tsx +6 -1
- mito_ai-0.1.56/src/Extensions/AiChat/cellUpdateUtils.tsx +37 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useAgentExecution.ts +8 -1
- mito_ai-0.1.56/src/Extensions/AiChat/utils.tsx +81 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/MitoThemeLight/index.ts +6 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/emptyCell/EmptyCellPlugin.ts +7 -4
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/commands.tsx +1 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/ErrorFixupToolUI.tsx +1 -12
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/ModelSelector.tsx +1 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/SelectedContextContainer.tsx +53 -2
- mito_ai-0.1.56/src/hooks/useLineSelection.tsx +137 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/ChatInput.test.tsx +27 -2
- mito_ai-0.1.56/src/tests/AiChat/ChatTaskpane.test.tsx +237 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/agentActions.tsx +6 -2
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/notebook.tsx +19 -9
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/completions/CompletionModels.ts +1 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/SelectedContextContainer.css +11 -5
- {mito_ai-0.1.55/mito_ai/labextension → mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai}/build_log.json +1 -1
- {mito_ai-0.1.55/mito_ai/labextension → mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai}/package.json +2 -2
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig +1 -1
- mito_ai-0.1.55/mito_ai/labextension/static/lib_index_js.49c79c62671528877c61.js → mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai/static/lib_index_js.dfd7975de75d64db80d6.js +487 -120
- mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai/static/lib_index_js.dfd7975de75d64db80d6.js.map +1 -0
- mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai/static/remoteEntry.9dfbffc3592eb6f0aef9.js → mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai/static/remoteEntry.1e7b5cf362385f109883.js +3 -3
- mito_ai-0.1.55/mito_ai/labextension/static/remoteEntry.9dfbffc3592eb6f0aef9.js.map → mito_ai-0.1.56/venv/share/jupyter/labextensions/mito_ai/static/remoteEntry.1e7b5cf362385f109883.js.map +1 -1
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/agent_execution_prompt.py +0 -57
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py +0 -160
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/chat_prompt.py +0 -116
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/chat_system_message.py +0 -107
- mito_ai-0.1.55/mito_ai/completions/prompt_builders/explain_code_prompt.py +0 -32
- mito_ai-0.1.55/mito_ai/labextension/static/lib_index_js.49c79c62671528877c61.js.map +0 -1
- mito_ai-0.1.55/mito_ai/tests/message_history/test_message_history_utils.py +0 -469
- mito_ai-0.1.55/mito_ai/utils/message_history_utils.py +0 -87
- mito_ai-0.1.55/src/Extensions/AiChat/utils.tsx +0 -35
- mito_ai-0.1.55/venv/share/jupyter/labextensions/mito_ai/static/lib_index_js.49c79c62671528877c61.js.map +0 -1
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.babelrc +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.copier-answers.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.eslintrc.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.prettierignore +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/.yarnrc.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/LICENSE +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/babel.config.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/declarations.d.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/dev/generate_ai_chats.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/example-notebooks/cfo-dashboard/cfo dashboard.ipynb +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/example-notebooks/financial-projections/financial-projections.ipynb +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/example-notebooks/financial-projections/synthetic_financial_data.csv +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/example-notebooks/geospatial/Bike_Violations_B_Summons.csv +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/jest.config.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/jupyter-config/jupyter_server_config.d/mito_ai.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_deploy/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_deploy/app_deploy_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_deploy/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_deploy/models.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_manager/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_manager/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_manager/models.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/app_manager/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/auth/README.md +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/auth/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/auth/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/auth/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/chat_history/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/chat_history/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/agent_auto_error_fixup_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/agent_execution_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/chat_completion_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/code_explain_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/completion_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/inline_completer_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/smart_debug_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/completion_handlers/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/message_history.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/prompt_builders/chat_name_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/completions/providers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/crawlers/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/crawlers/base_crawler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/crawlers/constants.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/crawlers/snowflake.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/models.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/db/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/mssql/compose.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/mssql/init/setup.sql +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/mysql/compose.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/mysql/init/setup.sql +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/oracle/compose.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/oracle/init/setup.sql +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/postgres/compose.yml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/docker/postgres/init/setup.sql +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/enterprise/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/enterprise/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/file_uploads/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/file_uploads/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/file_uploads/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/gemini_client.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/schemas/mito_ai/toolbar-buttons.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/style.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/style_index_js.f5d476ac514294615881.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/style_index_js.f5d476ac514294615881.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/themes/mito_ai/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/labextension/themes/mito_ai/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/log/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/log/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/logger.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/openai_client.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/path_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/rules/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/rules/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/rules/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/settings/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/settings/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/settings/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/agent_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/prompt_constants.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/prompt_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/streamlit_app_creation_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/streamlit_error_correction_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/streamlit_finish_todo_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/streamlit_system_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/prompts/update_existing_app_prompt.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/search_replace_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/streamlit_agent_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/streamlit_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_conversion/validate_streamlit_app.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_preview/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_preview/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_preview/manager.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_preview/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/streamlit_preview/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/chat_history/test_chat_history.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/completions/completion_handlers_utils_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/conftest.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/create_agent_system_message_prompt_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/data/prompt_lg.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/data/prompt_sm.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/data/prompt_xl.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/data/stock_data.sqlite3 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/conftest.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/connections_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/mssql_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/mysql_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/oracle_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/postgres_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/schema_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/sqlite_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/db/test_db_constants.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/deploy_app/test_app_deploy_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/file_uploads/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/file_uploads/test_handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/message_history/test_generate_short_chat_name.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/open_ai_utils_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/performance_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_azure.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_capabilities.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_gemini_client.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_mito_server_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_model_resolution.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_openai_client.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_provider_completion_exception.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_provider_limits.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_providers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_retry_logic.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/test_stream_mito_server_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/providers/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/rules/conftest.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/rules/rules_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/server_limits_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/settings/conftest.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/settings/settings_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/settings/test_settings_constants.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_conversion/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_conversion/test_apply_search_replace.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_conversion/test_streamlit_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_conversion/test_validate_streamlit_app.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_preview/test_streamlit_preview_handler.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/streamlit_preview/test_streamlit_preview_manager.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/test_constants.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/test_telemetry.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/user/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/user/test_user.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/utils/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/utils/test_anthropic_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/utils/test_gemini_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/tests/version_check_test.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/user/handlers.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/user/urls.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/__init__.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/anthropic_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/create.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/db.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/error_classes.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/gemini_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/mito_server_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/open_ai_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/provider_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/schema.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/server_limits.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/telemetry_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/tokens.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/version_utils.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/utils/websocket_base.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mito_ai/version_check.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/mypy.ini +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/package-lock.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/pyproject.toml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/requirements.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/schema/toolbar-buttons.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/setup.py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/AgentReviewUtils.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/CTACarousel.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatHistoryManager.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/AgentChangeControls.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/AgentChangeSummary.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/AlertBlock.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/AssistantCodeBlock.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/ChatDropdown.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/ChatDropdownItems.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/Citation.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/CodeBlockToolbar.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/MarkdownBlock.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/PythonCode.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/RevertQuestionnaire.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/ScrollableSuggestions.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/ChatMessage/UserCodeBlock.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/CodeDiffDisplay.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/FirstMessage.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/SignUpForm.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/UsageBadge.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/components/AgentReviewPanel.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useAgentMode.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useAgentReview.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useChatScroll.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useChatState.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useChatThreads.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useCodeReview.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useModelConfig.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useStreamingResponse.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/hooks/useUserSignup.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/jupyterSettingsManager.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/token.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AiChat/validationUtils.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/AppDeployPlugin.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/DeployAppNotification.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/DeployFilesSelector.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/DeployStreamlitApp.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/FilesSelectorUtils.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/auth-popup-deploy.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/auth.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/authPopupUtils.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/aws-config.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/fileUtils.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppDeploy/requirementsUtils.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppManager/AppsList.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppManager/CheckAppStatusAPI.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppManager/ListAppsAPI.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppManager/ManageAppsPlugin.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppPreview/PlaceholderWidget.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppPreview/StreamlitPreviewPlugin.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppPreview/UpdateAppDropdown.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/AppPreview/utils.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/CellNumbering/CellNumberingPlugin.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ContextManager/ContextManagerPlugin.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ContextManager/FileInspector.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ContextManager/VariableInspector.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ErrorMimeRenderer/CollapsibleWarningBlock.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ErrorMimeRenderer/ErrorMimeRendererPlugin.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ErrorMimeRenderer/errorUtils.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/InlineCompleter/index.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/InlineCompleter/provider.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/NotebookFooter/NotebookFooter.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/NotebookFooter/index.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/SettingsManagerPlugin.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/SettingsWidget.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/database/ConnectionForm.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/database/ConnectionList.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/database/DatabasePage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/database/GettingStartedVideo.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/database/model.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/general/GeneralPage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/profiler/CapturedRequestsSection.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/profiler/ContextManagerSection.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/profiler/ProfilerPage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/rules/RulesForm.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/rules/RulesPage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/rules/models.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/subscription/FreeTierCard.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/subscription/ProCard.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/subscription/SubscriptionPage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/SettingsManager/support/SupportPage.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/ToolbarButtons/ToolbarButtonsPlugin.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/VersionCheck/index.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/emptyCell/emptyCell.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/Extensions/status/index.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/AgentComponentHeader.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/AssumptionToolUI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/CreateStreamlitAppToolUI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/EditStreamlitAppToolUI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/GetCellOutputToolUI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/RunAllCellsToolUI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AgentComponents/ShimmerWrapper.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/AttachFileButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/DatabaseButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/DropdownMenu.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/IconButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/LoadingCircle.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/LoadingDots.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/NextStepsPills.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/RunCellButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/TextAndIconButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/TextButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/components/ToggleButton.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/hooks/useCellOrder.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/hooks/useDebouncedEffect.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/hooks/useDebouncedFunction.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AcceptIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AiIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AlertIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/App/DeployIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AppBuilderExcludeCellIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AppBuilderIncludeCellIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/AppIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/BrainIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ChatIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ChatIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/Check.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ChevronIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ClearIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/CodeIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/CopyIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/DatabaseIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/DatabaseOutlineIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ErrorIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ExpandIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/File.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/FileIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/Folder.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/FolderIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/GarbageIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/GoToCellIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/LightbulbIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/LightningIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/MagicWand.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/MagnifyingGlassIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/MitoLogo.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/NotebookFooter/CodeIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/NotebookFooter/SpreadsheetIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/NotebookFooter/TextIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/NucleausIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/NucleusIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/OpenIndicatorIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/PaperClipIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/Pencil.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/PencilIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/PhotoIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/PlayButtonIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RejectIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/ResetCircleIcon.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RestartAndRunIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RestartIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RobotHeadIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RuleIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/RunAllIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/SimplePlayIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/StopIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/SupportIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/UndoIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/WrenchAndScrewdriverIcon.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/XMark.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/icons/index.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/index.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/restAPI/RestAPI.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/restAPI/utils.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/AssistantCodeBlock.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/CTACarousel.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/ChatDropdown.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/ChatHistoryManager.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/ChatMessage.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/CodeBlockToolbar.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/ModelSelector.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/NextSteps.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/RestoreCheckpoint.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/UserCodeBlock.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/getBase64EncodedCellOutput.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AiChat/validationUtils.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppDeploy/NotebookToStreamlit.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppDeploy/auth.test.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppDeploy/requirementsUtils.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppManager/AppsList.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppManager/ListAppsAPI.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/AppManager/ManageAppsPlugin.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/ContextManager/ContextManagerPlugin.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/NotebookFooter/notebookFooter.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/SettingsManager/ConnectionList.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/__mocks__/fileMock.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/__mocks__/jupyterMocks.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/__mocks__/openaiMocks.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/__mocks__/styleMock.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/setup/setupTests.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/utils/blacklistedWords.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/tests/utils/processChatHistoryForErrorGrouping.test.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/arrays.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/blacklistedWords.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/cellMetadata.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/cellOutput.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/cellReferences.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/chatHistory.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/checkpoint.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/classNames.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/codeDiff.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/constants.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/copyToClipboard.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/errors.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/fileName.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/fileUpload.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/lineNumbers.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/models.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/nodeToPng.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/notebookMetadata.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/scroll.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/scrollMask.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/sleep.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/sound.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/strings.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/stripe.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/user.tsx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/userSignupEvents.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/version_check.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/utils/waitForNotebookReady.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/BaseWebsocketClient.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/appDeploy/appDeployModels.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/appDeploy/appDeployWebsocketClient.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/appManager/appManagerModels.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/appManager/appManagerWebsocketClient.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/src/websockets/completions/CompletionsWebsocketClient.ts +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AgentChangeControls.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AgentComponentHeader.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AgentToolUIComponent.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AlertBlock.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AppsList.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AssumptionTool.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/AuthPopup.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/CTACarousel.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/CellReference.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ChatDropdown.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ChatInput.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ChatMessage.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ChatTaskpane.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/Citation.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/CodeBlock.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ConnectionForm.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/DatabasePage.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/DropdownMenu.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/EditAppDropdown.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ErrorFixupToolUI.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ErrorMimeRendererPlugin.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/FilesSelector.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/IconButton.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ManageAppsWidget.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/MarkdownMessage.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ModelSelector.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/NextStepsPills.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/NotebookFooter.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ProfilerPage.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/PythonCode.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/RevertQuestionnaire.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/RulesForm.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/RunCellButton.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/SettingsWidget.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ShimmerWrapper.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/SignUpForm.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/StreamlitPreviewPlugin.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/SubscriptionPage.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/TextAndIconButton.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/TextButton.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/ToggleButton.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/UsageBadge.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/base.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/button.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/icons.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/statusItem.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/theme/CellNumbering.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/theme/componentStyling.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/theme/icons.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/theme/theme.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/style/theme/variables.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/tsconfig.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/tsconfig.test.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/Activate.ps1 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/activate +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/activate.csh +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/activate.fish +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/debugpy +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/debugpy-adapter +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/distro +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/docutils +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/f2py +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/hatch-jupyter-builder +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/hatchling +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/httpx +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/ipython +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/ipython3 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jlpm +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jsonpointer +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jsonschema +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-dejavu +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-events +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-execute +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-kernel +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-kernelspec +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-lab +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-labextension +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-labhub +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-migrate +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-nbconvert +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-run +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-server +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-troubleshoot +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/jupyter-trust +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/keyring +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/markdown-it +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/normalizer +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/numpy-config +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/openai +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pip +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pip3 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pip3.11 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pipreqs +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pybabel +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pygmentize +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyjson5 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-decrypt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-encrypt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-keygen +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-priv2pub +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-sign +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/pyrsa-verify +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/python +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/python3 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/python3.11 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2html +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2html4 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2html5 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2latex +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2man +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2odt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2pseudoxml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2s5 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2xetex +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/rst2xml +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/send2trash +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/streamlit +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/streamlit.cmd +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/tqdm +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/trove-classifiers +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/twine +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/unidiff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/watchmedo +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/websockets +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/bin/wsdump +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_server_config.d/jupyter-lsp-jupyter-server.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_server_config.d/jupyter_server_terminals.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_server_config.d/jupyterlab.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_server_config.d/mito_ai.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/jupyter_server_config.d/notebook_shim.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/etc/jupyter/nbconfig/notebook.d/pydeck.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/include/site/python3.11/greenlet/greenlet.h +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/pyvenv.cfg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/applications/jupyterlab.desktop +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/icons/hicolor/scalable/apps/jupyterlab.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/kernels/python3/kernel.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/kernels/python3/logo-32x32.png +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/kernels/python3/logo-64x64.png +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/kernels/python3/logo-svg.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/commands.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/context-menu.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/property-inspector.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/shell.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/application-extension/top-bar.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/kernels-settings.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/notification.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/palette.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/print.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/sanitizer.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/sessionDialogs.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/themes.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/utilityCommands.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/completer-extension/inline-completer.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/completer-extension/manager.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/completer-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/console-extension/completer.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/console-extension/foreign.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/console-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/console-extension/tracker.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/csv.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/tsv.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/main.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/download.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/browser.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/download.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-browser-tab.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-with.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/widget.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/completer.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/help-extension/about.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/help-extension/jupyter-forum.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/help-extension/launch-classic.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/help-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/hub-extension/menu.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/hub-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/consoles.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/inspector.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/notebooks.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/metadataforms.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/completer.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/export.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/panel.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tools.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tracker.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/running-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/running-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/form-ui.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/shortcuts.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/toc-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/toc-extension/registry.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/consoles.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/files.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/notebooks.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/translation-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/translation-extension/plugin.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/indicator.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/menu.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/package.json.orig +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/sidebar.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/100.1d14ca44a3cc8849349f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1039.3fe94e87219c0ed159d3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1042.37576ba0f95d869bc96f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1096.dd4c563e0483cbbeb9c9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1109.74211c725919c045e958.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1189.c1482e88f0e949753db6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1208.4b9ab7b231d39ebdbc3f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1218.856189c1ebf3c45164d6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1219.b5630aa3a46050fddc27.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1268.e75d8a6dd557ac8957ca.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1423.4bcf4453e1c1d12d872f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1436.2c11d9dee0ad6f49e968.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1445.a0e099c27d073217031a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1449.7026e8748d2a77e15d5b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1483.c0aab21b263e7ea33653.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1491.2ba7986aa8d599fec5d0.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1495.13603dd823bbf5eb08b3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1561.dae72f9e395f056aada7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1599.11abc92e77fd73c17788.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/161.fffb4847807ab2a6d16f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1673.b0ee25168543434bdbca.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1737.a5fc97075f693ec36fe6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1740.ea85a6b11ee65c009b96.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1832.b1ede2fe899bdec88938.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1834.7445ad0c82371ac40737.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1838.9f8063fe6e262e0db079.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1887.56f83f163a18c61efb16.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1909.7487a09fefbe7f9eabb6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1909.7487a09fefbe7f9eabb6.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1954.f1c519cb1415c7da3e8c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1960.f8d8ef8a91360e60f0b9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1962.6a7da74e809b70d5200d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1969.86e3168e52802569d650.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1986.26029e99ef54a5652df8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1991.84fc123d7cfe8ae2948e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/1cb1c39ea642f26a4dfe.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2089.b46fb224dcf021a15dbf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2211.067e46096434d8c02ab9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/227.4c50874f32ac408174fc.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/227.4c50874f32ac408174fc.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2280.6614699f54522fffbc00.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/232.5419cbec68e3fd0cf431.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/232.5419cbec68e3fd0cf431.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2353.ab70488f07a7c0a7a3fd.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2434.081e28b7a2a5615efc76.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/246.326a6482593e8a7bcd58.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2467.4227742ac4b60289f222.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/247.84259ab142dd8c151fc2.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2491.c169ecbc5fde2bcdb1b3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2574.327dadfe49120269ff31.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2576.b98b7b23adeec4cb6932.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2590.99e505d19b964439aa31.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2633.ea053b40991eb5adbc69.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2641.e77441e7a3e0d12834c5.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/265.6f9e37c0b72db64203b1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2658.d1cae1b08b068d864368.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/26683bf201fb258a2237.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2681.a47f40e38ecd31ccd687.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2707.61050e600b0aa9624127.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2709.5140980a9923ec42b67e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2729.cafaf0caf2c0c83ac9fe.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2794.05495c139ed000b57598.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2823.0b6015b5e03c08281f41.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2880.8483d51b11998bfe8e4b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2957.bc5eb9549a0b15c44916.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/2959.b24c9f67d639376f5ead.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3053.beb23cbacffa772207b1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/30e889b58cbc51adfbb0.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3111.33574d9124842f355bce.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3112.0757b31e24c5334fda73.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/321.0fb994fd384a54491584.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3257.30af681f0c294efb65f7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3257.30af681f0c294efb65f7.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/32792104b5ef69eded90.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3282.22e78350d54fcaf3c6c8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3293.183fd842651c09f49ca9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3303.b5596c0715d2d58332fb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3339.dc549aef4742ebac731b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3372.8eeafd96de9a7a205f40.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/339.380593b40d8d41150a4e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/355254db9ca10a09a3b5.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3616.a4271ffcf2ac3b4c2338.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3669.47474718289c8591e1c9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/36e0d72d8a7afc696a3e.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3709.e33bc30c83272aa85628.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/373c04fd2418f5c77eea.eot +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3763.bda1d47b05d70b671f59.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3780.c9294dc98ae926717741.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3799.eaa0438bc5c41bad0516.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3824.5e23be1e37fce5b7c6b3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3832.c6026c483bb46cc8e599.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3974.79f68bca9a02c92dab5e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3991.678edf189fe92a216c70.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3bc6ecaae7ecf6f8d7f8.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3de784d07b9fa8f104c1.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/3f6d3488cf65374f6f67.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4001.80ab3ef5300d7ce2d1fe.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4010.00c763d684ae0ed6f37a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4053.4945facc348478fd59f4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4068.9cc41f46f729f2c4369b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4076.b4d803d8bf1bd6c97854.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4090.351b39dda1f2fbb9a1c4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4266.155b468271987c81d948.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4296.721da424585874d0789e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4323.b2bd8a329a81d30ed039.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4350.8c8a0e7a3ffe036494e1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4353.8572f6845cfde92dc152.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4364.194afbbdabacc831ead4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4372.645626a2452c190dbb22.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4372.645626a2452c190dbb22.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4408.f24dd0edf35e08548967.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4462.c3c6de84bc9399e0290d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4483.02ee7ef303167f106fec.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4484.e1d2565d1a3daa5fe5f1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4486.8d2f41ae787607b7bf31.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4528.43328125d98d6cfdfa99.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4611.bd2b768223b0cd570834.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4616.04cfbd55593c51921cc7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4728.56c0b9d87316b2fa012e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4728.56c0b9d87316b2fa012e.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4735.7731d551ca68bcb58e9f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4797.3740ef47b224a11a7fab.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/481e39042508ae313a60.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4838.8db4c61349bfba200547.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4855.29e8dc6982ba4873487d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4878.f7557c5c99a54b40c49b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/492.5f186062d2dcdf79c86c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4928.6cb408e4def87534970d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/4981.eed4ddb90566e90e3df4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5007.c72755eda1694663f8ff.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5085.a38923f36b551620798a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5090.404be96d8a6eae1e719a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5090.404be96d8a6eae1e719a.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5211.83e78dadcef89cae04bf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5224.8a6bbc774d20be66fdfb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5244.eefac84704ad30f00af3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5317.f4bba2e3d0f4fdd088f7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5318.d5df5c275e925c22d780.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5338.38c32bdfb0695f9b501f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5362.c794ff9abf82992fb389.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5454.0401043bbeb0b9ef2a06.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5489.7710426bc179ba430a0e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5492.44728a640c37a4b4aa0c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5521.8d4f6dfc471f500e4311.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5566.c76ea61eb723ee84e2cf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5606.e03dfa10c124a03f36ba.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5664.e10a8a7d25bc4ae5759a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5763.48defb00824aa5cc6326.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5829.0e46d479b4ade4783661.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5834.f91e537d13feb21974e9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5847.930208c25e45ecf30657.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5862.be1ec453e8db6844c62d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5877.72ab5a29e95ce21981e4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5880.0feb80072ad49ee77328.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5929.d561797f8259994ecdd8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5942.05cbcd55c5f45ff7db43.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5987.7e967df5417044d337a4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/5cda41563a095bd70c78.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6003.94cdab770c801f3c46f7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6060.52dca011e9f2f279fc5e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6095.6e79e3bad86e054aa8c8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6145.c422868290460078c013.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6166.2bc9ac8e2156c0701a52.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6170.65d899f43342f1e34bf1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6180.63dd2b606db0e1f96318.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6275.e99f9312900c481b467d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6281.f2d17002e22906edbbe3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6294.b3cb5e16527b9d09b4a2.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6372.edc0712a4be855493530.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6405.149591861bd49cca7ec9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6412.ebdf8da40f1ba8272df9.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6460.d9aaa1e48da295c6035d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6492.804d51a693edf6978ef4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6540.51c00e890179a4832552.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6540.51c00e890179a4832552.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6733.2d8d3e01d56d79a52e7e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6733.2d8d3e01d56d79a52e7e.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6767.4b82d96c237ca7e31bc6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6831.1df8fa4cabb5b1c19803.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6843.dabcc3c9658bc6ded6d1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6874.bb2f7fbc6ce56eecc800.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6894.d24f841137eb34851370.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6896.af1d649e0efae70b7b1a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6901.2bd8f506e162da3e721c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6941.465bebbd3d8a024f5f15.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6986.f1340261cb55bca13d03.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/6993.c93f5a810fcf441cbb6f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7136.b312751fbb25b73f5e71.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/721921bab0d001ebff02.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7250.b88d0a5e237ff5ff1aad.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7260.b47dcaccbe7991104e8a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7269.962f078e97afc4f68e79.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/72bc573386dd1d48c5bb.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/731.82a7b980b5b7f4b7a14f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7318.7cc6b4b0b3151b205ecb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7356.f680d291a68c2b235532.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7425.f1c25f6c8aaec77e8635.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7445.7c793c8e1720f8ec4f85.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7476.be548b063def93de4dca.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7575.2e3e32236d5667bba43f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7587.3112240b6b82407b0f16.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7680.540ff9ec52ce9f8c7f0f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7694.1cbff84dccb512476b7c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7756.93d0ab41829355a147ab.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7769.d39df7673ee2660a9ac4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7803.0c8929610218552319bf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7828.3b5aef1a0c7429703e61.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/785.1438df201df83e9dc1d8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7856.dd9523e57bed80f1f694.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7863.3e0f7ab3a7b98d204ab1.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7865.59eef65d3f938deaf991.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7879.6fbc2eab49b3deb798df.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7881.c5a234ce171f347c94e2.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7975.1799b2744bef603bdcbb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7990.01eaa552261b6e12a74a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/7990.01eaa552261b6e12a74a.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/79d088064beb3826054f.eot +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8103.ed2b21471519b58a3d73.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8217.801fbb0b549a74238760.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8232.e31d5021e77a9b5215d6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8259.b1badd8d5b0a2951a74d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8269.45e594f3b7cb4a511040.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8310.518ea428891488065bd3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8313.aac706f5036a7209b3a8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8326.9dda93079a9e4f1b9be6.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8368.c75a4b32ae45ec88465d.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8398.3d287e26fdb57912a93a.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/84.fe0a55d7756c37585fb4.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8418.42e29778d4b49fb54e8e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8447.5813c22f1e89cbbcb439.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8614.cbd4af0b60bdf71a70fe.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/867.e814bf26fbfc77fc4f16.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/870673df72e70f87c91a.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/872.a89dc5555d0aed622e6e.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/874.be636e15937f9ef70121.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8753.56da17175b663d61f9d3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8778.a3883f9acac5a903d6be.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8779.6eebdb56785e3d38a457.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8786.a2bc3dfc1ea13c04ba94.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8786.a2bc3dfc1ea13c04ba94.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8816.d7ec52fb31e9c6749593.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8830.d5bb102ed8737ffe38cb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/88b98cad3688915e50da.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/89.933673451ca4a51053cb.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8968.b84a8021f65457b319c2.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8ea8791754915a898a31.woff2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/8ea8dbb1b02e6f730f55.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9023.2ff687d7ff50df3719fc.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9046.99c477ea375dcbb8c7ca.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9085.5a959b5878e7afd8a878.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9085.5a959b5878e7afd8a878.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9123.501219cd782693d6539f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9137.179a3c47465e7fb8f067.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9296.c82d1f1a8d9204ca6ed7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9311.ad0012965aa52db7a3e3.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9329.1683d45b6478b7c81a24.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9400.90fd1d2212781c80b587.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9474.01b4e1d1e3376f4a5919.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9517.7056cafdf1da3a136d45.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9524.ac26d84557d238b77bc7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/961.29c067b15a524e556eed.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/961.29c067b15a524e556eed.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9652.a8d2e5854bcae4d40041.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9674eb1bd55047179038.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9746.c7e86b432363dfd28caa.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9834b82ad26e2a37583d.woff2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9892.6d289e7baed8c64d88e2.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/9892.6d289e7baed8c64d88e2.js.LICENSE.txt +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/a009bea404f7a500ded4.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/a3b9817780214caf01e8.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/af04542b29eaac04550a.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/af6397503fcefbd61397.ttf +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/af96f67d7accf5fd2a4a.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/b418136e3b384baaadec.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/be0a084962d8066884f7.svg +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/bootstrap.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/build_log.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/c49810b53ecc0d87d802.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/c56da8d69f1a0208b8e0.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/cb9e9e693192413cde2b.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/cda59d6efffa685830fd.ttf +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/e4299464e7b012968eed.eot +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/e42a88444448ac3d6054.woff2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/e8711bbb871afd8e9dea.ttf +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/f9217f66874b0c01cd8c.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/fc6ddf5df402b263cfb1.woff +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/index.html +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/index.out.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/jlab_core.2ad86c8842ced97e8c4b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/main.17a6fc784de3680390c8.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/package.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/style.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/static/third-party-licenses.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-dark-high-contrast-extension/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-dark-high-contrast-extension/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/install.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/package.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/static/style.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/jupyterlab_pygments/static/third-party-licenses.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/style.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/style_index_js.f5d476ac514294615881.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/style_index_js.f5d476ac514294615881.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/themes/mito_ai/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/labextensions/mito_ai/themes/mito_ai/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/asciidoc/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/asciidoc/index.asciidoc.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/cell_id_anchor.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/celltags.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/display_priority.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/jupyter_widgets.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/mathjax.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/base/null.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/basic/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/basic/index.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/classic/base.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/classic/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/classic/index.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/classic/static/style.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/compatibility/display_priority.tpl +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/compatibility/full.tpl +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/base.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/index.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/mermaidjs.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/static/index.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/static/theme-dark.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/lab/static/theme-light.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/base.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/display_priority.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/document_contents.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/index.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/null.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/report.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/style_bw_ipython.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/style_bw_python.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/style_ipython.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/style_jupyter.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/latex/style_python.tex.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/markdown/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/markdown/index.md.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/python/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/python/index.py.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/reveal/base.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/reveal/cellslidedata.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/reveal/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/reveal/index.html.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/reveal/static/custom_reveal.css +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/rst/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/rst/index.rst.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/script/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/script/script.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/webpdf/conf.json +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbconvert/templates/webpdf/index.pdf.j2 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbextensions/pydeck/extensionRequires.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbextensions/pydeck/index.js +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/jupyter/nbextensions/pydeck/index.js.map +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/venv/share/man/man1/ipython.1 +0 -0
- {mito_ai-0.1.55 → mito_ai-0.1.56}/yarn.lock +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Cursor Rules for mito-ai Development
|
|
2
|
+
|
|
3
|
+
## Jupyter Lab Access Token
|
|
4
|
+
|
|
5
|
+
When testing Jupyter extension changes, use the token from `.cursor-jupyter-token` file.
|
|
6
|
+
|
|
7
|
+
The Jupyter Lab URL format is:
|
|
8
|
+
```
|
|
9
|
+
http://localhost:8888/lab?token={token}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
To get the token, read it from `.cursor-jupyter-token` in the repo root.
|
|
13
|
+
|
|
14
|
+
**Important**:
|
|
15
|
+
1. This token configuration is development-only and will not affect production installations.
|
|
16
|
+
The dev config file (`jupyter-config/jupyter_server_config.d/mito_ai_dev.json`) is gitignored.
|
|
17
|
+
2. If the token is not there, tell the user to run dev/setup_jupyter_dev_token.py and relaunch Jupyter Lab.
|
|
@@ -24,6 +24,10 @@ jlpm build
|
|
|
24
24
|
jupyter labextension develop . --overwrite
|
|
25
25
|
jupyter server extension enable --py mito_ai
|
|
26
26
|
|
|
27
|
+
# (Optional) Setup fixed Jupyter token for Cursor agent testing
|
|
28
|
+
# This creates a development-only config that allows Cursor to automatically test changes
|
|
29
|
+
python dev/setup_jupyter_dev_token.py
|
|
30
|
+
|
|
27
31
|
# Start development environment
|
|
28
32
|
jlpm watch # Terminal 1: auto-rebuild frontend
|
|
29
33
|
jupyter lab --autoreload # Terminal 2: run JupyterLab with backend hot reload
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mito_ai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.56
|
|
4
4
|
Summary: AI chat for JupyterLab
|
|
5
5
|
Project-URL: Homepage, https://trymito.io
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/mito-ds/monorepo/issues
|
|
@@ -132,6 +132,10 @@ jupyter labextension develop . --overwrite
|
|
|
132
132
|
# Start the jupyter server extension for development
|
|
133
133
|
jupyter server extension enable --py mito_ai
|
|
134
134
|
|
|
135
|
+
# (Optional) Setup fixed Jupyter token for Cursor agent testing
|
|
136
|
+
# This creates a development-only config that allows Cursor to automatically test changes
|
|
137
|
+
python dev/setup_jupyter_dev_token.py
|
|
138
|
+
|
|
135
139
|
# Watch the source directory in one terminal, automatically rebuilding when needed
|
|
136
140
|
# In case of Error: If this command fails because the lib directory was not created (the error will say something like
|
|
137
141
|
# unable to find main entry point) then run `jlpm run clean:lib` first to get rid of the old buildcache
|
|
@@ -77,6 +77,10 @@ jupyter labextension develop . --overwrite
|
|
|
77
77
|
# Start the jupyter server extension for development
|
|
78
78
|
jupyter server extension enable --py mito_ai
|
|
79
79
|
|
|
80
|
+
# (Optional) Setup fixed Jupyter token for Cursor agent testing
|
|
81
|
+
# This creates a development-only config that allows Cursor to automatically test changes
|
|
82
|
+
python dev/setup_jupyter_dev_token.py
|
|
83
|
+
|
|
80
84
|
# Watch the source directory in one terminal, automatically rebuilding when needed
|
|
81
85
|
# In case of Error: If this command fails because the lib directory was not created (the error will say something like
|
|
82
86
|
# unable to find main entry point) then run `jlpm run clean:lib` first to get rid of the old buildcache
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Mito AI Dev Scripts
|
|
2
2
|
|
|
3
|
+
### View Chat History
|
|
4
|
+
|
|
5
|
+
A Streamlit app that helps you explore the chat history of a Mito AI chat file.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
streamlit run dev/chat_history_viewer.py
|
|
9
|
+
```
|
|
10
|
+
|
|
3
11
|
### Generate AI Chats
|
|
4
12
|
|
|
5
13
|
A simple script that creates a bunch of fake Mito AI chat files so you can quickly generate a fully populated chat history.
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
# Copyright (c) Saga Inc.
|
|
2
|
+
# Distributed under the terms of the GNU Affero General Public License v3.0 License.
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
Streamlit app to view and explore chat histories from .mito/ai-chats folder.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import streamlit as st
|
|
9
|
+
import json
|
|
10
|
+
import os
|
|
11
|
+
import subprocess
|
|
12
|
+
import sys
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
from datetime import datetime
|
|
15
|
+
from typing import Dict, List, Any
|
|
16
|
+
|
|
17
|
+
# Try to import tiktoken for accurate token counting
|
|
18
|
+
# If not available, attempt to install it automatically
|
|
19
|
+
try:
|
|
20
|
+
import tiktoken
|
|
21
|
+
TIKTOKEN_AVAILABLE = True
|
|
22
|
+
except ImportError:
|
|
23
|
+
TIKTOKEN_AVAILABLE = False
|
|
24
|
+
# Attempt to install tiktoken automatically
|
|
25
|
+
try:
|
|
26
|
+
print("Installing tiktoken...")
|
|
27
|
+
subprocess.check_call([sys.executable, "-m", "pip", "install", "tiktoken>=0.5.0", "--quiet"])
|
|
28
|
+
print("tiktoken installed successfully")
|
|
29
|
+
import tiktoken
|
|
30
|
+
TIKTOKEN_AVAILABLE = True
|
|
31
|
+
except (subprocess.CalledProcessError, ImportError):
|
|
32
|
+
# Installation failed or import still fails - will use fallback estimation
|
|
33
|
+
TIKTOKEN_AVAILABLE = False
|
|
34
|
+
|
|
35
|
+
# Get the chat history directory
|
|
36
|
+
HOME_FOLDER = os.path.expanduser("~")
|
|
37
|
+
MITO_FOLDER = os.path.join(HOME_FOLDER, ".mito")
|
|
38
|
+
CHATS_DIR = os.path.join(MITO_FOLDER, "ai-chats")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def get_chat_files() -> List[str]:
|
|
42
|
+
"""Get all JSON files from the ai-chats directory."""
|
|
43
|
+
if not os.path.exists(CHATS_DIR):
|
|
44
|
+
return []
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
files = [f for f in os.listdir(CHATS_DIR) if f.endswith('.json')]
|
|
48
|
+
return sorted(files, reverse=True) # Most recent first
|
|
49
|
+
except Exception:
|
|
50
|
+
return []
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def get_most_recent_chat_file() -> str:
|
|
54
|
+
"""Get the filename of the most recently edited chat file based on last_interaction_ts."""
|
|
55
|
+
chat_files = get_chat_files()
|
|
56
|
+
|
|
57
|
+
if not chat_files:
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
most_recent_file = None
|
|
61
|
+
most_recent_ts = 0
|
|
62
|
+
|
|
63
|
+
for filename in chat_files:
|
|
64
|
+
try:
|
|
65
|
+
chat_data = load_chat_file(filename)
|
|
66
|
+
last_ts = chat_data.get("last_interaction_ts", 0)
|
|
67
|
+
|
|
68
|
+
# Use file modification time as fallback if last_interaction_ts is missing
|
|
69
|
+
if last_ts == 0:
|
|
70
|
+
filepath = os.path.join(CHATS_DIR, filename)
|
|
71
|
+
last_ts = os.path.getmtime(filepath)
|
|
72
|
+
|
|
73
|
+
if last_ts > most_recent_ts:
|
|
74
|
+
most_recent_ts = last_ts
|
|
75
|
+
most_recent_file = filename
|
|
76
|
+
except Exception:
|
|
77
|
+
# If we can't load the file, skip it
|
|
78
|
+
continue
|
|
79
|
+
|
|
80
|
+
return most_recent_file
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def load_chat_file(filename: str) -> Dict[str, Any]:
|
|
84
|
+
"""Load a chat history JSON file."""
|
|
85
|
+
filepath = os.path.join(CHATS_DIR, filename)
|
|
86
|
+
with open(filepath, 'r', encoding='utf-8') as f:
|
|
87
|
+
return json.load(f)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def format_timestamp(ts: float) -> str:
|
|
91
|
+
"""Format a timestamp to a readable date string."""
|
|
92
|
+
try:
|
|
93
|
+
dt = datetime.fromtimestamp(ts)
|
|
94
|
+
return dt.strftime("%Y-%m-%d %H:%M:%S")
|
|
95
|
+
except:
|
|
96
|
+
return str(ts)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def format_message_content(content: Any) -> str:
|
|
100
|
+
"""Format message content for display."""
|
|
101
|
+
# Handle different content types
|
|
102
|
+
if isinstance(content, (dict, list)):
|
|
103
|
+
return json.dumps(content, indent=2)
|
|
104
|
+
elif isinstance(content, str):
|
|
105
|
+
# Try to parse as JSON if it looks like JSON
|
|
106
|
+
if content.strip().startswith('{') or content.strip().startswith('['):
|
|
107
|
+
try:
|
|
108
|
+
parsed = json.loads(content)
|
|
109
|
+
return json.dumps(parsed, indent=2)
|
|
110
|
+
except:
|
|
111
|
+
pass
|
|
112
|
+
return content
|
|
113
|
+
else:
|
|
114
|
+
return str(content)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def display_message_content(content: Any):
|
|
118
|
+
"""Display message content in the appropriate format."""
|
|
119
|
+
# Handle different content types
|
|
120
|
+
if isinstance(content, (dict, list)):
|
|
121
|
+
st.json(content)
|
|
122
|
+
elif isinstance(content, str):
|
|
123
|
+
# Try to display as JSON if it looks like JSON
|
|
124
|
+
if content.strip().startswith('{') or content.strip().startswith('['):
|
|
125
|
+
try:
|
|
126
|
+
parsed = json.loads(content)
|
|
127
|
+
st.json(parsed)
|
|
128
|
+
except:
|
|
129
|
+
st.code(content, language="text")
|
|
130
|
+
else:
|
|
131
|
+
st.markdown(content)
|
|
132
|
+
else:
|
|
133
|
+
st.code(str(content), language="text")
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def is_json_object(content: Any) -> bool:
|
|
137
|
+
"""Check if content is or can be parsed as a JSON object (dict or list)."""
|
|
138
|
+
if isinstance(content, (dict, list)):
|
|
139
|
+
return True
|
|
140
|
+
elif isinstance(content, str):
|
|
141
|
+
stripped = content.strip()
|
|
142
|
+
if stripped.startswith('{') or stripped.startswith('['):
|
|
143
|
+
try:
|
|
144
|
+
parsed = json.loads(content)
|
|
145
|
+
return isinstance(parsed, (dict, list))
|
|
146
|
+
except:
|
|
147
|
+
return False
|
|
148
|
+
return False
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def display_user_message_content(content: Any):
|
|
152
|
+
"""Display user message content: JSON objects as JSON, everything else as code."""
|
|
153
|
+
if is_json_object(content):
|
|
154
|
+
# If it's a JSON object, display as JSON
|
|
155
|
+
if isinstance(content, (dict, list)):
|
|
156
|
+
st.json(content)
|
|
157
|
+
else:
|
|
158
|
+
# Parse and display as JSON
|
|
159
|
+
try:
|
|
160
|
+
parsed = json.loads(content)
|
|
161
|
+
st.json(parsed)
|
|
162
|
+
except:
|
|
163
|
+
st.code(content, language="text")
|
|
164
|
+
else:
|
|
165
|
+
# If it's not JSON, display as code
|
|
166
|
+
if isinstance(content, str):
|
|
167
|
+
st.code(content, language="text")
|
|
168
|
+
else:
|
|
169
|
+
st.code(str(content), language="text")
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def count_tokens_in_content(content: Any) -> int:
|
|
173
|
+
"""Count tokens in message content."""
|
|
174
|
+
if TIKTOKEN_AVAILABLE:
|
|
175
|
+
try:
|
|
176
|
+
encoding = tiktoken.get_encoding("cl100k_base") # Used by GPT-4 and GPT-3.5-turbo
|
|
177
|
+
# Convert content to string for token counting
|
|
178
|
+
if isinstance(content, (dict, list)):
|
|
179
|
+
content_str = json.dumps(content)
|
|
180
|
+
elif isinstance(content, str):
|
|
181
|
+
content_str = content
|
|
182
|
+
else:
|
|
183
|
+
content_str = str(content)
|
|
184
|
+
return len(encoding.encode(content_str))
|
|
185
|
+
except Exception:
|
|
186
|
+
# Fallback to character-based estimation
|
|
187
|
+
pass
|
|
188
|
+
|
|
189
|
+
# Fallback: rough estimation (1 token ≈ 3 characters)
|
|
190
|
+
if isinstance(content, (dict, list)):
|
|
191
|
+
content_str = json.dumps(content)
|
|
192
|
+
elif isinstance(content, str):
|
|
193
|
+
content_str = content
|
|
194
|
+
else:
|
|
195
|
+
content_str = str(content)
|
|
196
|
+
return int(len(content_str) / 3)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def count_tokens_in_message(message: Dict[str, Any]) -> int:
|
|
200
|
+
"""Count tokens in a single message."""
|
|
201
|
+
content = message.get("content", "")
|
|
202
|
+
return count_tokens_in_content(content)
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
def count_total_tokens_in_history(messages: List[Dict[str, Any]]) -> int:
|
|
206
|
+
"""Count total tokens in a message history."""
|
|
207
|
+
total = 0
|
|
208
|
+
for message in messages:
|
|
209
|
+
total += count_tokens_in_message(message)
|
|
210
|
+
return total
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
def main():
|
|
214
|
+
st.set_page_config(
|
|
215
|
+
page_title="Chat History Viewer",
|
|
216
|
+
page_icon="💬",
|
|
217
|
+
layout="wide"
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
st.title("💬 Chat History Viewer")
|
|
221
|
+
|
|
222
|
+
# Get list of chat files
|
|
223
|
+
chat_files = get_chat_files()
|
|
224
|
+
most_recent = get_most_recent_chat_file()
|
|
225
|
+
|
|
226
|
+
if not chat_files:
|
|
227
|
+
st.warning(f"No chat history files found in `{CHATS_DIR}`")
|
|
228
|
+
st.info("Make sure the directory exists and contains JSON files.")
|
|
229
|
+
return
|
|
230
|
+
|
|
231
|
+
# Get the most recently edited file (only on first load or if not set)
|
|
232
|
+
if 'file_selector' not in st.session_state:
|
|
233
|
+
st.session_state.file_selector = most_recent if most_recent else chat_files[0]
|
|
234
|
+
|
|
235
|
+
# Find the index of the selected file in the chat_files list
|
|
236
|
+
default_index = 0
|
|
237
|
+
if st.session_state.file_selector and st.session_state.file_selector in chat_files:
|
|
238
|
+
default_index = chat_files.index(st.session_state.file_selector)
|
|
239
|
+
|
|
240
|
+
# Sidebar for file selection
|
|
241
|
+
with st.sidebar:
|
|
242
|
+
selected_file = st.selectbox(
|
|
243
|
+
"Select a chat file:",
|
|
244
|
+
options=chat_files,
|
|
245
|
+
index=default_index,
|
|
246
|
+
format_func=lambda x: x,
|
|
247
|
+
key="file_selector"
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
if selected_file == most_recent:
|
|
251
|
+
st.success("✅ This is the most recently modified chat")
|
|
252
|
+
|
|
253
|
+
if not selected_file:
|
|
254
|
+
st.info("Please select a chat file from the sidebar.")
|
|
255
|
+
return
|
|
256
|
+
|
|
257
|
+
# Load the selected chat file
|
|
258
|
+
try:
|
|
259
|
+
chat_data = load_chat_file(selected_file)
|
|
260
|
+
except Exception as e:
|
|
261
|
+
st.error(f"Error loading file: {e}")
|
|
262
|
+
return
|
|
263
|
+
|
|
264
|
+
# Display metadata
|
|
265
|
+
thread_id = chat_data.get("thread_id", "N/A")
|
|
266
|
+
creation_ts = chat_data.get("creation_ts", 0)
|
|
267
|
+
last_ts = chat_data.get("last_interaction_ts", 0)
|
|
268
|
+
name = chat_data.get("name", "N/A")
|
|
269
|
+
version = chat_data.get("chat_history_version", "N/A")
|
|
270
|
+
|
|
271
|
+
metadata_text = f"""
|
|
272
|
+
**Thread ID:** {thread_id}
|
|
273
|
+
|
|
274
|
+
**Created:** {format_timestamp(creation_ts)}
|
|
275
|
+
|
|
276
|
+
**Last Interaction:** {format_timestamp(last_ts)}
|
|
277
|
+
|
|
278
|
+
**Name:** {name}
|
|
279
|
+
|
|
280
|
+
**Version:** {version}
|
|
281
|
+
"""
|
|
282
|
+
st.info(metadata_text)
|
|
283
|
+
|
|
284
|
+
st.divider()
|
|
285
|
+
|
|
286
|
+
# Display AI Optimized History
|
|
287
|
+
st.header("🤖 AI Optimized History")
|
|
288
|
+
|
|
289
|
+
ai_history = chat_data.get("ai_optimized_history", [])
|
|
290
|
+
|
|
291
|
+
if not ai_history:
|
|
292
|
+
st.info("No AI optimized history found in this chat.")
|
|
293
|
+
else:
|
|
294
|
+
# Calculate total tokens for the AI Optimized History
|
|
295
|
+
total_tokens = count_total_tokens_in_history(ai_history)
|
|
296
|
+
token_info = f"**Total Tokens:** {total_tokens:,}"
|
|
297
|
+
if not TIKTOKEN_AVAILABLE:
|
|
298
|
+
token_info += " (estimated - install tiktoken for accurate counts)"
|
|
299
|
+
st.info(token_info)
|
|
300
|
+
|
|
301
|
+
# Display all messages
|
|
302
|
+
for idx, message in enumerate(ai_history):
|
|
303
|
+
role = message.get("role", "unknown")
|
|
304
|
+
content = message.get("content", "")
|
|
305
|
+
message_tokens = count_tokens_in_message(message)
|
|
306
|
+
|
|
307
|
+
# Color code by role
|
|
308
|
+
if role == "system":
|
|
309
|
+
st.markdown("---")
|
|
310
|
+
with st.expander(f"🔧 **System Message** (Message {idx + 1}/{len(ai_history)}) - {message_tokens:,} tokens", expanded=False):
|
|
311
|
+
st.code(format_message_content(content), language="text")
|
|
312
|
+
elif role == "user":
|
|
313
|
+
st.markdown("---")
|
|
314
|
+
with st.expander(f"👤 **User Message** (Message {idx + 1}/{len(ai_history)}) - {message_tokens:,} tokens", expanded=False):
|
|
315
|
+
st.markdown("**Content:**")
|
|
316
|
+
display_user_message_content(content)
|
|
317
|
+
elif role == "assistant":
|
|
318
|
+
st.markdown("---")
|
|
319
|
+
with st.expander(f"🤖 **Assistant Message** (Message {idx + 1}/{len(ai_history)}) - {message_tokens:,} tokens", expanded=False):
|
|
320
|
+
st.markdown("**Content:**")
|
|
321
|
+
display_message_content(content)
|
|
322
|
+
|
|
323
|
+
st.divider()
|
|
324
|
+
|
|
325
|
+
# Raw JSON viewer
|
|
326
|
+
st.header("🔍 Raw JSON Data")
|
|
327
|
+
|
|
328
|
+
with st.expander("View Full JSON", expanded=False):
|
|
329
|
+
st.json(chat_data)
|
|
330
|
+
|
|
331
|
+
# Display history comparison
|
|
332
|
+
if "display_history" in chat_data:
|
|
333
|
+
st.divider()
|
|
334
|
+
st.header("📺 Display History")
|
|
335
|
+
st.caption("This is the display-optimized version of the history")
|
|
336
|
+
|
|
337
|
+
display_history = chat_data.get("display_history", [])
|
|
338
|
+
st.info(f"Display history contains {len(display_history)} messages")
|
|
339
|
+
|
|
340
|
+
with st.expander("View Display History", expanded=False):
|
|
341
|
+
st.json(display_history)
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
if __name__ == "__main__":
|
|
345
|
+
main()
|
|
346
|
+
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Copyright (c) Saga Inc.
|
|
3
|
+
# Distributed under the terms of the GNU Affero General Public License v3.0 License.
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
Setup script to configure Jupyter Lab with a fixed token for Cursor agent testing.
|
|
7
|
+
|
|
8
|
+
This script:
|
|
9
|
+
1. Creates a development-only Jupyter config file with a fixed token
|
|
10
|
+
2. Writes the token to a file for Cursor agent to read
|
|
11
|
+
|
|
12
|
+
The config file uses conditional logic to only apply the token when running in
|
|
13
|
+
development mode, so it's safe to run this script anytime.
|
|
14
|
+
|
|
15
|
+
Note: The .cursorrules file is maintained in git and contains instructions for
|
|
16
|
+
the Cursor agent on how to use the token.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
import sys
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
|
|
22
|
+
# Fixed token for development testing
|
|
23
|
+
DEV_TOKEN = "dev-token-for-cursor-testing-12345"
|
|
24
|
+
|
|
25
|
+
# Paths relative to repo root
|
|
26
|
+
REPO_ROOT = Path(__file__).parent.parent
|
|
27
|
+
JUPYTER_CONFIG_DIR = REPO_ROOT / "jupyter-config" / "jupyter_server_config.d"
|
|
28
|
+
DEV_CONFIG_FILE = JUPYTER_CONFIG_DIR / "mito_ai_dev.py"
|
|
29
|
+
CURSOR_TOKEN_FILE = REPO_ROOT / ".cursor-jupyter-token"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def main():
|
|
33
|
+
"""Main setup function."""
|
|
34
|
+
print("Setting up Jupyter development token for Cursor agent...")
|
|
35
|
+
print()
|
|
36
|
+
|
|
37
|
+
# Ensure jupyter config directory exists
|
|
38
|
+
JUPYTER_CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
|
39
|
+
print(f"✓ Config directory ready: {JUPYTER_CONFIG_DIR}")
|
|
40
|
+
|
|
41
|
+
# Create dev config file with conditional logic
|
|
42
|
+
# This Python config file will only apply the token when in dev mode
|
|
43
|
+
dev_config_content = f'''# Copyright (c) Saga Inc.
|
|
44
|
+
# Distributed under the terms of the GNU Affero General Public License v3.0 License.
|
|
45
|
+
|
|
46
|
+
"""
|
|
47
|
+
Development-only Jupyter Server configuration.
|
|
48
|
+
|
|
49
|
+
This config file sets a fixed token for Cursor agent testing, but only when
|
|
50
|
+
running in development mode. In production, this config file has no effect.
|
|
51
|
+
|
|
52
|
+
This file is gitignored and should not be committed to the repository.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
try:
|
|
56
|
+
from mito_ai.utils.telemetry_utils import is_dev_mode
|
|
57
|
+
|
|
58
|
+
# Only set the token if we're in development mode
|
|
59
|
+
if is_dev_mode():
|
|
60
|
+
c.ServerApp.token = "{DEV_TOKEN}"
|
|
61
|
+
except ImportError:
|
|
62
|
+
# If mito_ai is not available, don't set anything
|
|
63
|
+
# This ensures the config file doesn't break if mito_ai isn't installed
|
|
64
|
+
pass
|
|
65
|
+
except Exception:
|
|
66
|
+
# Silently fail if there's any error checking dev mode
|
|
67
|
+
# This ensures the config file is safe to use in any environment
|
|
68
|
+
pass
|
|
69
|
+
'''
|
|
70
|
+
|
|
71
|
+
with open(DEV_CONFIG_FILE, 'w') as f:
|
|
72
|
+
f.write(dev_config_content)
|
|
73
|
+
|
|
74
|
+
print(f"✓ Created dev config: {DEV_CONFIG_FILE}")
|
|
75
|
+
print(" (Token will only be applied when running in development mode)")
|
|
76
|
+
|
|
77
|
+
# Write token to file for Cursor
|
|
78
|
+
with open(CURSOR_TOKEN_FILE, 'w') as f:
|
|
79
|
+
f.write(DEV_TOKEN)
|
|
80
|
+
|
|
81
|
+
print(f"✓ Created token file: {CURSOR_TOKEN_FILE}")
|
|
82
|
+
print()
|
|
83
|
+
print("Setup complete!")
|
|
84
|
+
print()
|
|
85
|
+
print("Next steps:")
|
|
86
|
+
print(" 1. Restart Jupyter Lab to apply the new token configuration")
|
|
87
|
+
print(" 2. In dev mode, access Jupyter at: http://localhost:8888/lab?token=" + DEV_TOKEN)
|
|
88
|
+
print(" 3. Cursor agent can now automatically test changes using this token")
|
|
89
|
+
print()
|
|
90
|
+
print("Note: The dev config file is gitignored and will not be committed.")
|
|
91
|
+
print(" The token will only be active when running in development mode.")
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
if __name__ == "__main__":
|
|
95
|
+
main()
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "4ba557a2-1ef1-414d-aaf4-e0c4f0c802be",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"include-cell-in-app": true
|
|
8
|
+
},
|
|
9
|
+
"source": [
|
|
10
|
+
"Made by Aaron Diamond-Reivich"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
3
13
|
{
|
|
4
14
|
"cell_type": "markdown",
|
|
5
15
|
"id": "a8acbb26-bf39-4cd3-8735-b7f24cd3ca04",
|
|
@@ -262,6 +272,16 @@
|
|
|
262
272
|
"This mapping allows us to analyze violations by their actual meaning rather than just cryptic codes. "
|
|
263
273
|
]
|
|
264
274
|
},
|
|
275
|
+
{
|
|
276
|
+
"cell_type": "markdown",
|
|
277
|
+
"id": "15e12aaf-f5c7-44ec-b7fa-44d86aa4de24",
|
|
278
|
+
"metadata": {
|
|
279
|
+
"include-cell-in-app": true
|
|
280
|
+
},
|
|
281
|
+
"source": [
|
|
282
|
+
"Disclaimer: These codes were sourced from the internet and might not be exhaustive"
|
|
283
|
+
]
|
|
284
|
+
},
|
|
265
285
|
{
|
|
266
286
|
"cell_type": "code",
|
|
267
287
|
"execution_count": 2,
|
|
@@ -96952,6 +96972,36 @@
|
|
|
96952
96972
|
},
|
|
96953
96973
|
"outputs": [],
|
|
96954
96974
|
"source": []
|
|
96975
|
+
},
|
|
96976
|
+
{
|
|
96977
|
+
"cell_type": "markdown",
|
|
96978
|
+
"id": "6f91c84a-b52c-4fd3-9b95-461c56cbcab2",
|
|
96979
|
+
"metadata": {
|
|
96980
|
+
"include-cell-in-app": true
|
|
96981
|
+
},
|
|
96982
|
+
"source": [
|
|
96983
|
+
"Disclaimer: This project is meant as a tutorial of Mito and might be innacturate"
|
|
96984
|
+
]
|
|
96985
|
+
},
|
|
96986
|
+
{
|
|
96987
|
+
"cell_type": "code",
|
|
96988
|
+
"execution_count": 1,
|
|
96989
|
+
"id": "32615869-5a5b-4ce6-9be0-a94dd61fd246",
|
|
96990
|
+
"metadata": {
|
|
96991
|
+
"include-cell-in-app": true
|
|
96992
|
+
},
|
|
96993
|
+
"outputs": [
|
|
96994
|
+
{
|
|
96995
|
+
"name": "stdout",
|
|
96996
|
+
"output_type": "stream",
|
|
96997
|
+
"text": [
|
|
96998
|
+
"Fin\n"
|
|
96999
|
+
]
|
|
97000
|
+
}
|
|
97001
|
+
],
|
|
97002
|
+
"source": [
|
|
97003
|
+
"print(\"Fin\")"
|
|
97004
|
+
]
|
|
96955
97005
|
}
|
|
96956
97006
|
],
|
|
96957
97007
|
"metadata": {
|
|
@@ -96970,8 +97020,9 @@
|
|
|
96970
97020
|
"name": "python",
|
|
96971
97021
|
"nbconvert_exporter": "python",
|
|
96972
97022
|
"pygments_lexer": "ipython3",
|
|
96973
|
-
"version": "3.
|
|
96974
|
-
}
|
|
97023
|
+
"version": "3.12.12"
|
|
97024
|
+
},
|
|
97025
|
+
"mito-notebook-id": "mito-notebook-56a545c0dbb8"
|
|
96975
97026
|
},
|
|
96976
97027
|
"nbformat": 4,
|
|
96977
97028
|
"nbformat_minor": 5
|
|
@@ -7,7 +7,7 @@ from typing import Dict, Any, Optional, Tuple, Union, Callable, List, cast
|
|
|
7
7
|
|
|
8
8
|
from anthropic.types import Message, MessageParam, TextBlockParam
|
|
9
9
|
from mito_ai.completions.models import ResponseFormatInfo, CompletionReply, CompletionStreamChunk, CompletionItem, MessageType
|
|
10
|
-
from mito_ai.
|
|
10
|
+
from mito_ai.completions.prompt_builders.prompt_section_registry import get_max_trim_after_messages
|
|
11
11
|
from openai.types.chat import ChatCompletionMessageParam
|
|
12
12
|
from mito_ai.utils.anthropic_utils import get_anthropic_completion_from_mito_server, select_correct_model, stream_anthropic_completion_from_mito_server, get_anthropic_completion_function_params
|
|
13
13
|
|
|
@@ -15,6 +15,10 @@ from mito_ai.utils.anthropic_utils import get_anthropic_completion_from_mito_ser
|
|
|
15
15
|
# We set it to a high number so that we can edit large code cells
|
|
16
16
|
MAX_TOKENS = 64_000
|
|
17
17
|
|
|
18
|
+
# Calculate the max trim threshold once at module load time.
|
|
19
|
+
# This is used for cache boundary calculation - messages older than this threshold are stable.
|
|
20
|
+
MAX_TRIM_THRESHOLD = get_max_trim_after_messages()
|
|
21
|
+
|
|
18
22
|
def extract_and_parse_anthropic_json_response(response: Message) -> Union[object, Any]:
|
|
19
23
|
"""
|
|
20
24
|
Extracts and parses the JSON response from the Claude API.
|
|
@@ -170,9 +174,6 @@ def get_anthropic_system_prompt_and_messages_with_caching(messages: List[ChatCom
|
|
|
170
174
|
1. System prompt (static) → Always cached
|
|
171
175
|
2. Stable conversation history → Cache at keep_recent boundary
|
|
172
176
|
3. Recent messages → Never cached (always fresh)
|
|
173
|
-
|
|
174
|
-
The keep_recent parameter determines which messages are stable and won't be trimmed.
|
|
175
|
-
We cache at the keep_recent boundary because those messages are guaranteed to be stable.
|
|
176
177
|
"""
|
|
177
178
|
|
|
178
179
|
# Get the base system prompt and messages
|
|
@@ -189,14 +190,14 @@ def get_anthropic_system_prompt_and_messages_with_caching(messages: List[ChatCom
|
|
|
189
190
|
}]
|
|
190
191
|
|
|
191
192
|
# 2. Cache conversation history at the boundary where the messages are stable.
|
|
192
|
-
# Messages are stable after they are
|
|
193
|
+
# Messages are stable after they are older than the max trim_after_messages threshold.
|
|
193
194
|
# At this point, the messages are not edited anymore, so they will not invalidate the cache.
|
|
194
195
|
# If we included the messages before the boundary in the cache, then every time we send a new
|
|
195
196
|
# message, we would invalidate the cache and we would never get a cache hit except for the system prompt.
|
|
196
197
|
messages_with_cache = []
|
|
197
198
|
|
|
198
199
|
if len(anthropic_messages) > 0:
|
|
199
|
-
cache_boundary = len(anthropic_messages) -
|
|
200
|
+
cache_boundary = len(anthropic_messages) - MAX_TRIM_THRESHOLD - 1
|
|
200
201
|
|
|
201
202
|
# Add all messages, but only add cache_control to the message at the boundary
|
|
202
203
|
for i, msg in enumerate(anthropic_messages):
|