auto-coder-web 0.1.55__tar.gz → 0.1.56__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 (239) hide show
  1. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/PKG-INFO +1 -1
  2. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/proxy.py +2 -1
  3. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/commit_router.py +16 -38
  4. auto_coder_web-0.1.56/src/auto_coder_web/routers/upload_router.py +53 -0
  5. auto_coder_web-0.1.56/src/auto_coder_web/version.py +1 -0
  6. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/cssMode-C7Ffvbun.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/cssMode-B9D1QDVI.js +1 -1
  7. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/freemarker2-C3Y6D2nF.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/freemarker2-Dicv7qV3.js +1 -1
  8. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/handlebars-3udXWLRO.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/handlebars-ANEWa5nN.js +1 -1
  9. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/html-C_5YHrtq.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/html-CjLTxV7p.js +1 -1
  10. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/htmlMode-OsOJ7Pmh.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/htmlMode-CPF-fncb.js +1 -1
  11. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/index-D1XBUj0Z.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/index-B6lJ3lzm.js +257 -257
  12. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/javascript-CTPXDi4L.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/javascript-De95hsfT.js +1 -1
  13. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/jsonMode-bGTtAsru.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/jsonMode-CiUFt_wa.js +1 -1
  14. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/liquid-DUSKiz9O.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/liquid-5eKYrWZN.js +1 -1
  15. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/mdx-B7LHQoZi.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/mdx-Bq8_lQjD.js +1 -1
  16. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/python-Bw8iUNJc.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/python-DnVtHbtp.js +1 -1
  17. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/razor-BvxiGwj6.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/razor-DONQM8ne.js +1 -1
  18. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/tsMode-CLB9pI4V.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/tsMode-TPLnL9z4.js +1 -1
  19. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/typescript-Cp3zBmo-.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/typescript-D_z80ey2.js +1 -1
  20. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/xml-Dz8SFDwn.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/xml-BoVQ-ITO.js +1 -1
  21. auto_coder_web-0.1.55/src/auto_coder_web/web/assets/yaml-C_ezErvC.js → auto_coder_web-0.1.56/src/auto_coder_web/web/assets/yaml-fqI-KrvZ.js +1 -1
  22. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/index.html +1 -1
  23. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/PKG-INFO +1 -1
  24. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/SOURCES.txt +17 -16
  25. auto_coder_web-0.1.55/src/auto_coder_web/version.py +0 -1
  26. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/README.md +0 -0
  27. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/setup.cfg +0 -0
  28. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/setup.py +0 -0
  29. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/__init__.py +0 -0
  30. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/auto_coder_runner_wrapper.py +0 -0
  31. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/__init__.py +0 -0
  32. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/auto_coder_conf_router.py +0 -0
  33. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/chat_list_router.py +0 -0
  34. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/compiler_router.py +0 -0
  35. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/completions_router.py +0 -0
  36. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/file_group_router.py +0 -0
  37. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/file_router.py +0 -0
  38. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/common_router/model_router.py +0 -0
  39. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/expert_routers/__init__.py +0 -0
  40. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/expert_routers/history_router.py +0 -0
  41. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/file_group.py +0 -0
  42. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/file_manager.py +0 -0
  43. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/init_project.py +0 -0
  44. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/json_file_storage.py +0 -0
  45. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/lang.py +0 -0
  46. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/__init__.py +0 -0
  47. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/auto_router.py +0 -0
  48. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/chat_router.py +0 -0
  49. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/coding_router.py +0 -0
  50. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/config_router.py +0 -0
  51. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/index_router.py +0 -0
  52. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/settings_router.py +0 -0
  53. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/routers/todo_router.py +0 -0
  54. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/terminal.py +0 -0
  55. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/types.py +0 -0
  56. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/abap-BrgZPUOV.js +0 -0
  57. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/apex-DyP6w7ZV.js +0 -0
  58. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/azcli-BaLxmfj-.js +0 -0
  59. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/bat-CFOPXBzS.js +0 -0
  60. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/bicep-BfEKNvv3.js +0 -0
  61. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/cameligo-BFG1Mk7z.js +0 -0
  62. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/clojure-DTECt2xU.js +0 -0
  63. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/codicon-DCmgc-ay.ttf +0 -0
  64. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/coffee-CDGzqUPQ.js +0 -0
  65. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/cpp-CLLBncYj.js +0 -0
  66. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/csharp-dUCx_-0o.js +0 -0
  67. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/csp-5Rap-vPy.js +0 -0
  68. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/css-D3h14YRZ.js +0 -0
  69. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/cypher-DrQuvNYM.js +0 -0
  70. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/dart-CFKIUWau.js +0 -0
  71. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/dockerfile-Zznr-cwX.js +0 -0
  72. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/ecl-Ce3n6wWz.js +0 -0
  73. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/elixir-deUWdS0T.js +0 -0
  74. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/flow9-i9-g7ZhI.js +0 -0
  75. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/fsharp-CzKuDChf.js +0 -0
  76. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/go-Cphgjts3.js +0 -0
  77. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/graphql-Cg7bfA9N.js +0 -0
  78. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/hcl-0cvrggvQ.js +0 -0
  79. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/index-CmfrDHc1.css +0 -0
  80. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/ini-Drc7WvVn.js +0 -0
  81. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/java-B_fMsGYe.js +0 -0
  82. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/julia-Bqgm2twL.js +0 -0
  83. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/kotlin-BSkB5QuD.js +0 -0
  84. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/less-BsTHnhdd.js +0 -0
  85. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/lexon-YWi4-JPR.js +0 -0
  86. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/lua-nf6ki56Z.js +0 -0
  87. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/m3-Cpb6xl2v.js +0 -0
  88. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/markdown-DSZPf7rp.js +0 -0
  89. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/mips-B_c3zf-v.js +0 -0
  90. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/msdax-rUNN04Wq.js +0 -0
  91. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/mysql-DDwshQtU.js +0 -0
  92. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/objective-c-B5zXfXm9.js +0 -0
  93. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/pascal-CXOwvkN_.js +0 -0
  94. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/pascaligo-Bc-ZgV77.js +0 -0
  95. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/perl-CwNk8-XU.js +0 -0
  96. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/pgsql-tGk8EFnU.js +0 -0
  97. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/php-CpIb_Oan.js +0 -0
  98. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/pla-B03wrqEc.js +0 -0
  99. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/postiats-BKlk5iyT.js +0 -0
  100. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/powerquery-Bhzvs7bI.js +0 -0
  101. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/powershell-Dd3NCNK9.js +0 -0
  102. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/protobuf-COyEY5Pt.js +0 -0
  103. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/pug-BaJupSGV.js +0 -0
  104. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/qsharp-DXyYeYxl.js +0 -0
  105. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/r-CdQndTaG.js +0 -0
  106. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/redis-CVwtpugi.js +0 -0
  107. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/redshift-25W9uPmb.js +0 -0
  108. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/restructuredtext-DfzH4Xui.js +0 -0
  109. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/ruby-Cp1zYvxS.js +0 -0
  110. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/rust-D5C2fndG.js +0 -0
  111. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/sb-CDntyWJ8.js +0 -0
  112. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/scala-BoFRg7Ot.js +0 -0
  113. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/scheme-Bio4gycK.js +0 -0
  114. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/scss-4Ik7cdeQ.js +0 -0
  115. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/shell-CX-rkNHf.js +0 -0
  116. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/solidity-Tw7wswEv.js +0 -0
  117. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/sophia-C5WLch3f.js +0 -0
  118. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/sparql-DHaeiCBh.js +0 -0
  119. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/sql-CCSDG5nI.js +0 -0
  120. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/st-pnP8ivHi.js +0 -0
  121. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/swift-DwJ7jVG9.js +0 -0
  122. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/systemverilog-B9Xyijhd.js +0 -0
  123. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/tcl-DnHyzjbg.js +0 -0
  124. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/twig-CPajHgWi.js +0 -0
  125. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/typespec-D-MeaMDU.js +0 -0
  126. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/vb-DgyLZaXg.js +0 -0
  127. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/assets/wgsl-BIv9DU6q.js +0 -0
  128. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/favicon.ico +0 -0
  129. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/logo192.png +0 -0
  130. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/logo512.png +0 -0
  131. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/manifest.json +0 -0
  132. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  133. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/base/worker/workerMain.js +0 -0
  134. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/abap/abap.js +0 -0
  135. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/apex/apex.js +0 -0
  136. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/azcli/azcli.js +0 -0
  137. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bat/bat.js +0 -0
  138. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bicep/bicep.js +0 -0
  139. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +0 -0
  140. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/clojure/clojure.js +0 -0
  141. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/coffee/coffee.js +0 -0
  142. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cpp/cpp.js +0 -0
  143. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csharp/csharp.js +0 -0
  144. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csp/csp.js +0 -0
  145. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/css/css.js +0 -0
  146. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cypher/cypher.js +0 -0
  147. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dart/dart.js +0 -0
  148. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +0 -0
  149. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ecl/ecl.js +0 -0
  150. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/elixir/elixir.js +0 -0
  151. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/flow9/flow9.js +0 -0
  152. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +0 -0
  153. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +0 -0
  154. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/go/go.js +0 -0
  155. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/graphql/graphql.js +0 -0
  156. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +0 -0
  157. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/hcl/hcl.js +0 -0
  158. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/html/html.js +0 -0
  159. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ini/ini.js +0 -0
  160. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/java/java.js +0 -0
  161. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/javascript/javascript.js +0 -0
  162. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/julia/julia.js +0 -0
  163. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +0 -0
  164. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/less/less.js +0 -0
  165. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lexon/lexon.js +0 -0
  166. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/liquid/liquid.js +0 -0
  167. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lua/lua.js +0 -0
  168. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/m3/m3.js +0 -0
  169. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/markdown/markdown.js +0 -0
  170. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mdx/mdx.js +0 -0
  171. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mips/mips.js +0 -0
  172. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/msdax/msdax.js +0 -0
  173. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mysql/mysql.js +0 -0
  174. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +0 -0
  175. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascal/pascal.js +0 -0
  176. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +0 -0
  177. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/perl/perl.js +0 -0
  178. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +0 -0
  179. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/php/php.js +0 -0
  180. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pla/pla.js +0 -0
  181. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/postiats/postiats.js +0 -0
  182. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +0 -0
  183. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powershell/powershell.js +0 -0
  184. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +0 -0
  185. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pug/pug.js +0 -0
  186. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/python/python.js +0 -0
  187. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +0 -0
  188. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/r/r.js +0 -0
  189. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/razor/razor.js +0 -0
  190. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redis/redis.js +0 -0
  191. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redshift/redshift.js +0 -0
  192. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +0 -0
  193. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ruby/ruby.js +0 -0
  194. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/rust/rust.js +0 -0
  195. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sb/sb.js +0 -0
  196. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scala/scala.js +0 -0
  197. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scheme/scheme.js +0 -0
  198. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scss/scss.js +0 -0
  199. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/shell/shell.js +0 -0
  200. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/solidity/solidity.js +0 -0
  201. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sophia/sophia.js +0 -0
  202. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sparql/sparql.js +0 -0
  203. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sql/sql.js +0 -0
  204. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/st/st.js +0 -0
  205. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/swift/swift.js +0 -0
  206. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +0 -0
  207. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/tcl/tcl.js +0 -0
  208. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/twig/twig.js +0 -0
  209. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typescript/typescript.js +0 -0
  210. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typespec/typespec.js +0 -0
  211. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/vb/vb.js +0 -0
  212. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/wgsl/wgsl.js +0 -0
  213. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/xml/xml.js +0 -0
  214. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/yaml/yaml.js +0 -0
  215. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.css +0 -0
  216. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.js +0 -0
  217. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssMode.js +0 -0
  218. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssWorker.js +0 -0
  219. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlMode.js +0 -0
  220. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlWorker.js +0 -0
  221. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonMode.js +0 -0
  222. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonWorker.js +0 -0
  223. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsMode.js +0 -0
  224. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsWorker.js +0 -0
  225. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/loader.js +0 -0
  226. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.de.js +0 -0
  227. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.es.js +0 -0
  228. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.fr.js +0 -0
  229. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.it.js +0 -0
  230. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ja.js +0 -0
  231. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ko.js +0 -0
  232. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ru.js +0 -0
  233. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-cn.js +0 -0
  234. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-tw.js +0 -0
  235. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web/web/robots.txt +0 -0
  236. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/dependency_links.txt +0 -0
  237. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/entry_points.txt +0 -0
  238. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/requires.txt +0 -0
  239. {auto_coder_web-0.1.55 → auto_coder_web-0.1.56}/src/auto_coder_web.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto_coder_web
