mito-ai 0.1.35__py3-none-any.whl → 0.1.37__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mito-ai might be problematic. Click here for more details.

Files changed (54) hide show
  1. mito_ai/__init__.py +6 -4
  2. mito_ai/_version.py +1 -1
  3. mito_ai/anthropic_client.py +3 -10
  4. mito_ai/app_builder/handlers.py +89 -11
  5. mito_ai/app_builder/models.py +3 -0
  6. mito_ai/auth/README.md +18 -0
  7. mito_ai/auth/__init__.py +6 -0
  8. mito_ai/auth/handlers.py +96 -0
  9. mito_ai/auth/urls.py +13 -0
  10. mito_ai/completions/completion_handlers/chat_completion_handler.py +2 -2
  11. mito_ai/completions/models.py +7 -6
  12. mito_ai/completions/prompt_builders/agent_execution_prompt.py +8 -3
  13. mito_ai/completions/prompt_builders/agent_system_message.py +21 -7
  14. mito_ai/completions/prompt_builders/chat_prompt.py +18 -11
  15. mito_ai/completions/prompt_builders/utils.py +53 -10
  16. mito_ai/constants.py +11 -1
  17. mito_ai/streamlit_conversion/streamlit_agent_handler.py +112 -0
  18. mito_ai/streamlit_conversion/streamlit_system_prompt.py +42 -0
  19. mito_ai/streamlit_conversion/streamlit_utils.py +96 -0
  20. mito_ai/streamlit_conversion/validate_and_run_streamlit_code.py +207 -0
  21. mito_ai/tests/providers/test_stream_mito_server_utils.py +140 -0
  22. mito_ai/tests/streamlit_conversion/__init__.py +3 -0
  23. mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py +265 -0
  24. mito_ai/tests/streamlit_conversion/test_streamlit_utils.py +197 -0
  25. mito_ai/tests/streamlit_conversion/test_validate_and_run_streamlit_code.py +418 -0
  26. mito_ai/tests/test_constants.py +18 -3
  27. mito_ai/utils/anthropic_utils.py +18 -70
  28. mito_ai/utils/gemini_utils.py +22 -73
  29. mito_ai/utils/mito_server_utils.py +147 -4
  30. mito_ai/utils/open_ai_utils.py +18 -107
  31. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/build_log.json +100 -100
  32. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/package.json +2 -2
  33. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig +1 -1
  34. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.a20772bc113422d0f505.js → mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.831f63b48760c7119b9b.js +1165 -539
  35. mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.831f63b48760c7119b9b.js.map +1 -0
  36. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.d2eea6519fa332d79efb.js → mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.93ecc9bc0edba61535cc.js +18 -14
  37. mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.93ecc9bc0edba61535cc.js.map +1 -0
  38. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.76efcc5c3be4056457ee.js → mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js +6 -2
  39. mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js.map +1 -0
  40. {mito_ai-0.1.35.dist-info → mito_ai-0.1.37.dist-info}/METADATA +1 -1
  41. {mito_ai-0.1.35.dist-info → mito_ai-0.1.37.dist-info}/RECORD +51 -38
  42. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.a20772bc113422d0f505.js.map +0 -1
  43. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.d2eea6519fa332d79efb.js.map +0 -1
  44. mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.76efcc5c3be4056457ee.js.map +0 -1
  45. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/etc/jupyter/jupyter_server_config.d/mito_ai.json +0 -0
  46. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json +0 -0
  47. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/static/style.js +0 -0
  48. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js +0 -0
  49. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js.map +0 -0
  50. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js +0 -0
  51. {mito_ai-0.1.35.data → mito_ai-0.1.37.data}/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map +0 -0
  52. {mito_ai-0.1.35.dist-info → mito_ai-0.1.37.dist-info}/WHEEL +0 -0
  53. {mito_ai-0.1.35.dist-info → mito_ai-0.1.37.dist-info}/entry_points.txt +0 -0
  54. {mito_ai-0.1.35.dist-info → mito_ai-0.1.37.dist-info}/licenses/LICENSE +0 -0
@@ -124,7 +124,7 @@ __webpack_require__.d(exports, {
124
124
  /******/ // This function allow to reference async chunks
125
125
  /******/ __webpack_require__.u = (chunkId) => {
126
126
  /******/ // return url for filenames based on template
127
- /******/ return "" + chunkId + "." + {"lib_index_js":"a20772bc113422d0f505","style_index_js":"76efcc5c3be4056457ee","vendors-node_modules_semver_index_js":"9795f79265ddb416864b","vendors-node_modules_vscode-diff_dist_index_js":"ea55f1f9346638aafbcf"}[chunkId] + ".js";
127
+ /******/ return "" + chunkId + "." + {"lib_index_js":"831f63b48760c7119b9b","style_index_js":"5876024bb17dbd6a3ee6","vendors-node_modules_semver_index_js":"9795f79265ddb416864b","vendors-node_modules_vscode-diff_dist_index_js":"ea55f1f9346638aafbcf"}[chunkId] + ".js";
128
128
  /******/ };
129
129
  /******/ })();
130
130
  /******/
