hdsp-jupyter-extension 2.0.0__py3-none-any.whl → 2.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. agent_server/langchain/__init__.py +18 -0
  2. agent_server/langchain/agent.py +694 -0
  3. agent_server/langchain/executors/__init__.py +15 -0
  4. agent_server/langchain/executors/jupyter_executor.py +429 -0
  5. agent_server/langchain/executors/notebook_searcher.py +477 -0
  6. agent_server/langchain/middleware/__init__.py +36 -0
  7. agent_server/langchain/middleware/code_search_middleware.py +278 -0
  8. agent_server/langchain/middleware/error_handling_middleware.py +338 -0
  9. agent_server/langchain/middleware/jupyter_execution_middleware.py +301 -0
  10. agent_server/langchain/middleware/rag_middleware.py +227 -0
  11. agent_server/langchain/middleware/validation_middleware.py +240 -0
  12. agent_server/langchain/state.py +159 -0
  13. agent_server/langchain/tools/__init__.py +39 -0
  14. agent_server/langchain/tools/file_tools.py +279 -0
  15. agent_server/langchain/tools/jupyter_tools.py +143 -0
  16. agent_server/langchain/tools/search_tools.py +309 -0
  17. agent_server/main.py +13 -0
  18. agent_server/routers/health.py +14 -0
  19. agent_server/routers/langchain_agent.py +1368 -0
  20. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/build_log.json +1 -1
  21. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/package.json +2 -2
  22. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.2607ff74c74acfa83158.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js +408 -4
  23. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js.map +1 -0
  24. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.622c1a5918b3aafb2315.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.1366019c413f1d68467f.js +753 -65
  25. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.1366019c413f1d68467f.js.map +1 -0
  26. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.dae97cde171e13b8c834.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.3379c4b222c042de2b01.js +11 -11
  27. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.3379c4b222c042de2b01.js.map +1 -0
  28. jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js +2 -209
  29. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js.map +1 -0
  30. jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js +209 -2
  31. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js.map +1 -0
  32. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js → hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js +212 -3
  33. hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js.map +1 -0
  34. {hdsp_jupyter_extension-2.0.0.dist-info → hdsp_jupyter_extension-2.0.2.dist-info}/METADATA +2 -6
  35. {hdsp_jupyter_extension-2.0.0.dist-info → hdsp_jupyter_extension-2.0.2.dist-info}/RECORD +67 -50
  36. jupyter_ext/__init__.py +1 -1
  37. jupyter_ext/_version.py +1 -1
  38. jupyter_ext/handlers.py +126 -1
  39. jupyter_ext/labextension/build_log.json +1 -1
  40. jupyter_ext/labextension/package.json +2 -2
  41. jupyter_ext/labextension/static/{frontend_styles_index_js.2607ff74c74acfa83158.js → frontend_styles_index_js.634cf0ae0f3592d0882f.js} +408 -4
  42. jupyter_ext/labextension/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js.map +1 -0
  43. jupyter_ext/labextension/static/{lib_index_js.622c1a5918b3aafb2315.js → lib_index_js.1366019c413f1d68467f.js} +753 -65
  44. jupyter_ext/labextension/static/lib_index_js.1366019c413f1d68467f.js.map +1 -0
  45. jupyter_ext/labextension/static/{remoteEntry.dae97cde171e13b8c834.js → remoteEntry.3379c4b222c042de2b01.js} +11 -11
  46. jupyter_ext/labextension/static/remoteEntry.3379c4b222c042de2b01.js.map +1 -0
  47. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js → jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js +2 -209
  48. jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js.map +1 -0
  49. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js → jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js +209 -2
  50. jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js.map +1 -0
  51. jupyter_ext/labextension/static/{vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js → vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js} +212 -3
  52. jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js.map +1 -0
  53. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.2607ff74c74acfa83158.js.map +0 -1
  54. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.622c1a5918b3aafb2315.js.map +0 -1
  55. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.dae97cde171e13b8c834.js.map +0 -1
  56. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js.map +0 -1
  57. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js.map +0 -1
  58. hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js.map +0 -1
  59. jupyter_ext/labextension/static/frontend_styles_index_js.2607ff74c74acfa83158.js.map +0 -1
  60. jupyter_ext/labextension/static/lib_index_js.622c1a5918b3aafb2315.js.map +0 -1
  61. jupyter_ext/labextension/static/remoteEntry.dae97cde171e13b8c834.js.map +0 -1
  62. jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js.map +0 -1
  63. jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js.map +0 -1
  64. jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js.map +0 -1
  65. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/etc/jupyter/jupyter_server_config.d/hdsp_jupyter_extension.json +0 -0
  66. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/install.json +0 -0
  67. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js +0 -0
  68. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js.map +0 -0
  69. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js +0 -0
  70. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js.map +0 -0
  71. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/style.js +0 -0
  72. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js +0 -0
  73. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js.map +0 -0
  74. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js +0 -0
  75. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js.map +0 -0
  76. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js +0 -0
  77. {hdsp_jupyter_extension-2.0.0.data → hdsp_jupyter_extension-2.0.2.data}/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js.map +0 -0
  78. {hdsp_jupyter_extension-2.0.0.dist-info → hdsp_jupyter_extension-2.0.2.dist-info}/WHEEL +0 -0
  79. {hdsp_jupyter_extension-2.0.0.dist-info → hdsp_jupyter_extension-2.0.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hdsp-jupyter-extension
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: HDSP Agent JupyterLab Extension - Thin client for Agent Server
5
5
  Project-URL: Homepage, https://github.com/yourusername/hdsp-agent
6
6
  Project-URL: Bug Tracker, https://github.com/yourusername/hdsp-agent/issues
@@ -26,18 +26,14 @@ Requires-Dist: httpx>=0.28.0
26
26
  Requires-Dist: jupyter-server<3,>=2.0.1
27
27
  Requires-Dist: pydantic-settings>=2.6.0
28
28
  Requires-Dist: pydantic>=2.10.0
29
- Requires-Dist: qdrant-client>=1.12.0
30
- Requires-Dist: rank-bm25>=0.2.2
31
- Requires-Dist: sentence-transformers<3.0.0,>=2.7.0
32
29
  Requires-Dist: sse-starlette>=2.2.0
33
30
  Requires-Dist: tabulate>=0.9.0
34
31
  Requires-Dist: uvicorn>=0.32.0
35
- Requires-Dist: watchdog>=6.0.0
36
32
  Provides-Extra: embedded
37
33
  Requires-Dist: qdrant-client>=1.12.0; extra == 'embedded'
38
34
  Requires-Dist: rank-bm25>=0.2.2; extra == 'embedded'
39
35
  Requires-Dist: sentence-transformers<3.0.0,>=2.7.0; extra == 'embedded'
40
- Requires-Dist: torch<2.5.0,>=2.4.0; extra == 'embedded'
36
+ Requires-Dist: torch>=2.4.0; extra == 'embedded'
41
37
  Requires-Dist: watchdog>=6.0.0; extra == 'embedded'
42
38
  Provides-Extra: test
43
39
  Requires-Dist: coverage; extra == 'test'
@@ -1,35 +1,35 @@
1
- jupyter_ext/__init__.py,sha256=XyLMAHyhXy6rmFiucOsV_s835HjuMv6w2bQ2qeuEchI,8229
2
- jupyter_ext/_version.py,sha256=f7u2IbPTVFFS8bKGZTKl3nx6NuGUHFCdwBfoZSmLCWs,171
1
+ jupyter_ext/__init__.py,sha256=Du4qO0p8Fa91WlMsPJ1Cu5f65HpG4Mt8QgD9s7nn23M,8228
2
+ jupyter_ext/_version.py,sha256=v8GuGWppHGl0xlpDsMe5dCBFGuhWOAxBNrzq3BSvvDA,171
3
3
  jupyter_ext/config.py,sha256=I38C6P24rtC2uu3SFGRpXLd-YVUxTxe_bfdCHgi54OM,3262
4
- jupyter_ext/handlers.py,sha256=OoXM3Ax6ck2o3oyuw0xNbYvlWnmd1JNnLgRlR_8ObIk,22204
4
+ jupyter_ext/handlers.py,sha256=b5eAOiNdKtR3LP7eVzEE4ZfZ5RLmCBYs56bulkHwVxE,27766
5
5
  jupyter_ext/etc/jupyter/jupyter_server_config.d/hdsp_jupyter_extension.json,sha256=KXCyKfoeM1OxdPWa0wL2plndcqJkQ7ke3UaF0tJpMW0,86
6
- jupyter_ext/labextension/build_log.json,sha256=3QxkZbqIC47_Uyrs-J7AZbavm68oz4LA3V0xmW1IUGY,23379
7
- jupyter_ext/labextension/package.json,sha256=I_GuiAyeFdm5mEq7Wc56--T2_h1LlZQKmQK63ep9nPQ,4520
8
- jupyter_ext/labextension/static/frontend_styles_index_js.2607ff74c74acfa83158.js,sha256=jHYbe-jPXoc4bUg-BcUr6Zape5ujJg9jHe7B6G60bEU,245538
9
- jupyter_ext/labextension/static/frontend_styles_index_js.2607ff74c74acfa83158.js.map,sha256=hksBx5EakRyp7VhqktyTPt5pxWecNAZ3IIXgB_btg7Q,283865
10
- jupyter_ext/labextension/static/lib_index_js.622c1a5918b3aafb2315.js,sha256=B7WpIu_X7QRp79BqKW8l2NBXYKmImUZvnhYwStOX_aA,593830
11
- jupyter_ext/labextension/static/lib_index_js.622c1a5918b3aafb2315.js.map,sha256=mNgzUC2TGY0_J2K5ja5J_IAeoH_0P22gWr6AXu94asQ,638110
6
+ jupyter_ext/labextension/build_log.json,sha256=unuzlwID4h2F7raPEQKk0vagixcbdMGbDx2zDHOhKs4,23379
7
+ jupyter_ext/labextension/package.json,sha256=YRi4gid4jGZrFpfRwcDamxYoTpH7ZxMSRO7RD7rthPU,4520
8
+ jupyter_ext/labextension/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js,sha256=rsyZctWGLxelub0a2riJ-zb8Igy3g0fc4gB7rt2nDIY,267787
9
+ jupyter_ext/labextension/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js.map,sha256=We3tfZ5nQBeWPAtPKh3Z8CISUFSigjnlpmlMbgvoZ3c,312670
10
+ jupyter_ext/labextension/static/lib_index_js.1366019c413f1d68467f.js,sha256=rSDGI51IM_JIM3SiO71S4O_HID40pIsNSmx1dYaWb4Y,628030
11
+ jupyter_ext/labextension/static/lib_index_js.1366019c413f1d68467f.js.map,sha256=rvmLfYBvLNUClphX1ibtKr0PxwJY75EITIWgAoHCaPo,676261
12
12
  jupyter_ext/labextension/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js,sha256=59fuOBtJBzroB6mOhgCCSVbb0fSd90byTSSV2EvCsK4,4535
13
13
  jupyter_ext/labextension/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js.map,sha256=fRpFrcMlzgxQF-phepTC8-BRZwO1mDldaoMwJV_uY-Y,3116
14
14
  jupyter_ext/labextension/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js,sha256=o4ve2_dvZmfE0CZCaeBu11qYu-5OB2zDOAr5hWrIKn4,4535
15
15
  jupyter_ext/labextension/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js.map,sha256=6gSs6dXiA5iQ3YiRSel1Ig2i4urNXU-HEEcHInczjOM,3116
16
- jupyter_ext/labextension/static/remoteEntry.dae97cde171e13b8c834.js,sha256=q2KBqAtcG1n38O9WcAmjrxnxrorsH0b6uiHELG1b0Og,38383
17
- jupyter_ext/labextension/static/remoteEntry.dae97cde171e13b8c834.js.map,sha256=rzuxiO7gwvUhPGh3FFhbIvfcDty649jx9IboogVWbEw,37138
16
+ jupyter_ext/labextension/static/remoteEntry.3379c4b222c042de2b01.js,sha256=WDiXa3AhQBS1DQCHd-2MgQH8VVuVv_3-GV53smi0DBA,38243
17
+ jupyter_ext/labextension/static/remoteEntry.3379c4b222c042de2b01.js.map,sha256=bERTFFmPDO5jdQUUGdnTa10fR94-SL8x_i0DqroLQYU,36998
18
18
  jupyter_ext/labextension/static/style.js,sha256=Sb-Ji_5-ejVKmmKUV2b3sfuP7iFYDAgFFfT1Jt0hRcE,163
19
19
  jupyter_ext/labextension/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js,sha256=oCoskp4kEWGDCpNbXfW5AwnzBEZ5OUiO9Tq7An4ORJc,17120
20
20
  jupyter_ext/labextension/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js.map,sha256=MkPt1pMGQa_0-5BWR36xjPnwdr4BQai1hf3zlHIHgis,16964
21
- jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js,sha256=8iMTBMEzMB-pBxjmb6buwCmftIt-IVJwM_MviYzWfSw,80486
22
- jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js.map,sha256=ddmrhd26Sbk7W-4dVGoKj1sZOXvKmC7lbLI2LQNIjd8,74472
23
- jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js,sha256=AOQJdHwyyL6LTWf9_wFPt1VWktb3sVWcbpeGzjvbokQ,44590
24
- jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js.map,sha256=4D2gNLoj-frmItDhokqEslfj1K9BvuTJuWEuzY9uXLg,43784
21
+ jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js,sha256=wzNlZbG78o1o8VdysX4Jh8svCJn7EkCEsWysYVNDA_M,72770
22
+ jupyter_ext/labextension/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js.map,sha256=ezT6x--1WMPEaTvc-Hls3--P26cDONPdLIJoVturnZY,65792
23
+ jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js,sha256=k2kgP3oQDAk-1SnNqBErcJNjPDaVau6RaKqWLlhWPhk,52636
24
+ jupyter_ext/labextension/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js.map,sha256=vOmkYMCMF8wPvjg0KkidY8nqkUKsRFACvMrOZ9oCV5I,52519
25
25
  jupyter_ext/labextension/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js,sha256=ei2Rn4RgH5MPqmhYKgavrxtq7O8m3tKAhi7DZtm41GA,23091
26
26
  jupyter_ext/labextension/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js.map,sha256=wcO4207yUzmN33D_MSJBxQynNmUI6GWQLOqvDw7nRbU,17846
27
27
  jupyter_ext/labextension/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js,sha256=stuAnHjRqwUbf11qPnbXV4HyWwtj-CtvGis3BDrZlXw,3064261
28
28
  jupyter_ext/labextension/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js.map,sha256=_p6BJKXfq9zLGeBkN7gezYwZljO4adpNKqjwD3N79GY,2210898
29
- jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js,sha256=WYjamSz7OZgg-63elljAfF3Z5h1bL04WMOdSBhdbrHk,287039
30
- jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js.map,sha256=bTY2LeslfnSHt5Vhhjeu4_kCCt4BTJKpYLJ3DmQU6TY,254121
29
+ jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js,sha256=YCT05xGYLDCpIYCyDWyhZdWrPAu_L_ZdhvxpVBtG2G8,295007
30
+ jupyter_ext/labextension/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js.map,sha256=08fBThOCy0BnlvpXxZGsM97YcU0Ik7UCgaMDxmUg8F0,262831
31
31
  agent_server/__init__.py,sha256=YF9Kl0x5WKxiqA_Ma0M7FjeQWHCBAvker-v5Y40F1x0,196
32
- agent_server/main.py,sha256=UM1z4zu-2A_hDt4WL7X0obE5_2G7Lc3JfZfP6tOwM4U,4920
32
+ agent_server/main.py,sha256=UzMtVGQ3NtspGHfQ6xjJrIq8Dg_uUoq1VQZ7CBcFusc,5366
33
33
  agent_server/core/__init__.py,sha256=KiIQyCJFmJKLpHueS4SPyhNafnupgv2izISdOePTFCc,2262
34
34
  agent_server/core/api_key_manager.py,sha256=4GA3wsKcGyUTO3m9Rb1I5j1z4n6mde9pBWfPROwzDm4,14699
35
35
  agent_server/core/code_validator.py,sha256=VY1oHUZ0sefhj0Bi5g1OoRab9DNatXDAUkJbdLN5Kyk,44487
@@ -48,6 +48,22 @@ agent_server/core/summary_generator.py,sha256=sdQtxnCafU5Vqpv8k-uWvNfF34nhEbo1zq
48
48
  agent_server/core/task_manager.py,sha256=-KFp8aS4pJUya7CJYxLm-piZyKLhivvCX7HQ4fy1oM0,6387
49
49
  agent_server/knowledge/__init__.py,sha256=6xV1zhCEIXrugMk7CQmsDkKgqqllQRCAPBMOUVYmamI,229
50
50
  agent_server/knowledge/watchdog_service.py,sha256=Q7CFgomg59h_rvDc0mAQ-pOi9czIns0pQJTr9OoOZRw,11124
51
+ agent_server/langchain/__init__.py,sha256=uol-jV2VVlM4_kW3X301Asf5WovJfdgRAHQM6k9U7o8,615
52
+ agent_server/langchain/agent.py,sha256=RaeHSebGCyXC8v0MF3FOsnPuSbtPHnXvF8Ux50g6vlY,26993
53
+ agent_server/langchain/state.py,sha256=GJBQTOmvCEjDnYI2d7YJ_QgY6cdWGUM0hLojosTvwGI,4152
54
+ agent_server/langchain/executors/__init__.py,sha256=R5nEDVpVGquc4aq0Ndtww_Kd6hmziF2cYt2EE1m3XsA,462
55
+ agent_server/langchain/executors/jupyter_executor.py,sha256=1o-nx_tudxPLh4i7PmpxXUGbxJhgV1guCJj_VznAFHI,14489
56
+ agent_server/langchain/executors/notebook_searcher.py,sha256=MA2nq8FbydjnsO6Bz8rEJKB30iwTrPa0ZHmpp4zKg1M,15269
57
+ agent_server/langchain/middleware/__init__.py,sha256=X73n9qeILxeeuYxJXpTvJXY92W5l8mtNml2ukh6Da2Y,1262
58
+ agent_server/langchain/middleware/code_search_middleware.py,sha256=55W6vkfGBQKtzjpQvG46SlRUcw0zWl1mR163xWWpH68,9690
59
+ agent_server/langchain/middleware/error_handling_middleware.py,sha256=tGki6er2yHeUZZmwu0V_KEPLFyANNMKICuW_HvjfPFw,11126
60
+ agent_server/langchain/middleware/jupyter_execution_middleware.py,sha256=zjdPi5zQoV1QKFY3dHH-qE7kqf042Yj4tSo4TiQJ9DQ,9511
61
+ agent_server/langchain/middleware/rag_middleware.py,sha256=_I_AmgPc028WqC7Zl6nGjfRBaQY01sRUzEmH0uEfl10,6785
62
+ agent_server/langchain/middleware/validation_middleware.py,sha256=oV4yAbXKIaArgNXimKn3tFQnUgsg6saHg7bAgrCrhIo,7475
63
+ agent_server/langchain/tools/__init__.py,sha256=9gW1YP1G2rBZ8KLlYtS04ghj_zLzJXawBMNyEUuVG_s,948
64
+ agent_server/langchain/tools/file_tools.py,sha256=HbFB09lQrE8MN-SQaHR71zy_0_d3gv86qMY0EPzYky8,8271
65
+ agent_server/langchain/tools/jupyter_tools.py,sha256=hNN5CP_r2G1NHCeknJieuStumIvxnUm6c9SG7d1yAlU,4273
66
+ agent_server/langchain/tools/search_tools.py,sha256=VErPMnJ4t_1UeC3ZO_OoWSynOTETeBvFgtLMGp-91TU,9992
51
67
  agent_server/prompts/__init__.py,sha256=nwAKfAuUkWnoN41p2jA0yBqwMfXMZhWNsWl5GU39Snk,1498
52
68
  agent_server/prompts/file_action_prompts.py,sha256=riZ9UtSv5etAZ_Il6Atr10gJeEhUA_QBcSpPtFXP2zk,2673
53
69
  agent_server/routers/__init__.py,sha256=vXk7By8qKyZ9PgSBlPqjlYM35cMKsn8iyRVjlvmaWoU,177
@@ -55,7 +71,8 @@ agent_server/routers/agent.py,sha256=6G1lwSsJHfVpIzq015cqJgcuUZeVxvCr17Gi3HgMdl4
55
71
  agent_server/routers/chat.py,sha256=jXNdJVTrL-C4SKMWioP4_jI3jhDdnmiQRtpYtaPqOo4,6228
56
72
  agent_server/routers/config.py,sha256=8QumO4MK2PnfSPTcVBIksqu1WS-FBo3RBzAONU_zZVk,2985
57
73
  agent_server/routers/file_resolver.py,sha256=KNopmolytoC1w9GH7Uor4tklbS2lqUYXea2U8xKPTI4,9237
58
- agent_server/routers/health.py,sha256=ZHJdKLtDh5ZBnPDDiDGfdpBxkKmkpIcGUf94NU6ydrI,869
74
+ agent_server/routers/health.py,sha256=y32q1SE8aFx2Fgj1rvkprQe-8JsOGF1H3zyD3uFKP_Y,1226
75
+ agent_server/routers/langchain_agent.py,sha256=vE5kdNsnlgWeuvobZJRc-gHWYVGEqnBKxoKSrUFhEe8,58663
59
76
  agent_server/routers/rag.py,sha256=iHWk281PaEzmtb-lcNtFseYLZAfvyjXRj8u5ESreI48,4969
60
77
  agent_server/schemas/__init__.py,sha256=3sYVGcT7S5MkB3tDCoX3vojmhT-aHj2esg8STvjRGCk,1153
61
78
  hdsp_agent_core/__init__.py,sha256=QQEV26AIbNUvriqSdUqmUTouFkAt2hTssai2fsTibdc,3262
@@ -88,34 +105,34 @@ hdsp_agent_core/tests/__init__.py,sha256=RinkbDl7BnUloYATdCHWXqkVytuWHPNadeJL8Ff
88
105
  hdsp_agent_core/tests/conftest.py,sha256=PfNEw0TwEaQ4K2kqA8zymnB3VOGrYFVXLdae8hUaRTw,2695
89
106
  hdsp_agent_core/tests/test_factory.py,sha256=hy94qoChlozQ5UPtkVQJ2ZwfCUmEr0G4zHWD_Gab044,10195
90
107
  hdsp_agent_core/tests/test_services.py,sha256=DsBwcQ_--2phKWN4XnknabvIUIlBUNOtUP_8ympr8CE,12153
91
- hdsp_jupyter_extension-2.0.0.data/data/etc/jupyter/jupyter_server_config.d/hdsp_jupyter_extension.json,sha256=KXCyKfoeM1OxdPWa0wL2plndcqJkQ7ke3UaF0tJpMW0,86
92
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/build_log.json,sha256=3QxkZbqIC47_Uyrs-J7AZbavm68oz4LA3V0xmW1IUGY,23379
93
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/package.json,sha256=I_GuiAyeFdm5mEq7Wc56--T2_h1LlZQKmQK63ep9nPQ,4520
94
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.2607ff74c74acfa83158.js,sha256=jHYbe-jPXoc4bUg-BcUr6Zape5ujJg9jHe7B6G60bEU,245538
95
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.2607ff74c74acfa83158.js.map,sha256=hksBx5EakRyp7VhqktyTPt5pxWecNAZ3IIXgB_btg7Q,283865
96
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.622c1a5918b3aafb2315.js,sha256=B7WpIu_X7QRp79BqKW8l2NBXYKmImUZvnhYwStOX_aA,593830
97
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.622c1a5918b3aafb2315.js.map,sha256=mNgzUC2TGY0_J2K5ja5J_IAeoH_0P22gWr6AXu94asQ,638110
98
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js,sha256=59fuOBtJBzroB6mOhgCCSVbb0fSd90byTSSV2EvCsK4,4535
99
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js.map,sha256=fRpFrcMlzgxQF-phepTC8-BRZwO1mDldaoMwJV_uY-Y,3116
100
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js,sha256=o4ve2_dvZmfE0CZCaeBu11qYu-5OB2zDOAr5hWrIKn4,4535
101
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js.map,sha256=6gSs6dXiA5iQ3YiRSel1Ig2i4urNXU-HEEcHInczjOM,3116
102
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.dae97cde171e13b8c834.js,sha256=q2KBqAtcG1n38O9WcAmjrxnxrorsH0b6uiHELG1b0Og,38383
103
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.dae97cde171e13b8c834.js.map,sha256=rzuxiO7gwvUhPGh3FFhbIvfcDty649jx9IboogVWbEw,37138
104
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/style.js,sha256=Sb-Ji_5-ejVKmmKUV2b3sfuP7iFYDAgFFfT1Jt0hRcE,163
105
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js,sha256=oCoskp4kEWGDCpNbXfW5AwnzBEZ5OUiO9Tq7An4ORJc,17120
106
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js.map,sha256=MkPt1pMGQa_0-5BWR36xjPnwdr4BQai1hf3zlHIHgis,16964
107
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js,sha256=8iMTBMEzMB-pBxjmb6buwCmftIt-IVJwM_MviYzWfSw,80486
108
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js-node_modules-782ee5.d9ed8645ef1d311657d8.js.map,sha256=ddmrhd26Sbk7W-4dVGoKj1sZOXvKmC7lbLI2LQNIjd8,74472
109
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js,sha256=AOQJdHwyyL6LTWf9_wFPt1VWktb3sVWcbpeGzjvbokQ,44590
110
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.36b49c71871f98d4f549.js.map,sha256=4D2gNLoj-frmItDhokqEslfj1K9BvuTJuWEuzY9uXLg,43784
111
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js,sha256=ei2Rn4RgH5MPqmhYKgavrxtq7O8m3tKAhi7DZtm41GA,23091
112
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js.map,sha256=wcO4207yUzmN33D_MSJBxQynNmUI6GWQLOqvDw7nRbU,17846
113
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js,sha256=stuAnHjRqwUbf11qPnbXV4HyWwtj-CtvGis3BDrZlXw,3064261
114
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js.map,sha256=_p6BJKXfq9zLGeBkN7gezYwZljO4adpNKqjwD3N79GY,2210898
115
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js,sha256=WYjamSz7OZgg-63elljAfF3Z5h1bL04WMOdSBhdbrHk,287039
116
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.2e13df4ea61496e95d45.js.map,sha256=bTY2LeslfnSHt5Vhhjeu4_kCCt4BTJKpYLJ3DmQU6TY,254121
117
- hdsp_jupyter_extension-2.0.0.data/data/share/jupyter/labextensions/hdsp-agent/install.json,sha256=xNrwkh9wNTyYPt0_LNWXGICeqQDHRsQzflQFbLOwAH4,193
118
- hdsp_jupyter_extension-2.0.0.dist-info/METADATA,sha256=fJnLpYCD6SAeYXxTJajjYZyPKrS8YQrMAdIYfYbOYc8,4204
119
- hdsp_jupyter_extension-2.0.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
120
- hdsp_jupyter_extension-2.0.0.dist-info/licenses/LICENSE,sha256=LZnhgcr8NXVgC4ewcnNjWlYahaIS_KLMxKWDCZkHpQo,1061
121
- hdsp_jupyter_extension-2.0.0.dist-info/RECORD,,
108
+ hdsp_jupyter_extension-2.0.2.data/data/etc/jupyter/jupyter_server_config.d/hdsp_jupyter_extension.json,sha256=KXCyKfoeM1OxdPWa0wL2plndcqJkQ7ke3UaF0tJpMW0,86
109
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/build_log.json,sha256=unuzlwID4h2F7raPEQKk0vagixcbdMGbDx2zDHOhKs4,23379
110
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/package.json,sha256=YRi4gid4jGZrFpfRwcDamxYoTpH7ZxMSRO7RD7rthPU,4520
111
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js,sha256=rsyZctWGLxelub0a2riJ-zb8Igy3g0fc4gB7rt2nDIY,267787
112
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/frontend_styles_index_js.634cf0ae0f3592d0882f.js.map,sha256=We3tfZ5nQBeWPAtPKh3Z8CISUFSigjnlpmlMbgvoZ3c,312670
113
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.1366019c413f1d68467f.js,sha256=rSDGI51IM_JIM3SiO71S4O_HID40pIsNSmx1dYaWb4Y,628030
114
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/lib_index_js.1366019c413f1d68467f.js.map,sha256=rvmLfYBvLNUClphX1ibtKr0PxwJY75EITIWgAoHCaPo,676261
115
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js,sha256=59fuOBtJBzroB6mOhgCCSVbb0fSd90byTSSV2EvCsK4,4535
116
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b80.c095373419d05e6f141a.js.map,sha256=fRpFrcMlzgxQF-phepTC8-BRZwO1mDldaoMwJV_uY-Y,3116
117
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js,sha256=o4ve2_dvZmfE0CZCaeBu11qYu-5OB2zDOAr5hWrIKn4,4535
118
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/node_modules_emotion_use-insertion-effect-with-fallbacks_dist_emotion-use-insertion-effect-wi-3ba6b81.61e75fb98ecff46cf836.js.map,sha256=6gSs6dXiA5iQ3YiRSel1Ig2i4urNXU-HEEcHInczjOM,3116
119
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.3379c4b222c042de2b01.js,sha256=WDiXa3AhQBS1DQCHd-2MgQH8VVuVv_3-GV53smi0DBA,38243
120
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/remoteEntry.3379c4b222c042de2b01.js.map,sha256=bERTFFmPDO5jdQUUGdnTa10fR94-SL8x_i0DqroLQYU,36998
121
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/style.js,sha256=Sb-Ji_5-ejVKmmKUV2b3sfuP7iFYDAgFFfT1Jt0hRcE,163
122
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js,sha256=oCoskp4kEWGDCpNbXfW5AwnzBEZ5OUiO9Tq7An4ORJc,17120
123
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_babel_runtime_helpers_esm_extends_js-node_modules_emotion_serialize_dist-051195.e2553aab0c3963b83dd7.js.map,sha256=MkPt1pMGQa_0-5BWR36xjPnwdr4BQai1hf3zlHIHgis,16964
124
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js,sha256=wzNlZbG78o1o8VdysX4Jh8svCJn7EkCEsWysYVNDA_M,72770
125
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_cache_dist_emotion-cache_browser_development_esm_js.24edcc52a1c014a8a5f0.js.map,sha256=ezT6x--1WMPEaTvc-Hls3--P26cDONPdLIJoVturnZY,65792
126
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js,sha256=k2kgP3oQDAk-1SnNqBErcJNjPDaVau6RaKqWLlhWPhk,52636
127
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_react_dist_emotion-react_browser_development_esm_js.19ecf6babe00caff6b8a.js.map,sha256=vOmkYMCMF8wPvjg0KkidY8nqkUKsRFACvMrOZ9oCV5I,52519
128
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js,sha256=ei2Rn4RgH5MPqmhYKgavrxtq7O8m3tKAhi7DZtm41GA,23091
129
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_emotion_styled_dist_emotion-styled_browser_development_esm_js.661fb5836f4978a7c6e1.js.map,sha256=wcO4207yUzmN33D_MSJBxQynNmUI6GWQLOqvDw7nRbU,17846
130
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js,sha256=stuAnHjRqwUbf11qPnbXV4HyWwtj-CtvGis3BDrZlXw,3064261
131
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_index_js.985697e0162d8d088ca2.js.map,sha256=_p6BJKXfq9zLGeBkN7gezYwZljO4adpNKqjwD3N79GY,2210898
132
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js,sha256=YCT05xGYLDCpIYCyDWyhZdWrPAu_L_ZdhvxpVBtG2G8,295007
133
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/static/vendors-node_modules_mui_material_utils_createSvgIcon_js.1f5038488cdfd8b3a85d.js.map,sha256=08fBThOCy0BnlvpXxZGsM97YcU0Ik7UCgaMDxmUg8F0,262831
134
+ hdsp_jupyter_extension-2.0.2.data/data/share/jupyter/labextensions/hdsp-agent/install.json,sha256=xNrwkh9wNTyYPt0_LNWXGICeqQDHRsQzflQFbLOwAH4,193
135
+ hdsp_jupyter_extension-2.0.2.dist-info/METADATA,sha256=MCw1ItvKP7FHS9le1sFobM8cpMlJAPr649dGL95Oz-s,4046
136
+ hdsp_jupyter_extension-2.0.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
137
+ hdsp_jupyter_extension-2.0.2.dist-info/licenses/LICENSE,sha256=LZnhgcr8NXVgC4ewcnNjWlYahaIS_KLMxKWDCZkHpQo,1061
138
+ hdsp_jupyter_extension-2.0.2.dist-info/RECORD,,
jupyter_ext/__init__.py CHANGED
@@ -71,7 +71,7 @@ def _ensure_config_files():
71
71
  "agent_server_url": "http://localhost:8000",
72
72
  "agent_server_port": 8000,
73
73
  "agent_server_timeout": 120.0,
74
- "embed_agent_server": False,
74
+ "embed_agent_server": True,
75
75
  "gemini": {"apiKey": "", "model": "gemini-2.5-pro"},
76
76
  "vllm": {
77
77
  "endpoint": "http://localhost:8000",
jupyter_ext/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '2.0.0'
4
+ __version__ = VERSION = '2.0.2'
jupyter_ext/handlers.py CHANGED
@@ -19,6 +19,21 @@ from tornado.web import RequestHandler
19
19
  logger = logging.getLogger(__name__)
20
20
 
21
21
 
22
+ def _resolve_workspace_root(server_root: str) -> str:
23
+ """Resolve workspace root by walking up to the project root if needed."""
24
+ current = os.path.abspath(server_root)
25
+ while True:
26
+ if (
27
+ os.path.isdir(os.path.join(current, "extensions"))
28
+ and os.path.isdir(os.path.join(current, "agent-server"))
29
+ ):
30
+ return current
31
+ parent = os.path.dirname(current)
32
+ if parent == current:
33
+ return os.path.abspath(server_root)
34
+ current = parent
35
+
36
+
22
37
  def _get_service_factory():
23
38
  """Get ServiceFactory instance (lazy import to avoid circular imports)"""
24
39
  from hdsp_agent_core.factory import get_service_factory
@@ -399,7 +414,7 @@ class HealthHandler(APIHandler):
399
414
 
400
415
  status = {
401
416
  "status": "healthy",
402
- "extension_version": "2.0.0",
417
+ "extension_version": "2.0.2",
403
418
  "mode": mode,
404
419
  }
405
420
 
@@ -559,6 +574,111 @@ class TaskCancelProxyHandler(BaseProxyHandler):
559
574
  return "/task/unknown/cancel"
560
575
 
561
576
 
577
+ class LangChainStreamProxyHandler(StreamProxyHandler):
578
+ """Proxy handler for /agent/langchain/stream endpoint."""
579
+
580
+ def get_proxy_path(self) -> str:
581
+ return "/agent/langchain/stream"
582
+
583
+ async def post(self, *args, **kwargs):
584
+ """Inject workspaceRoot based on Jupyter server root."""
585
+ try:
586
+ body = json.loads(self.request.body.decode("utf-8")) if self.request.body else {}
587
+ server_root = self.settings.get("server_root_dir", os.getcwd())
588
+ server_root = os.path.expanduser(server_root)
589
+ resolved_root = _resolve_workspace_root(server_root)
590
+ workspace_root = body.get("workspaceRoot")
591
+
592
+ if not workspace_root or workspace_root == ".":
593
+ body["workspaceRoot"] = resolved_root
594
+ elif not os.path.isabs(workspace_root):
595
+ body["workspaceRoot"] = os.path.join(resolved_root, workspace_root)
596
+
597
+ modified_body = json.dumps(body).encode("utf-8")
598
+ target_url = f"{self.agent_server_url}{self.get_proxy_path()}"
599
+
600
+ self.set_header("Content-Type", "text/event-stream")
601
+ self.set_header("Cache-Control", "no-cache")
602
+ self.set_header("Connection", "keep-alive")
603
+ self.set_header("X-Accel-Buffering", "no")
604
+
605
+ async with httpx.AsyncClient(timeout=self.timeout) as client:
606
+ async with client.stream(
607
+ "POST",
608
+ target_url,
609
+ content=modified_body,
610
+ headers={"Content-Type": "application/json"},
611
+ ) as response:
612
+ async for chunk in response.aiter_bytes():
613
+ self.write(chunk)
614
+ await self.flush()
615
+ except httpx.ConnectError:
616
+ self.write(f'data: {json.dumps({"error": "Agent Server is not available"})}\n\n')
617
+ except httpx.TimeoutException:
618
+ self.write(f'data: {json.dumps({"error": "Agent Server timeout"})}\n\n')
619
+ except Exception as e:
620
+ logger.error(f"LangChainStreamProxy error: {e}", exc_info=True)
621
+ self.write(f'data: {json.dumps({"error": str(e)})}\n\n')
622
+ finally:
623
+ self.finish()
624
+
625
+
626
+ class LangChainResumeProxyHandler(StreamProxyHandler):
627
+ """Proxy handler for /agent/langchain/resume endpoint."""
628
+
629
+ def get_proxy_path(self) -> str:
630
+ return "/agent/langchain/resume"
631
+
632
+ async def post(self, *args, **kwargs):
633
+ """Inject workspaceRoot based on Jupyter server root."""
634
+ try:
635
+ body = json.loads(self.request.body.decode("utf-8")) if self.request.body else {}
636
+ server_root = self.settings.get("server_root_dir", os.getcwd())
637
+ server_root = os.path.expanduser(server_root)
638
+ resolved_root = _resolve_workspace_root(server_root)
639
+ workspace_root = body.get("workspaceRoot")
640
+
641
+ if not workspace_root or workspace_root == ".":
642
+ body["workspaceRoot"] = resolved_root
643
+ elif not os.path.isabs(workspace_root):
644
+ body["workspaceRoot"] = os.path.join(resolved_root, workspace_root)
645
+
646
+ modified_body = json.dumps(body).encode("utf-8")
647
+ target_url = f"{self.agent_server_url}{self.get_proxy_path()}"
648
+
649
+ self.set_header("Content-Type", "text/event-stream")
650
+ self.set_header("Cache-Control", "no-cache")
651
+ self.set_header("Connection", "keep-alive")
652
+ self.set_header("X-Accel-Buffering", "no")
653
+
654
+ async with httpx.AsyncClient(timeout=self.timeout) as client:
655
+ async with client.stream(
656
+ "POST",
657
+ target_url,
658
+ content=modified_body,
659
+ headers={"Content-Type": "application/json"},
660
+ ) as response:
661
+ async for chunk in response.aiter_bytes():
662
+ self.write(chunk)
663
+ await self.flush()
664
+ except httpx.ConnectError:
665
+ self.write(f'data: {json.dumps({"error": "Agent Server is not available"})}\n\n')
666
+ except httpx.TimeoutException:
667
+ self.write(f'data: {json.dumps({"error": "Agent Server timeout"})}\n\n')
668
+ except Exception as e:
669
+ logger.error(f"LangChainResumeProxy error: {e}", exc_info=True)
670
+ self.write(f'data: {json.dumps({"error": str(e)})}\n\n')
671
+ finally:
672
+ self.finish()
673
+
674
+
675
+ class LangChainHealthProxyHandler(BaseProxyHandler):
676
+ """Proxy handler for /agent/langchain/health endpoint."""
677
+
678
+ def get_proxy_path(self) -> str:
679
+ return "/agent/langchain/health"
680
+
681
+
562
682
  class RAGReindexHandler(APIHandler):
563
683
  """Handler for /rag/reindex endpoint using ServiceFactory."""
564
684
 
@@ -607,6 +727,11 @@ def setup_handlers(web_app):
607
727
  (url_path_join(base_url, "hdsp-agent", "chat", "message"), ChatMessageHandler),
608
728
  (url_path_join(base_url, "hdsp-agent", "chat", "stream"), ChatStreamHandler),
609
729
 
730
+ # LangChain agent endpoints (proxy to agent-server)
731
+ (url_path_join(base_url, "hdsp-agent", "agent", "langchain", "stream"), LangChainStreamProxyHandler),
732
+ (url_path_join(base_url, "hdsp-agent", "agent", "langchain", "resume"), LangChainResumeProxyHandler),
733
+ (url_path_join(base_url, "hdsp-agent", "agent", "langchain", "health"), LangChainHealthProxyHandler),
734
+
610
735
  # RAG endpoints
611
736
  (url_path_join(base_url, "hdsp-agent", "rag", "search"), RAGSearchHandler),
612
737
  (url_path_join(base_url, "hdsp-agent", "rag", "status"), RAGStatusHandler),
@@ -722,7 +722,7 @@
722
722
  "@mui/material": {},
723
723
  "react-markdown": {},
724
724
  "hdsp-agent": {
725
- "version": "2.0.0",
725
+ "version": "2.0.2",
726
726
  "singleton": true,
727
727
  "import": "/Users/a421721/Desktop/hdsp/hdsp_agent/extensions/jupyter/lib/index.js"
728
728
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hdsp-agent",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "HDSP Agent JupyterLab Extension - Thin client for Agent Server",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -126,7 +126,7 @@
126
126
  }
127
127
  },
128
128
  "_build": {
129
- "load": "static/remoteEntry.dae97cde171e13b8c834.js",
129
+ "load": "static/remoteEntry.3379c4b222c042de2b01.js",
130
130
  "extension": "./extension",
131
131
  "style": "./style"
132
132
  }