3
- Version: 0.1.55
3
+ Version: 0.1.56
4
4
  Summary: auto-coder.web: A Python Project
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.9
@@ -19,7 +19,7 @@ import sys
19
19
  from auto_coder_web.terminal import terminal_manager
20
20
  from autocoder.common import AutoCoderArgs
21
21
  from auto_coder_web.auto_coder_runner_wrapper import AutoCoderRunnerWrapper
22
- from auto_coder_web.routers import todo_router, settings_router, auto_router, commit_router, chat_router, coding_router,index_router,config_router
22
+ from auto_coder_web.routers import todo_router, settings_router, auto_router, commit_router, chat_router, coding_router,index_router,config_router,upload_router
23
23
  from auto_coder_web.expert_routers import history_router
24
24
  from auto_coder_web.common_router import completions_router, file_router, auto_coder_conf_router, chat_list_router, file_group_router, model_router, compiler_router
25
25
  from rich.console import Console
@@ -98,6 +98,7 @@ class ProxyServer:
98
98
  self.app.include_router(compiler_router.router)
99
99
  self.app.include_router(index_router.router)
100
100
  self.app.include_router(config_router.router)
101
+ self.app.include_router(upload_router.router)
101
102
 
102
103
  @self.app.on_event("shutdown")
103
104
  async def shutdown_event():
