auto-coder-web 0.1.58__tar.gz → 0.1.60__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/PKG-INFO +2 -2
  2. auto_coder_web-0.1.60/src/auto_coder_web/routers/mcp_router.py +188 -0
  3. auto_coder_web-0.1.60/src/auto_coder_web/version.py +1 -0
  4. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/cssMode-CHKgyP7k.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/cssMode-C28WkqEl.js +1 -1
  5. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/freemarker2-VecMn0a-.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/freemarker2-ZqPV3OAn.js +1 -1
  6. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/handlebars-suCFZKB1.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/handlebars-BeVH6MoZ.js +1 -1
  7. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/html-BaTdlezw.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/html-CbnuufYM.js +1 -1
  8. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/htmlMode-DVw8dO4V.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/htmlMode-CpsZVLwy.js +1 -1
  9. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/index-CDEGkh-B.css → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/index-Bnnll9cx.css +2 -2
  10. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/index-LPF9pOVA.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/index-U694gZ5i.js +416 -396
  11. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/javascript-DzFj73X-.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/javascript-CUA7SFHC.js +1 -1
  12. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/jsonMode-B7e1-bLg.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/jsonMode-BzAAFwlN.js +1 -1
  13. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/liquid-CMLQaZc5.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/liquid-B1UkAnrE.js +1 -1
  14. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/mdx-DCeMDiMx.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/mdx-2eOqd4a8.js +1 -1
  15. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/python-BfbGk_j0.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/python-DadwP7sa.js +1 -1
  16. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/razor-NtK1iBZB.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/razor-CCybM3Rs.js +1 -1
  17. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/tsMode-9oawC9nC.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/tsMode-Bk47zhhf.js +1 -1
  18. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/typescript-yE4BX-q5.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/typescript-vvCv9Db5.js +1 -1
  19. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/xml-Cy76E2H9.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/xml-CLM5-Fko.js +1 -1
  20. auto_coder_web-0.1.58/src/auto_coder_web/web/assets/yaml-LzxmQTR9.js → auto_coder_web-0.1.60/src/auto_coder_web/web/assets/yaml-BF217FNY.js +1 -1
  21. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/index.html +2 -2
  22. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/PKG-INFO +2 -2
  23. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/SOURCES.txt +18 -17
  24. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/requires.txt +1 -1
  25. auto_coder_web-0.1.58/src/auto_coder_web/version.py +0 -1
  26. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/README.md +0 -0
  27. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/setup.cfg +0 -0
  28. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/setup.py +0 -0
  29. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/__init__.py +0 -0
  30. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/auto_coder_runner_wrapper.py +0 -0
  31. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/__init__.py +0 -0
  32. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/auto_coder_conf_router.py +0 -0
  33. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/chat_list_router.py +0 -0
  34. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/compiler_router.py +0 -0
  35. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/completions_router.py +0 -0
  36. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/file_group_router.py +0 -0
  37. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/file_router.py +0 -0
  38. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/common_router/model_router.py +0 -0
  39. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/expert_routers/__init__.py +0 -0
  40. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/expert_routers/history_router.py +0 -0
  41. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/file_group.py +0 -0
  42. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/file_manager.py +0 -0
  43. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/init_project.py +0 -0
  44. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/json_file_storage.py +0 -0
  45. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/lang.py +0 -0
  46. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/proxy.py +0 -0
  47. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/__init__.py +0 -0
  48. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/auto_router.py +0 -0
  49. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/chat_router.py +0 -0
  50. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/coding_router.py +0 -0
  51. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/commit_router.py +0 -0
  52. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/config_router.py +0 -0
  53. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/index_router.py +0 -0
  54. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/rag_router.py +0 -0
  55. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/settings_router.py +0 -0
  56. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/todo_router.py +0 -0
  57. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/routers/upload_router.py +0 -0
  58. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/terminal.py +0 -0
  59. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/types.py +0 -0
  60. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/abap-BrgZPUOV.js +0 -0
  61. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/apex-DyP6w7ZV.js +0 -0
  62. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/azcli-BaLxmfj-.js +0 -0
  63. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/bat-CFOPXBzS.js +0 -0
  64. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/bicep-BfEKNvv3.js +0 -0
  65. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/cameligo-BFG1Mk7z.js +0 -0
  66. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/clojure-DTECt2xU.js +0 -0
  67. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/codicon-DCmgc-ay.ttf +0 -0
  68. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/coffee-CDGzqUPQ.js +0 -0
  69. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/cpp-CLLBncYj.js +0 -0
  70. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/csharp-dUCx_-0o.js +0 -0
  71. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/csp-5Rap-vPy.js +0 -0
  72. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/css-D3h14YRZ.js +0 -0
  73. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/cypher-DrQuvNYM.js +0 -0
  74. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/dart-CFKIUWau.js +0 -0
  75. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/dockerfile-Zznr-cwX.js +0 -0
  76. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/ecl-Ce3n6wWz.js +0 -0
  77. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/elixir-deUWdS0T.js +0 -0
  78. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/flow9-i9-g7ZhI.js +0 -0
  79. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/fsharp-CzKuDChf.js +0 -0
  80. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/go-Cphgjts3.js +0 -0
  81. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/graphql-Cg7bfA9N.js +0 -0
  82. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/hcl-0cvrggvQ.js +0 -0
  83. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/ini-Drc7WvVn.js +0 -0
  84. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/java-B_fMsGYe.js +0 -0
  85. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/julia-Bqgm2twL.js +0 -0
  86. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/kotlin-BSkB5QuD.js +0 -0
  87. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/less-BsTHnhdd.js +0 -0
  88. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/lexon-YWi4-JPR.js +0 -0
  89. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/lua-nf6ki56Z.js +0 -0
  90. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/m3-Cpb6xl2v.js +0 -0
  91. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/markdown-DSZPf7rp.js +0 -0
  92. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/mips-B_c3zf-v.js +0 -0
  93. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/msdax-rUNN04Wq.js +0 -0
  94. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/mysql-DDwshQtU.js +0 -0
  95. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/objective-c-B5zXfXm9.js +0 -0
  96. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/pascal-CXOwvkN_.js +0 -0
  97. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/pascaligo-Bc-ZgV77.js +0 -0
  98. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/perl-CwNk8-XU.js +0 -0
  99. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/pgsql-tGk8EFnU.js +0 -0
  100. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/php-CpIb_Oan.js +0 -0
  101. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/pla-B03wrqEc.js +0 -0
  102. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/postiats-BKlk5iyT.js +0 -0
  103. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/powerquery-Bhzvs7bI.js +0 -0
  104. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/powershell-Dd3NCNK9.js +0 -0
  105. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/protobuf-COyEY5Pt.js +0 -0
  106. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/pug-BaJupSGV.js +0 -0
  107. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/qsharp-DXyYeYxl.js +0 -0
  108. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/r-CdQndTaG.js +0 -0
  109. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/redis-CVwtpugi.js +0 -0
  110. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/redshift-25W9uPmb.js +0 -0
  111. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/restructuredtext-DfzH4Xui.js +0 -0
  112. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/ruby-Cp1zYvxS.js +0 -0
  113. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/rust-D5C2fndG.js +0 -0
  114. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/sb-CDntyWJ8.js +0 -0
  115. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/scala-BoFRg7Ot.js +0 -0
  116. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/scheme-Bio4gycK.js +0 -0
  117. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/scss-4Ik7cdeQ.js +0 -0
  118. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/shell-CX-rkNHf.js +0 -0
  119. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/solidity-Tw7wswEv.js +0 -0
  120. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/sophia-C5WLch3f.js +0 -0
  121. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/sparql-DHaeiCBh.js +0 -0
  122. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/sql-CCSDG5nI.js +0 -0
  123. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/st-pnP8ivHi.js +0 -0
  124. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/swift-DwJ7jVG9.js +0 -0
  125. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/systemverilog-B9Xyijhd.js +0 -0
  126. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/tcl-DnHyzjbg.js +0 -0
  127. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/twig-CPajHgWi.js +0 -0
  128. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/typespec-D-MeaMDU.js +0 -0
  129. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/vb-DgyLZaXg.js +0 -0
  130. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/assets/wgsl-BIv9DU6q.js +0 -0
  131. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/favicon.ico +0 -0
  132. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/logo192.png +0 -0
  133. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/logo512.png +0 -0
  134. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/manifest.json +0 -0
  135. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  136. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/base/worker/workerMain.js +0 -0
  137. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/abap/abap.js +0 -0
  138. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/apex/apex.js +0 -0
  139. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/azcli/azcli.js +0 -0
  140. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bat/bat.js +0 -0
  141. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bicep/bicep.js +0 -0
  142. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +0 -0
  143. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/clojure/clojure.js +0 -0
  144. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/coffee/coffee.js +0 -0
  145. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cpp/cpp.js +0 -0
  146. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csharp/csharp.js +0 -0
  147. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csp/csp.js +0 -0
  148. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/css/css.js +0 -0
  149. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cypher/cypher.js +0 -0
  150. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dart/dart.js +0 -0
  151. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +0 -0
  152. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ecl/ecl.js +0 -0
  153. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/elixir/elixir.js +0 -0
  154. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/flow9/flow9.js +0 -0
  155. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +0 -0
  156. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +0 -0
  157. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/go/go.js +0 -0
  158. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/graphql/graphql.js +0 -0
  159. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +0 -0
  160. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/hcl/hcl.js +0 -0
  161. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/html/html.js +0 -0
  162. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ini/ini.js +0 -0
  163. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/java/java.js +0 -0
  164. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/javascript/javascript.js +0 -0
  165. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/julia/julia.js +0 -0
  166. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +0 -0
  167. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/less/less.js +0 -0
  168. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lexon/lexon.js +0 -0
  169. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/liquid/liquid.js +0 -0
  170. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lua/lua.js +0 -0
  171. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/m3/m3.js +0 -0
  172. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/markdown/markdown.js +0 -0
  173. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mdx/mdx.js +0 -0
  174. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mips/mips.js +0 -0
  175. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/msdax/msdax.js +0 -0
  176. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mysql/mysql.js +0 -0
  177. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +0 -0
  178. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascal/pascal.js +0 -0
  179. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +0 -0
  180. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/perl/perl.js +0 -0
  181. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +0 -0
  182. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/php/php.js +0 -0
  183. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pla/pla.js +0 -0
  184. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/postiats/postiats.js +0 -0
  185. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +0 -0
  186. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powershell/powershell.js +0 -0
  187. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +0 -0
  188. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pug/pug.js +0 -0
  189. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/python/python.js +0 -0
  190. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +0 -0
  191. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/r/r.js +0 -0
  192. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/razor/razor.js +0 -0
  193. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redis/redis.js +0 -0
  194. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redshift/redshift.js +0 -0
  195. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +0 -0
  196. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ruby/ruby.js +0 -0
  197. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/rust/rust.js +0 -0
  198. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sb/sb.js +0 -0
  199. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scala/scala.js +0 -0
  200. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scheme/scheme.js +0 -0
  201. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scss/scss.js +0 -0
  202. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/shell/shell.js +0 -0
  203. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/solidity/solidity.js +0 -0
  204. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sophia/sophia.js +0 -0
  205. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sparql/sparql.js +0 -0
  206. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sql/sql.js +0 -0
  207. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/st/st.js +0 -0
  208. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/swift/swift.js +0 -0
  209. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +0 -0
  210. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/tcl/tcl.js +0 -0
  211. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/twig/twig.js +0 -0
  212. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typescript/typescript.js +0 -0
  213. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typespec/typespec.js +0 -0
  214. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/vb/vb.js +0 -0
  215. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/wgsl/wgsl.js +0 -0
  216. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/xml/xml.js +0 -0
  217. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/yaml/yaml.js +0 -0
  218. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.css +0 -0
  219. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.js +0 -0
  220. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssMode.js +0 -0
  221. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssWorker.js +0 -0
  222. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlMode.js +0 -0
  223. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlWorker.js +0 -0
  224. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonMode.js +0 -0
  225. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonWorker.js +0 -0
  226. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsMode.js +0 -0
  227. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsWorker.js +0 -0
  228. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/loader.js +0 -0
  229. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.de.js +0 -0
  230. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.es.js +0 -0
  231. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.fr.js +0 -0
  232. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.it.js +0 -0
  233. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ja.js +0 -0
  234. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ko.js +0 -0
  235. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ru.js +0 -0
  236. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-cn.js +0 -0
  237. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-tw.js +0 -0
  238. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web/web/robots.txt +0 -0
  239. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/dependency_links.txt +0 -0
  240. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/entry_points.txt +0 -0
  241. {auto_coder_web-0.1.58 → auto_coder_web-0.1.60}/src/auto_coder_web.egg-info/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto_coder_web
