auto-coder-web 0.1.17__tar.gz → 0.1.18__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 (148) hide show
  1. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/PKG-INFO +2 -2
  2. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/auto_coder_runner.py +1 -46
  3. auto_coder_web-0.1.18/src/auto_coder_web/auto_coder_runner_wrapper.py +51 -0
  4. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/proxy.py +20 -10
  5. auto_coder_web-0.1.18/src/auto_coder_web/routers/__init__.py +3 -0
  6. auto_coder_web-0.1.18/src/auto_coder_web/routers/auto_router.py +281 -0
  7. auto_coder_web-0.1.18/src/auto_coder_web/routers/commit_router.py +647 -0
  8. auto_coder_web-0.1.18/src/auto_coder_web/version.py +1 -0
  9. auto_coder_web-0.1.18/src/auto_coder_web/web/asset-manifest.json +15 -0
  10. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/index.html +1 -1
  11. auto_coder_web-0.1.18/src/auto_coder_web/web/static/css/main.57a3bfdf.css +6 -0
  12. auto_coder_web-0.1.18/src/auto_coder_web/web/static/css/main.57a3bfdf.css.map +1 -0
  13. auto_coder_web-0.1.18/src/auto_coder_web/web/static/js/main.27be9d6e.js +3 -0
  14. auto_coder_web-0.1.17/src/auto_coder_web/web/static/js/main.8cc287dc.js.map → auto_coder_web-0.1.18/src/auto_coder_web/web/static/js/main.27be9d6e.js.map +1 -1
  15. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web.egg-info/PKG-INFO +2 -2
  16. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web.egg-info/SOURCES.txt +8 -5
  17. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web.egg-info/requires.txt +1 -1
  18. auto_coder_web-0.1.17/src/auto_coder_web/routers/__init__.py +0 -0
  19. auto_coder_web-0.1.17/src/auto_coder_web/version.py +0 -1
  20. auto_coder_web-0.1.17/src/auto_coder_web/web/asset-manifest.json +0 -15
  21. auto_coder_web-0.1.17/src/auto_coder_web/web/static/css/main.3cb5c1ac.css +0 -6
  22. auto_coder_web-0.1.17/src/auto_coder_web/web/static/css/main.3cb5c1ac.css.map +0 -1
  23. auto_coder_web-0.1.17/src/auto_coder_web/web/static/js/main.8cc287dc.js +0 -3
  24. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/README.md +0 -0
  25. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/setup.cfg +0 -0
  26. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/setup.py +0 -0
  27. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/__init__.py +0 -0
  28. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/file_group.py +0 -0
  29. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/file_manager.py +0 -0
  30. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/json_file_storage.py +0 -0
  31. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/routers/settings_router.py +0 -0
  32. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/routers/todo_router.py +0 -0
  33. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/terminal.py +0 -0
  34. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/types.py +0 -0
  35. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/favicon.ico +0 -0
  36. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/logo192.png +0 -0
  37. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/logo512.png +0 -0
  38. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/manifest.json +0 -0
  39. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  40. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/base/worker/workerMain.js +0 -0
  41. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/abap/abap.js +0 -0
  42. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/apex/apex.js +0 -0
  43. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/azcli/azcli.js +0 -0
  44. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bat/bat.js +0 -0
  45. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bicep/bicep.js +0 -0
  46. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +0 -0
  47. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/clojure/clojure.js +0 -0
  48. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/coffee/coffee.js +0 -0
  49. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cpp/cpp.js +0 -0
  50. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csharp/csharp.js +0 -0
  51. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csp/csp.js +0 -0
  52. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/css/css.js +0 -0
  53. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cypher/cypher.js +0 -0
  54. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dart/dart.js +0 -0
  55. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +0 -0
  56. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ecl/ecl.js +0 -0
  57. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/elixir/elixir.js +0 -0
  58. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/flow9/flow9.js +0 -0
  59. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +0 -0
  60. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +0 -0
  61. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/go/go.js +0 -0
  62. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/graphql/graphql.js +0 -0
  63. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +0 -0
  64. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/hcl/hcl.js +0 -0
  65. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/html/html.js +0 -0
  66. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ini/ini.js +0 -0
  67. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/java/java.js +0 -0
  68. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/javascript/javascript.js +0 -0
  69. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/julia/julia.js +0 -0
  70. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +0 -0
  71. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/less/less.js +0 -0
  72. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lexon/lexon.js +0 -0
  73. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/liquid/liquid.js +0 -0
  74. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lua/lua.js +0 -0
  75. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/m3/m3.js +0 -0
  76. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/markdown/markdown.js +0 -0
  77. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mdx/mdx.js +0 -0
  78. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mips/mips.js +0 -0
  79. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/msdax/msdax.js +0 -0
  80. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mysql/mysql.js +0 -0
  81. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +0 -0
  82. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascal/pascal.js +0 -0
  83. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +0 -0
  84. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/perl/perl.js +0 -0
  85. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +0 -0
  86. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/php/php.js +0 -0
  87. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pla/pla.js +0 -0
  88. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/postiats/postiats.js +0 -0
  89. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +0 -0
  90. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powershell/powershell.js +0 -0
  91. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +0 -0
  92. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pug/pug.js +0 -0
  93. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/python/python.js +0 -0
  94. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +0 -0
  95. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/r/r.js +0 -0
  96. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/razor/razor.js +0 -0
  97. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redis/redis.js +0 -0
  98. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redshift/redshift.js +0 -0
  99. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +0 -0
  100. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ruby/ruby.js +0 -0
  101. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/rust/rust.js +0 -0
  102. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sb/sb.js +0 -0
  103. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scala/scala.js +0 -0
  104. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scheme/scheme.js +0 -0
  105. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scss/scss.js +0 -0
  106. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/shell/shell.js +0 -0
  107. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/solidity/solidity.js +0 -0
  108. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sophia/sophia.js +0 -0
  109. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sparql/sparql.js +0 -0
  110. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sql/sql.js +0 -0
  111. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/st/st.js +0 -0
  112. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/swift/swift.js +0 -0
  113. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +0 -0
  114. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/tcl/tcl.js +0 -0
  115. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/twig/twig.js +0 -0
  116. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typescript/typescript.js +0 -0
  117. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typespec/typespec.js +0 -0
  118. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/vb/vb.js +0 -0
  119. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/wgsl/wgsl.js +0 -0
  120. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/xml/xml.js +0 -0
  121. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/yaml/yaml.js +0 -0
  122. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.css +0 -0
  123. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.js +0 -0
  124. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssMode.js +0 -0
  125. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssWorker.js +0 -0
  126. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlMode.js +0 -0
  127. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlWorker.js +0 -0
  128. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonMode.js +0 -0
  129. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonWorker.js +0 -0
  130. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsMode.js +0 -0
  131. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsWorker.js +0 -0
  132. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/loader.js +0 -0
  133. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.de.js +0 -0
  134. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.es.js +0 -0
  135. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.fr.js +0 -0
  136. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.it.js +0 -0
  137. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ja.js +0 -0
  138. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ko.js +0 -0
  139. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ru.js +0 -0
  140. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-cn.js +0 -0
  141. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-tw.js +0 -0
  142. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/robots.txt +0 -0
  143. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/static/js/453.d855a71b.chunk.js +0 -0
  144. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web/web/static/js/453.d855a71b.chunk.js.map +0 -0
  145. /auto_coder_web-0.1.17/src/auto_coder_web/web/static/js/main.8cc287dc.js.LICENSE.txt → /auto_coder_web-0.1.18/src/auto_coder_web/web/static/js/main.27be9d6e.js.LICENSE.txt +0 -0
  146. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web.egg-info/dependency_links.txt +0 -0
  147. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/src/auto_coder_web.egg-info/entry_points.txt +0 -0
  148. {auto_coder_web-0.1.17 → auto_coder_web-0.1.18}/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.17
