mito-ai 0.1.50__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mito_ai/__init__.py +114 -0
- mito_ai/_version.py +4 -0
- mito_ai/anthropic_client.py +334 -0
- mito_ai/app_deploy/__init__.py +6 -0
- mito_ai/app_deploy/app_deploy_utils.py +44 -0
- mito_ai/app_deploy/handlers.py +345 -0
- mito_ai/app_deploy/models.py +98 -0
- mito_ai/app_manager/__init__.py +4 -0
- mito_ai/app_manager/handlers.py +167 -0
- mito_ai/app_manager/models.py +71 -0
- mito_ai/app_manager/utils.py +24 -0
- mito_ai/auth/README.md +18 -0
- mito_ai/auth/__init__.py +6 -0
- mito_ai/auth/handlers.py +96 -0
- mito_ai/auth/urls.py +13 -0
- mito_ai/chat_history/handlers.py +63 -0
- mito_ai/chat_history/urls.py +32 -0
- mito_ai/completions/completion_handlers/__init__.py +3 -0
- mito_ai/completions/completion_handlers/agent_auto_error_fixup_handler.py +59 -0
- mito_ai/completions/completion_handlers/agent_execution_handler.py +66 -0
- mito_ai/completions/completion_handlers/chat_completion_handler.py +141 -0
- mito_ai/completions/completion_handlers/code_explain_handler.py +113 -0
- mito_ai/completions/completion_handlers/completion_handler.py +42 -0
- mito_ai/completions/completion_handlers/inline_completer_handler.py +48 -0
- mito_ai/completions/completion_handlers/smart_debug_handler.py +160 -0
- mito_ai/completions/completion_handlers/utils.py +147 -0
- mito_ai/completions/handlers.py +415 -0
- mito_ai/completions/message_history.py +401 -0
- mito_ai/completions/models.py +404 -0
- mito_ai/completions/prompt_builders/__init__.py +3 -0
- mito_ai/completions/prompt_builders/agent_execution_prompt.py +57 -0
- mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py +160 -0
- mito_ai/completions/prompt_builders/agent_system_message.py +472 -0
- mito_ai/completions/prompt_builders/chat_name_prompt.py +15 -0
- mito_ai/completions/prompt_builders/chat_prompt.py +116 -0
- mito_ai/completions/prompt_builders/chat_system_message.py +92 -0
- mito_ai/completions/prompt_builders/explain_code_prompt.py +32 -0
- mito_ai/completions/prompt_builders/inline_completer_prompt.py +197 -0
- mito_ai/completions/prompt_builders/prompt_constants.py +170 -0
- mito_ai/completions/prompt_builders/smart_debug_prompt.py +199 -0
- mito_ai/completions/prompt_builders/utils.py +84 -0
- mito_ai/completions/providers.py +284 -0
- mito_ai/constants.py +63 -0
- mito_ai/db/__init__.py +3 -0
- mito_ai/db/crawlers/__init__.py +6 -0
- mito_ai/db/crawlers/base_crawler.py +61 -0
- mito_ai/db/crawlers/constants.py +43 -0
- mito_ai/db/crawlers/snowflake.py +71 -0
- mito_ai/db/handlers.py +168 -0
- mito_ai/db/models.py +31 -0
- mito_ai/db/urls.py +34 -0
- mito_ai/db/utils.py +185 -0
- mito_ai/docker/mssql/compose.yml +37 -0
- mito_ai/docker/mssql/init/setup.sql +21 -0
- mito_ai/docker/mysql/compose.yml +18 -0
- mito_ai/docker/mysql/init/setup.sql +13 -0
- mito_ai/docker/oracle/compose.yml +17 -0
- mito_ai/docker/oracle/init/setup.sql +20 -0
- mito_ai/docker/postgres/compose.yml +17 -0
- mito_ai/docker/postgres/init/setup.sql +13 -0
- mito_ai/enterprise/__init__.py +3 -0
- mito_ai/enterprise/utils.py +15 -0
- mito_ai/file_uploads/__init__.py +3 -0
- mito_ai/file_uploads/handlers.py +248 -0
- mito_ai/file_uploads/urls.py +21 -0
- mito_ai/gemini_client.py +232 -0
- mito_ai/log/handlers.py +38 -0
- mito_ai/log/urls.py +21 -0
- mito_ai/logger.py +37 -0
- mito_ai/openai_client.py +382 -0
- mito_ai/path_utils.py +70 -0
- mito_ai/rules/handlers.py +44 -0
- mito_ai/rules/urls.py +22 -0
- mito_ai/rules/utils.py +56 -0
- mito_ai/settings/handlers.py +41 -0
- mito_ai/settings/urls.py +20 -0
- mito_ai/settings/utils.py +42 -0
- mito_ai/streamlit_conversion/agent_utils.py +37 -0
- mito_ai/streamlit_conversion/prompts/prompt_constants.py +172 -0
- mito_ai/streamlit_conversion/prompts/prompt_utils.py +10 -0
- mito_ai/streamlit_conversion/prompts/streamlit_app_creation_prompt.py +46 -0
- mito_ai/streamlit_conversion/prompts/streamlit_error_correction_prompt.py +28 -0
- mito_ai/streamlit_conversion/prompts/streamlit_finish_todo_prompt.py +45 -0
- mito_ai/streamlit_conversion/prompts/streamlit_system_prompt.py +56 -0
- mito_ai/streamlit_conversion/prompts/update_existing_app_prompt.py +50 -0
- mito_ai/streamlit_conversion/search_replace_utils.py +94 -0
- mito_ai/streamlit_conversion/streamlit_agent_handler.py +144 -0
- mito_ai/streamlit_conversion/streamlit_utils.py +85 -0
- mito_ai/streamlit_conversion/validate_streamlit_app.py +105 -0
- mito_ai/streamlit_preview/__init__.py +6 -0
- mito_ai/streamlit_preview/handlers.py +111 -0
- mito_ai/streamlit_preview/manager.py +152 -0
- mito_ai/streamlit_preview/urls.py +22 -0
- mito_ai/streamlit_preview/utils.py +29 -0
- mito_ai/tests/__init__.py +3 -0
- mito_ai/tests/chat_history/test_chat_history.py +211 -0
- mito_ai/tests/completions/completion_handlers_utils_test.py +190 -0
- mito_ai/tests/conftest.py +53 -0
- mito_ai/tests/create_agent_system_message_prompt_test.py +22 -0
- mito_ai/tests/data/prompt_lg.py +69 -0
- mito_ai/tests/data/prompt_sm.py +6 -0
- mito_ai/tests/data/prompt_xl.py +13 -0
- mito_ai/tests/data/stock_data.sqlite3 +0 -0
- mito_ai/tests/db/conftest.py +39 -0
- mito_ai/tests/db/connections_test.py +102 -0
- mito_ai/tests/db/mssql_test.py +29 -0
- mito_ai/tests/db/mysql_test.py +29 -0
- mito_ai/tests/db/oracle_test.py +29 -0
- mito_ai/tests/db/postgres_test.py +29 -0
- mito_ai/tests/db/schema_test.py +93 -0
- mito_ai/tests/db/sqlite_test.py +31 -0
- mito_ai/tests/db/test_db_constants.py +61 -0
- mito_ai/tests/deploy_app/test_app_deploy_utils.py +89 -0
- mito_ai/tests/file_uploads/__init__.py +2 -0
- mito_ai/tests/file_uploads/test_handlers.py +282 -0
- mito_ai/tests/message_history/test_generate_short_chat_name.py +120 -0
- mito_ai/tests/message_history/test_message_history_utils.py +469 -0
- mito_ai/tests/open_ai_utils_test.py +152 -0
- mito_ai/tests/performance_test.py +329 -0
- mito_ai/tests/providers/test_anthropic_client.py +447 -0
- mito_ai/tests/providers/test_azure.py +631 -0
- mito_ai/tests/providers/test_capabilities.py +120 -0
- mito_ai/tests/providers/test_gemini_client.py +195 -0
- mito_ai/tests/providers/test_mito_server_utils.py +448 -0
- mito_ai/tests/providers/test_model_resolution.py +130 -0
- mito_ai/tests/providers/test_openai_client.py +57 -0
- mito_ai/tests/providers/test_provider_completion_exception.py +66 -0
- mito_ai/tests/providers/test_provider_limits.py +42 -0
- mito_ai/tests/providers/test_providers.py +382 -0
- mito_ai/tests/providers/test_retry_logic.py +389 -0
- mito_ai/tests/providers/test_stream_mito_server_utils.py +140 -0
- mito_ai/tests/providers/utils.py +85 -0
- mito_ai/tests/rules/conftest.py +26 -0
- mito_ai/tests/rules/rules_test.py +117 -0
- mito_ai/tests/server_limits_test.py +406 -0
- mito_ai/tests/settings/conftest.py +26 -0
- mito_ai/tests/settings/settings_test.py +70 -0
- mito_ai/tests/settings/test_settings_constants.py +9 -0
- mito_ai/tests/streamlit_conversion/__init__.py +3 -0
- mito_ai/tests/streamlit_conversion/test_apply_search_replace.py +240 -0
- mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py +246 -0
- mito_ai/tests/streamlit_conversion/test_streamlit_utils.py +193 -0
- mito_ai/tests/streamlit_conversion/test_validate_streamlit_app.py +112 -0
- mito_ai/tests/streamlit_preview/test_streamlit_preview_handler.py +118 -0
- mito_ai/tests/streamlit_preview/test_streamlit_preview_manager.py +292 -0
- mito_ai/tests/test_constants.py +47 -0
- mito_ai/tests/test_telemetry.py +12 -0
- mito_ai/tests/user/__init__.py +2 -0
- mito_ai/tests/user/test_user.py +120 -0
- mito_ai/tests/utils/__init__.py +3 -0
- mito_ai/tests/utils/test_anthropic_utils.py +162 -0
- mito_ai/tests/utils/test_gemini_utils.py +98 -0
- mito_ai/tests/version_check_test.py +169 -0
- mito_ai/user/handlers.py +45 -0
- mito_ai/user/urls.py +21 -0
- mito_ai/utils/__init__.py +3 -0
- mito_ai/utils/anthropic_utils.py +168 -0
- mito_ai/utils/create.py +94 -0
- mito_ai/utils/db.py +74 -0
- mito_ai/utils/error_classes.py +42 -0
- mito_ai/utils/gemini_utils.py +133 -0
- mito_ai/utils/message_history_utils.py +87 -0
- mito_ai/utils/mito_server_utils.py +242 -0
- mito_ai/utils/open_ai_utils.py +200 -0
- mito_ai/utils/provider_utils.py +49 -0
- mito_ai/utils/schema.py +86 -0
- mito_ai/utils/server_limits.py +152 -0
- mito_ai/utils/telemetry_utils.py +480 -0
- mito_ai/utils/utils.py +89 -0
- mito_ai/utils/version_utils.py +94 -0
- mito_ai/utils/websocket_base.py +88 -0
- mito_ai/version_check.py +60 -0
- mito_ai-0.1.50.data/data/etc/jupyter/jupyter_server_config.d/mito_ai.json +7 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/build_log.json +728 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/package.json +243 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig +238 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json +37 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js +21602 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js +198 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js +619 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style.js +4 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js +712 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js +533 -0
- mito_ai-0.1.50.data/data/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 +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js +6941 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js +1021 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js +59698 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js +7440 -0
- mito_ai-0.1.50.data/data/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 +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js +2792 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js.map +1 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js +4859 -0
- mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map +1 -0
- mito_ai-0.1.50.dist-info/METADATA +221 -0
- mito_ai-0.1.50.dist-info/RECORD +205 -0
- mito_ai-0.1.50.dist-info/WHEEL +4 -0
- mito_ai-0.1.50.dist-info/entry_points.txt +2 -0
- mito_ai-0.1.50.dist-info/licenses/LICENSE +3 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mito_ai
|
|
3
|
+
Version: 0.1.50
|
|
4
|
+
Summary: AI chat for JupyterLab
|
|
5
|
+
Project-URL: Homepage, https://trymito.io
|
|
6
|
+
Project-URL: Bug Tracker, https://github.com/mito-ds/monorepo/issues
|
|
7
|
+
Project-URL: Repository, https://github.com/mito-ds/monorepo
|
|
8
|
+
Author-email: Aaron Diamond-Reivich <aaron@sagacollab.com>
|
|
9
|
+
License: Copyright (c) 2020-2024 Saga Inc.
|
|
10
|
+
|
|
11
|
+
See the LICENSE.txt file at the root of this monorepo for licensing information.
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: jupyter,jupyterlab,jupyterlab-extension
|
|
14
|
+
Classifier: Framework :: Jupyter
|
|
15
|
+
Classifier: Framework :: Jupyter :: JupyterLab
|
|
16
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: 4
|
|
17
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
|
|
18
|
+
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
|
|
19
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
20
|
+
Classifier: Programming Language :: Python
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Requires-Python: >=3.9
|
|
28
|
+
Requires-Dist: analytics-python
|
|
29
|
+
Requires-Dist: anthropic>=0.6.81
|
|
30
|
+
Requires-Dist: google-genai
|
|
31
|
+
Requires-Dist: jinja2>=3.0.3
|
|
32
|
+
Requires-Dist: jupyterlab<5,>=4.1.0
|
|
33
|
+
Requires-Dist: openai>=1.0.0
|
|
34
|
+
Requires-Dist: pipreqs
|
|
35
|
+
Requires-Dist: pydantic
|
|
36
|
+
Requires-Dist: requests>=2.25.0
|
|
37
|
+
Requires-Dist: sqlalchemy
|
|
38
|
+
Requires-Dist: streamlit
|
|
39
|
+
Requires-Dist: tornado>=6.2.0
|
|
40
|
+
Requires-Dist: traitlets
|
|
41
|
+
Requires-Dist: unidiff
|
|
42
|
+
Provides-Extra: deploy
|
|
43
|
+
Requires-Dist: hatch-jupyter-builder>=0.5; extra == 'deploy'
|
|
44
|
+
Requires-Dist: hatch-nodejs-version>=0.3.2; extra == 'deploy'
|
|
45
|
+
Requires-Dist: hatchling>=1.27.0; extra == 'deploy'
|
|
46
|
+
Requires-Dist: twine>=4.0.0; extra == 'deploy'
|
|
47
|
+
Provides-Extra: test
|
|
48
|
+
Requires-Dist: mypy>=1.8.0; extra == 'test'
|
|
49
|
+
Requires-Dist: pytest-asyncio==0.25.3; extra == 'test'
|
|
50
|
+
Requires-Dist: pytest==8.3.4; extra == 'test'
|
|
51
|
+
Requires-Dist: types-requests>=2.25.0; extra == 'test'
|
|
52
|
+
Requires-Dist: types-setuptools; extra == 'test'
|
|
53
|
+
Requires-Dist: types-tornado>=5.1.1; extra == 'test'
|
|
54
|
+
Description-Content-Type: text/markdown
|
|
55
|
+
|
|
56
|
+
# mito_ai
|
|
57
|
+
|
|
58
|
+
[](/actions/workflows/build.yml)
|
|
59
|
+
|
|
60
|
+
AI chat for JupyterLab. This codebase contains two main components:
|
|
61
|
+
1. A Jupyter server extension that handles the backend logic for the chat.
|
|
62
|
+
2. Several JupyterLab extensions that handle the frontend logic for interacting with the AI, including the chat sidebar and the error message rendermime.
|
|
63
|
+
|
|
64
|
+
## Requirements
|
|
65
|
+
|
|
66
|
+
- JupyterLab >= 4.0.0
|
|
67
|
+
|
|
68
|
+
## Install
|
|
69
|
+
|
|
70
|
+
To install the extension, execute:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pip install mito-ai
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Configuration
|
|
77
|
+
|
|
78
|
+
This extension has two AI providers; OpenAI and Mito (calling OpenAI).
|
|
79
|
+
Mito is the fallback but the number of request is limited for free tier.
|
|
80
|
+
To use OpenAI directly, you will to create an API key on https://platform.openai.com/docs/overview.
|
|
81
|
+
Then set the environment variable `OPENAI_API_KEY` with that key.
|
|
82
|
+
|
|
83
|
+
The OpenAI model can be configured with 1 parameters:
|
|
84
|
+
- `OpenAIProvider.model`: Name of the AI model; default _gpt-4o-mini_.
|
|
85
|
+
|
|
86
|
+
You can set those parameters through command line when starting JupyterLab; e.g.
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
jupyter lab --OpenAIProvider.max_completion_tokens 20 --OpenAIProvider.temperature 1.5
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
> If a value is incorrect, an error message will be displayed in the terminal logs.
|
|
93
|
+
|
|
94
|
+
## Uninstall
|
|
95
|
+
|
|
96
|
+
To remove the extension, execute:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pip uninstall mito-ai
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Contributing
|
|
103
|
+
|
|
104
|
+
### Development install
|
|
105
|
+
|
|
106
|
+
To ensure consistent package management, please use `jlpm` instead of `npm` for this project.
|
|
107
|
+
|
|
108
|
+
Note: You will need NodeJS to build the extension package.
|
|
109
|
+
|
|
110
|
+
The `jlpm` command is JupyterLab's pinned version of
|
|
111
|
+
[yarn](https://yarnpkg.com/) that is installed with JupyterLab.
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Clone the repo to your local environment
|
|
115
|
+
# Change directory to the mito-ai directory
|
|
116
|
+
|
|
117
|
+
# Required to deal with Yarn 3 workspace rules
|
|
118
|
+
touch yarn.lock
|
|
119
|
+
|
|
120
|
+
# Install package in development mode
|
|
121
|
+
pip install -e ".[test]"
|
|
122
|
+
|
|
123
|
+
# Install the node modules
|
|
124
|
+
jlpm install
|
|
125
|
+
|
|
126
|
+
# Build the extension
|
|
127
|
+
jlpm build
|
|
128
|
+
|
|
129
|
+
# Link your development version of the extension with JupyterLab
|
|
130
|
+
jupyter labextension develop . --overwrite
|
|
131
|
+
|
|
132
|
+
# Start the jupyter server extension for development
|
|
133
|
+
jupyter server extension enable --py mito_ai
|
|
134
|
+
|
|
135
|
+
# Watch the source directory in one terminal, automatically rebuilding when needed
|
|
136
|
+
# In case of Error: If this command fails because the lib directory was not created (the error will say something like
|
|
137
|
+
# unable to find main entry point) then run `jlpm run clean:lib` first to get rid of the old buildcache
|
|
138
|
+
# that might be preventing a new lib directory from getting created.
|
|
139
|
+
jlpm watch
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Then, in a new terminal, run:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Run JupyterLab in another terminal
|
|
146
|
+
jupyter lab --autoreload
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. With the `--autoreload` flag, you don't need to refresh JupyterLab to load the change in your browser. It will launch a new window each time you save a change to the backend.
|
|
150
|
+
|
|
151
|
+
By default, the `jlpm build` command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
jupyter lab build --minimize=False
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Development uninstall
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
pip uninstall mito-ai
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
In development mode, you will also need to remove the symlink created by `jupyter labextension develop`
|
|
164
|
+
command. To find its location, you can run `jupyter labextension list` to figure out where the `labextensions`
|
|
165
|
+
folder is located. Then you can remove the symlink named `mito-ai` within that folder.
|
|
166
|
+
|
|
167
|
+
### Testing the extension
|
|
168
|
+
|
|
169
|
+
#### Integration tests
|
|
170
|
+
|
|
171
|
+
Integration tests for mito-ai are written using Playwright and Gelata in the mito/tests directory.
|
|
172
|
+
|
|
173
|
+
To run these tests, follow the directions in the tests/README.md file.
|
|
174
|
+
|
|
175
|
+
#### Backend Unit tests
|
|
176
|
+
|
|
177
|
+
Backend tests for mito-ai are written using pytest in the mito/mito-ai/mito_ai/tests directory.
|
|
178
|
+
|
|
179
|
+
To run the pytests, just run `pytest` in the mito-ai directory.
|
|
180
|
+
|
|
181
|
+
#### Backend Mypy tests
|
|
182
|
+
|
|
183
|
+
To run the mypy tests, just run `mypy mito_ai/ --ignore-missing-imports` in the mito-ai directory.
|
|
184
|
+
|
|
185
|
+
#### Frontend Unit tests
|
|
186
|
+
|
|
187
|
+
Frontend unit tests for mito-ai are written using Jest in the mito/mito-ai/src/tests directory.
|
|
188
|
+
|
|
189
|
+
To run the Jest tests, just run `npm test` in the mito-ai directory.
|
|
190
|
+
|
|
191
|
+
#### Frontend Tests
|
|
192
|
+
|
|
193
|
+
Frontend tests for mito-ai are written using Playwright and Gelata in the mito/tests directory. See the [tests/README.md](tests/README.md) file for more information.
|
|
194
|
+
|
|
195
|
+
#### Frontend Linting
|
|
196
|
+
|
|
197
|
+
Frontend linting for mito-ai is done using ESLint in the mito-ai directory.
|
|
198
|
+
|
|
199
|
+
To run the ESLint tests, just run `jlpm eslint` in the mito-ai directory.
|
|
200
|
+
|
|
201
|
+
#### Performance Tests
|
|
202
|
+
|
|
203
|
+
Performance tests for mito-ai are written using pytest in the mito-ai/tests directory.
|
|
204
|
+
|
|
205
|
+
To run the performance tests, just run `python -m pytest mito_ai/tests/performance_test.py -v -s` in the mito-ai directory.
|
|
206
|
+
|
|
207
|
+
Note that you'll have to edit `open_ai_utils.py`, specifically the `is_running_test` condition.
|
|
208
|
+
|
|
209
|
+
#### Running Databases
|
|
210
|
+
|
|
211
|
+
To ensure reproducibility, databases, like Postgres, are created using Docker. To run:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
docker-compose -f mito_ai/tests/docker/postgres.yml up
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
When you're done, stop and remove the container and its volumes with:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
docker-compose -f mito_ai/tests/docker/postgres.yml down -v
|
|
221
|
+
```
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
mito_ai/__init__.py,sha256=oPEfw-SkL6QAmF_XBGTBWMYMS2LFizdvCwkHDJZ8WQs,4880
|
|
2
|
+
mito_ai/_version.py,sha256=17oKe9YJVlN2ZKSGQciTIYC1ylDCxKdG2JbeF3itAM0,172
|
|
3
|
+
mito_ai/anthropic_client.py,sha256=LlD25XVHUdPFQ4eVEkjCIxt-wXoIBNPo8kz4OBglRuc,14045
|
|
4
|
+
mito_ai/constants.py,sha256=JUsxpryxRrKGlti9QMQxXdwA6FMJcJyp7jxd1ebV_ug,2301
|
|
5
|
+
mito_ai/gemini_client.py,sha256=4L-h2yYc_p8cEOCMDYM0R-vD4aktfqN47siZH5ZjGJc,9771
|
|
6
|
+
mito_ai/logger.py,sha256=ZJEC415ZHTodDYKgp8ezVg3c4O513oQZV5lSs708gp8,1285
|
|
7
|
+
mito_ai/openai_client.py,sha256=ljLs-HmHX5IElVn-5GuLTLijVPzWKCzg0uA263K57Dw,14210
|
|
8
|
+
mito_ai/path_utils.py,sha256=1tFZBRChMAxFQjLrpbwc40o7wPhsXG3H1ad5n1gFOzM,2573
|
|
9
|
+
mito_ai/version_check.py,sha256=871m9_Qj_UzYmxuByBcs8DIoonUb0uVqGTRmJYpw6Fk,2268
|
|
10
|
+
mito_ai/app_deploy/__init__.py,sha256=Kn_8xI0wv_JVV6FRhLDKOuld2P01Lit8nR2zB0aIHN0,190
|
|
11
|
+
mito_ai/app_deploy/app_deploy_utils.py,sha256=cnCayqP3WPfA4Lrz8Eo2h0lJbgBDgyfePriB-8wMeKA,1964
|
|
12
|
+
mito_ai/app_deploy/handlers.py,sha256=N7H_lJunMMN4_N4ZkTQbcRLjq9idkHnOgsM_S_JpN20,13777
|
|
13
|
+
mito_ai/app_deploy/models.py,sha256=3TM2z8udleh-FauBSjzmPMKL4z_LqtDwFCmUwxmexEU,2309
|
|
14
|
+
mito_ai/app_manager/__init__.py,sha256=QZ5_UHaA8Gb2fMyKx-b5sv0h0clI1B10zpPK9jfkAUg,150
|
|
15
|
+
mito_ai/app_manager/handlers.py,sha256=gySZSSZtE44g8YqDD7aC6v1LNKWFFAGhXf13VSr_uro,6219
|
|
16
|
+
mito_ai/app_manager/models.py,sha256=doHN84kEC0uB378X4jqngap9mvRy-jWp_jdOpWtNuo8,1841
|
|
17
|
+
mito_ai/app_manager/utils.py,sha256=FooiA7-9cUA8uURyj7YBmS0qw_4kTGlcDpqcWt7hss8,819
|
|
18
|
+
mito_ai/auth/README.md,sha256=j83uIEb2avWI-zjKl_P0eZo_2vMyWNE2MAF7fMnJJMw,891
|
|
19
|
+
mito_ai/auth/__init__.py,sha256=CrNlpbSKMPcw40H7keblZ61aa_x8qqSXPAqrEq-yCqk,172
|
|
20
|
+
mito_ai/auth/handlers.py,sha256=vpbLBsS_CIGVK3kZ_Pht4fjvRlde-z5kWQRc-jLjHe4,3888
|
|
21
|
+
mito_ai/auth/urls.py,sha256=iO4ueOlmqt6Bc66mVX2OrSdFGWPcwqhvGU9Ur5__sUM,417
|
|
22
|
+
mito_ai/chat_history/handlers.py,sha256=zRH9oNiwf_x7bYaa0JPoodoMuWwcFzEvg9svAAzZtZc,2537
|
|
23
|
+
mito_ai/chat_history/urls.py,sha256=WoXVkS3tn_wohT_6tQ5iLVF26llL697vmgkMb7xsvT0,1100
|
|
24
|
+
mito_ai/completions/handlers.py,sha256=BpfBke-IddQfaje0UYMFiCNcehXzVgC86zwqS4P2HBw,17724
|
|
25
|
+
mito_ai/completions/message_history.py,sha256=e-PZZd7fU2iQSH18tDsTb7J_QC56K29ZIIwivMQaVqk,17213
|
|
26
|
+
mito_ai/completions/models.py,sha256=TpXFWtFDoNk9xXC4ANwpANeV2oW65yK_P9mgsl4gfww,10345
|
|
27
|
+
mito_ai/completions/providers.py,sha256=JcZZGxFDd5B2nwnwOuJICMhjLRpLFL8_QhomaepXb5c,11950
|
|
28
|
+
mito_ai/completions/completion_handlers/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
29
|
+
mito_ai/completions/completion_handlers/agent_auto_error_fixup_handler.py,sha256=Vu-SoOziFnWQjxomTpbnbZgxtLkvqPS4Etw2me6L94M,2810
|
|
30
|
+
mito_ai/completions/completion_handlers/agent_execution_handler.py,sha256=QwZBnsLe__Tl1el5XMZgpz1AXKhA6n8dsXLZWd66shM,3027
|
|
31
|
+
mito_ai/completions/completion_handlers/chat_completion_handler.py,sha256=4DMjn18KV7_YgwQVH5VmEPtBNver9M1qIh4vNzsqP_0,6210
|
|
32
|
+
mito_ai/completions/completion_handlers/code_explain_handler.py,sha256=mkR-HJ0fEmzetJNgH20DKYSCL9Ax2o0WGu8limx9X_w,5074
|
|
33
|
+
mito_ai/completions/completion_handlers/completion_handler.py,sha256=TdMye-5505YKLKhdf6BXSTMDvEFvVexbt-b62b4xCQA,1584
|
|
34
|
+
mito_ai/completions/completion_handlers/inline_completer_handler.py,sha256=IR9xPA6YggdHQkdXVEcWqXZy8GXphqYRHkTfOcdEphw,1808
|
|
35
|
+
mito_ai/completions/completion_handlers/smart_debug_handler.py,sha256=5DH4NR9YB28YoQOUbFFcF7bip11cFzmzrcap_bZGLwA,6388
|
|
36
|
+
mito_ai/completions/completion_handlers/utils.py,sha256=Bk-EX9gj_riRQrBC5Bjp5ceFbgymgBDmNXa1SZ9Vt1M,4389
|
|
37
|
+
mito_ai/completions/prompt_builders/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
38
|
+
mito_ai/completions/prompt_builders/agent_execution_prompt.py,sha256=ffnkgZ-1_hvs1wDWDwY4_PzyqPN_hmRHR2CNbqfQxYI,1697
|
|
39
|
+
mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py,sha256=hMeGBBXs6TItkZHpI78uN2scKvV72uha3Pw-ygN4XbI,6903
|
|
40
|
+
mito_ai/completions/prompt_builders/agent_system_message.py,sha256=l1dKz6DO5HBA-LaAvEDNVgZF2heIDLIj0svwk4NSXzw,27977
|
|
41
|
+
mito_ai/completions/prompt_builders/chat_name_prompt.py,sha256=ERwgDUAnd7VH3drjbUh70zbP3iEUct1PdJ9EZvMi3qE,532
|
|
42
|
+
mito_ai/completions/prompt_builders/chat_prompt.py,sha256=v2Ril9xUxhgPHixtckMBNiOyOn7y110npQgY285pPSc,2941
|
|
43
|
+
mito_ai/completions/prompt_builders/chat_system_message.py,sha256=LTMRSHKaO_AqvIiIiV1wz4As9gzcFH57VJoTR2EI0uc,4588
|
|
44
|
+
mito_ai/completions/prompt_builders/explain_code_prompt.py,sha256=aswSXdZP-catLmLqJKv2E5VeO9CL7vexguZhtGl724c,769
|
|
45
|
+
mito_ai/completions/prompt_builders/inline_completer_prompt.py,sha256=rmOt3eZTgNfF5tN-_syrhIUW6Ga_TcHCRI0YwndYPPY,5105
|
|
46
|
+
mito_ai/completions/prompt_builders/prompt_constants.py,sha256=_iwWD6xJ641Tzi-6xlSCTLdLr2_a9RQu_pZGmq95r3U,7935
|
|
47
|
+
mito_ai/completions/prompt_builders/smart_debug_prompt.py,sha256=6s_VIgNCD5Dqmn3bpsnQCmUDaqJqLOxlJHu48aE1SME,6347
|
|
48
|
+
mito_ai/completions/prompt_builders/utils.py,sha256=AqIij4Ceg9I7DeUZ7oV49jPXvNIESh7fpyO_XAdeYN0,3182
|
|
49
|
+
mito_ai/db/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
50
|
+
mito_ai/db/handlers.py,sha256=zbLqgzexi3C2ztvT1z9X3RLCUUjl4r5rJtUzJX0Pkto,5275
|
|
51
|
+
mito_ai/db/models.py,sha256=KUMaAdK72Z_yOovKrrQJWHP-5Zwkv9WD4Pz8LDWjgk8,544
|
|
52
|
+
mito_ai/db/urls.py,sha256=Clqps6oUyEjVIzevXGwkP7Pso1RlXIcFnq5UyjZFrjE,1082
|
|
53
|
+
mito_ai/db/utils.py,sha256=2JjQP_ppHYhyp6BLX4jVhg0IEtUObMoKfX6S6TU9XWA,6576
|
|
54
|
+
mito_ai/db/crawlers/__init__.py,sha256=Wr7kLlM88oU8O1OVck5JWbNCevJcrt9fS62cucU2crs,201
|
|
55
|
+
mito_ai/db/crawlers/base_crawler.py,sha256=qiev8lSuMXslObvJwVU5RDR_y6DZE9sCXgGxq-wdz4A,2417
|
|
56
|
+
mito_ai/db/crawlers/constants.py,sha256=FpRhlDR7KXkVKBWhEiIKlm-XgpE87knUCoFec0GgaJs,1576
|
|
57
|
+
mito_ai/db/crawlers/snowflake.py,sha256=mXWHcoV7BGivYnv1DQvhujs-yS4YNWogjK-dksSsAtU,2499
|
|
58
|
+
mito_ai/docker/mssql/compose.yml,sha256=DqMN_n5soz6dG2zVHyMPVZ0yzHqJxqa1_xA8hMiwdLM,978
|
|
59
|
+
mito_ai/docker/mssql/init/setup.sql,sha256=Z84UjeIAQ3NBcHiF5BIp3dytpmQ558dT3y4A6_c2kRA,437
|
|
60
|
+
mito_ai/docker/mysql/compose.yml,sha256=ioqIHgqYuxULA84K59KSanub9r6LWUtZ0Wv2mmkhyko,513
|
|
61
|
+
mito_ai/docker/mysql/init/setup.sql,sha256=H79aJtlvQN7syHBEJDCsyRksNRM-lmE4JTUEMNlr8vo,384
|
|
62
|
+
mito_ai/docker/oracle/compose.yml,sha256=6mgV7SmP3IenFwzY4f3JKCI1f1PDVlYqInDxjIqyvIE,385
|
|
63
|
+
mito_ai/docker/oracle/init/setup.sql,sha256=d8xZ236OdMneN_ziZbOzxl5-rUI7eET1kmd2pDppbdg,1135
|
|
64
|
+
mito_ai/docker/postgres/compose.yml,sha256=pp1fG2YfYbDpHuedkpcnAkRu0HJs_uibBn2CnQwrZYA,467
|
|
65
|
+
mito_ai/docker/postgres/init/setup.sql,sha256=l--Ra5FNfR-24I-HdZWpqzqrERxF1jNOIzdrpVlMRFM,356
|
|
66
|
+
mito_ai/enterprise/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
67
|
+
mito_ai/enterprise/utils.py,sha256=Skdg9YahsnixKfBMXLneJmzn7yTi1QbvTjBxESV2dmw,652
|
|
68
|
+
mito_ai/file_uploads/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
69
|
+
mito_ai/file_uploads/handlers.py,sha256=_mmEmCoQTAWHzPXKScEdRIrp5imoZMYgmaD-O6OAhfo,9171
|
|
70
|
+
mito_ai/file_uploads/urls.py,sha256=5U-Jx2GF7CsFIIsBNkvWBy_MU9pnk20G_BJGiAGENng,659
|
|
71
|
+
mito_ai/log/handlers.py,sha256=RWkJFJ5OJ28Fm2AYgRbywxhgDZoTqjNwW-Z6tZJvUc4,1199
|
|
72
|
+
mito_ai/log/urls.py,sha256=OLqAQObEDAwMVmzXZVftR2YBw5D9eCn0bDWlW_52DvI,657
|
|
73
|
+
mito_ai/rules/handlers.py,sha256=dWnusYlQkKGyEEahNm9wtTYdIJq-lxVchyEvTd_Jkeg,1600
|
|
74
|
+
mito_ai/rules/urls.py,sha256=HkhjOcfuKPN35crvY_CBABclOG8d18OfexcmQR-trFE,697
|
|
75
|
+
mito_ai/rules/utils.py,sha256=7Hj5ZOUZERLHMR7a5_7ipbJXaiTkvXjfiRjTHpCKdxU,1664
|
|
76
|
+
mito_ai/settings/handlers.py,sha256=Ym1QieLf9VooP44w4mU2z4WtGSkThVhEgmtO7ENBg4c,1348
|
|
77
|
+
mito_ai/settings/urls.py,sha256=4Oyd6Qtap2vMApyUevoUp_RjoL09IBIwPL6ZayGT3wM,648
|
|
78
|
+
mito_ai/settings/utils.py,sha256=ZiG-axUDFsIKK7iipZTMwunYtP7_dkThHL37mR8GGyA,1355
|
|
79
|
+
mito_ai/streamlit_conversion/agent_utils.py,sha256=3i2Fdfj9NVCvIv19BbJc0akCYHA8thkOFtN414tLFlM,1563
|
|
80
|
+
mito_ai/streamlit_conversion/search_replace_utils.py,sha256=80tAohWalHemmDFbEtGcjFy-j-7u2-27c-pRooOxXWg,2955
|
|
81
|
+
mito_ai/streamlit_conversion/streamlit_agent_handler.py,sha256=vVyd4WwuAcbSQ4Fi0J-ulLo2BnQwLTK6BLoWJAogFgk,6826
|
|
82
|
+
mito_ai/streamlit_conversion/streamlit_utils.py,sha256=4VpHmSoSWpOlwQn4All7mXywFuAn9OzeLfu_IK6vqX0,3002
|
|
83
|
+
mito_ai/streamlit_conversion/validate_streamlit_app.py,sha256=l-mowqwylASGsM-vCtEzErGfp5ZnvhNaEh8VG0jtNec,3997
|
|
84
|
+
mito_ai/streamlit_conversion/prompts/prompt_constants.py,sha256=N8ShlrqKViI92s3a20KmlOxNo12pSu0DgztmwHZu2Ys,4521
|
|
85
|
+
mito_ai/streamlit_conversion/prompts/prompt_utils.py,sha256=lEOsWiyI4WHKqmMozV_j8DST_Rry3vlj0Ftfza2lOcM,378
|
|
86
|
+
mito_ai/streamlit_conversion/prompts/streamlit_app_creation_prompt.py,sha256=KzNXSAO0O496_vNb--IEUm6RgE0IWiKh16eDYKDVhAE,1828
|
|
87
|
+
mito_ai/streamlit_conversion/prompts/streamlit_error_correction_prompt.py,sha256=3Dg3NbppzwuheRgkCfUwesG8Bs7cQ7TLbHnyDcbel4A,1088
|
|
88
|
+
mito_ai/streamlit_conversion/prompts/streamlit_finish_todo_prompt.py,sha256=JU9qxrlctJ4CjCsWcBRYd7W-25EhIQV8d7TBxJxmmLQ,2206
|
|
89
|
+
mito_ai/streamlit_conversion/prompts/streamlit_system_prompt.py,sha256=ksf3Erx5H-vkUmgbCdoWUHIc_3TI5yzsLb0sRKREwcA,3517
|
|
90
|
+
mito_ai/streamlit_conversion/prompts/update_existing_app_prompt.py,sha256=e3t7qp2nNqlcHpEjBRPdVku1w2_X88m_IBkf_Yz--SA,2302
|
|
91
|
+
mito_ai/streamlit_preview/__init__.py,sha256=RLNxLYp76fZ-nezx75oQB7BDnX4F81GH4ITMS4s5Rpo,196
|
|
92
|
+
mito_ai/streamlit_preview/handlers.py,sha256=ZyD0b7c-MuZDbcPFVz3FPJbm44zooOD93mO44f51-UY,5091
|
|
93
|
+
mito_ai/streamlit_preview/manager.py,sha256=oiN1F1ld9-5Cki7i8QNxM6ZSkMtpm8YmM3UPiEK7sVA,5273
|
|
94
|
+
mito_ai/streamlit_preview/urls.py,sha256=IbcugX1H8u30Q6U8-9Ofdjmq_rdyAiesxw36qSB5giA,790
|
|
95
|
+
mito_ai/streamlit_preview/utils.py,sha256=bkHaxPKB4_cvma2x9sW6lH8UVEVkkPtKMrNtEYsunI8,1167
|
|
96
|
+
mito_ai/tests/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
97
|
+
mito_ai/tests/conftest.py,sha256=C4iW3L50rWLeI91gim3gyyJnKKb1zGJ1GLxlXZWfLNs,1494
|
|
98
|
+
mito_ai/tests/create_agent_system_message_prompt_test.py,sha256=PmNBCEz3vuy43CPRfE2JWgSVt1dfGFtn8pzBkDxBlyc,1061
|
|
99
|
+
mito_ai/tests/open_ai_utils_test.py,sha256=LSJ6sIQq5xQ7RR3cYqBUegUagVQSoLemAbennCJMhiE,6646
|
|
100
|
+
mito_ai/tests/performance_test.py,sha256=DwsvTTk51GZ1JOEMqvFHPGV6-8dfsL12GkEg9-7VlG8,12303
|
|
101
|
+
mito_ai/tests/server_limits_test.py,sha256=BKIR75pUOntnQfmtif3XADHzcxzF9jMKEC4tqXefN-E,19521
|
|
102
|
+
mito_ai/tests/test_constants.py,sha256=KbHktAAL_EeJmaVAXCGzf2ZZSxkIhEzfSvTguqXKGaI,1969
|
|
103
|
+
mito_ai/tests/test_telemetry.py,sha256=p5p0-7EQKIT0Lf_lNgE9wdU0bs0wv-tO9eQVI_hYACI,349
|
|
104
|
+
mito_ai/tests/version_check_test.py,sha256=ffEme3mS0sn2u6UjN7uf6R7MfwMda8gVMWFuks2lEXE,6753
|
|
105
|
+
mito_ai/tests/chat_history/test_chat_history.py,sha256=G6vluuusKXA8WXqIrIzEQdeRjDYN979r_Ox0KctwZK0,7586
|
|
106
|
+
mito_ai/tests/completions/completion_handlers_utils_test.py,sha256=8IDFrbf0b9BJ6wLr-F0hyhxeruKI9Vyr1KaTMwOhS1Q,7433
|
|
107
|
+
mito_ai/tests/data/prompt_lg.py,sha256=8Bu_S73P6Ot7LoTC8Xet6pVq7FwoDH9WeJpc5zuPwos,2456
|
|
108
|
+
mito_ai/tests/data/prompt_sm.py,sha256=JJJoMnqkIVmeQGP8auOzJ06br-KDNIHN-ES86G9K2sc,239
|
|
109
|
+
mito_ai/tests/data/prompt_xl.py,sha256=zlVV-K9ZUkg5QG3bRDCdLJkpkjInO2Q2hEwAMIo5tpY,16399
|
|
110
|
+
mito_ai/tests/data/stock_data.sqlite3,sha256=Qk2Ypg6VPBuCJwgiO_3pgcm_pvd2YOGtaL4J3RXFOrk,12288
|
|
111
|
+
mito_ai/tests/db/conftest.py,sha256=uiHdeXbCVC7_NhunWiACNu4NAIZhO63mLwz2vuke2Rg,1172
|
|
112
|
+
mito_ai/tests/db/connections_test.py,sha256=QJxwkFztLjpVgKhZzxrLbO7VQ1VGWdlYb2d8-sP8wn4,3235
|
|
113
|
+
mito_ai/tests/db/mssql_test.py,sha256=40iFi2CvWD9uDZEBO6vCZzchckFaBUXhX0eKEvCSoxw,1048
|
|
114
|
+
mito_ai/tests/db/mysql_test.py,sha256=3OgtdMW6xoKQOdQ5eEzD-4oS0lPvnopc_KSsktvlOoc,1045
|
|
115
|
+
mito_ai/tests/db/oracle_test.py,sha256=LpIxRRPqTWuvq501XXwgbt6N25IVZQwfQiy1NwrZcLw,1057
|
|
116
|
+
mito_ai/tests/db/postgres_test.py,sha256=bKdW0RVi3IbgTSqFTJWP0QtClhtO1vBi9lMqYY-3KMQ,1063
|
|
117
|
+
mito_ai/tests/db/schema_test.py,sha256=ge51gx7UgZrD7VjPdUyeGpns8CvqUwF38YZu169aG3M,2978
|
|
118
|
+
mito_ai/tests/db/sqlite_test.py,sha256=50MCbw9mXNnGGLEJFLMRc55gyPEWfGdwvLTJtFleT78,938
|
|
119
|
+
mito_ai/tests/db/test_db_constants.py,sha256=ilzEo8BHeI3lBQjXLfrVb3hdH7_Gkg9_YWdjkZuDjag,1981
|
|
120
|
+
mito_ai/tests/deploy_app/test_app_deploy_utils.py,sha256=s8cqxno0jShLwdTAjf0L-YsN6nxVjd-UUlZLDkMlaLI,3724
|
|
121
|
+
mito_ai/tests/file_uploads/__init__.py,sha256=Oq613SdOIx0n9iCsVSp-4p4zzbdgjewk1_ggS09rt4Q,111
|
|
122
|
+
mito_ai/tests/file_uploads/test_handlers.py,sha256=WqicGVFr5-cvSm0MSY7_p03E4lap0RJf6W0OpXjYne0,8832
|
|
123
|
+
mito_ai/tests/message_history/test_generate_short_chat_name.py,sha256=0nwoJ9BNZLwwqUMCUe7EFfgpogbZ5djhpOr0kwkqfJM,4814
|
|
124
|
+
mito_ai/tests/message_history/test_message_history_utils.py,sha256=HdHZh1yRWYMm8TIFDw06HT-wMPrYa45COn_DFZWR-eg,17925
|
|
125
|
+
mito_ai/tests/providers/test_anthropic_client.py,sha256=0Tkmqx-rXunXvkFmB0eqTRW6mFtODGObjWM5hf0Kh2w,17253
|
|
126
|
+
mito_ai/tests/providers/test_azure.py,sha256=6XJP7ZXmE6f41rEdimsAFgUF0I7bDB6jOKcu02sraak,27567
|
|
127
|
+
mito_ai/tests/providers/test_capabilities.py,sha256=5pumT-CJeSzodxi9Wqt53SdudTmij5fapa6Zr3YMMbc,4621
|
|
128
|
+
mito_ai/tests/providers/test_gemini_client.py,sha256=fhE06siTyluUlNyC3lJ2ffdkmG_1orCB5EU3mFsDOpg,7821
|
|
129
|
+
mito_ai/tests/providers/test_mito_server_utils.py,sha256=34jjy-hUDwgav3g0CNe9ogCZwXXN7HdxgjRJKAad-_g,18885
|
|
130
|
+
mito_ai/tests/providers/test_model_resolution.py,sha256=TXrdXD5qnJ1GnBqHZJR_6xCaTXTF1x-k0DE5QMQ09mk,6623
|
|
131
|
+
mito_ai/tests/providers/test_openai_client.py,sha256=4f-B68JMZMIrvf_K7tEa8KDy-HyZ2Ov_ehqX7lzIWMc,2356
|
|
132
|
+
mito_ai/tests/providers/test_provider_completion_exception.py,sha256=BM09h8ZC7n1JGp9kqY4mE0xIJFBn7C6YcxAz6psyG5M,2645
|
|
133
|
+
mito_ai/tests/providers/test_provider_limits.py,sha256=9GzNMV54pTTV1fzOtQci3cVQ0GwR6OI12hQYntyg-tI,1597
|
|
134
|
+
mito_ai/tests/providers/test_providers.py,sha256=WEQRyNkGfyWE1sXJHxAsXyHaXKHRZIemVKE-DMNjjdk,14691
|
|
135
|
+
mito_ai/tests/providers/test_retry_logic.py,sha256=8jizGx8A1R6ZYYAfH63LBdkry2xyT8NThfIH-xLx8-U,16081
|
|
136
|
+
mito_ai/tests/providers/test_stream_mito_server_utils.py,sha256=SOOb1vU9U7xtiuIKYQaBIG-QYQqnsWXYVb9gTbTInz8,3930
|
|
137
|
+
mito_ai/tests/providers/utils.py,sha256=z8lVfmXDHVzRpz4L6ZWEaHcY7uTUn_5FsmSr7UoxXtQ,3456
|
|
138
|
+
mito_ai/tests/rules/conftest.py,sha256=DPW5JMtV5tZIKfDWq6R_DXTPJHZGMGfYsfA77cQi_ao,831
|
|
139
|
+
mito_ai/tests/rules/rules_test.py,sha256=gaPGp3qMI-ZWW4J9nHEk9iXrAesB1mCyci7LDFN0K-g,3399
|
|
140
|
+
mito_ai/tests/settings/conftest.py,sha256=dypIqQCssJ9sHArib7FTWQCrY2OLmkI3ZMK8Y3wtXDI,787
|
|
141
|
+
mito_ai/tests/settings/settings_test.py,sha256=dRmugyFeAfUZcvSLd9Bz2kQ96hnq0mrCvzqCErZySX4,2133
|
|
142
|
+
mito_ai/tests/settings/test_settings_constants.py,sha256=BBG7TCfl2pJzLcg825pRvEVgjP3D9sWyYAwqekQ10wo,349
|
|
143
|
+
mito_ai/tests/streamlit_conversion/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
144
|
+
mito_ai/tests/streamlit_conversion/test_apply_search_replace.py,sha256=PDyqApl79a8zjFHMDqrZn_2pKw1vyn1MTfbXt2bo_hA,5682
|
|
145
|
+
mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py,sha256=30-McyimQYk-IIoYK12v7REZ2JDqBFJQhc0uq404CU0,11773
|
|
146
|
+
mito_ai/tests/streamlit_conversion/test_streamlit_utils.py,sha256=bZZQw3MwBsy1m5wPmjT0mpLb3hSewbMvj3W-hy_s1j0,7387
|
|
147
|
+
mito_ai/tests/streamlit_conversion/test_validate_streamlit_app.py,sha256=a8vEAXZ6UDG_IZ9NR4qQURKabgs3XKcbc-f3PrOFbe0,3860
|
|
148
|
+
mito_ai/tests/streamlit_preview/test_streamlit_preview_handler.py,sha256=DyClmI5SzfY06xWiS7mszGu2rAjzTQuIPDmnF4NbAMI,5205
|
|
149
|
+
mito_ai/tests/streamlit_preview/test_streamlit_preview_manager.py,sha256=0LueiqJj0lWkB8HRszXaT2UhZk-ZnardNkwMfZHDYQU,11655
|
|
150
|
+
mito_ai/tests/user/__init__.py,sha256=Oq613SdOIx0n9iCsVSp-4p4zzbdgjewk1_ggS09rt4Q,111
|
|
151
|
+
mito_ai/tests/user/test_user.py,sha256=5XA-lX2IYb9x_06sqAIJKTCnQqO1MytQxX7HDgcm3QU,3802
|
|
152
|
+
mito_ai/tests/utils/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
153
|
+
mito_ai/tests/utils/test_anthropic_utils.py,sha256=enWWuCo4HCBBZTaU6WMlmIDS2VddoUZ5CtXOHwwucJg,5228
|
|
154
|
+
mito_ai/tests/utils/test_gemini_utils.py,sha256=DeN5392ZiuckeMw1agmHPaoa5y73TUSEgxxhx72crLQ,2866
|
|
155
|
+
mito_ai/user/handlers.py,sha256=wNDKWZZHzcl8SIFCmvR65HbU5NU5FBdfjBwzlBf000Y,1477
|
|
156
|
+
mito_ai/user/urls.py,sha256=vUgE4r2QVbw275DvsRBjhJAOmiQ1pLG-F0JJcEJNZnE,626
|
|
157
|
+
mito_ai/utils/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
|
|
158
|
+
mito_ai/utils/anthropic_utils.py,sha256=0FqSnLC3STs0kgGeAce58kOWo0eTHn7og5GmAUGL4Kg,6158
|
|
159
|
+
mito_ai/utils/create.py,sha256=Awd_WOxUZgUveSPmAJJL1-csoIyqTV_00AIRCGIaCio,3086
|
|
160
|
+
mito_ai/utils/db.py,sha256=oeNjFVg5JET1epjmUUs9uhgGzzvbCn3Na69UbVP0Ib4,2433
|
|
161
|
+
mito_ai/utils/error_classes.py,sha256=n3UBUJepE4ETIH3ENi_pAXeYP0HyY6zQhEHRe91dRNU,1602
|
|
162
|
+
mito_ai/utils/gemini_utils.py,sha256=zZlEeaQvqvndVxgNNmIQfB7OGkUd292bIlH0pvW0k4M,4643
|
|
163
|
+
mito_ai/utils/message_history_utils.py,sha256=a2GjYzK3pRLiNwXxTqdxKfWKELTg40AJTJXY7vUubgY,3278
|
|
164
|
+
mito_ai/utils/mito_server_utils.py,sha256=bjKCq8I7MS8_5nDdNV-UOfeh3kb4tI0YkyJ93T4U7lE,9367
|
|
165
|
+
mito_ai/utils/open_ai_utils.py,sha256=1mCVIzzW-fIuEIEhowtvCPCrvu5nn5Hxlei64fseocI,6549
|
|
166
|
+
mito_ai/utils/provider_utils.py,sha256=vVoo1lQc83Jnm0dgYf5L9AxfiWrb5HVb5Lno_vDQQyk,1671
|
|
167
|
+
mito_ai/utils/schema.py,sha256=XAgw3GlAynGQDVIqWhKX_8trdlKuFVXatbUT-km_dhM,3106
|
|
168
|
+
mito_ai/utils/server_limits.py,sha256=PAt1WpyaYRwV59UfHkt2IrGUJTF-NnE2PC143HxLJyA,6335
|
|
169
|
+
mito_ai/utils/telemetry_utils.py,sha256=fsBoeGBLrCMMQ_l9AQ5G85KK8NhWB65BG3wTT86ZaRI,17121
|
|
170
|
+
mito_ai/utils/utils.py,sha256=Ygl84xLOh06GIoqvAW4D5ZfUO_ilSEPcpkLPL4bm3Bg,3224
|
|
171
|
+
mito_ai/utils/version_utils.py,sha256=yT1OJZpH7Q1eABR2BfYNV09hJ6xXv_aFJI58ltfpnvk,2409
|
|
172
|
+
mito_ai/utils/websocket_base.py,sha256=O4xjMHYUhxKN_lOKtVEGl3mW8EXkzdPWt1tUtsbiHgM,2941
|
|
173
|
+
mito_ai-0.1.50.data/data/etc/jupyter/jupyter_server_config.d/mito_ai.json,sha256=jnrJTWHAtiNWoD0APwyPSP0v4oXBO9aAqGwzTCq7ij8,82
|
|
174
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/build_log.json,sha256=LFwXj6p0dWc5Wr688AdAFER1JuE9HL5uG336SXOplvc,22932
|
|
175
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/package.json,sha256=whhcioWnKJtgfpBLRAz_bgIetUGKAZiYA2lbre7wcE8,7300
|
|
176
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig,sha256=pX24cJLrIJVXNFJb1nYD5tbEcH9sHQ4CPb6Yp-bdyOE,7158
|
|
177
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json,sha256=ec8DpF_QTgroq8BgLhmo1G2ByPPF-_tCnG3qRVq4qRE,894
|
|
178
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js,sha256=N9sUPPSBZdTepG1ZU6Na8hkW7kd-btpJt2l1dXBI2BA,1332808
|
|
179
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js.map,sha256=Gd2xoLVU-JtrhhdEqsj4OrhxcsHixsgCEc17g92vS9c,1340989
|
|
180
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js,sha256=5YLXH9YrEcyuTYXT9Ko_VJhj-CEJX9J2K9ILSlypLt8,5831
|
|
181
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js.map,sha256=mUU_J-LI5MzCUorOfESVGeaop5hs344g-agqSgEkTak,6760
|
|
182
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js,sha256=wPi9lq-JTO5sZI8I7Os8xrKAd0UGBR6_0O3AJpoGnBw,37712
|
|
183
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js.map,sha256=d1lhZkHiI7iwT1zOBGBMkGl_wX0uybS4cPLR4qLJx2c,36422
|
|
184
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style.js,sha256=ymGkha4YxU1j3e7KeoKfqYpcsPp1u3RRuHzMaiUnOhw,150
|
|
185
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js,sha256=3WQEODsCgCQGEsrSnXaCIb-LlQYJ9k55le76mlBk5xs,33936
|
|
186
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js.map,sha256=Nc8hZfBEyXo3MHs-CN2h5l794OtFsz7ok7L-4qh2H6c,28742
|
|
187
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_apis_signOut_mjs-node_module-75790d.688c25857e7b81b1740f.js,sha256=yetgbLQTWpV9FiAdJhwM5jTWzAsTbqYhOckJCwDGwVw,33226
|
|
188
|
+
mito_ai-0.1.50.data/data/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,sha256=E2rwLG1ARY-9kexmFn88i3ADA-cellPzEZfjZTWegEE,19070
|
|
189
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js,sha256=7qZt4qZgqoFq-T_fNAz0Z8cVPKQOHTCrcdOZFZazA8g,307327
|
|
190
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_auth_dist_esm_providers_cognito_tokenProvider_tokenProvider_-72f1c8.a917210f057fcfe224ad.js.map,sha256=TdWZQcuq4PCOo6dtkZNsG3mfSfQP0HsnFh_3ANvGDNs,244867
|
|
191
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js,sha256=LTdWh-QP_Jfd7B1AD1ctH99ud2vuVy9a_F_Dj9qbLwc,57349
|
|
192
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_dist_esm_index_mjs.6bac1a8c4cc93f15f6b7.js.map,sha256=dBmkthEcsYp8b1aZ-SHek5VkKnfR0gegHxpxNWmQshk,39713
|
|
193
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js,sha256=HFbycQUh9rIqkJ1lWyKcuk5F8OfiB9-Ah_lnxDUdOk8,2858564
|
|
194
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_aws-amplify_ui-react_dist_esm_index_mjs.4fcecd65bef9e9847609.js.map,sha256=5pW1Y1B6SSe6wS4209P-_LQlWDtBS9QsTrhHSVaDm4Y,2274714
|
|
195
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_react-dom_client_js-node_modules_aws-amplify_ui-react_dist_styles_css.b43d4249e4d3dac9ad7b.js,sha256=TXjBjPWd-496FSCl0JcUYIFhxGHByLSu_Po_gb8CasU,743178
|
|
196
|
+
mito_ai-0.1.50.data/data/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,sha256=h9TcYmXGZpSa8_1yKWK20mIn-mvrb4rIGPCaymnr8Mo,855442
|
|
197
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js,sha256=uYUAFa0GVVYcoVvYcw9cvNeF3OdZidQJVIrUE3UtRMQ,84610
|
|
198
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js.map,sha256=C0IxSaFYPj6nwxyvYGf9LLdBTFTKk93pPYEikFa1YQc,87246
|
|
199
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js,sha256=5gfmIE7bAaJYJZdTp5WuyTW6dKdU545i3X4LTSmiEcM,223110
|
|
200
|
+
mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map,sha256=azV-DYUA9Yp99BcesR3Q0DzRIiD64xVRhE4lDbvK3Sg,245869
|
|
201
|
+
mito_ai-0.1.50.dist-info/METADATA,sha256=ogCkvddvinRsP5dlY4S8Qoqj0Qarb7wBrJoIjQUbm2Q,7563
|
|
202
|
+
mito_ai-0.1.50.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
203
|
+
mito_ai-0.1.50.dist-info/entry_points.txt,sha256=OGsjpFBUq1QsuAlA3r2PeZXRwnnIWvzfgVhUqmx4qe4,79
|
|
204
|
+
mito_ai-0.1.50.dist-info/licenses/LICENSE,sha256=O2F2Pp4Q1SmfzgYnl8krdrXZOaEo7Chjhk7OTYuGlDw,115
|
|
205
|
+
mito_ai-0.1.50.dist-info/RECORD,,
|