3
- Version: 0.1.58
3
+ Version: 0.1.60
4
4
  Summary: auto-coder.web: A Python Project
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.9
7
7
  Classifier: Programming Language :: Python :: 3.10
8
8
  Classifier: Programming Language :: Python :: 3.11
9
9
  Description-Content-Type: text/markdown
10
- Requires-Dist: auto-coder>=0.1.330
10
+ Requires-Dist: auto-coder>=0.1.332
11
11
  Requires-Dist: aiofiles
12
12
  Requires-Dist: psutil
13
13
  Requires-Dist: sse-starlette
@@ -0,0 +1,188 @@
1
+ import asyncio
2
+ import json
3
+ import os
4
+ from fastapi import APIRouter, HTTPException, Request, Depends
5
+ from pydantic import BaseModel, Field
6
+ from typing import Dict, Any, Optional, List
7
+ from autocoder.common.mcp_server import (
8
+ get_mcp_server,
9
+ McpInstallRequest,
10
+ McpRemoveRequest,
11
+ McpListRequest,
12
+ McpListRunningRequest,
13
+ McpRefreshRequest,
14
+ McpServerInfoRequest,
15
+ McpResponse
16
+ )
17
+ from autocoder.common.printer import Printer # For messages
18
+ from autocoder.chat_auto_coder_lang import get_message_with_format # For formatted messages
19
+ from loguru import logger
20
+ from byzerllm.utils.langutil import asyncfy_with_semaphore
21
+
22
+ # Use asyncfy_with_semaphore to wrap the synchronous send_request method
23
+ async_send_request = asyncfy_with_semaphore(get_mcp_server().send_request, max_workers=5)
24
+
25
+ router = APIRouter()
26
+ printer = Printer() # Initialize printer for messages
27
+
28
+ # --- Pydantic Models for Requests ---
29
+
30
+ class McpAddRequest(BaseModel):
31
+ server_config: str = Field(..., description="Server configuration string (command-line style or JSON)")
32
+
33
+ class McpRemoveRequestModel(BaseModel):
34
+ server_name: str = Field(..., description="Name of the MCP server to remove")
35
+
36
+ class McpRefreshRequestModel(BaseModel):
37
+ server_name: Optional[str] = Field(None, description="Name of the MCP server to refresh (optional, refreshes all if None)")
38
+
39
+ class McpInfoRequestModel(BaseModel):
40
+ # Assuming model and product_mode might come from global config or request context later
41
+ # For now, let's make them optional or derive them if possible
42
+ model: Optional[str] = None
43
+ product_mode: Optional[str] = None # Example: "lite", "pro"
44
+
45
+ # --- Helper Function to Handle MCP Responses ---
46
+
47
+ async def handle_mcp_response(request: Any, success_key: str, error_key: str, **kwargs) -> Dict[str, Any]:
48
+ """Handles sending request to MCP server and formatting the response."""
49
+ try:
50
+ response: McpResponse = await async_send_request(request)
51
+ if response.error:
52
+ logger.error(f"MCP Error ({error_key}): {response.error}")
53
+ # Use get_message_with_format if available, otherwise use the raw error
54
+ error_message = response.error
55
+ try:
56
+ # Attempt to format the error message if a key is provided
57
+ formatted_error = get_message_with_format(error_key, error=response.error)
58
+ if formatted_error: # Check if formatting was successful
59
+ error_message = formatted_error
60
+ except Exception: # Catch potential errors during formatting
61
+ pass # Stick with the original error message
62
+ raise HTTPException(status_code=400, detail=error_message)
63
+ else:
64
+ # Use get_message_with_format for success message if available
65
+ success_message = response.result
66
+ try:
67
+ formatted_success = get_message_with_format(success_key, result=response.result, **kwargs)
68
+ if formatted_success: # Check if formatting was successful
69
+ success_message = formatted_success
70
+ except Exception:
71
+ pass # Stick with the original result message
72
+ return {"status": "success", "message": success_message, "data": response.result} # Include raw data too
73
+ except HTTPException as http_exc:
74
+ raise http_exc # Re-raise HTTPException
75
+ except Exception as e:
76
+ logger.error(f"Unexpected error during MCP request ({error_key}): {str(e)}")
77
+ raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
78
+
79
+ # --- API Endpoints ---
80
+
81
+ @router.post("/api/mcp/add")
82
+ async def add_mcp_server(request: McpAddRequest):
83
+ """
84
+ Adds or updates an MCP server configuration.
85
+ Accepts command-line style args or a JSON string.
86
+ """
87
+ mcp_request = McpInstallRequest(server_name_or_config=request.server_config)
88
+ return await handle_mcp_response(
89
+ mcp_request,
90
+ success_key="mcp_install_success",
91
+ error_key="mcp_install_error",
92
+ result=request.server_config # Pass original config for success message formatting
93
+ )
94
+
95
+ @router.post("/api/mcp/remove")
96
+ async def remove_mcp_server(request: McpRemoveRequestModel):
97
+ """Removes an MCP server configuration by name."""
98
+ mcp_request = McpRemoveRequest(server_name=request.server_name)
99
+ return await handle_mcp_response(
100
+ mcp_request,
101
+ success_key="mcp_remove_success",
102
+ error_key="mcp_remove_error",
103
+ result=request.server_name # Pass server name for success message formatting
104
+ )
105
+
106
+ @router.get("/api/mcp/list")
107
+ async def list_mcp_servers():
108
+ """Lists all available built-in and external MCP servers."""
109
+ mcp_request = McpListRequest()
110
+ # Specific handling for list as the result is the data itself
111
+ try:
112
+ response: McpResponse = await async_send_request(mcp_request)
113
+ if response.error:
114
+ logger.error(f"MCP Error (mcp_list_builtin_error): {response.error}")
115
+ error_message = get_message_with_format("mcp_list_builtin_error", error=response.error) or response.error
116
+ raise HTTPException(status_code=400, detail=error_message)
117
+ else:
118
+ # Split the result string into a list for better JSON representation
119
+ server_list = response.result.strip().split('\n') if response.result else []
120
+ return {"status": "success", "servers": server_list}
121
+ except HTTPException as http_exc:
122
+ raise http_exc
123
+ except Exception as e:
124
+ logger.error(f"Unexpected error during MCP list request: {str(e)}")
125
+ raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
126
+
127
+
128
+ @router.get("/api/mcp/list_running")
129
+ async def list_running_mcp_servers():
130
+ """Lists all currently running/connected MCP servers."""
131
+ mcp_request = McpListRunningRequest()
132
+ # Specific handling for list_running
133
+ try:
134
+ response: McpResponse = await async_send_request(mcp_request)
135
+ if response.error:
136
+ logger.error(f"MCP Error (mcp_list_running_error): {response.error}")
137
+ error_message = get_message_with_format("mcp_list_running_error", error=response.error) or response.error
138
+ raise HTTPException(status_code=400, detail=error_message)
139
+ else:
140
+ # Split the result string into a list
141
+ running_server_list = response.result.strip().split('\n') if response.result else []
142
+ # Clean up list (remove potential leading hyphens/spaces)
143
+ cleaned_list = [s.strip().lstrip('-').strip() for s in running_server_list if s.strip()]
144
+ return {"status": "success", "running_servers": cleaned_list}
145
+ except HTTPException as http_exc:
146
+ raise http_exc
147
+ except Exception as e:
148
+ logger.error(f"Unexpected error during MCP list_running request: {str(e)}")
149
+ raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
150
+
151
+ @router.post("/api/mcp/refresh")
152
+ async def refresh_mcp_connections(request: McpRefreshRequestModel):
153
+ """Refreshes connections to MCP servers (all or a specific one)."""
154
+ mcp_request = McpRefreshRequest(name=request.server_name)
155
+ return await handle_mcp_response(
156
+ mcp_request,
157
+ success_key="mcp_refresh_success",
158
+ error_key="mcp_refresh_error"
159
+ )
160
+
161
+ @router.get("/api/mcp/info")
162
+ async def get_mcp_server_info(model: Optional[str] = None, product_mode: Optional[str] = None):
163
+ """Gets detailed information about connected MCP servers."""
164
+ # TODO: Determine how to get model/product_mode - from app state, global config, or request?
165
+ # Using optional query params for now.
166
+ mcp_request = McpServerInfoRequest(model=model, product_mode=product_mode)
167
+ # Specific handling for info
168
+ try:
169
+ response: McpResponse = await async_send_request(mcp_request)
170
+ if response.error:
171
+ logger.error(f"MCP Error (mcp_server_info_error): {response.error}")
172
+ error_message = get_message_with_format("mcp_server_info_error", error=response.error) or response.error
173
+ raise HTTPException(status_code=400, detail=error_message)
174
+ else:
175
+ # The result is likely a markdown string or complex structure. Return as is.
176
+ return {"status": "success", "info": response.result}
177
+ except HTTPException as http_exc:
178
+ raise http_exc
179
+ except Exception as e:
180
+ logger.error(f"Unexpected error during MCP info request: {str(e)}")
181
+ raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
182
+
183
+ # Potentially add endpoints for direct tool calls or resource access if needed in the future
184
+ # @router.post("/api/mcp/call_tool")
185
+ # async def call_mcp_tool(...): ...
186
+
187
+ # @router.get("/api/mcp/read_resource")
188
+ # async def read_mcp_resource(...): ...
@@ -0,0 +1 @@
1
+ __version__ = "0.1.60"
@@ -1,4 +1,4 @@
1
- import{m as et}from"./index-LPF9pOVA.js";/*!-----------------------------------------------------------------------------
1
+ import{m as et}from"./index-U694gZ5i.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license
@@ -1,4 +1,4 @@
1
- import{m as f}from"./index-LPF9pOVA.js";/*!-----------------------------------------------------------------------------
1
+ import{m as f}from"./index-U694gZ5i.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license
@@ -1,4 +1,4 @@
1
- import{m as l}from"./index-LPF9pOVA.js";/*!-----------------------------------------------------------------------------
1
+ import{m as l}from"./index-U694gZ5i.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license
@@ -1,4 +1,4 @@
1
- import{m as s}from"./index-LPF9pOVA.js";/*!-----------------------------------------------------------------------------
1
+ import{m as s}from"./index-U694gZ5i.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license
@@ -1,4 +1,4 @@
1
- import{m as lt}from"./index-LPF9pOVA.js";/*!-----------------------------------------------------------------------------
1
+ import{m as lt}from"./index-U694gZ5i.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license