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.
Files changed (205) hide show
  1. mito_ai/__init__.py +114 -0
  2. mito_ai/_version.py +4 -0
  3. mito_ai/anthropic_client.py +334 -0
  4. mito_ai/app_deploy/__init__.py +6 -0
  5. mito_ai/app_deploy/app_deploy_utils.py +44 -0
  6. mito_ai/app_deploy/handlers.py +345 -0
  7. mito_ai/app_deploy/models.py +98 -0
  8. mito_ai/app_manager/__init__.py +4 -0
  9. mito_ai/app_manager/handlers.py +167 -0
  10. mito_ai/app_manager/models.py +71 -0
  11. mito_ai/app_manager/utils.py +24 -0
  12. mito_ai/auth/README.md +18 -0
  13. mito_ai/auth/__init__.py +6 -0
  14. mito_ai/auth/handlers.py +96 -0
  15. mito_ai/auth/urls.py +13 -0
  16. mito_ai/chat_history/handlers.py +63 -0
  17. mito_ai/chat_history/urls.py +32 -0
  18. mito_ai/completions/completion_handlers/__init__.py +3 -0
  19. mito_ai/completions/completion_handlers/agent_auto_error_fixup_handler.py +59 -0
  20. mito_ai/completions/completion_handlers/agent_execution_handler.py +66 -0
  21. mito_ai/completions/completion_handlers/chat_completion_handler.py +141 -0
  22. mito_ai/completions/completion_handlers/code_explain_handler.py +113 -0
  23. mito_ai/completions/completion_handlers/completion_handler.py +42 -0
  24. mito_ai/completions/completion_handlers/inline_completer_handler.py +48 -0
  25. mito_ai/completions/completion_handlers/smart_debug_handler.py +160 -0
  26. mito_ai/completions/completion_handlers/utils.py +147 -0
  27. mito_ai/completions/handlers.py +415 -0
  28. mito_ai/completions/message_history.py +401 -0
  29. mito_ai/completions/models.py +404 -0
  30. mito_ai/completions/prompt_builders/__init__.py +3 -0
  31. mito_ai/completions/prompt_builders/agent_execution_prompt.py +57 -0
  32. mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py +160 -0
  33. mito_ai/completions/prompt_builders/agent_system_message.py +472 -0
  34. mito_ai/completions/prompt_builders/chat_name_prompt.py +15 -0
  35. mito_ai/completions/prompt_builders/chat_prompt.py +116 -0
  36. mito_ai/completions/prompt_builders/chat_system_message.py +92 -0
  37. mito_ai/completions/prompt_builders/explain_code_prompt.py +32 -0
  38. mito_ai/completions/prompt_builders/inline_completer_prompt.py +197 -0
  39. mito_ai/completions/prompt_builders/prompt_constants.py +170 -0
  40. mito_ai/completions/prompt_builders/smart_debug_prompt.py +199 -0
  41. mito_ai/completions/prompt_builders/utils.py +84 -0
  42. mito_ai/completions/providers.py +284 -0
  43. mito_ai/constants.py +63 -0
  44. mito_ai/db/__init__.py +3 -0
  45. mito_ai/db/crawlers/__init__.py +6 -0
  46. mito_ai/db/crawlers/base_crawler.py +61 -0
  47. mito_ai/db/crawlers/constants.py +43 -0
  48. mito_ai/db/crawlers/snowflake.py +71 -0
  49. mito_ai/db/handlers.py +168 -0
  50. mito_ai/db/models.py +31 -0
  51. mito_ai/db/urls.py +34 -0
  52. mito_ai/db/utils.py +185 -0
  53. mito_ai/docker/mssql/compose.yml +37 -0
  54. mito_ai/docker/mssql/init/setup.sql +21 -0
  55. mito_ai/docker/mysql/compose.yml +18 -0
  56. mito_ai/docker/mysql/init/setup.sql +13 -0
  57. mito_ai/docker/oracle/compose.yml +17 -0
  58. mito_ai/docker/oracle/init/setup.sql +20 -0
  59. mito_ai/docker/postgres/compose.yml +17 -0
  60. mito_ai/docker/postgres/init/setup.sql +13 -0
  61. mito_ai/enterprise/__init__.py +3 -0
  62. mito_ai/enterprise/utils.py +15 -0
  63. mito_ai/file_uploads/__init__.py +3 -0
  64. mito_ai/file_uploads/handlers.py +248 -0
  65. mito_ai/file_uploads/urls.py +21 -0
  66. mito_ai/gemini_client.py +232 -0
  67. mito_ai/log/handlers.py +38 -0
  68. mito_ai/log/urls.py +21 -0
  69. mito_ai/logger.py +37 -0
  70. mito_ai/openai_client.py +382 -0
  71. mito_ai/path_utils.py +70 -0
  72. mito_ai/rules/handlers.py +44 -0
  73. mito_ai/rules/urls.py +22 -0
  74. mito_ai/rules/utils.py +56 -0
  75. mito_ai/settings/handlers.py +41 -0
  76. mito_ai/settings/urls.py +20 -0
  77. mito_ai/settings/utils.py +42 -0
  78. mito_ai/streamlit_conversion/agent_utils.py +37 -0
  79. mito_ai/streamlit_conversion/prompts/prompt_constants.py +172 -0
  80. mito_ai/streamlit_conversion/prompts/prompt_utils.py +10 -0
  81. mito_ai/streamlit_conversion/prompts/streamlit_app_creation_prompt.py +46 -0
  82. mito_ai/streamlit_conversion/prompts/streamlit_error_correction_prompt.py +28 -0
  83. mito_ai/streamlit_conversion/prompts/streamlit_finish_todo_prompt.py +45 -0
  84. mito_ai/streamlit_conversion/prompts/streamlit_system_prompt.py +56 -0
  85. mito_ai/streamlit_conversion/prompts/update_existing_app_prompt.py +50 -0
  86. mito_ai/streamlit_conversion/search_replace_utils.py +94 -0
  87. mito_ai/streamlit_conversion/streamlit_agent_handler.py +144 -0
  88. mito_ai/streamlit_conversion/streamlit_utils.py +85 -0
  89. mito_ai/streamlit_conversion/validate_streamlit_app.py +105 -0
  90. mito_ai/streamlit_preview/__init__.py +6 -0
  91. mito_ai/streamlit_preview/handlers.py +111 -0
  92. mito_ai/streamlit_preview/manager.py +152 -0
  93. mito_ai/streamlit_preview/urls.py +22 -0
  94. mito_ai/streamlit_preview/utils.py +29 -0
  95. mito_ai/tests/__init__.py +3 -0
  96. mito_ai/tests/chat_history/test_chat_history.py +211 -0
  97. mito_ai/tests/completions/completion_handlers_utils_test.py +190 -0
  98. mito_ai/tests/conftest.py +53 -0
  99. mito_ai/tests/create_agent_system_message_prompt_test.py +22 -0
  100. mito_ai/tests/data/prompt_lg.py +69 -0
  101. mito_ai/tests/data/prompt_sm.py +6 -0
  102. mito_ai/tests/data/prompt_xl.py +13 -0
  103. mito_ai/tests/data/stock_data.sqlite3 +0 -0
  104. mito_ai/tests/db/conftest.py +39 -0
  105. mito_ai/tests/db/connections_test.py +102 -0
  106. mito_ai/tests/db/mssql_test.py +29 -0
  107. mito_ai/tests/db/mysql_test.py +29 -0
  108. mito_ai/tests/db/oracle_test.py +29 -0
  109. mito_ai/tests/db/postgres_test.py +29 -0
  110. mito_ai/tests/db/schema_test.py +93 -0
  111. mito_ai/tests/db/sqlite_test.py +31 -0
  112. mito_ai/tests/db/test_db_constants.py +61 -0
  113. mito_ai/tests/deploy_app/test_app_deploy_utils.py +89 -0
  114. mito_ai/tests/file_uploads/__init__.py +2 -0
  115. mito_ai/tests/file_uploads/test_handlers.py +282 -0
  116. mito_ai/tests/message_history/test_generate_short_chat_name.py +120 -0
  117. mito_ai/tests/message_history/test_message_history_utils.py +469 -0
  118. mito_ai/tests/open_ai_utils_test.py +152 -0
  119. mito_ai/tests/performance_test.py +329 -0
  120. mito_ai/tests/providers/test_anthropic_client.py +447 -0
  121. mito_ai/tests/providers/test_azure.py +631 -0
  122. mito_ai/tests/providers/test_capabilities.py +120 -0
  123. mito_ai/tests/providers/test_gemini_client.py +195 -0
  124. mito_ai/tests/providers/test_mito_server_utils.py +448 -0
  125. mito_ai/tests/providers/test_model_resolution.py +130 -0
  126. mito_ai/tests/providers/test_openai_client.py +57 -0
  127. mito_ai/tests/providers/test_provider_completion_exception.py +66 -0
  128. mito_ai/tests/providers/test_provider_limits.py +42 -0
  129. mito_ai/tests/providers/test_providers.py +382 -0
  130. mito_ai/tests/providers/test_retry_logic.py +389 -0
  131. mito_ai/tests/providers/test_stream_mito_server_utils.py +140 -0
  132. mito_ai/tests/providers/utils.py +85 -0
  133. mito_ai/tests/rules/conftest.py +26 -0
  134. mito_ai/tests/rules/rules_test.py +117 -0
  135. mito_ai/tests/server_limits_test.py +406 -0
  136. mito_ai/tests/settings/conftest.py +26 -0
  137. mito_ai/tests/settings/settings_test.py +70 -0
  138. mito_ai/tests/settings/test_settings_constants.py +9 -0
  139. mito_ai/tests/streamlit_conversion/__init__.py +3 -0
  140. mito_ai/tests/streamlit_conversion/test_apply_search_replace.py +240 -0
  141. mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py +246 -0
  142. mito_ai/tests/streamlit_conversion/test_streamlit_utils.py +193 -0
  143. mito_ai/tests/streamlit_conversion/test_validate_streamlit_app.py +112 -0
  144. mito_ai/tests/streamlit_preview/test_streamlit_preview_handler.py +118 -0
  145. mito_ai/tests/streamlit_preview/test_streamlit_preview_manager.py +292 -0
  146. mito_ai/tests/test_constants.py +47 -0
  147. mito_ai/tests/test_telemetry.py +12 -0
  148. mito_ai/tests/user/__init__.py +2 -0
  149. mito_ai/tests/user/test_user.py +120 -0
  150. mito_ai/tests/utils/__init__.py +3 -0
  151. mito_ai/tests/utils/test_anthropic_utils.py +162 -0
  152. mito_ai/tests/utils/test_gemini_utils.py +98 -0
  153. mito_ai/tests/version_check_test.py +169 -0
  154. mito_ai/user/handlers.py +45 -0
  155. mito_ai/user/urls.py +21 -0
  156. mito_ai/utils/__init__.py +3 -0
  157. mito_ai/utils/anthropic_utils.py +168 -0
  158. mito_ai/utils/create.py +94 -0
  159. mito_ai/utils/db.py +74 -0
  160. mito_ai/utils/error_classes.py +42 -0
  161. mito_ai/utils/gemini_utils.py +133 -0
  162. mito_ai/utils/message_history_utils.py +87 -0
  163. mito_ai/utils/mito_server_utils.py +242 -0
  164. mito_ai/utils/open_ai_utils.py +200 -0
  165. mito_ai/utils/provider_utils.py +49 -0
  166. mito_ai/utils/schema.py +86 -0
  167. mito_ai/utils/server_limits.py +152 -0
  168. mito_ai/utils/telemetry_utils.py +480 -0
  169. mito_ai/utils/utils.py +89 -0
  170. mito_ai/utils/version_utils.py +94 -0
  171. mito_ai/utils/websocket_base.py +88 -0
  172. mito_ai/version_check.py +60 -0
  173. mito_ai-0.1.50.data/data/etc/jupyter/jupyter_server_config.d/mito_ai.json +7 -0
  174. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/build_log.json +728 -0
  175. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/package.json +243 -0
  176. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig +238 -0
  177. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json +37 -0
  178. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js +21602 -0
  179. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.8f1845da6bf2b128c049.js.map +1 -0
  180. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js +198 -0
  181. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/node_modules_process_browser_js.4b128e94d31a81ebd209.js.map +1 -0
  182. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js +619 -0
  183. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.78d3ccb73e7ca1da3aae.js.map +1 -0
  184. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style.js +4 -0
  185. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js +712 -0
  186. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js.map +1 -0
  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 +533 -0
  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 +1 -0
  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 +6941 -0
  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 +1 -0
  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 +1021 -0
  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 +1 -0
  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 +59698 -0
  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 +1 -0
  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 +7440 -0
  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 +1 -0
  197. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js +2792 -0
  198. mito_ai-0.1.50.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.3f6754ac5116d47de76b.js.map +1 -0
  199. 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
  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 +1 -0
  201. mito_ai-0.1.50.dist-info/METADATA +221 -0
  202. mito_ai-0.1.50.dist-info/RECORD +205 -0
  203. mito_ai-0.1.50.dist-info/WHEEL +4 -0
  204. mito_ai-0.1.50.dist-info/entry_points.txt +2 -0
  205. mito_ai-0.1.50.dist-info/licenses/LICENSE +3 -0