@@ -426,20 +426,16 @@ async def get_current_changes(
426
426
  logger.info(f"使用事件文件模式获取提交, event_file_id={event_file_id}")
427
427
  try:
428
428
  # 获取事件文件路径
429
- event_file_path = get_event_file_path(event_file_id, project_path)
430
- logger.info(f"事件文件路径: {event_file_path}")
429
+ event_file_path = get_event_file_path(event_file_id, project_path)
431
430
 
432
431
  # 获取事件管理器
433
- event_manager = get_event_manager(event_file_path)
434
- logger.info(f"成功获取事件管理器")
432
+ event_manager = get_event_manager(event_file_path)
435
433
 
436
434
  # 获取所有事件
437
- all_events = event_manager.event_store.get_events()
438
- logger.info(f"获取事件总数: {len(all_events)}")
435
+ all_events = event_manager.event_store.get_events()
439
436
 
440
437
  # 创建ActionYmlFileManager实例
441
- action_manager = ActionYmlFileManager(project_path)
442
- logger.info(f"成功创建ActionYmlFileManager实例")
438
+ action_manager = ActionYmlFileManager(project_path)
443
439
 
444
440
  action_files = set()
445
441
  final_action_files = []
@@ -447,37 +443,28 @@ async def get_current_changes(
447
443
  # 记录事件中包含action_file字段的事件数量
448
444
  action_file_count = 0
449
445
 
450
- for i, event in enumerate(all_events):
451
- logger.debug(f"处理事件 {i+1}/{len(all_events)}, 事件类型: {event.event_type}")
446
+ for i, event in enumerate(all_events):
452
447
  # 检查元数据中是否有action_file字段
453
448
  if 'action_file' in event.metadata and event.metadata['action_file']:
454
449
  action_file_count += 1
455
- action_file = event.metadata['action_file']
456
- logger.debug(f"事件 {i+1} 包含action_file: {action_file}")
450
+ action_file = event.metadata['action_file']
457
451
 
458
- if action_file in action_files:
459
- logger.debug(f"跳过重复的action_file: {action_file}")
452
+ if action_file in action_files:
460
453
  continue
461
454
 
462
455
  action_files.add(action_file)
463
456
  # 从action文件获取提交ID
464
457
  # action_file 这里的值是 类似这样的 actions/000000000104_chat_action.yml
465
458
  if action_file.startswith("actions"):
466
- action_file = action_file[len("actions/"):]
467
- logger.debug(f"处理后的action_file: {action_file}")
459
+ action_file = action_file[len("actions/"):]
468
460
 
469
461
  final_action_files.append(action_file)
470
-
471
- logger.info(f"从 {len(all_events)} 个事件中提取到 {action_file_count} 个包含action_file的事件")
472
- logger.info(f"去重后得到 {len(action_files)} 个唯一action_file")
473
- logger.info(f"最终处理的action_files: {final_action_files}")
462
+
474
463
 
475
464
  commits = []
476
- for i, action_file in enumerate(final_action_files):
477
- logger.info(f"处理action文件 {i+1}/{len(final_action_files)}: {action_file}")
465
+ for i, action_file in enumerate(final_action_files):
478
466
  commit_ids = action_manager.get_all_commit_id_from_file(action_file)
479
-
480
- logger.info(f"从action文件 {action_file} 获取到的提交ID列表: {commit_ids}")
467
+
481
468
 
482
469
  if not commit_ids:
483
470
  logger.warning(f"无法从action文件 {action_file} 获取提交ID")
@@ -492,8 +479,7 @@ async def get_current_changes(
492
479
  for cid in commit_ids:
493
480
  try:
494
481
  commit = repo.commit(cid)
495
- message = commit.message.strip()
496
- logger.info(f"检查提交 {cid[:7]} 是否为revert提交,消息: {message[:50]}...")
482
+ message = commit.message.strip()
497
483
 
498
484
  if message.startswith("<revert>"):
499
485
  logger.info(f"找到revert提交: {cid}")
@@ -503,20 +489,16 @@ async def get_current_changes(
503
489
  logger.warning(f"检查提交 {cid} 时出错: {str(e)}")
504
490
 
505
491
  # 如果找到revert提交,只处理这个提交
506
- if revert_commit_id:
507
- logger.info(f"将只处理revert提交: {revert_commit_id}")
492
+ if revert_commit_id:
508
493
  commit_ids = [revert_commit_id]
509
494
 
510
495
  # 处理所有提交ID(或者只处理revert提交)
511
496
  for commit_id in commit_ids:
512
497
  # 验证提交ID是否存在于仓库中
513
- try:
514
- logger.info(f"获取提交详情: {commit_id}")
498
+ try:
515
499
  commit = repo.commit(commit_id)
516
500
  # 获取提交统计信息
517
- stats = commit.stats.total
518
- logger.info(f"提交统计信息: 插入={stats['insertions']}, 删除={stats['deletions']}, 文件变更={stats['files']}")
519
-
501
+ stats = commit.stats.total
520
502
  # 构建提交信息
521
503
  commit_info = {
522
504
  "hash": commit.hexsha,
@@ -532,18 +514,14 @@ async def get_current_changes(
532
514
  }
533
515
  }
534
516
  commits.append(commit_info)
535
- logger.info(f"成功添加提交信息到结果列表,当前结果数: {len(commits)}")
536
517
  except Exception as e:
537
518
  logger.warning(f"无法获取提交 {commit_id} 的详情: {str(e)}")
538
519
 
539
- logger.info(f"处理完所有action文件,共找到 {len(commits)} 个提交")
540
520
 
541
521
  # 按提交时间戳排序(降序 - 最新的在前面)
542
522
  if commits:
543
523
  commits.sort(key=lambda x: x['timestamp'], reverse=True)
544
- logger.info("提交已按时间戳降序排序")
545
-
546
- logger.info(f"返回结果: {len(commits)} 个提交")
524
+
547
525
  return {"commits": commits, "total": len(commits)}
548
526
 
549
527
  except Exception as e:
@@ -0,0 +1,53 @@
1
+ import os
2
+ import hashlib
3
+ import time
4
+ from fastapi import APIRouter, UploadFile, File, HTTPException, Request
5
+ from fastapi.responses import JSONResponse
6
+ from pathlib import Path
7
+ from typing import Optional
8
+
9
+ router = APIRouter()
10
+
11
+ async def get_project_path(request: Request) -> str:
12
+ """从FastAPI请求上下文中获取项目路径"""
13
+ return request.app.state.project_path
14
+
15
+ async def get_upload_path(project_path: str) -> Path:
16
+ """获取上传目录路径"""
17
+ upload_path = Path(project_path) / ".auto-coder" / "auto-coder.web" / "uploads"
18
+ upload_path.mkdir(parents=True, exist_ok=True)
19
+ return upload_path
20
+
21
+ def generate_filename(file: UploadFile) -> str:
22
+ """生成唯一的文件名: md5(原始文件名) + 时间戳"""
23
+ filename_hash = hashlib.md5(file.filename.encode()).hexdigest()
24
+ timestamp = int(time.time())
25
+ ext = os.path.splitext(file.filename)[1]
26
+ return f"{filename_hash}_{timestamp}{ext}"
27
+
28
+ @router.post("/api/upload/image")
29
+ async def upload_image(
30
+ request: Request,
31
+ file: UploadFile = File(...)
32
+ ):
33
+ """上传图片文件"""
34
+ if not file.content_type.startswith('image/'):
35
+ raise HTTPException(status_code=400, detail="Only image files are allowed")
36
+
37
+ project_path = await get_project_path(request)
38
+ upload_path = await get_upload_path(project_path)
39
+
40
+ filename = generate_filename(file)
41
+ file_path = upload_path / filename
42
+
43
+ try:
44
+ contents = await file.read()
45
+ with open(file_path, 'wb') as f:
46
+ f.write(contents)
47
+ except Exception as e:
48
+ raise HTTPException(status_code=500, detail=f"Error uploading file: {str(e)}")
49
+
50
+ return JSONResponse({
51
+ "success": True,
52
+ "path": os.path.join(".",".auto-coder", "auto-coder.web", "uploads", filename)
53
+ })
@@ -0,0 +1 @@
1
+ __version__ = "0.1.56"
@@ -1,4 +1,4 @@
1
- import{m as et}from"./index-D1XBUj0Z.js";/*!-----------------------------------------------------------------------------
1
+ import{m as et}from"./index-B6lJ3lzm.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-D1XBUj0Z.js";/*!-----------------------------------------------------------------------------
1
+ import{m as f}from"./index-B6lJ3lzm.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-D1XBUj0Z.js";/*!-----------------------------------------------------------------------------
1
+ import{m as l}from"./index-B6lJ3lzm.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-D1XBUj0Z.js";/*!-----------------------------------------------------------------------------
1
+ import{m as s}from"./index-B6lJ3lzm.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-D1XBUj0Z.js";/*!-----------------------------------------------------------------------------
1
+ import{m as lt}from"./index-B6lJ3lzm.js";/*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
4
  * Released under the MIT license