@@ -243,7 +243,7 @@ __webpack_require__.d(exports, {
243
243
  /******/ var promises = [];
244
244
  /******/ switch(name) {
245
245
  /******/ case "default": {
246
- /******/ register("mito_ai", "0.1.35", () => (__webpack_require__.e("lib_index_js").then(() => (() => (__webpack_require__(/*! ./lib/index.js */ "./lib/index.js"))))));
246
+ /******/ register("mito_ai", "0.1.37", () => (__webpack_require__.e("lib_index_js").then(() => (() => (__webpack_require__(/*! ./lib/index.js */ "./lib/index.js"))))));
247
247
  /******/ register("semver", "7.7.2", () => (__webpack_require__.e("vendors-node_modules_semver_index_js").then(() => (() => (__webpack_require__(/*! ./node_modules/semver/index.js */ "./node_modules/semver/index.js"))))));
248
248
  /******/ register("vscode-diff", "2.1.1", () => (__webpack_require__.e("vendors-node_modules_vscode-diff_dist_index_js").then(() => (() => (__webpack_require__(/*! ./node_modules/vscode-diff/dist/index.js */ "./node_modules/vscode-diff/dist/index.js"))))));
249
249
  /******/ }
@@ -402,26 +402,28 @@ __webpack_require__.d(exports, {
402
402
  /******/ });
403
403
  /******/ var installedModules = {};
404
404
  /******/ var moduleToHandlerMapping = {
405
- /******/ "webpack/sharing/consume/default/@jupyterlab/application": () => (loadSingletonVersion("default", "@jupyterlab/application", false, [1,4,4,4])),
406
- /******/ "webpack/sharing/consume/default/@jupyterlab/apputils": () => (loadSingletonVersion("default", "@jupyterlab/apputils", false, [1,4,5,4])),
407
- /******/ "webpack/sharing/consume/default/@jupyterlab/notebook": () => (loadSingletonVersion("default", "@jupyterlab/notebook", false, [1,4,4,4])),
405
+ /******/ "webpack/sharing/consume/default/@jupyterlab/application": () => (loadSingletonVersion("default", "@jupyterlab/application", false, [1,4,4,5])),
406
+ /******/ "webpack/sharing/consume/default/@jupyterlab/apputils": () => (loadSingletonVersion("default", "@jupyterlab/apputils", false, [1,4,5,5])),
407
+ /******/ "webpack/sharing/consume/default/@jupyterlab/notebook": () => (loadSingletonVersion("default", "@jupyterlab/notebook", false, [1,4,4,5])),
408
408
  /******/ "webpack/sharing/consume/default/react": () => (loadSingletonVersion("default", "react", false, [1,18,2,0])),
409
409
  /******/ "webpack/sharing/consume/default/@codemirror/state": () => (loadSingletonVersion("default", "@codemirror/state", false, [1,6,2,0])),
410
- /******/ "webpack/sharing/consume/default/@jupyterlab/ui-components": () => (loadSingletonVersion("default", "@jupyterlab/ui-components", false, [1,4,4,4])),
410
+ /******/ "webpack/sharing/consume/default/@jupyterlab/ui-components": () => (loadSingletonVersion("default", "@jupyterlab/ui-components", false, [1,4,4,5])),
411
411
  /******/ "webpack/sharing/consume/default/@lumino/coreutils": () => (loadSingletonVersion("default", "@lumino/coreutils", false, [1,2,0,0])),
412
- /******/ "webpack/sharing/consume/default/@jupyterlab/rendermime": () => (loadSingletonVersion("default", "@jupyterlab/rendermime", false, [1,4,4,4])),
413
- /******/ "webpack/sharing/consume/default/@jupyterlab/cells": () => (loadVersion("default", "@jupyterlab/cells", false, [1,4,4,4])),
412
+ /******/ "webpack/sharing/consume/default/@jupyterlab/rendermime": () => (loadSingletonVersion("default", "@jupyterlab/rendermime", false, [1,4,4,5])),
413
+ /******/ "webpack/sharing/consume/default/@jupyterlab/cells": () => (loadVersion("default", "@jupyterlab/cells", false, [1,4,4,5])),
414
414
  /******/ "webpack/sharing/consume/default/vscode-diff/vscode-diff": () => (loadStrictVersion("default", "vscode-diff", false, [1,2,1,1], () => (__webpack_require__.e("vendors-node_modules_vscode-diff_dist_index_js").then(() => (() => (__webpack_require__(/*! vscode-diff */ "./node_modules/vscode-diff/dist/index.js"))))))),
415
- /******/ "webpack/sharing/consume/default/@jupyterlab/coreutils": () => (loadSingletonVersion("default", "@jupyterlab/coreutils", false, [1,6,4,4])),
416
- /******/ "webpack/sharing/consume/default/@jupyterlab/services": () => (loadSingletonVersion("default", "@jupyterlab/services", false, [1,7,4,4])),
415
+ /******/ "webpack/sharing/consume/default/@jupyterlab/coreutils": () => (loadSingletonVersion("default", "@jupyterlab/coreutils", false, [1,6,4,5])),
416
+ /******/ "webpack/sharing/consume/default/@jupyterlab/services": () => (loadSingletonVersion("default", "@jupyterlab/services", false, [1,7,4,5])),
417
417
  /******/ "webpack/sharing/consume/default/@codemirror/view": () => (loadSingletonVersion("default", "@codemirror/view", false, [1,6,9,6])),
418
418
  /******/ "webpack/sharing/consume/default/react-dom": () => (loadSingletonVersion("default", "react-dom", false, [1,18,2,0])),
419
419
  /******/ "webpack/sharing/consume/default/@lumino/signaling": () => (loadSingletonVersion("default", "@lumino/signaling", false, [1,2,0,0])),
420
+ /******/ "webpack/sharing/consume/default/@jupyterlab/settingregistry": () => (loadSingletonVersion("default", "@jupyterlab/settingregistry", false, [1,4,4,5])),
421
+ /******/ "webpack/sharing/consume/default/@jupyterlab/docmanager": () => (loadSingletonVersion("default", "@jupyterlab/docmanager", false, [1,4,4,5])),
420
422
  /******/ "webpack/sharing/consume/default/@lumino/widgets": () => (loadSingletonVersion("default", "@lumino/widgets", false, [1,2,3,1,,"alpha",0])),
421
- /******/ "webpack/sharing/consume/default/@jupyterlab/codeeditor": () => (loadSingletonVersion("default", "@jupyterlab/codeeditor", false, [1,4,4,4])),
422
- /******/ "webpack/sharing/consume/default/@jupyterlab/codemirror": () => (loadSingletonVersion("default", "@jupyterlab/codemirror", false, [1,4,4,4])),
423
+ /******/ "webpack/sharing/consume/default/@jupyterlab/codeeditor": () => (loadSingletonVersion("default", "@jupyterlab/codeeditor", false, [1,4,4,5])),
424
+ /******/ "webpack/sharing/consume/default/@jupyterlab/codemirror": () => (loadSingletonVersion("default", "@jupyterlab/codemirror", false, [1,4,4,5])),
423
425
  /******/ "webpack/sharing/consume/default/@lumino/commands": () => (loadSingletonVersion("default", "@lumino/commands", false, [1,2,0,1])),
424
- /******/ "webpack/sharing/consume/default/@jupyterlab/statusbar": () => (loadSingletonVersion("default", "@jupyterlab/statusbar", false, [1,4,4,4])),
426
+ /******/ "webpack/sharing/consume/default/@jupyterlab/statusbar": () => (loadSingletonVersion("default", "@jupyterlab/statusbar", false, [1,4,4,5])),
425
427
  /******/ "webpack/sharing/consume/default/semver/semver": () => (loadStrictVersion("default", "semver", false, [1,7,7,2], () => (__webpack_require__.e("vendors-node_modules_semver_index_js").then(() => (() => (__webpack_require__(/*! semver */ "./node_modules/semver/index.js")))))))
426
428
  /******/ };
427
429
  /******/ // no consumes in initial chunks
@@ -442,6 +444,8 @@ __webpack_require__.d(exports, {
442
444
  /******/ "webpack/sharing/consume/default/@codemirror/view",
443
445
  /******/ "webpack/sharing/consume/default/react-dom",
444
446
  /******/ "webpack/sharing/consume/default/@lumino/signaling",
447
+ /******/ "webpack/sharing/consume/default/@jupyterlab/settingregistry",
448
+ /******/ "webpack/sharing/consume/default/@jupyterlab/docmanager",
445
449
  /******/ "webpack/sharing/consume/default/@lumino/widgets",
446
450
  /******/ "webpack/sharing/consume/default/@jupyterlab/codeeditor",
447
451
  /******/ "webpack/sharing/consume/default/@jupyterlab/codemirror",
@@ -588,4 +592,4 @@ __webpack_require__.d(exports, {
588
592
  /******/
589
593
  /******/ })()
590
594
  ;
591
- //# sourceMappingURL=remoteEntry.d2eea6519fa332d79efb.js.map
595
+ //# sourceMappingURL=remoteEntry.93ecc9bc0edba61535cc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEntry.93ecc9bc0edba61535cc.js","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;UCpCD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,8BAA8B,oNAAoN;WAClP;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,oJAAoJ;WACpJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI,aAAa;WACjB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC/CA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WClBA;WACA;WACA,WAAW,6BAA6B,iBAAiB,GAAG,qEAAqE;WACjI;WACA;WACA;WACA,qCAAqC,aAAa,EAAE,wDAAwD,2BAA2B,4BAA4B,2BAA2B,+CAA+C,mCAAmC;WAChR;WACA;WACA;WACA,qBAAqB,8BAA8B,SAAS,sDAAsD,gBAAgB,eAAe,KAAK,6DAA6D,SAAS,SAAS,QAAQ,eAAe,KAAK,eAAe,qGAAqG,WAAW,aAAa;WAC7Y;WACA;WACA;WACA,gBAAgB,8BAA8B,qBAAqB,YAAY,sBAAsB,SAAS,iDAAiD,6FAA6F,WAAW,uBAAuB,2BAA2B,wBAAwB,KAAK,oCAAoC,oBAAoB,wBAAwB,oBAAoB,SAAS,KAAK,yBAAyB,KAAK,gCAAgC,yBAAyB,QAAQ,eAAe,KAAK,eAAe,4DAA4D;WACtoB;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE,IAAI;WACN;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;;WAED;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA,CAAC;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN,KAAK,WAAW;WAChB;WACA,GAAG;WACH;WACA;;;;;WC7MA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL,eAAe;WACf;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;WCrFA;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://mito_ai/webpack/container-entry","webpack://mito_ai/webpack/bootstrap","webpack://mito_ai/webpack/runtime/compat get default export","webpack://mito_ai/webpack/runtime/define property getters","webpack://mito_ai/webpack/runtime/ensure chunk","webpack://mito_ai/webpack/runtime/get javascript chunk filename","webpack://mito_ai/webpack/runtime/global","webpack://mito_ai/webpack/runtime/hasOwnProperty shorthand","webpack://mito_ai/webpack/runtime/load script","webpack://mito_ai/webpack/runtime/make namespace object","webpack://mito_ai/webpack/runtime/sharing","webpack://mito_ai/webpack/runtime/publicPath","webpack://mito_ai/webpack/runtime/consumes","webpack://mito_ai/webpack/runtime/jsonp chunk loading","webpack://mito_ai/webpack/runtime/nonce","webpack://mito_ai/webpack/before-startup","webpack://mito_ai/webpack/startup","webpack://mito_ai/webpack/after-startup"],"sourcesContent":["var moduleMap = {\n\t\"./index\": () => {\n\t\treturn __webpack_require__.e(\"lib_index_js\").then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./extension\": () => {\n\t\treturn __webpack_require__.e(\"lib_index_js\").then(() => (() => ((__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\")))));\n\t},\n\t\"./style\": () => {\n\t\treturn __webpack_require__.e(\"style_index_js\").then(() => (() => ((__webpack_require__(/*! ./style/index.js */ \"./style/index.js\")))));\n\t}\n};\nvar get = (module, getScope) => {\n\t__webpack_require__.R = getScope;\n\tgetScope = (\n\t\t__webpack_require__.o(moduleMap, module)\n\t\t\t? moduleMap[module]()\n\t\t\t: Promise.resolve().then(() => {\n\t\t\t\tthrow new Error('Module \"' + module + '\" does not exist in container.');\n\t\t\t})\n\t);\n\t__webpack_require__.R = undefined;\n\treturn getScope;\n};\nvar init = (shareScope, initScope) => {\n\tif (!__webpack_require__.S) return;\n\tvar name = \"default\"\n\tvar oldScope = __webpack_require__.S[name];\n\tif(oldScope && oldScope !== shareScope) throw new Error(\"Container initialization failed as it has already been initialized with a different share scope\");\n\t__webpack_require__.S[name] = shareScope;\n\treturn __webpack_require__.I(name, initScope);\n};\n\n// This exports getters to disallow modifications\n__webpack_require__.d(exports, {\n\tget: () => (get),\n\tinit: () => (init)\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"lib_index_js\":\"831f63b48760c7119b9b\",\"style_index_js\":\"5876024bb17dbd6a3ee6\",\"vendors-node_modules_semver_index_js\":\"9795f79265ddb416864b\",\"vendors-node_modules_vscode-diff_dist_index_js\":\"ea55f1f9346638aafbcf\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"mito_ai:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"mito_ai\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"mito_ai\", \"0.1.37\", () => (__webpack_require__.e(\"lib_index_js\").then(() => (() => (__webpack_require__(/*! ./lib/index.js */ \"./lib/index.js\"))))));\n\t\t\tregister(\"semver\", \"7.7.2\", () => (__webpack_require__.e(\"vendors-node_modules_semver_index_js\").then(() => (() => (__webpack_require__(/*! ./node_modules/semver/index.js */ \"./node_modules/semver/index.js\"))))));\n\t\t\tregister(\"vscode-diff\", \"2.1.1\", () => (__webpack_require__.e(\"vendors-node_modules_vscode-diff_dist_index_js\").then(() => (() => (__webpack_require__(/*! ./node_modules/vscode-diff/dist/index.js */ \"./node_modules/vscode-diff/dist/index.js\"))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&\"u\"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e<t;r++}\n}\nvar rangeToString = (range) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a<range.length;a++){e--,n+=\"u\"==(typeof(t=range[a]))[0]?\"-\":(e>0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?\"not(\"+o()+\")\":1===t?\"(\"+o()+\" || \"+o()+\")\":2===t?g.pop()+\" \"+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,\"$1\")}\n}\nvar satisfy = (range, version) => {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:\"\";if(n>=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if(\"s\"!=g&&\"n\"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else\"s\"!=g&&\"n\"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();\n}\nvar exists = (scope, key) => {\n\treturn scope && __webpack_require__.o(scope, key);\n}\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar eagerOnly = (versions) => {\n\treturn Object.keys(versions).reduce((filtered, version) => {\n\t\t\tif (versions[version].eager) {\n\t\t\t\tfiltered[version] = versions[version];\n\t\t\t}\n\t\t\treturn filtered;\n\t}, {});\n};\nvar findLatestVersion = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key];\n};\nvar findSatisfyingVersion = (scope, key, requiredVersion, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion, eager) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \")\" + (eager ? \" for eager consumption\" : \"\") + \" of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar fail = (msg) => {\n\tthrow new Error(msg);\n}\nvar failAsNotExist = (scopeName, key) => {\n\treturn fail(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n}\nvar warn = /*#__PURE__*/ (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar init = (fn) => (function(scopeName, key, eager, c, d) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then && !eager) {\n\t\treturn promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], key, false, c, d));\n\t}\n\treturn fn(scopeName, __webpack_require__.S[scopeName], key, eager, c, d);\n});\n\nvar useFallback = (scopeName, key, fallback) => {\n\treturn fallback ? fallback() : failAsNotExist(scopeName, key);\n}\nvar load = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager))\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadStrictVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\tif (fallback) return fallback();\n\tfail(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\treturn get(scope[key][version]);\n});\nvar loadSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\twarn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar loadStrictSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\tfail(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t\"webpack/sharing/consume/default/@jupyterlab/application\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/application\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/apputils\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/apputils\", false, [1,4,5,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/notebook\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/notebook\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/react\": () => (loadSingletonVersion(\"default\", \"react\", false, [1,18,2,0])),\n\t\"webpack/sharing/consume/default/@codemirror/state\": () => (loadSingletonVersion(\"default\", \"@codemirror/state\", false, [1,6,2,0])),\n\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/ui-components\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@lumino/coreutils\": () => (loadSingletonVersion(\"default\", \"@lumino/coreutils\", false, [1,2,0,0])),\n\t\"webpack/sharing/consume/default/@jupyterlab/rendermime\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/rendermime\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/cells\": () => (loadVersion(\"default\", \"@jupyterlab/cells\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/vscode-diff/vscode-diff\": () => (loadStrictVersion(\"default\", \"vscode-diff\", false, [1,2,1,1], () => (__webpack_require__.e(\"vendors-node_modules_vscode-diff_dist_index_js\").then(() => (() => (__webpack_require__(/*! vscode-diff */ \"./node_modules/vscode-diff/dist/index.js\"))))))),\n\t\"webpack/sharing/consume/default/@jupyterlab/coreutils\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/coreutils\", false, [1,6,4,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/services\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/services\", false, [1,7,4,5])),\n\t\"webpack/sharing/consume/default/@codemirror/view\": () => (loadSingletonVersion(\"default\", \"@codemirror/view\", false, [1,6,9,6])),\n\t\"webpack/sharing/consume/default/react-dom\": () => (loadSingletonVersion(\"default\", \"react-dom\", false, [1,18,2,0])),\n\t\"webpack/sharing/consume/default/@lumino/signaling\": () => (loadSingletonVersion(\"default\", \"@lumino/signaling\", false, [1,2,0,0])),\n\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/settingregistry\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/docmanager\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/docmanager\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@lumino/widgets\": () => (loadSingletonVersion(\"default\", \"@lumino/widgets\", false, [1,2,3,1,,\"alpha\",0])),\n\t\"webpack/sharing/consume/default/@jupyterlab/codeeditor\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/codeeditor\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@jupyterlab/codemirror\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/codemirror\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/@lumino/commands\": () => (loadSingletonVersion(\"default\", \"@lumino/commands\", false, [1,2,0,1])),\n\t\"webpack/sharing/consume/default/@jupyterlab/statusbar\": () => (loadSingletonVersion(\"default\", \"@jupyterlab/statusbar\", false, [1,4,4,5])),\n\t\"webpack/sharing/consume/default/semver/semver\": () => (loadStrictVersion(\"default\", \"semver\", false, [1,7,7,2], () => (__webpack_require__.e(\"vendors-node_modules_semver_index_js\").then(() => (() => (__webpack_require__(/*! semver */ \"./node_modules/semver/index.js\")))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"lib_index_js\": [\n\t\t\"webpack/sharing/consume/default/@jupyterlab/application\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/apputils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/notebook\",\n\t\t\"webpack/sharing/consume/default/react\",\n\t\t\"webpack/sharing/consume/default/@codemirror/state\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/ui-components\",\n\t\t\"webpack/sharing/consume/default/@lumino/coreutils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/rendermime\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/cells\",\n\t\t\"webpack/sharing/consume/default/vscode-diff/vscode-diff\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/coreutils\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/services\",\n\t\t\"webpack/sharing/consume/default/@codemirror/view\",\n\t\t\"webpack/sharing/consume/default/react-dom\",\n\t\t\"webpack/sharing/consume/default/@lumino/signaling\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/settingregistry\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/docmanager\",\n\t\t\"webpack/sharing/consume/default/@lumino/widgets\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/codeeditor\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/codemirror\",\n\t\t\"webpack/sharing/consume/default/@lumino/commands\",\n\t\t\"webpack/sharing/consume/default/@jupyterlab/statusbar\",\n\t\t\"webpack/sharing/consume/default/semver/semver\"\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"mito_ai\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmito_ai\"] = self[\"webpackChunkmito_ai\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(\"webpack/container/entry/mito_ai\");\n",""],"names":[],"sourceRoot":""}
@@ -40,6 +40,9 @@ ___CSS_LOADER_EXPORT___.push([module.id, `/*
40
40
  :root {
41
41
  /* Margins */
42
42
  --chat-taskpane-item-indent: 10px;
43
+ --chat-taskpane-item-border-radius: 5px;
44
+ --chat-taskpane-tool-call-horizontal-padding: 10px;
45
+ --chat-context-button-height: 20px;
43
46
 
44
47
  /* Colors */
45
48
  --chat-background-color: var(--jp-layout-color1);
@@ -65,6 +68,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `/*
65
68
  --red-300: #fce8e8;
66
69
 
67
70
  --yellow-900: #5c4813;
71
+ --yellow-600: #ffc107;
68
72
  --yellow-500: #fae29f;
69
73
  --yellow-300: #fde047;
70
74
  --yellow-100: #fef9c3;
@@ -111,7 +115,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `/*
111
115
  [data-jp-item-name='reject-code']
112
116
  ) {
113
117
  display: none !important;
114
- }`, "",{"version":3,"sources":["webpack://./style/base.css"],"names":[],"mappings":"AAAA;;;EAGE;;AAEF;;;;CAIC;;AAKD;EACE,YAAY;EACZ,iCAAiC;;EAEjC,WAAW;EACX,gDAAgD;EAChD,gEAAgE;EAChE,6DAA6D;EAC7D,4CAA4C;EAC5C,iDAAiD;;EAEjD,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;;EAEpB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;;EAElB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;;EAErB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;;EAEnB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;AACvB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,eAAe;AACjB;;AAEA;;;;;;;;CAQC;AACD;EACE,wBAAwB;AAC1B;;AAEA;;;;;EAKE,wBAAwB;AAC1B","sourcesContent":["/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\n/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n\n@import url('icons.css');\n@import url('statusItem.css');\n\n:root {\n /* Margins */\n --chat-taskpane-item-indent: 10px;\n\n /* Colors */\n --chat-background-color: var(--jp-layout-color1);\n --chat-user-message-background-color: var(--jp-input-background);\n --chat-user-message-font-color: var(--jp-content-font-color1);\n --chat-assistant-message-font-color: #0e1119;\n --muted-text-color: var(--jp-content-font-color2);\n\n --green-900: #155239;\n --green-800: #1a7741;\n --green-700: #239d58;\n --green-600: #39c172;\n --green-500: #74d99e;\n --green-400: #a8eec1;\n --green-300: #e3fcec;\n\n --red-900: #611818;\n --red-800: #891a1b;\n --red-700: #b82020;\n --red-600: #db3130;\n --red-500: #e46464;\n --red-400: #f5aaaa;\n --red-300: #fce8e8;\n\n --yellow-900: #5c4813;\n --yellow-500: #fae29f;\n --yellow-300: #fde047;\n --yellow-100: #fef9c3;\n\n --grey-900: #222934;\n --grey-800: #5f6b7a;\n --grey-700: #8795a7;\n --grey-500: #b8c4ce;\n --grey-400: #cfd6de;\n --grey-300: #e1e7eb;\n --grey-200: #f8f9fa;\n\n --purple-700: #844af7;\n --purple-600: #9d6cff;\n --purple-500: #ba9bf8;\n --purple-400: #d0b9fe;\n --purple-300: #e9e0fd;\n}\n\n.text-muted {\n color: var(--jp-ui-font-color3);\n}\n\n.text-sm {\n font-size: 12px;\n}\n\n/* \n Jupyter tries to ensure that the cell toolbar does not overlap with the contents of the cell. \n There's some algorithm that adds the class `.jp-toolbar-overlap` to the cell toolbar \n when it gets too close to the cell contents. \n\n However, we don't want to hide the Accept and Reject toolbar buttons! We always want them to be visible.\n To do this, we change the method for hiding the cell toolbar. Instead of hiding the entire toolbar, \n we hide individual buttons, excluding the Accept and Reject buttons.\n*/\n.jp-toolbar-overlap .jp-cell-toolbar {\n display: flex !important;\n}\n\n.jp-toolbar-overlap\n .jp-cell-toolbar\n > *:not([data-jp-item-name='accept-code']):not(\n [data-jp-item-name='reject-code']\n ) {\n display: none !important;\n}"],"sourceRoot":""}]);
118
+ }`, "",{"version":3,"sources":["webpack://./style/base.css"],"names":[],"mappings":"AAAA;;;EAGE;;AAEF;;;;CAIC;;AAKD;EACE,YAAY;EACZ,iCAAiC;EACjC,uCAAuC;EACvC,kDAAkD;EAClD,kCAAkC;;EAElC,WAAW;EACX,gDAAgD;EAChD,gEAAgE;EAChE,6DAA6D;EAC7D,4CAA4C;EAC5C,iDAAiD;;EAEjD,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;;EAEpB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;;EAElB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;;EAErB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;;EAEnB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;AACvB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,eAAe;AACjB;;AAEA;;;;;;;;CAQC;AACD;EACE,wBAAwB;AAC1B;;AAEA;;;;;EAKE,wBAAwB;AAC1B","sourcesContent":["/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\n/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n\n@import url('icons.css');\n@import url('statusItem.css');\n\n:root {\n /* Margins */\n --chat-taskpane-item-indent: 10px;\n --chat-taskpane-item-border-radius: 5px;\n --chat-taskpane-tool-call-horizontal-padding: 10px;\n --chat-context-button-height: 20px;\n\n /* Colors */\n --chat-background-color: var(--jp-layout-color1);\n --chat-user-message-background-color: var(--jp-input-background);\n --chat-user-message-font-color: var(--jp-content-font-color1);\n --chat-assistant-message-font-color: #0e1119;\n --muted-text-color: var(--jp-content-font-color2);\n\n --green-900: #155239;\n --green-800: #1a7741;\n --green-700: #239d58;\n --green-600: #39c172;\n --green-500: #74d99e;\n --green-400: #a8eec1;\n --green-300: #e3fcec;\n\n --red-900: #611818;\n --red-800: #891a1b;\n --red-700: #b82020;\n --red-600: #db3130;\n --red-500: #e46464;\n --red-400: #f5aaaa;\n --red-300: #fce8e8;\n\n --yellow-900: #5c4813;\n --yellow-600: #ffc107;\n --yellow-500: #fae29f;\n --yellow-300: #fde047;\n --yellow-100: #fef9c3;\n\n --grey-900: #222934;\n --grey-800: #5f6b7a;\n --grey-700: #8795a7;\n --grey-500: #b8c4ce;\n --grey-400: #cfd6de;\n --grey-300: #e1e7eb;\n --grey-200: #f8f9fa;\n\n --purple-700: #844af7;\n --purple-600: #9d6cff;\n --purple-500: #ba9bf8;\n --purple-400: #d0b9fe;\n --purple-300: #e9e0fd;\n}\n\n.text-muted {\n color: var(--jp-ui-font-color3);\n}\n\n.text-sm {\n font-size: 12px;\n}\n\n/* \n Jupyter tries to ensure that the cell toolbar does not overlap with the contents of the cell. \n There's some algorithm that adds the class `.jp-toolbar-overlap` to the cell toolbar \n when it gets too close to the cell contents. \n\n However, we don't want to hide the Accept and Reject toolbar buttons! We always want them to be visible.\n To do this, we change the method for hiding the cell toolbar. Instead of hiding the entire toolbar, \n we hide individual buttons, excluding the Accept and Reject buttons.\n*/\n.jp-toolbar-overlap .jp-cell-toolbar {\n display: flex !important;\n}\n\n.jp-toolbar-overlap\n .jp-cell-toolbar\n > *:not([data-jp-item-name='accept-code']):not(\n [data-jp-item-name='reject-code']\n ) {\n display: none !important;\n}"],"sourceRoot":""}]);
115
119
  // Exports
116
120
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
117
121
 
@@ -705,4 +709,4 @@ __webpack_require__.r(__webpack_exports__);
705
709
  /***/ })
706
710
 
707
711
  }]);
708
- //# sourceMappingURL=style_index_js.76efcc5c3be4056457ee.js.map
712
+ //# sourceMappingURL=style_index_js.5876024bb17dbd6a3ee6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style_index_js.5876024bb17dbd6a3ee6.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAC0G;AACjB;AACY;AACK;AAC1G,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F,0BAA0B,sFAAiC;AAC3D,0BAA0B,2FAAiC;AAC3D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,mFAAmF,MAAM,QAAQ,MAAM,KAAK,UAAU,YAAY,aAAa,aAAa,cAAc,WAAW,YAAY,aAAa,aAAa,aAAa,cAAc,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,cAAc,aAAa,aAAa,aAAa,aAAa,aAAa,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU,OAAO,YAAY,KAAK,KAAK,YAAY,OAAO,SAAS,YAAY,kUAAkU,gCAAgC,WAAW,uDAAuD,4CAA4C,uDAAuD,uCAAuC,uEAAuE,qEAAqE,kEAAkE,iDAAiD,sDAAsD,2BAA2B,yBAAyB,yBAAyB,yBAAyB,yBAAyB,yBAAyB,yBAAyB,yBAAyB,uBAAuB,uBAAuB,uBAAuB,uBAAuB,uBAAuB,uBAAuB,4BAA4B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,wBAAwB,wBAAwB,wBAAwB,wBAAwB,wBAAwB,wBAAwB,4BAA4B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,GAAG,iBAAiB,oCAAoC,GAAG,cAAc,oBAAoB,GAAG,ykBAAykB,6BAA6B,GAAG,4IAA4I,6BAA6B,GAAG,mBAAmB;AACzvG;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;;;;;ACpGvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,oFAAoF,MAAM,KAAK,UAAU,sNAAsN,mBAAmB,GAAG,qBAAqB;AACjX;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;;;;;ACfvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,yFAAyF,MAAM,KAAK,YAAY,aAAa,OAAO,KAAK,YAAY,aAAa,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,aAAa,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,QAAQ,YAAY,OAAO,KAAK,YAAY,aAAa,aAAa,aAAa,WAAW,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,MAAM,KAAK,YAAY,OAAO,KAAK,YAAY,yMAAyM,kCAAkC,2CAA2C,GAAG,2DAA2D,8CAA8C,2CAA2C,GAAG,gEAAgE,4CAA4C,GAAG,sEAAsE,kCAAkC,4CAA4C,GAAG,sEAAsE,4CAA4C,GAAG,mEAAmE,iCAAiC,GAAG,sTAAsT,iCAAiC,GAAG,2BAA2B,sBAAsB,yBAAyB,8CAA8C,6CAA6C,eAAe,uCAAuC,qBAAqB,qBAAqB,GAAG,qCAAqC,kBAAkB,wBAAwB,mCAAmC,wBAAwB,GAAG,yCAAyC,gBAAgB,GAAG,2BAA2B,oCAAoC,GAAG,2BAA2B,iCAAiC,GAAG,qBAAqB;AACr3E;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;AC3E1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA;;;;;;;;;;ACfa;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA;;;;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA,MAA+F;AAC/F,MAAqF;AACrF,MAA4F;AAC5F,MAA+G;AAC/G,MAAwG;AACxG,MAAwG;AACxG,MAAkG;AAClG;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,qFAAO;;;;AAI4C;AACpE,OAAO,iEAAe,qFAAO,IAAI,qFAAO,UAAU,qFAAO,mBAAmB,EAAC;;;;;;;;;;;;;AC1B7E;AACA;AACA;AACA;;AAEoB","sources":["webpack://mito_ai/./style/base.css","webpack://mito_ai/./style/icons.css","webpack://mito_ai/./style/statusItem.css","webpack://mito_ai/./node_modules/css-loader/dist/runtime/api.js","webpack://mito_ai/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://mito_ai/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://mito_ai/./style/base.css?1944","webpack://mito_ai/./style/index.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../node_modules/css-loader/dist/cjs.js!./icons.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../node_modules/css-loader/dist/cjs.js!./statusItem.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\n/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n\n:root {\n /* Margins */\n --chat-taskpane-item-indent: 10px;\n --chat-taskpane-item-border-radius: 5px;\n --chat-taskpane-tool-call-horizontal-padding: 10px;\n --chat-context-button-height: 20px;\n\n /* Colors */\n --chat-background-color: var(--jp-layout-color1);\n --chat-user-message-background-color: var(--jp-input-background);\n --chat-user-message-font-color: var(--jp-content-font-color1);\n --chat-assistant-message-font-color: #0e1119;\n --muted-text-color: var(--jp-content-font-color2);\n\n --green-900: #155239;\n --green-800: #1a7741;\n --green-700: #239d58;\n --green-600: #39c172;\n --green-500: #74d99e;\n --green-400: #a8eec1;\n --green-300: #e3fcec;\n\n --red-900: #611818;\n --red-800: #891a1b;\n --red-700: #b82020;\n --red-600: #db3130;\n --red-500: #e46464;\n --red-400: #f5aaaa;\n --red-300: #fce8e8;\n\n --yellow-900: #5c4813;\n --yellow-600: #ffc107;\n --yellow-500: #fae29f;\n --yellow-300: #fde047;\n --yellow-100: #fef9c3;\n\n --grey-900: #222934;\n --grey-800: #5f6b7a;\n --grey-700: #8795a7;\n --grey-500: #b8c4ce;\n --grey-400: #cfd6de;\n --grey-300: #e1e7eb;\n --grey-200: #f8f9fa;\n\n --purple-700: #844af7;\n --purple-600: #9d6cff;\n --purple-500: #ba9bf8;\n --purple-400: #d0b9fe;\n --purple-300: #e9e0fd;\n}\n\n.text-muted {\n color: var(--jp-ui-font-color3);\n}\n\n.text-sm {\n font-size: 12px;\n}\n\n/* \n Jupyter tries to ensure that the cell toolbar does not overlap with the contents of the cell. \n There's some algorithm that adds the class \\`.jp-toolbar-overlap\\` to the cell toolbar \n when it gets too close to the cell contents. \n\n However, we don't want to hide the Accept and Reject toolbar buttons! We always want them to be visible.\n To do this, we change the method for hiding the cell toolbar. Instead of hiding the entire toolbar, \n we hide individual buttons, excluding the Accept and Reject buttons.\n*/\n.jp-toolbar-overlap .jp-cell-toolbar {\n display: flex !important;\n}\n\n.jp-toolbar-overlap\n .jp-cell-toolbar\n > *:not([data-jp-item-name='accept-code']):not(\n [data-jp-item-name='reject-code']\n ) {\n display: none !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./style/base.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;;AAEF;;;;CAIC;;AAKD;EACE,YAAY;EACZ,iCAAiC;EACjC,uCAAuC;EACvC,kDAAkD;EAClD,kCAAkC;;EAElC,WAAW;EACX,gDAAgD;EAChD,gEAAgE;EAChE,6DAA6D;EAC7D,4CAA4C;EAC5C,iDAAiD;;EAEjD,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;EACpB,oBAAoB;;EAEpB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;;EAElB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;;EAErB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;;EAEnB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;AACvB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,eAAe;AACjB;;AAEA;;;;;;;;CAQC;AACD;EACE,wBAAwB;AAC1B;;AAEA;;;;;EAKE,wBAAwB;AAC1B\",\"sourcesContent\":[\"/*\\n * Copyright (c) Saga Inc.\\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\\n */\\n\\n/*\\n See the JupyterLab Developer Guide for useful CSS Patterns:\\n\\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\\n*/\\n\\n@import url('icons.css');\\n@import url('statusItem.css');\\n\\n:root {\\n /* Margins */\\n --chat-taskpane-item-indent: 10px;\\n --chat-taskpane-item-border-radius: 5px;\\n --chat-taskpane-tool-call-horizontal-padding: 10px;\\n --chat-context-button-height: 20px;\\n\\n /* Colors */\\n --chat-background-color: var(--jp-layout-color1);\\n --chat-user-message-background-color: var(--jp-input-background);\\n --chat-user-message-font-color: var(--jp-content-font-color1);\\n --chat-assistant-message-font-color: #0e1119;\\n --muted-text-color: var(--jp-content-font-color2);\\n\\n --green-900: #155239;\\n --green-800: #1a7741;\\n --green-700: #239d58;\\n --green-600: #39c172;\\n --green-500: #74d99e;\\n --green-400: #a8eec1;\\n --green-300: #e3fcec;\\n\\n --red-900: #611818;\\n --red-800: #891a1b;\\n --red-700: #b82020;\\n --red-600: #db3130;\\n --red-500: #e46464;\\n --red-400: #f5aaaa;\\n --red-300: #fce8e8;\\n\\n --yellow-900: #5c4813;\\n --yellow-600: #ffc107;\\n --yellow-500: #fae29f;\\n --yellow-300: #fde047;\\n --yellow-100: #fef9c3;\\n\\n --grey-900: #222934;\\n --grey-800: #5f6b7a;\\n --grey-700: #8795a7;\\n --grey-500: #b8c4ce;\\n --grey-400: #cfd6de;\\n --grey-300: #e1e7eb;\\n --grey-200: #f8f9fa;\\n\\n --purple-700: #844af7;\\n --purple-600: #9d6cff;\\n --purple-500: #ba9bf8;\\n --purple-400: #d0b9fe;\\n --purple-300: #e9e0fd;\\n}\\n\\n.text-muted {\\n color: var(--jp-ui-font-color3);\\n}\\n\\n.text-sm {\\n font-size: 12px;\\n}\\n\\n/* \\n Jupyter tries to ensure that the cell toolbar does not overlap with the contents of the cell. \\n There's some algorithm that adds the class `.jp-toolbar-overlap` to the cell toolbar \\n when it gets too close to the cell contents. \\n\\n However, we don't want to hide the Accept and Reject toolbar buttons! We always want them to be visible.\\n To do this, we change the method for hiding the cell toolbar. Instead of hiding the entire toolbar, \\n we hide individual buttons, excluding the Accept and Reject buttons.\\n*/\\n.jp-toolbar-overlap .jp-cell-toolbar {\\n display: flex !important;\\n}\\n\\n.jp-toolbar-overlap\\n .jp-cell-toolbar\\n > *:not([data-jp-item-name='accept-code']):not(\\n [data-jp-item-name='reject-code']\\n ) {\\n display: none !important;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\n.jp-ToolbarButtonComponent > svg[data-icon='lightbulb-icon'] {\n color: #9c6bff;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./style/icons.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;;AAEF;EACE,cAAc;AAChB\",\"sourcesContent\":[\"/*\\n * Copyright (c) Saga Inc.\\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\\n */\\n\\n.jp-ToolbarButtonComponent > svg[data-icon='lightbulb-icon'] {\\n color: #9c6bff;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\n.mito-ai-status-button.jp-Button.jp-mod-minimal {\n background-color: transparent;\n color: var(--jp-inverse-layout-color2);\n}\n\n.mito-ai-status-button.jp-Button.jp-mod-minimal:hover {\n background-color: var(--jp-layout-color3);\n color: var(--jp-inverse-layout-color1);\n}\n\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button {\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button:hover {\n background-color: transparent;\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-StatusBar-Item.jp-mod-clicked:hover > .mito-ai-status-button {\n color: var(--jp-ui-inverse-font-color0);\n}\n\n.mito-ai-status-button.jp-Button.jp-mod-minimal.mito-ai-error {\n color: var(--jp-warn-color1);\n}\n\n.mito-ai-status-button.jp-Button.jp-mod-minimal.mito-ai-error:hover,\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button.mito-ai-error,\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button.mito-ai-error:hover,\n.jp-StatusBar-Item.jp-mod-clicked:hover > .mito-ai-status-button.mito-ai-error {\n color: var(--jp-warn-color2);\n}\n\n.mito-ai-status-popup {\n padding: 4px 12px;\n padding-bottom: 40px;\n background-color: var(--jp-layout-color1);\n box-shadow: var(--jp-toolbar-box-shadow);\n z-index: 2;\n font-size: var(--jp-ui-font-size1);\n min-width: 150px;\n max-width: 300px;\n}\n\n.mito-ai-status-popup-table-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n\n.mito-ai-status-popup-table-row > p {\n margin: 4px;\n}\n\n.mito-ai-status-ready {\n color: var(--jp-success-color1);\n}\n\n.mito-ai-status-error {\n color: var(--jp-warn-color1);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./style/statusItem.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;;AAEF;EACE,6BAA6B;EAC7B,sCAAsC;AACxC;;AAEA;EACE,yCAAyC;EACzC,sCAAsC;AACxC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,6BAA6B;EAC7B,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;;;;EAIE,4BAA4B;AAC9B;;AAEA;EACE,iBAAiB;EACjB,oBAAoB;EACpB,yCAAyC;EACzC,wCAAwC;EACxC,UAAU;EACV,kCAAkC;EAClC,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;AACrB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,4BAA4B;AAC9B\",\"sourcesContent\":[\"/*\\n * Copyright (c) Saga Inc.\\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\\n */\\n\\n.mito-ai-status-button.jp-Button.jp-mod-minimal {\\n background-color: transparent;\\n color: var(--jp-inverse-layout-color2);\\n}\\n\\n.mito-ai-status-button.jp-Button.jp-mod-minimal:hover {\\n background-color: var(--jp-layout-color3);\\n color: var(--jp-inverse-layout-color1);\\n}\\n\\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button {\\n color: var(--jp-ui-inverse-font-color1);\\n}\\n\\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button:hover {\\n background-color: transparent;\\n color: var(--jp-ui-inverse-font-color1);\\n}\\n\\n.jp-StatusBar-Item.jp-mod-clicked:hover > .mito-ai-status-button {\\n color: var(--jp-ui-inverse-font-color0);\\n}\\n\\n.mito-ai-status-button.jp-Button.jp-mod-minimal.mito-ai-error {\\n color: var(--jp-warn-color1);\\n}\\n\\n.mito-ai-status-button.jp-Button.jp-mod-minimal.mito-ai-error:hover,\\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button.mito-ai-error,\\n.jp-StatusBar-Item.jp-mod-clicked > .mito-ai-status-button.mito-ai-error:hover,\\n.jp-StatusBar-Item.jp-mod-clicked:hover > .mito-ai-status-button.mito-ai-error {\\n color: var(--jp-warn-color2);\\n}\\n\\n.mito-ai-status-popup {\\n padding: 4px 12px;\\n padding-bottom: 40px;\\n background-color: var(--jp-layout-color1);\\n box-shadow: var(--jp-toolbar-box-shadow);\\n z-index: 2;\\n font-size: var(--jp-ui-font-size1);\\n min-width: 150px;\\n max-width: 300px;\\n}\\n\\n.mito-ai-status-popup-table-row {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.mito-ai-status-popup-table-row > p {\\n margin: 4px;\\n}\\n\\n.mito-ai-status-ready {\\n color: var(--jp-success-color1);\\n}\\n\\n.mito-ai-status-error {\\n color: var(--jp-warn-color1);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./base.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!./base.css\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * Copyright (c) Saga Inc.\n * Distributed under the terms of the GNU Affero General Public License v3.0 License.\n */\n\nimport './base.css';\n"],"names":[],"sourceRoot":""}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mito_ai
3
- Version: 0.1.35
3
+ Version: 0.1.37
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
@@ -1,39 +1,43 @@
1
- mito_ai/__init__.py,sha256=fifbI8pOeYFuibzsGkkREzav4Xy8Wb65LnQN7RThAFE,2787
2
- mito_ai/_version.py,sha256=vV9LsLf6ON1_4FGgFZpatfZou59HAwJgxwj8untKzdU,172
3
- mito_ai/anthropic_client.py,sha256=fc8qmKhbQB5LrW-O6VebHEpIv2KJ2-zO0K2PAC69Ud4,10920
4
- mito_ai/constants.py,sha256=zvC9ufOpr9nUI9EWlPHIeHIKyx98eOw5kYaO50jmnUU,1804
1
+ mito_ai/__init__.py,sha256=GowF1GShgH6TWZepsmNbYjEOSmWWK6A-NXDRhhF3FsE,2956
2
+ mito_ai/_version.py,sha256=qIZE7xjP8F9SC8TfAr_dkF0SQkKaEz16pefwtZq1r8A,172
3
+ mito_ai/anthropic_client.py,sha256=p1G6ugZl5igvJ0SjhpSMOUC3KRKrIeUMXsSDU6XIBFw,10630
4
+ mito_ai/constants.py,sha256=M8_2q3zeEQz-rQu0WzmlX9munFOZeyLkofOw9WfG9GM,2153
5
5
  mito_ai/gemini_client.py,sha256=4L-h2yYc_p8cEOCMDYM0R-vD4aktfqN47siZH5ZjGJc,9771
6
6
  mito_ai/logger.py,sha256=ZJEC415ZHTodDYKgp8ezVg3c4O513oQZV5lSs708gp8,1285
7
7
  mito_ai/openai_client.py,sha256=ljLs-HmHX5IElVn-5GuLTLijVPzWKCzg0uA263K57Dw,14210
8
8
  mito_ai/version_check.py,sha256=871m9_Qj_UzYmxuByBcs8DIoonUb0uVqGTRmJYpw6Fk,2268
9
9
  mito_ai/app_builder/__init__.py,sha256=h-glMwaRmOUINzoHh5EA4o1cgg_-wGirF8DLqDrx8S0,191
10
- mito_ai/app_builder/handlers.py,sha256=cReVOrh0xma3k_IXICnzXc7iRZ-WXTuvsWo5AqRnYMA,8364
11
- mito_ai/app_builder/models.py,sha256=UDwKJfEd5QdqogRTe_40Dc1IXTSxJXkDjwz-EbnggHQ,1891
10
+ mito_ai/app_builder/handlers.py,sha256=NmW61h6ArpHTJ5yu8LXFn0k17lujbWhjzdJnTpBLV7o,11366
11
+ mito_ai/app_builder/models.py,sha256=-dv3p_NdnrXLel2yIzEB4ScS9M52yqOAf21Hmpqtmg4,1967
12
+ mito_ai/auth/README.md,sha256=j83uIEb2avWI-zjKl_P0eZo_2vMyWNE2MAF7fMnJJMw,891
13
+ mito_ai/auth/__init__.py,sha256=CrNlpbSKMPcw40H7keblZ61aa_x8qqSXPAqrEq-yCqk,172
14
+ mito_ai/auth/handlers.py,sha256=vpbLBsS_CIGVK3kZ_Pht4fjvRlde-z5kWQRc-jLjHe4,3888
15
+ mito_ai/auth/urls.py,sha256=iO4ueOlmqt6Bc66mVX2OrSdFGWPcwqhvGU9Ur5__sUM,417
12
16
  mito_ai/completions/handlers.py,sha256=_w8x5n24nI4IrSadWb0SjDRyXKDKLx6h2FZzEelzQD4,15908
13
17
  mito_ai/completions/message_history.py,sha256=3FHtlBFe8KZTIHSj40_2i11P5_0-zavPIvkUzlFuZFQ,16837
14
- mito_ai/completions/models.py,sha256=P6yEQx2Xd5n52VrCmCmlT32JuOu3q9V9n282uwHSs1A,9912
18
+ mito_ai/completions/models.py,sha256=lCxkNGATEwOWr_dK3fRTIIB9AE4XPnZQ4o7iHHHayGo,10008
15
19
  mito_ai/completions/providers.py,sha256=Tzx8fV4eeQ1lDeweSLjtuSrFayxfgtR_IN8YcDYJxUI,12011
16
20
  mito_ai/completions/completion_handlers/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
17
21
  mito_ai/completions/completion_handlers/agent_auto_error_fixup_handler.py,sha256=Vu-SoOziFnWQjxomTpbnbZgxtLkvqPS4Etw2me6L94M,2810
18
22
  mito_ai/completions/completion_handlers/agent_execution_handler.py,sha256=9KYLFZYJWw9pqopkIbRQyBCe8dR7mTDFGpeakLur-dE,2999
19
- mito_ai/completions/completion_handlers/chat_completion_handler.py,sha256=Eck0q-wmeG7TBidTxzAPOa2GHut-JbyOichcmOn-UoQ,6146
23
+ mito_ai/completions/completion_handlers/chat_completion_handler.py,sha256=8eKzxE3djnN2BTMAozBOqh_1IZ5GFJNa32qSHJOJPek,6154
20
24
  mito_ai/completions/completion_handlers/code_explain_handler.py,sha256=mkR-HJ0fEmzetJNgH20DKYSCL9Ax2o0WGu8limx9X_w,5074
21
25
  mito_ai/completions/completion_handlers/completion_handler.py,sha256=TdMye-5505YKLKhdf6BXSTMDvEFvVexbt-b62b4xCQA,1584
22
26
  mito_ai/completions/completion_handlers/inline_completer_handler.py,sha256=IR9xPA6YggdHQkdXVEcWqXZy8GXphqYRHkTfOcdEphw,1808
23
27
  mito_ai/completions/completion_handlers/smart_debug_handler.py,sha256=5DH4NR9YB28YoQOUbFFcF7bip11cFzmzrcap_bZGLwA,6388
24
28
  mito_ai/completions/completion_handlers/utils.py,sha256=GZZ1CrLcUf0PJ-cL39TUe5nCfv0d4PGPoctgYxkBqGo,2913
25
29
  mito_ai/completions/prompt_builders/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
26
- mito_ai/completions/prompt_builders/agent_execution_prompt.py,sha256=ndVTBH2smiJs0lpMTJf2Ir9M1tp_aIHsOxC6o0gNM2s,1231
30
+ mito_ai/completions/prompt_builders/agent_execution_prompt.py,sha256=YQCbTX0KhcIHa7VVjVTuPxklXz3Z4LKR63IG_WTjVo4,1367
27
31
  mito_ai/completions/prompt_builders/agent_smart_debug_prompt.py,sha256=RTI7QmXVu6qSiMbjadAakgW7qCMJ86kd54gioykewRE,6315
28
- mito_ai/completions/prompt_builders/agent_system_message.py,sha256=uhDkmaOphAmGa5KCC0MD-dpigBFGJ-LAer6OIZg3X7g,21417
32
+ mito_ai/completions/prompt_builders/agent_system_message.py,sha256=z51T1rrzRfLz2nLVG9H3jJV6x1aNhMVpZWMBtBmyOE4,25004
29
33
  mito_ai/completions/prompt_builders/chat_name_prompt.py,sha256=Ign2s51W0YSjLwLFn1BK1pO1yaXgd0kQcqse3kWOFg8,556
30
- mito_ai/completions/prompt_builders/chat_prompt.py,sha256=gPoNLpzlwMxEfxMMehB3eaG5IR2ZVKdEH7KwHyX67Gc,2786
34
+ mito_ai/completions/prompt_builders/chat_prompt.py,sha256=v2Ril9xUxhgPHixtckMBNiOyOn7y110npQgY285pPSc,2941
31
35
  mito_ai/completions/prompt_builders/chat_system_message.py,sha256=tT4Olfv6NQ9uTQNWWyZAMEvKLXnuxEhkTwisUzfaqHY,3790
32
36
  mito_ai/completions/prompt_builders/explain_code_prompt.py,sha256=aswSXdZP-catLmLqJKv2E5VeO9CL7vexguZhtGl724c,769
33
37
  mito_ai/completions/prompt_builders/inline_completer_prompt.py,sha256=rmOt3eZTgNfF5tN-_syrhIUW6Ga_TcHCRI0YwndYPPY,5105
34
38
  mito_ai/completions/prompt_builders/prompt_constants.py,sha256=qqYOzowDG8h5G0l0Kam3Dy_rk8jLfPb-RXchDHK3rj4,7177
35
39
  mito_ai/completions/prompt_builders/smart_debug_prompt.py,sha256=6s_VIgNCD5Dqmn3bpsnQCmUDaqJqLOxlJHu48aE1SME,6347
36
- mito_ai/completions/prompt_builders/utils.py,sha256=B3Q1wzymWVgzu781uPaqCtNMwF0nbMMC0bNp0RuMFXI,696
40
+ mito_ai/completions/prompt_builders/utils.py,sha256=ggv10pLvctz8jLGiZvm42_YcEvdIy4gJ-in_jtCe7Hw,2349
37
41
  mito_ai/db/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
38
42
  mito_ai/db/handlers.py,sha256=zbLqgzexi3C2ztvT1z9X3RLCUUjl4r5rJtUzJX0Pkto,5275
39
43
  mito_ai/db/models.py,sha256=KUMaAdK72Z_yOovKrrQJWHP-5Zwkv9WD4Pz8LDWjgk8,544
@@ -61,13 +65,17 @@ mito_ai/rules/utils.py,sha256=7Hj5ZOUZERLHMR7a5_7ipbJXaiTkvXjfiRjTHpCKdxU,1664
61
65
  mito_ai/settings/handlers.py,sha256=Ym1QieLf9VooP44w4mU2z4WtGSkThVhEgmtO7ENBg4c,1348
62
66
  mito_ai/settings/urls.py,sha256=4Oyd6Qtap2vMApyUevoUp_RjoL09IBIwPL6ZayGT3wM,648
63
67
  mito_ai/settings/utils.py,sha256=ZiG-axUDFsIKK7iipZTMwunYtP7_dkThHL37mR8GGyA,1355
68
+ mito_ai/streamlit_conversion/streamlit_agent_handler.py,sha256=aUsE6cvUccA8HjLlZcIaliT5OUYjEDGrYbwbCMJ4r7I,4580
69
+ mito_ai/streamlit_conversion/streamlit_system_prompt.py,sha256=NmULd95wPNDkhIEDC3PFaw4-hagGJt-UW_bVi7xniNs,2163
70
+ mito_ai/streamlit_conversion/streamlit_utils.py,sha256=OzrzOPF9LKvj4zF5Ftp5btYTapZnbm-9gGLo3g0BwmY,3297
71
+ mito_ai/streamlit_conversion/validate_and_run_streamlit_code.py,sha256=K6y1vtRog-7akryewv5_3krR3xC843jsYYyXevkbWHQ,7012
64
72
  mito_ai/tests/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
65
73
  mito_ai/tests/conftest.py,sha256=C4iW3L50rWLeI91gim3gyyJnKKb1zGJ1GLxlXZWfLNs,1494
66
74
  mito_ai/tests/create_agent_system_message_prompt_test.py,sha256=PmNBCEz3vuy43CPRfE2JWgSVt1dfGFtn8pzBkDxBlyc,1061
67
75
  mito_ai/tests/open_ai_utils_test.py,sha256=LSJ6sIQq5xQ7RR3cYqBUegUagVQSoLemAbennCJMhiE,6646
68
76
  mito_ai/tests/performance_test.py,sha256=DwsvTTk51GZ1JOEMqvFHPGV6-8dfsL12GkEg9-7VlG8,12303
69
77
  mito_ai/tests/server_limits_test.py,sha256=BKIR75pUOntnQfmtif3XADHzcxzF9jMKEC4tqXefN-E,19521
70
- mito_ai/tests/test_constants.py,sha256=dA-ad3U5QuxXLDlqOrqod0mQqzUZ3AHoSuBNWY4TATY,1478
78
+ mito_ai/tests/test_constants.py,sha256=KbHktAAL_EeJmaVAXCGzf2ZZSxkIhEzfSvTguqXKGaI,1969
71
79
  mito_ai/tests/test_telemetry.py,sha256=p5p0-7EQKIT0Lf_lNgE9wdU0bs0wv-tO9eQVI_hYACI,349
72
80
  mito_ai/tests/version_check_test.py,sha256=ffEme3mS0sn2u6UjN7uf6R7MfwMda8gVMWFuks2lEXE,6753
73
81
  mito_ai/tests/data/prompt_lg.py,sha256=8Bu_S73P6Ot7LoTC8Xet6pVq7FwoDH9WeJpc5zuPwos,2456
@@ -96,23 +104,28 @@ mito_ai/tests/providers/test_provider_completion_exception.py,sha256=BM09h8ZC7n1
96
104
  mito_ai/tests/providers/test_provider_limits.py,sha256=9GzNMV54pTTV1fzOtQci3cVQ0GwR6OI12hQYntyg-tI,1597
97
105
  mito_ai/tests/providers/test_providers.py,sha256=WEQRyNkGfyWE1sXJHxAsXyHaXKHRZIemVKE-DMNjjdk,14691
98
106
  mito_ai/tests/providers/test_retry_logic.py,sha256=8jizGx8A1R6ZYYAfH63LBdkry2xyT8NThfIH-xLx8-U,16081
107
+ mito_ai/tests/providers/test_stream_mito_server_utils.py,sha256=SOOb1vU9U7xtiuIKYQaBIG-QYQqnsWXYVb9gTbTInz8,3930
99
108
  mito_ai/tests/providers/utils.py,sha256=z8lVfmXDHVzRpz4L6ZWEaHcY7uTUn_5FsmSr7UoxXtQ,3456
100
109
  mito_ai/tests/rules/conftest.py,sha256=DPW5JMtV5tZIKfDWq6R_DXTPJHZGMGfYsfA77cQi_ao,831
101
110
  mito_ai/tests/rules/rules_test.py,sha256=gaPGp3qMI-ZWW4J9nHEk9iXrAesB1mCyci7LDFN0K-g,3399
102
111
  mito_ai/tests/settings/conftest.py,sha256=dypIqQCssJ9sHArib7FTWQCrY2OLmkI3ZMK8Y3wtXDI,787
103
112
  mito_ai/tests/settings/settings_test.py,sha256=dRmugyFeAfUZcvSLd9Bz2kQ96hnq0mrCvzqCErZySX4,2133
104
113
  mito_ai/tests/settings/test_settings_constants.py,sha256=BBG7TCfl2pJzLcg825pRvEVgjP3D9sWyYAwqekQ10wo,349
114
+ mito_ai/tests/streamlit_conversion/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
115
+ mito_ai/tests/streamlit_conversion/test_streamlit_agent_handler.py,sha256=jyggd7mhY1_I7xNEXNh87Q4RrrHstIA9M71NXgajXes,12463
116
+ mito_ai/tests/streamlit_conversion/test_streamlit_utils.py,sha256=NJOrxKEKedi5dvab8JeKJShpW6iWnIsTaEt1_1abvVo,7327
117
+ mito_ai/tests/streamlit_conversion/test_validate_and_run_streamlit_code.py,sha256=IeKlc5I7DSZImvTynVagrW9DhkugFh_oGOZqlNkQiLA,15402
105
118
  mito_ai/tests/utils/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
106
119
  mito_ai/tests/utils/test_anthropic_utils.py,sha256=DXdcIfn5CTPrfI99QTY3msfNY2jpVzSvyVhSN8rwh_M,5210
107
120
  mito_ai/tests/utils/test_gemini_utils.py,sha256=DeN5392ZiuckeMw1agmHPaoa5y73TUSEgxxhx72crLQ,2866
108
121
  mito_ai/utils/__init__.py,sha256=10bPaPwGgcrId4d0uHyFr6ExhhbjO9Dog2oAfPHSMPs,112
109
- mito_ai/utils/anthropic_utils.py,sha256=MBDNMcvmgg6fYHob2YotdMmB4ANtUZFsoAaXbip3tCs,8213
122
+ mito_ai/utils/anthropic_utils.py,sha256=ew9RC0Ofn7nzgkxPChp1VMeQ0iQCMOCKwTdpj83ftmE,6335
110
123
  mito_ai/utils/create.py,sha256=w0Z0_-hmuamRGUWO4ceTaI6DR5hHLNpSWaBnjWrX7sQ,2587
111
124
  mito_ai/utils/db.py,sha256=oeNjFVg5JET1epjmUUs9uhgGzzvbCn3Na69UbVP0Ib4,2433
112
- mito_ai/utils/gemini_utils.py,sha256=fo6aX2DpJ6Tk-my0GKeP6CuHTEsMbrAfOeJd704Vio8,6701
125
+ mito_ai/utils/gemini_utils.py,sha256=zZlEeaQvqvndVxgNNmIQfB7OGkUd292bIlH0pvW0k4M,4643
113
126
  mito_ai/utils/message_history_utils.py,sha256=I8BaHHQX6qRSDfq1K9M8OSsU1Tux8whG6XN6688heSE,3113
114
- mito_ai/utils/mito_server_utils.py,sha256=OM6rre3WfoIC_YEHcZ4uDB8SYT9He1vaVLbwbiAo5Fg,3474
115
- mito_ai/utils/open_ai_utils.py,sha256=GLKcD5uPthDyGAjV9C2Jx17ICy5ZFbqnJsKkuHQLdRk,10700
127
+ mito_ai/utils/mito_server_utils.py,sha256=pqOic5fB1-Tlwquym81YCGPhAz4CoDolYlosWooylSw,8933
128
+ mito_ai/utils/open_ai_utils.py,sha256=R-FnTCMmE14msPJBUrwxLqPgja9lGDwNVIKbe2j6Kvw,6704
116
129
  mito_ai/utils/provider_utils.py,sha256=vVoo1lQc83Jnm0dgYf5L9AxfiWrb5HVb5Lno_vDQQyk,1671
117
130
  mito_ai/utils/schema.py,sha256=XAgw3GlAynGQDVIqWhKX_8trdlKuFVXatbUT-km_dhM,3106
118
131
  mito_ai/utils/server_limits.py,sha256=4uQld4DBSiNKhY9OsBItIAxyF8hgGDC9aBw5OLYv3e8,6334
@@ -120,24 +133,24 @@ mito_ai/utils/telemetry_utils.py,sha256=RCiqJbZyaMkpFYR7YgLw8a5wy7uXfOnwrOvZLp2B
120
133
  mito_ai/utils/utils.py,sha256=Ygl84xLOh06GIoqvAW4D5ZfUO_ilSEPcpkLPL4bm3Bg,3224
121
134
  mito_ai/utils/version_utils.py,sha256=yT1OJZpH7Q1eABR2BfYNV09hJ6xXv_aFJI58ltfpnvk,2409
122
135
  mito_ai/utils/websocket_base.py,sha256=O4xjMHYUhxKN_lOKtVEGl3mW8EXkzdPWt1tUtsbiHgM,2941
123
- mito_ai-0.1.35.data/data/etc/jupyter/jupyter_server_config.d/mito_ai.json,sha256=jnrJTWHAtiNWoD0APwyPSP0v4oXBO9aAqGwzTCq7ij8,82
124
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/build_log.json,sha256=nixqSxoSDD9pZS9YFQ_nwb4yhpfYCTIXIRpvU8ZkMVg,22761
125
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/package.json,sha256=lg7rlfAE-hQ6S7gHz4ni_wGh9Lt8x3m7A1s17gHgXLc,7232
126
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig,sha256=QUv6UYbAZT8dcuQP2AFoY03-nAeA8ryqykYf4y67ZCg,7090
127
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json,sha256=LIWr89PUToDeQc52dnlkE2RYL_jDCERhHACeXDNkPVk,903
128
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.a20772bc113422d0f505.js,sha256=VyN6K26GryYivaSnlbZm3q2wOB_iUrmtSxEkpkjGjWA,882145
129
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.a20772bc113422d0f505.js.map,sha256=PvBRbBi_yViohd-mg01gIUNB33F17qukIMwiSymfOPw,883295
130
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.d2eea6519fa332d79efb.js,sha256=v-JUkERbX_puhR3l06JOlv9jfAxCDIpPgdlrJn6GYyQ,31786
131
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.d2eea6519fa332d79efb.js.map,sha256=HdRtlssRMc9RQB8TW_DywyEZi3SQiip9IOBPaY5hvw0,30483
132
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/style.js,sha256=ymGkha4YxU1j3e7KeoKfqYpcsPp1u3RRuHzMaiUnOhw,150
133
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.76efcc5c3be4056457ee.js,sha256=UlH4v03pQVVAgGdVJAtRx7hmlNTxwm3Fk_GShbdUQ5s,33560
134
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.76efcc5c3be4056457ee.js.map,sha256=0FA2VSLCKUUcIcxgZ7e-VWoOpVGOb4_6N3rcBKEJ4fg,28290
135
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js,sha256=9oMNn2KgNWx12lmKHUFC2KKepDZFdEfe7E4oDOzTHGY,90862
136
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js.map,sha256=Jbgs3npRmzczpfHqSSUBiKbqURZbcgIWNdoccRjUSRk,93905
137
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js,sha256=5gfmIE7bAaJYJZdTp5WuyTW6dKdU545i3X4LTSmiEcM,223110
138
- mito_ai-0.1.35.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map,sha256=azV-DYUA9Yp99BcesR3Q0DzRIiD64xVRhE4lDbvK3Sg,245869
139
- mito_ai-0.1.35.dist-info/METADATA,sha256=Db8RXkL6dl-9tuxr3kLsaLj_uA_11mWujpEVIqXzuA4,7456
140
- mito_ai-0.1.35.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
141
- mito_ai-0.1.35.dist-info/entry_points.txt,sha256=OGsjpFBUq1QsuAlA3r2PeZXRwnnIWvzfgVhUqmx4qe4,79
142
- mito_ai-0.1.35.dist-info/licenses/LICENSE,sha256=O2F2Pp4Q1SmfzgYnl8krdrXZOaEo7Chjhk7OTYuGlDw,115
143
- mito_ai-0.1.35.dist-info/RECORD,,
136
+ mito_ai-0.1.37.data/data/etc/jupyter/jupyter_server_config.d/mito_ai.json,sha256=jnrJTWHAtiNWoD0APwyPSP0v4oXBO9aAqGwzTCq7ij8,82
137
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/build_log.json,sha256=1_eTs_cpcW7rXLytx-m-Cy1QgTDtQYURURU25fLNxKE,22761
138
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/package.json,sha256=x4l2ELsBUPlV6tuvttrsqAh2y8dcIAlUpUAR_5PC7dY,7232
139
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/package.json.orig,sha256=6YLt_YFX207fcksNphnHxKThOSnedViDDQd8RbmIx9c,7090
140
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/schemas/mito_ai/toolbar-buttons.json,sha256=LIWr89PUToDeQc52dnlkE2RYL_jDCERhHACeXDNkPVk,903
141
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.831f63b48760c7119b9b.js,sha256=spKlFMuTIGM2i77uNwdZN7l0MDuOx2o67f6Ko89OI_c,920755
142
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/lib_index_js.831f63b48760c7119b9b.js.map,sha256=VNV8IABx__MhLpS47aDMSi027qwDDUERrCZ6RmMuuk4,926203
143
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.93ecc9bc0edba61535cc.js,sha256=Ywb7IKC89JxMiK8PqqWuvjfXxbbA9k6PCnduccZyJlo,32253
144
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/remoteEntry.93ecc9bc0edba61535cc.js.map,sha256=-qulRtAYg4JqdUbxbgGUSznGHAUXI5Kmg4xaHZ2flrY,30952
145
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/style.js,sha256=ymGkha4YxU1j3e7KeoKfqYpcsPp1u3RRuHzMaiUnOhw,150
146
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js,sha256=3WQEODsCgCQGEsrSnXaCIb-LlQYJ9k55le76mlBk5xs,33936
147
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/style_index_js.5876024bb17dbd6a3ee6.js.map,sha256=Nc8hZfBEyXo3MHs-CN2h5l794OtFsz7ok7L-4qh2H6c,28742
148
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js,sha256=9oMNn2KgNWx12lmKHUFC2KKepDZFdEfe7E4oDOzTHGY,90862
149
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_semver_index_js.9795f79265ddb416864b.js.map,sha256=Jbgs3npRmzczpfHqSSUBiKbqURZbcgIWNdoccRjUSRk,93905
150
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js,sha256=5gfmIE7bAaJYJZdTp5WuyTW6dKdU545i3X4LTSmiEcM,223110
151
+ mito_ai-0.1.37.data/data/share/jupyter/labextensions/mito_ai/static/vendors-node_modules_vscode-diff_dist_index_js.ea55f1f9346638aafbcf.js.map,sha256=azV-DYUA9Yp99BcesR3Q0DzRIiD64xVRhE4lDbvK3Sg,245869
152
+ mito_ai-0.1.37.dist-info/METADATA,sha256=NzIrynYEtqLgNaBqRF6y5Dbhge9wS3MzYW1hcn8ls-M,7456
153
+ mito_ai-0.1.37.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
154
+ mito_ai-0.1.37.dist-info/entry_points.txt,sha256=OGsjpFBUq1QsuAlA3r2PeZXRwnnIWvzfgVhUqmx4qe4,79
155
+ mito_ai-0.1.37.dist-info/licenses/LICENSE,sha256=O2F2Pp4Q1SmfzgYnl8krdrXZOaEo7Chjhk7OTYuGlDw,115
156
+ mito_ai-0.1.37.dist-info/RECORD,,