@@ -0,0 +1,243 @@
1
+ {
2
+ "name": "mito_ai",
3
+ "version": "0.1.50",
4
+ "description": "AI chat for JupyterLab",
5
+ "keywords": [
6
+ "jupyter",
7
+ "jupyterlab",
8
+ "jupyterlab-extension"
9
+ ],
10
+ "homepage": "https://trymito.io",
11
+ "bugs": {
12
+ "url": "https://github.com/mito-ds/monorepo/issues"
13
+ },
14
+ "repository": {
15
+ "url": "https://github.com/mito-ds/monorepo",
16
+ "type": "git"
17
+ },
18
+ "license": "AGPL-3.0-only",
19
+ "author": {
20
+ "name": "Aaron Diamond-Reivich",
21
+ "email": "aaron@sagacollab.com"
22
+ },
23
+ "files": [
24
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
25
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
26
+ "src/**/*.{ts,tsx}",
27
+ "schema/*.json"
28
+ ],
29
+ "main": "lib/index.js",
30
+ "types": "lib/index.d.ts",
31
+ "style": "style/index.css",
32
+ "scripts": {
33
+ "build": "jlpm build:lib && jlpm build:labextension:dev",
34
+ "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
35
+ "build:labextension": "jupyter labextension build .",
36
+ "build:labextension:dev": "jupyter labextension build --development True .",
37
+ "build:lib": "rm -rf buildcache && npx tsc --sourceMap",
38
+ "build:lib:prod": "rm -rf buildcache && npx tsc",
39
+ "clean": "jlpm clean:lib",
40
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
41
+ "clean:lintcache": "rimraf .eslintcache .stylelintcache",
42
+ "clean:labextension": "rimraf mito_ai/labextension mito_ai/_version.py",
43
+ "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
+ "eslint": "jlpm eslint:check --fix",
45
+ "eslint:check": "npx eslint . --cache --ext .ts,.tsx",
46
+ "install:extension": "jlpm build",
47
+ "lint": "jlpm eslint",
48
+ "lint:check": "jlpm eslint:check",
49
+ "prettier": "jlpm prettier:base --write --list-different",
50
+ "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
51
+ "prettier:check": "jlpm prettier:base --check",
52
+ "stylelint": "jlpm stylelint:check --fix",
53
+ "stylelint:check": "stylelint --cache \"style/**/*.css\"",
54
+ "test": "npx jest --coverage",
55
+ "watch": "run-p watch:src watch:labextension",
56
+ "watch:src": "npx tsc -w",
57
+ "watch:labextension": "jupyter labextension watch ."
58
+ },
59
+ "dependencies": {
60
+ "@aws-amplify/ui-react": "^6.0.0",
61
+ "@codemirror/state": "^6.2.0",
62
+ "@codemirror/view": "^6.9.6",
63
+ "@jupyterlab/application": "^4.1.0",
64
+ "@jupyterlab/apputils": "^4.2.0",
65
+ "@jupyterlab/cells": "^4.1.0",
66
+ "@jupyterlab/codeeditor": "^4.1.0",
67
+ "@jupyterlab/codemirror": "^4.1.0",
68
+ "@jupyterlab/completer": "^4.1.0",
69
+ "@jupyterlab/coreutils": "^6.1.0",
70
+ "@jupyterlab/docregistry": "^4.1.0",
71
+ "@jupyterlab/notebook": "^4.1.0",
72
+ "@jupyterlab/services": "^7.1.0",
73
+ "@jupyterlab/settingregistry": "^4.1.0",
74
+ "@jupyterlab/statusbar": "^4.1.0",
75
+ "@jupyterlab/ui-components": "^4.1.0",
76
+ "@lumino/commands": "^2.0.0",
77
+ "@lumino/coreutils": "^2.0.0",
78
+ "@lumino/disposable": "^2.0.0",
79
+ "@lumino/signaling": "^2.0.0",
80
+ "@lumino/widgets": "^2.3.0",
81
+ "@types/react": "^18.0.26",
82
+ "@types/react-dom": "^18.0.10",
83
+ "aws-amplify": "^6.0.0",
84
+ "html2canvas": "^1.4.1",
85
+ "openai": "^4.1.0",
86
+ "react": "^18.0.0",
87
+ "react-dom": "^18.0.0",
88
+ "semver": "^7.7.2",
89
+ "vscode-diff": "^2.1.1"
90
+ },
91
+ "devDependencies": {
92
+ "@babel/core": "^7.26.9",
93
+ "@babel/preset-env": "^7.26.9",
94
+ "@babel/preset-react": "^7.26.3",
95
+ "@babel/preset-typescript": "^7.26.0",
96
+ "@jupyterlab/builder": "^4.1.0",
97
+ "@jupyterlab/testutils": "^4.1.0",
98
+ "@testing-library/dom": "^10.4.0",
99
+ "@testing-library/jest-dom": "^6.6.3",
100
+ "@testing-library/react": "^16.2.0",
101
+ "@types/jest": "^29.5.14",
102
+ "@types/json-schema": "^7.0.11",
103
+ "@types/react": "^18.0.26",
104
+ "@types/react-addons-linked-state-mixin": "^0.14.22",
105
+ "@types/semver": "^7.7.0",
106
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
107
+ "@typescript-eslint/parser": "^6.1.0",
108
+ "babel-jest": "^29.7.0",
109
+ "css-loader": "^6.7.1",
110
+ "eslint": "^8.56.0",
111
+ "eslint-config-prettier": "^8.8.0",
112
+ "eslint-plugin-prettier": "^5.0.0",
113
+ "eslint-plugin-react": "^7.37.4",
114
+ "eslint-plugin-react-hooks": "^5.2.0",
115
+ "jest": "^29.7.0",
116
+ "npm-run-all": "^4.1.5",
117
+ "prettier": "^3.0.0",
118
+ "rimraf": "^5.0.1",
119
+ "source-map-loader": "^1.0.2",
120
+ "style-loader": "^3.3.1",
121
+ "stylelint": "^15.10.1",
122
+ "stylelint-config-recommended": "^13.0.0",
123
+ "stylelint-config-standard": "^34.0.0",
124
+ "stylelint-csstree-validator": "^3.0.0",
125
+ "stylelint-prettier": "^4.0.0",
126
+ "ts-jest": "^29.2.5",
127
+ "typescript": "~5.0.2",
128
+ "yjs": "^13.5.0"
129
+ },
130
+ "sideEffects": [
131
+ "style/*.css",
132
+ "style/index.js"
133
+ ],
134
+ "styleModule": "style/index.js",
135
+ "publishConfig": {
136
+ "access": "public"
137
+ },
138
+ "jupyterlab": {
139
+ "extension": true,
140
+ "outputDir": "mito_ai/labextension",
141
+ "schemaDir": "schema",
142
+ "_build": {
143
+ "load": "static/remoteEntry.78d3ccb73e7ca1da3aae.js",
144
+ "extension": "./extension",
145
+ "style": "./style"
146
+ }
147
+ },
148
+ "eslintIgnore": [
149
+ "node_modules",
150
+ "dist",
151
+ "coverage",
152
+ "**/*.d.ts",
153
+ "tests",
154
+ "**/__tests__",
155
+ "ui-tests"
156
+ ],
157
+ "eslintConfig": {
158
+ "extends": [
159
+ "eslint:recommended",
160
+ "plugin:@typescript-eslint/eslint-recommended",
161
+ "plugin:@typescript-eslint/recommended",
162
+ "plugin:prettier/recommended"
163
+ ],
164
+ "parser": "@typescript-eslint/parser",
165
+ "parserOptions": {
166
+ "project": "tsconfig.json",
167
+ "sourceType": "module"
168
+ },
169
+ "plugins": [
170
+ "@typescript-eslint"
171
+ ],
172
+ "rules": {
173
+ "@typescript-eslint/naming-convention": [
174
+ "error",
175
+ {
176
+ "selector": "interface",
177
+ "format": [
178
+ "PascalCase"
179
+ ],
180
+ "custom": {
181
+ "regex": "^I[A-Z]",
182
+ "match": true
183
+ }
184
+ }
185
+ ],
186
+ "@typescript-eslint/no-unused-vars": [
187
+ "warn",
188
+ {
189
+ "args": "none"
190
+ }
191
+ ],
192
+ "@typescript-eslint/no-explicit-any": "off",
193
+ "@typescript-eslint/no-namespace": "off",
194
+ "@typescript-eslint/no-use-before-define": "off",
195
+ "@typescript-eslint/quotes": [
196
+ "error",
197
+ "single",
198
+ {
199
+ "avoidEscape": true,
200
+ "allowTemplateLiterals": false
201
+ }
202
+ ],
203
+ "curly": [
204
+ "error",
205
+ "all"
206
+ ],
207
+ "eqeqeq": "error",
208
+ "prefer-arrow-callback": "error"
209
+ }
210
+ },
211
+ "prettier": {
212
+ "singleQuote": true,
213
+ "trailingComma": "none",
214
+ "arrowParens": "avoid",
215
+ "endOfLine": "auto",
216
+ "overrides": [
217
+ {
218
+ "files": "package.json",
219
+ "options": {
220
+ "tabWidth": 4
221
+ }
222
+ }
223
+ ]
224
+ },
225
+ "stylelint": {
226
+ "extends": [
227
+ "stylelint-config-recommended",
228
+ "stylelint-config-standard",
229
+ "stylelint-prettier/recommended"
230
+ ],
231
+ "plugins": [
232
+ "stylelint-csstree-validator"
233
+ ],
234
+ "rules": {
235
+ "csstree/validator": true,
236
+ "property-no-vendor-prefix": null,
237
+ "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
238
+ "selector-no-vendor-prefix": null,
239
+ "value-no-vendor-prefix": null
240
+ }
241
+ },
242
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
243
+ }
@@ -0,0 +1,238 @@
1
+ {
2
+ "name": "mito_ai",
3
+ "version": "0.1.50",
4
+ "description": "AI chat for JupyterLab",
5
+ "keywords": [
6
+ "jupyter",
7
+ "jupyterlab",
8
+ "jupyterlab-extension"
9
+ ],
10
+ "homepage": "https://trymito.io",
11
+ "bugs": {
12
+ "url": "https://github.com/mito-ds/monorepo/issues"
13
+ },
14
+ "repository": {
15
+ "url": "https://github.com/mito-ds/monorepo",
16
+ "type": "git"
17
+ },
18
+ "license": "AGPL-3.0-only",
19
+ "author": {
20
+ "name": "Aaron Diamond-Reivich",
21
+ "email": "aaron@sagacollab.com"
22
+ },
23
+ "files": [
24
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
25
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
26
+ "src/**/*.{ts,tsx}",
27
+ "schema/*.json"
28
+ ],
29
+ "main": "lib/index.js",
30
+ "types": "lib/index.d.ts",
31
+ "style": "style/index.css",
32
+ "scripts": {
33
+ "build": "jlpm build:lib && jlpm build:labextension:dev",
34
+ "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
35
+ "build:labextension": "jupyter labextension build .",
36
+ "build:labextension:dev": "jupyter labextension build --development True .",
37
+ "build:lib": "rm -rf buildcache && npx tsc --sourceMap",
38
+ "build:lib:prod": "rm -rf buildcache && npx tsc",
39
+ "clean": "jlpm clean:lib",
40
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
41
+ "clean:lintcache": "rimraf .eslintcache .stylelintcache",
42
+ "clean:labextension": "rimraf mito_ai/labextension mito_ai/_version.py",
43
+ "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
+ "eslint": "jlpm eslint:check --fix",
45
+ "eslint:check": "npx eslint . --cache --ext .ts,.tsx",
46
+ "install:extension": "jlpm build",
47
+ "lint": "jlpm eslint",
48
+ "lint:check": "jlpm eslint:check",
49
+ "prettier": "jlpm prettier:base --write --list-different",
50
+ "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
51
+ "prettier:check": "jlpm prettier:base --check",
52
+ "stylelint": "jlpm stylelint:check --fix",
53
+ "stylelint:check": "stylelint --cache \"style/**/*.css\"",
54
+ "test": "npx jest --coverage",
55
+ "watch": "run-p watch:src watch:labextension",
56
+ "watch:src": "npx tsc -w",
57
+ "watch:labextension": "jupyter labextension watch ."
58
+ },
59
+ "dependencies": {
60
+ "@aws-amplify/ui-react": "^6.0.0",
61
+ "@codemirror/state": "^6.2.0",
62
+ "@codemirror/view": "^6.9.6",
63
+ "@jupyterlab/application": "^4.1.0",
64
+ "@jupyterlab/apputils": "^4.2.0",
65
+ "@jupyterlab/cells": "^4.1.0",
66
+ "@jupyterlab/codeeditor": "^4.1.0",
67
+ "@jupyterlab/codemirror": "^4.1.0",
68
+ "@jupyterlab/completer": "^4.1.0",
69
+ "@jupyterlab/coreutils": "^6.1.0",
70
+ "@jupyterlab/docregistry": "^4.1.0",
71
+ "@jupyterlab/notebook": "^4.1.0",
72
+ "@jupyterlab/services": "^7.1.0",
73
+ "@jupyterlab/settingregistry": "^4.1.0",
74
+ "@jupyterlab/statusbar": "^4.1.0",
75
+ "@jupyterlab/ui-components": "^4.1.0",
76
+ "@lumino/commands": "^2.0.0",
77
+ "@lumino/coreutils": "^2.0.0",
78
+ "@lumino/disposable": "^2.0.0",
79
+ "@lumino/signaling": "^2.0.0",
80
+ "@lumino/widgets": "^2.3.0",
81
+ "@types/react": "^18.0.26",
82
+ "@types/react-dom": "^18.0.10",
83
+ "aws-amplify": "^6.0.0",
84
+ "html2canvas": "^1.4.1",
85
+ "openai": "^4.1.0",
86
+ "react": "^18.0.0",
87
+ "react-dom": "^18.0.0",
88
+ "semver": "^7.7.2",
89
+ "vscode-diff": "^2.1.1"
90
+ },
91
+ "devDependencies": {
92
+ "@babel/core": "^7.26.9",
93
+ "@babel/preset-env": "^7.26.9",
94
+ "@babel/preset-react": "^7.26.3",
95
+ "@babel/preset-typescript": "^7.26.0",
96
+ "@jupyterlab/builder": "^4.1.0",
97
+ "@jupyterlab/testutils": "^4.1.0",
98
+ "@testing-library/dom": "^10.4.0",
99
+ "@testing-library/jest-dom": "^6.6.3",
100
+ "@testing-library/react": "^16.2.0",
101
+ "@types/jest": "^29.5.14",
102
+ "@types/json-schema": "^7.0.11",
103
+ "@types/react": "^18.0.26",
104
+ "@types/react-addons-linked-state-mixin": "^0.14.22",
105
+ "@types/semver": "^7.7.0",
106
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
107
+ "@typescript-eslint/parser": "^6.1.0",
108
+ "babel-jest": "^29.7.0",
109
+ "css-loader": "^6.7.1",
110
+ "eslint": "^8.56.0",
111
+ "eslint-config-prettier": "^8.8.0",
112
+ "eslint-plugin-prettier": "^5.0.0",
113
+ "eslint-plugin-react": "^7.37.4",
114
+ "eslint-plugin-react-hooks": "^5.2.0",
115
+ "jest": "^29.7.0",
116
+ "npm-run-all": "^4.1.5",
117
+ "prettier": "^3.0.0",
118
+ "rimraf": "^5.0.1",
119
+ "source-map-loader": "^1.0.2",
120
+ "style-loader": "^3.3.1",
121
+ "stylelint": "^15.10.1",
122
+ "stylelint-config-recommended": "^13.0.0",
123
+ "stylelint-config-standard": "^34.0.0",
124
+ "stylelint-csstree-validator": "^3.0.0",
125
+ "stylelint-prettier": "^4.0.0",
126
+ "ts-jest": "^29.2.5",
127
+ "typescript": "~5.0.2",
128
+ "yjs": "^13.5.0"
129
+ },
130
+ "sideEffects": [
131
+ "style/*.css",
132
+ "style/index.js"
133
+ ],
134
+ "styleModule": "style/index.js",
135
+ "publishConfig": {
136
+ "access": "public"
137
+ },
138
+ "jupyterlab": {
139
+ "extension": true,
140
+ "outputDir": "mito_ai/labextension",
141
+ "schemaDir": "schema"
142
+ },
143
+ "eslintIgnore": [
144
+ "node_modules",
145
+ "dist",
146
+ "coverage",
147
+ "**/*.d.ts",
148
+ "tests",
149
+ "**/__tests__",
150
+ "ui-tests"
151
+ ],
152
+ "eslintConfig": {
153
+ "extends": [
154
+ "eslint:recommended",
155
+ "plugin:@typescript-eslint/eslint-recommended",
156
+ "plugin:@typescript-eslint/recommended",
157
+ "plugin:prettier/recommended"
158
+ ],
159
+ "parser": "@typescript-eslint/parser",
160
+ "parserOptions": {
161
+ "project": "tsconfig.json",
162
+ "sourceType": "module"
163
+ },
164
+ "plugins": [
165
+ "@typescript-eslint"
166
+ ],
167
+ "rules": {
168
+ "@typescript-eslint/naming-convention": [
169
+ "error",
170
+ {
171
+ "selector": "interface",
172
+ "format": [
173
+ "PascalCase"
174
+ ],
175
+ "custom": {
176
+ "regex": "^I[A-Z]",
177
+ "match": true
178
+ }
179
+ }
180
+ ],
181
+ "@typescript-eslint/no-unused-vars": [
182
+ "warn",
183
+ {
184
+ "args": "none"
185
+ }
186
+ ],
187
+ "@typescript-eslint/no-explicit-any": "off",
188
+ "@typescript-eslint/no-namespace": "off",
189
+ "@typescript-eslint/no-use-before-define": "off",
190
+ "@typescript-eslint/quotes": [
191
+ "error",
192
+ "single",
193
+ {
194
+ "avoidEscape": true,
195
+ "allowTemplateLiterals": false
196
+ }
197
+ ],
198
+ "curly": [
199
+ "error",
200
+ "all"
201
+ ],
202
+ "eqeqeq": "error",
203
+ "prefer-arrow-callback": "error"
204
+ }
205
+ },
206
+ "prettier": {
207
+ "singleQuote": true,
208
+ "trailingComma": "none",
209
+ "arrowParens": "avoid",
210
+ "endOfLine": "auto",
211
+ "overrides": [
212
+ {
213
+ "files": "package.json",
214
+ "options": {
215
+ "tabWidth": 4
216
+ }
217
+ }
218
+ ]
219
+ },
220
+ "stylelint": {
221
+ "extends": [
222
+ "stylelint-config-recommended",
223
+ "stylelint-config-standard",
224
+ "stylelint-prettier/recommended"
225
+ ],
226
+ "plugins": [
227
+ "stylelint-csstree-validator"
228
+ ],
229
+ "rules": {
230
+ "csstree/validator": true,
231
+ "property-no-vendor-prefix": null,
232
+ "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
233
+ "selector-no-vendor-prefix": null,
234
+ "value-no-vendor-prefix": null
235
+ }
236
+ },
237
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
238
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "jupyter.lab.shortcuts": [],
3
+ "title": "mito_ai",
4
+ "description": "mito-ai settings.",
5
+ "type": "object",
6
+ "properties": {},
7
+ "additionalProperties": false,
8
+ "jupyter.lab.toolbars": {
9
+ "Cell": [
10
+ {
11
+ "name": "explain-code",
12
+ "command": "toolbar-button:explain-code"
13
+ },
14
+ {
15
+ "name": "toggle-include-cell-in-app",
16
+ "command": "toolbar-button:toggle-include-cell-in-app"
17
+ },
18
+ {
19
+ "name": "accept-code",
20
+ "command": "toolbar-button:accept-code",
21
+ "rank": 1
22
+ },
23
+ {
24
+ "name": "reject-code",
25
+ "command": "toolbar-button:reject-code",
26
+ "rank": 2
27
+ }
28
+ ],
29
+ "Notebook": [
30
+ {
31
+ "name": "preview-app",
32
+ "command": "toolbar-button:preview-as-streamlit",
33
+ "rank": 1000
34
+ }
35
+ ]
36
+ }
37
+ }