3
+ Version: 0.1.18
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.203
10
+ Requires-Dist: auto-coder>=0.1.303
11
11
  Requires-Dist: aiofiles
12
12
  Requires-Dist: psutil
13
13
  Requires-Dist: sse-starlette
@@ -833,49 +833,4 @@ query: |
833
833
  "status": False,
834
834
  "message": "No previous chat action found."
835
835
  }
836
-
837
- async def auto_command(self, query: str):
838
- """处理/auto指令"""
839
- from autocoder.commands.auto_command import CommandAutoTuner, AutoCommandRequest, CommandConfig
840
- args = self.get_final_config()
841
-
842
- # 准备请求参数
843
- request = AutoCommandRequest(
844
- user_input=query
845
- )
846
-
847
- # 初始化调优器
848
- llm = get_single_llm(args.chat_model or args.model, product_mode=args.product_mode)
849
- tuner = CommandAutoTuner(llm,
850
- args=args,
851
- memory_config=MemoryConfig(memory=self.memory, save_memory_func=self.save_memory),
852
- command_config=CommandConfig(
853
- add_files=self.add_files,
854
- remove_files=self.remove_files,
855
- list_files=self.list_files,
856
- conf=self.configure,
857
- revert=self.revert,
858
- commit=self.commit,
859
- help=self.help,
860
- exclude_dirs=self.exclude_dirs,
861
- ask=self.ask,
862
- chat=self.chat,
863
- coding=self.coding,
864
- design=self.design,
865
- summon=self.summon,
866
- lib=self.lib_command,
867
- mcp=self.mcp,
868
- models=self.manage_models,
869
- index_build=self.index_build,
870
- index_query=self.index_query,
871
- execute_shell_command=self.execute_shell,
872
- generate_shell_command=self.generate_shell_command
873
- ))
874
-
875
- # 生成建议
876
- response = await tuner.analyze(request)
877
-
878
- return {
879
- "suggestions": [s.dict() for s in response.suggestions],
880
- "reasoning": response.reasoning
881
- }
836
+
@@ -0,0 +1,51 @@
1
+ from typing import Dict,Any
2
+ from autocoder.auto_coder_runner import (
3
+ auto_command,
4
+ load_memory,
5
+ save_memory,
6
+ configure,
7
+ manage_models,
8
+ print_conf,
9
+ exclude_dirs,
10
+ exclude_files,
11
+ ask,
12
+ coding,
13
+ load_tokenizer,
14
+ initialize_system,
15
+ InitializeSystemRequest,
16
+ add_files,
17
+ remove_files,
18
+ index_query,
19
+ index_build,
20
+ index_export,
21
+ index_import,
22
+ list_files,
23
+ lib_command,
24
+ mcp,
25
+ revert,
26
+ commit,
27
+ design,
28
+ voice_input,
29
+ chat,
30
+ gen_and_exec_shell_command,
31
+ execute_shell_command,
32
+ get_mcp_server,
33
+ completer,
34
+ summon,
35
+ get_memory,
36
+ )
37
+
38
+ class AutoCoderRunnerWrapper:
39
+ def __init__(self, project_path: str, product_mode: str = "lite"):
40
+ load_memory()
41
+ load_tokenizer()
42
+
43
+
44
+ def auto_command_wrapper(self, command: str, params: Dict[str, Any]) -> Dict[str, str]:
45
+ return auto_command(command,params)
46
+
47
+ def configure_wrapper(self,conf: str, skip_print=False ):
48
+ return configure(conf, skip_print)
49
+
50
+
51
+
@@ -1,3 +1,8 @@
1
+ from autocoder.run_context import get_run_context,RunMode
2
+
3
+ # Set run mode to web
4
+ get_run_context().set_mode(RunMode.WEB)
5
+
1
6
  from fastapi import FastAPI, Request, HTTPException, Response, Query
2
7
  from fastapi.responses import HTMLResponse, JSONResponse
3
8
  from fastapi import WebSocket
@@ -14,9 +19,9 @@ import asyncio
14
19
  import pathlib
15
20
  import time
16
21
  import sys
17
- from .file_group import FileGroupManager
18
- from .file_manager import get_directory_tree
19
- from .auto_coder_runner import AutoCoderRunner
22
+ from auto_coder_web.file_group import FileGroupManager
23
+ from auto_coder_web.file_manager import get_directory_tree
24
+ from auto_coder_web.auto_coder_runner import AutoCoderRunner
20
25
  from autocoder.agent.auto_filegroup import AutoFileGroup
21
26
  from .types import (
22
27
  EventGetRequest,
@@ -49,8 +54,8 @@ import git
49
54
  import hashlib
50
55
  from datetime import datetime
51
56
  from autocoder.utils import operate_config_api
52
- from .routers import todo_router
53
- from .routers import settings_router
57
+ from .routers import todo_router, settings_router, auto_router, commit_router
58
+
54
59
 
55
60
 
56
61
  def check_environment():
@@ -325,11 +330,11 @@ class ProxyServer:
325
330
  self.setup_middleware()
326
331
 
327
332
  self.setup_static_files()
333
+ self.project_path = project_path
328
334
 
329
- self.setup_routes()
330
-
335
+ self.setup_routes()
331
336
  self.client = httpx.AsyncClient()
332
- self.project_path = project_path
337
+
333
338
  self.auto_coder_runner = AutoCoderRunner(project_path, product_mode=product_mode)
334
339
  self.file_group_manager = FileGroupManager(self.auto_coder_runner)
335
340
 
@@ -358,6 +363,11 @@ class ProxyServer:
358
363
 
359
364
  self.app.include_router(todo_router.router)
360
365
  self.app.include_router(settings_router.router)
366
+ self.app.include_router(auto_router.router)
367
+ self.app.include_router(commit_router.router)
368
+
369
+ # Store project_path in app state for dependency injection
370
+ self.app.state.project_path = self.project_path
361
371
 
362
372
  @self.app.on_event("shutdown")
363
373
  async def shutdown_event():
@@ -962,8 +972,8 @@ def main():
962
972
  parser.add_argument(
963
973
  "--product_mode",
964
974
  type=str,
965
- default="pro",
966
- help="The mode of the auto-coder.chat, lite/pro default is pro",
975
+ default="lite",
976
+ help="The mode of the auto-coder.chat, lite/pro default is lite",
967
977
  )
968
978
  parser.add_argument(
969
979
  "--lite",
@@ -0,0 +1,3 @@
1
+ from . import todo_router
2
+ from . import settings_router
3
+ from . import auto_router
@@ -0,0 +1,281 @@
1
+ import asyncio
2
+ import json
3
+ import os
4
+ from contextlib import contextmanager
5
+ from threading import Thread
6
+ from fastapi import APIRouter, HTTPException, Request, Depends
7
+ from fastapi.responses import StreamingResponse
8
+ from pydantic import BaseModel
9
+ from typing import Dict, Any, Optional, List
10
+ from auto_coder_web.auto_coder_runner_wrapper import AutoCoderRunnerWrapper
11
+ from autocoder.events.event_manager_singleton import get_event_manager,gengerate_event_file_path,get_event_file_path
12
+ from autocoder.events import event_content as EventContentCreator
13
+ from autocoder.events.event_types import EventType
14
+ from byzerllm.utils.langutil import asyncfy_with_semaphore
15
+ from loguru import logger
16
+ router = APIRouter()
17
+
18
+
19
+ class AutoCommandRequest(BaseModel):
20
+ command: str
21
+
22
+ class EventPollRequest(BaseModel):
23
+ event_file_id:str
24
+
25
+
26
+ class UserResponseRequest(BaseModel):
27
+ event_id: str
28
+ event_file_id: str
29
+ response: str
30
+
31
+
32
+ class TaskHistoryRequest(BaseModel):
33
+ query: str
34
+ event_file_id: str
35
+ messages: List[Dict[str, Any]]
36
+ status: str
37
+ timestamp: int
38
+
39
+
40
+ async def get_project_path(request: Request) -> str:
41
+ """
42
+ 从FastAPI请求上下文中获取项目路径
43
+ """
44
+ return request.app.state.project_path
45
+
46
+
47
+ def ensure_task_dir(project_path: str) -> str:
48
+ """确保任务历史目录存在"""
49
+ task_dir = os.path.join(project_path, ".auto-coder", "auto-coder.web", "tasks")
50
+ os.makedirs(task_dir, exist_ok=True)
51
+ return task_dir
52
+
53
+
54
+ @router.post("/api/auto-command")
55
+ async def auto_command(request: AutoCommandRequest, project_path: str = Depends(get_project_path)):
56
+ """
57
+ 执行auto_command命令
58
+
59
+ 通过AutoCoderRunnerWrapper调用auto_command_wrapper方法,执行指定的命令
60
+ 在单独的线程中运行,并返回一个唯一的UUID
61
+ """
62
+ event_file,file_id = gengerate_event_file_path()
63
+ # 定义在线程中运行的函数
64
+ def run_command_in_thread():
65
+ try:
66
+ # 创建AutoCoderRunnerWrapper实例,使用从应用上下文获取的项目路径
67
+ wrapper = AutoCoderRunnerWrapper(project_path)
68
+ wrapper.configure_wrapper(f"event_file:{event_file}")
69
+
70
+ # 调用auto_command_wrapper方法
71
+ result = wrapper.auto_command_wrapper(request.command, {
72
+ "event_file_id": file_id
73
+ })
74
+ get_event_manager(event_file).write_completion(
75
+ EventContentCreator.create_completion(
76
+ "200", "completed", result).to_dict()
77
+ )
78
+ logger.info(f"Event file id: {file_id} completed successfully")
79
+ except Exception as e:
80
+ logger.error(f"Error executing auto command {file_id}: {str(e)}")
81
+ get_event_manager(event_file).write_error(
82
+ EventContentCreator.create_error("500", "error", str(e)).to_dict()
83
+ )
84
+
85
+ # 创建并启动线程
86
+ thread = Thread(target=run_command_in_thread)
87
+ thread.daemon = True # 设置为守护线程,这样当主程序退出时,线程也会退出
88
+ thread.start()
89
+
90
+ logger.info(f"Started command {file_id} in background thread")
91
+ return {"event_file_id": file_id}
92
+
93
+
94
+ @router.get("/api/auto-command/events")
95
+ async def poll_auto_command_events(event_file_id: str, project_path: str = Depends(get_project_path)):
96
+ async def event_stream():
97
+ event_file = get_event_file_path(event_file_id,project_path)
98
+ event_manager = get_event_manager(event_file)
99
+ while True:
100
+ try:
101
+ events = await asyncio.to_thread(event_manager.read_events, block=False)
102
+
103
+ if not events:
104
+ await asyncio.sleep(0.1) # 减少休眠时间,更频繁地检查
105
+ continue
106
+
107
+ current_event = None
108
+ for event in events:
109
+ current_event = event
110
+ # Convert event to JSON string
111
+ event_json = event.to_json()
112
+ # Format as SSE
113
+ yield f"data: {event_json}\n\n"
114
+
115
+ # 防止current_event为None导致的错误
116
+ if current_event is not None:
117
+ if current_event.event_type == EventType.ERROR:
118
+ logger.info("Breaking loop due to ERROR event")
119
+ break
120
+
121
+ if current_event.event_type == EventType.COMPLETION:
122
+ logger.info("Breaking loop due to COMPLETION event")
123
+ break
124
+ except Exception as e:
125
+ logger.error(f"Error in SSE stream: {str(e)}")
126
+ yield f"data: {{\"error\": \"{str(e)}\"}}\n\n"
127
+ break
128
+
129
+ return StreamingResponse(
130
+ event_stream(),
131
+ media_type="text/event-stream",
132
+ headers={
133
+ "Cache-Control": "no-cache, no-transform",
134
+ "Connection": "keep-alive",
135
+ "Content-Type": "text/event-stream",
136
+ "X-Accel-Buffering": "no",
137
+ "Transfer-Encoding": "chunked",
138
+ },
139
+ )
140
+
141
+
142
+ @router.post("/api/auto-command/response")
143
+ async def response_user(request: UserResponseRequest, project_path: str = Depends(get_project_path)):
144
+ """
145
+ 响应用户询问
146
+
147
+ 接收用户对ASK_USER事件的回复,并将其传递给事件管理器
148
+
149
+ Args:
150
+ request: 包含event_id和response的请求对象
151
+ project_path: 项目路径
152
+
153
+ Returns:
154
+ 响应结果
155
+ """
156
+ try:
157
+ # 获取事件管理器
158
+ event_file = get_event_file_path(file_id=request.event_file_id,project_path=project_path)
159
+ event_manager = get_event_manager(event_file)
160
+
161
+ # 调用respond_to_user方法发送用户响应
162
+ response_event = event_manager.respond_to_user(
163
+ request.event_id, request.response)
164
+
165
+ # 返回成功响应
166
+ return {
167
+ "status": "success",
168
+ "message": "Response sent successfully",
169
+ "event_id": response_event.event_id
170
+ }
171
+ except Exception as e:
172
+ logger.error(f"Error sending user response: {str(e)}")
173
+ raise HTTPException(
174
+ status_code=500, detail=f"Failed to send user response: {str(e)}")
175
+
176
+
177
+ @router.post("/api/auto-command/save-history")
178
+ async def save_task_history(request: TaskHistoryRequest, project_path: str = Depends(get_project_path)):
179
+ """
180
+ 保存任务历史
181
+
182
+ 将任务的查询、消息历史和事件文件ID保存到本地文件系统
183
+
184
+ Args:
185
+ request: 包含任务信息的请求对象
186
+ project_path: 项目路径
187
+
188
+ Returns:
189
+ 保存结果
190
+ """
191
+ try:
192
+ task_dir = ensure_task_dir(project_path)
193
+ task_file = os.path.join(task_dir, f"{request.event_file_id}.json")
194
+ task_data = request.model_dump()
195
+
196
+ # 写入文件
197
+ with open(task_file, 'w', encoding='utf-8') as f:
198
+ json.dump(task_data, f, ensure_ascii=False, indent=2)
199
+
200
+ return {
201
+ "status": "success",
202
+ "message": "Task history saved successfully",
203
+ "task_id": request.event_file_id
204
+ }
205
+ except Exception as e:
206
+ logger.error(f"Error saving task history: {str(e)}")
207
+ raise HTTPException(
208
+ status_code=500, detail=f"Failed to save task history: {str(e)}")
209
+
210
+
211
+ @router.get("/api/auto-command/history")
212
+ async def get_task_history(project_path: str = Depends(get_project_path)):
213
+ """
214
+ 获取任务历史列表
215
+
216
+ 从本地文件系统读取所有保存的任务历史,返回原始JSON文件内容
217
+
218
+ Args:
219
+ project_path: 项目路径
220
+
221
+ Returns:
222
+ 任务历史列表,包含完整的原始数据
223
+ """
224
+ try:
225
+ task_dir = ensure_task_dir(project_path)
226
+ task_files = []
227
+
228
+ # 扫描目录下所有json文件
229
+ for filename in os.listdir(task_dir):
230
+ if filename.endswith('.json'):
231
+ file_path = os.path.join(task_dir, filename)
232
+ try:
233
+ with open(file_path, 'r', encoding='utf-8') as f:
234
+ task_data = json.load(f)
235
+ # 只添加文件名作为ID (不含扩展名)
236
+ task_id = os.path.splitext(filename)[0]
237
+ # 返回完整的原始数据,只添加ID
238
+ task_data["id"] = task_id
239
+ task_files.append(task_data)
240
+ except Exception as e:
241
+ logger.error(f"Error reading task file {filename}: {str(e)}")
242
+
243
+ # 按时间戳排序,最新的在前
244
+ task_files.sort(key=lambda x: x.get("timestamp", 0), reverse=True)
245
+
246
+ return {"tasks": task_files}
247
+ except Exception as e:
248
+ logger.error(f"Error getting task history: {str(e)}")
249
+ raise HTTPException(
250
+ status_code=500, detail=f"Failed to get task history: {str(e)}")
251
+
252
+
253
+ @router.get("/api/auto-command/history/{task_id}")
254
+ async def get_task_detail(task_id: str, project_path: str = Depends(get_project_path)):
255
+ """
256
+ 获取特定任务的详细信息
257
+
258
+ Args:
259
+ task_id: 任务ID (event_file_id)
260
+ project_path: 项目路径
261
+
262
+ Returns:
263
+ 任务详细信息
264
+ """
265
+ try:
266
+ task_dir = ensure_task_dir(project_path)
267
+ task_file = os.path.join(task_dir, f"{task_id}.json")
268
+
269
+ if not os.path.exists(task_file):
270
+ raise HTTPException(status_code=404, detail=f"Task {task_id} not found")
271
+
272
+ with open(task_file, 'r', encoding='utf-8') as f:
273
+ task_data = json.load(f)
274
+
275
+ return task_data
276
+ except HTTPException:
277
+ raise
278
+ except Exception as e:
279
+ logger.error(f"Error getting task detail for {task_id}: {str(e)}")
280
+ raise HTTPException(
281
+ status_code=500, detail=f"Failed to get task detail: {str(e)}")