auto-coder-web 0.1.98__tar.gz → 0.1.100__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 (259) hide show
  1. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/PKG-INFO +2 -2
  2. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/file_manager.py +1 -1
  3. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/proxy.py +2 -1
  4. auto_coder_web-0.1.100/src/auto_coder_web/routers/file_command_router.py +315 -0
  5. auto_coder_web-0.1.100/src/auto_coder_web/version.py +1 -0
  6. auto_coder_web-0.1.100/src/auto_coder_web/web/assets/main-DgQa03WG.css +32 -0
  7. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/main.js +349 -349
  8. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/index.html +1 -1
  9. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web.egg-info/PKG-INFO +2 -2
  10. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web.egg-info/SOURCES.txt +2 -1
  11. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web.egg-info/requires.txt +1 -1
  12. auto_coder_web-0.1.98/src/auto_coder_web/version.py +0 -1
  13. auto_coder_web-0.1.98/src/auto_coder_web/web/assets/main-BJLO9M6L.css +0 -32
  14. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/README.md +0 -0
  15. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/setup.cfg +0 -0
  16. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/setup.py +0 -0
  17. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/__init__.py +0 -0
  18. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/agentic_message_parser/__init__.py +0 -0
  19. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/agentic_message_parser/message_parser.py +0 -0
  20. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/agentic_message_parser/tool_parsers.py +0 -0
  21. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/auto_coder_runner_wrapper.py +0 -0
  22. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/__init__.py +0 -0
  23. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/active_context_router.py +0 -0
  24. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/auto_coder_conf_router.py +0 -0
  25. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/chat_list_manager.py +0 -0
  26. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/chat_list_router.py +0 -0
  27. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/chat_session_manager.py +0 -0
  28. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/compiler_router.py +0 -0
  29. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/completions_router.py +0 -0
  30. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/file_group_router.py +0 -0
  31. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/file_router.py +0 -0
  32. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/filecacher.py +0 -0
  33. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/common_router/model_router.py +0 -0
  34. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/expert_routers/__init__.py +0 -0
  35. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/expert_routers/history_router.py +0 -0
  36. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/init_project.py +0 -0
  37. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/json_file_storage.py +0 -0
  38. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/lang.py +0 -0
  39. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/__init__.py +0 -0
  40. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/auto_router.py +0 -0
  41. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/chat_panels_router.py +0 -0
  42. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/chat_router.py +0 -0
  43. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/code_editor_tabs_router.py +0 -0
  44. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/coding_router.py +0 -0
  45. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/commit_router.py +0 -0
  46. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/config_router.py +0 -0
  47. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/direct_chat_router.py +0 -0
  48. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/editable_preview_router.py +0 -0
  49. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/index_router.py +0 -0
  50. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/mcp_router.py +0 -0
  51. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/rag_router.py +0 -0
  52. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/rules_router.py +0 -0
  53. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/settings_router.py +0 -0
  54. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/todo_router.py +0 -0
  55. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/routers/upload_router.py +0 -0
  56. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/terminal.py +0 -0
  57. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/types.py +0 -0
  58. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/HistoryPanel-DAeswjWO.js +0 -0
  59. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/abap-BrgZPUOV.js +0 -0
  60. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/apex-DyP6w7ZV.js +0 -0
  61. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/azcli-BaLxmfj-.js +0 -0
  62. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/bat-CFOPXBzS.js +0 -0
  63. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/bicep-BfEKNvv3.js +0 -0
  64. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/cameligo-BFG1Mk7z.js +0 -0
  65. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/clojure-DTECt2xU.js +0 -0
  66. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/codicon-DCmgc-ay.ttf +0 -0
  67. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/coffee-CDGzqUPQ.js +0 -0
  68. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/cpp-CLLBncYj.js +0 -0
  69. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/csharp-dUCx_-0o.js +0 -0
  70. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/csp-5Rap-vPy.js +0 -0
  71. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/css-D3h14YRZ.js +0 -0
  72. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/cssMode-dfzmIRw_.js +0 -0
  73. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/cypher-DrQuvNYM.js +0 -0
  74. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/dart-CFKIUWau.js +0 -0
  75. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/dockerfile-Zznr-cwX.js +0 -0
  76. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/ecl-Ce3n6wWz.js +0 -0
  77. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/elixir-deUWdS0T.js +0 -0
  78. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/flow9-i9-g7ZhI.js +0 -0
  79. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/freemarker2-CD79_SV-.js +0 -0
  80. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/fsharp-CzKuDChf.js +0 -0
  81. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/go-Cphgjts3.js +0 -0
  82. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/graphql-Cg7bfA9N.js +0 -0
  83. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/handlebars-B_inQ7Ga.js +0 -0
  84. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/hcl-0cvrggvQ.js +0 -0
  85. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/html-s8IXsV2v.js +0 -0
  86. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/htmlMode-BNdCO4Um.js +0 -0
  87. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/ini-Drc7WvVn.js +0 -0
  88. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/java-B_fMsGYe.js +0 -0
  89. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/javascript-D_ZBRKl9.js +0 -0
  90. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/jsonMode-lWocgRYn.js +0 -0
  91. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/julia-Bqgm2twL.js +0 -0
  92. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/kotlin-BSkB5QuD.js +0 -0
  93. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/less-BsTHnhdd.js +0 -0
  94. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/lexon-YWi4-JPR.js +0 -0
  95. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/liquid-CPaH0eVF.js +0 -0
  96. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/lua-nf6ki56Z.js +0 -0
  97. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/m3-Cpb6xl2v.js +0 -0
  98. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/markdown-DSZPf7rp.js +0 -0
  99. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/mdx-DRx1b0qs.js +0 -0
  100. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/mips-B_c3zf-v.js +0 -0
  101. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/msdax-rUNN04Wq.js +0 -0
  102. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/mysql-DDwshQtU.js +0 -0
  103. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/objective-c-B5zXfXm9.js +0 -0
  104. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/pascal-CXOwvkN_.js +0 -0
  105. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/pascaligo-Bc-ZgV77.js +0 -0
  106. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/perl-CwNk8-XU.js +0 -0
  107. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/pgsql-tGk8EFnU.js +0 -0
  108. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/php-CpIb_Oan.js +0 -0
  109. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/pla-B03wrqEc.js +0 -0
  110. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/postiats-BKlk5iyT.js +0 -0
  111. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/powerquery-Bhzvs7bI.js +0 -0
  112. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/powershell-Dd3NCNK9.js +0 -0
  113. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/protobuf-COyEY5Pt.js +0 -0
  114. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/pug-BaJupSGV.js +0 -0
  115. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/python-5rTPwuda.js +0 -0
  116. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/qsharp-DXyYeYxl.js +0 -0
  117. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/r-CdQndTaG.js +0 -0
  118. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/razor-zn6WfQ9V.js +0 -0
  119. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/redis-CVwtpugi.js +0 -0
  120. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/redshift-25W9uPmb.js +0 -0
  121. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/restructuredtext-DfzH4Xui.js +0 -0
  122. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/ruby-Cp1zYvxS.js +0 -0
  123. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/rust-D5C2fndG.js +0 -0
  124. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/sb-CDntyWJ8.js +0 -0
  125. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/scala-BoFRg7Ot.js +0 -0
  126. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/scheme-Bio4gycK.js +0 -0
  127. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/scss-4Ik7cdeQ.js +0 -0
  128. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/shell-CX-rkNHf.js +0 -0
  129. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/solidity-Tw7wswEv.js +0 -0
  130. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/sophia-C5WLch3f.js +0 -0
  131. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/sparql-DHaeiCBh.js +0 -0
  132. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/sql-CCSDG5nI.js +0 -0
  133. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/st-pnP8ivHi.js +0 -0
  134. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/swift-DwJ7jVG9.js +0 -0
  135. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/systemverilog-B9Xyijhd.js +0 -0
  136. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/tcl-DnHyzjbg.js +0 -0
  137. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/tsMode-CkhihvQ0.js +0 -0
  138. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/twig-CPajHgWi.js +0 -0
  139. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/typescript-DH2E4fY1.js +0 -0
  140. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/typespec-D-MeaMDU.js +0 -0
  141. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/vb-DgyLZaXg.js +0 -0
  142. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/wgsl-BIv9DU6q.js +0 -0
  143. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/xml-kipCCfsB.js +0 -0
  144. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/assets/yaml-BI9EB_1X.js +0 -0
  145. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/bridge.js +0 -0
  146. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/favicon.ico +0 -0
  147. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/logo192.png +0 -0
  148. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/logo512.png +0 -0
  149. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/manifest.json +0 -0
  150. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  151. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/base/worker/workerMain.js +0 -0
  152. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/abap/abap.js +0 -0
  153. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/apex/apex.js +0 -0
  154. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/azcli/azcli.js +0 -0
  155. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bat/bat.js +0 -0
  156. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/bicep/bicep.js +0 -0
  157. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +0 -0
  158. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/clojure/clojure.js +0 -0
  159. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/coffee/coffee.js +0 -0
  160. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cpp/cpp.js +0 -0
  161. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csharp/csharp.js +0 -0
  162. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/csp/csp.js +0 -0
  163. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/css/css.js +0 -0
  164. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/cypher/cypher.js +0 -0
  165. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dart/dart.js +0 -0
  166. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +0 -0
  167. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ecl/ecl.js +0 -0
  168. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/elixir/elixir.js +0 -0
  169. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/flow9/flow9.js +0 -0
  170. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +0 -0
  171. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +0 -0
  172. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/go/go.js +0 -0
  173. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/graphql/graphql.js +0 -0
  174. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +0 -0
  175. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/hcl/hcl.js +0 -0
  176. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/html/html.js +0 -0
  177. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ini/ini.js +0 -0
  178. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/java/java.js +0 -0
  179. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/javascript/javascript.js +0 -0
  180. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/julia/julia.js +0 -0
  181. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +0 -0
  182. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/less/less.js +0 -0
  183. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lexon/lexon.js +0 -0
  184. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/liquid/liquid.js +0 -0
  185. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/lua/lua.js +0 -0
  186. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/m3/m3.js +0 -0
  187. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/markdown/markdown.js +0 -0
  188. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mdx/mdx.js +0 -0
  189. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mips/mips.js +0 -0
  190. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/msdax/msdax.js +0 -0
  191. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/mysql/mysql.js +0 -0
  192. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +0 -0
  193. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascal/pascal.js +0 -0
  194. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +0 -0
  195. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/perl/perl.js +0 -0
  196. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +0 -0
  197. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/php/php.js +0 -0
  198. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pla/pla.js +0 -0
  199. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/postiats/postiats.js +0 -0
  200. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +0 -0
  201. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/powershell/powershell.js +0 -0
  202. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +0 -0
  203. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/pug/pug.js +0 -0
  204. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/python/python.js +0 -0
  205. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +0 -0
  206. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/r/r.js +0 -0
  207. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/razor/razor.js +0 -0
  208. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redis/redis.js +0 -0
  209. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/redshift/redshift.js +0 -0
  210. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +0 -0
  211. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/ruby/ruby.js +0 -0
  212. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/rust/rust.js +0 -0
  213. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sb/sb.js +0 -0
  214. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scala/scala.js +0 -0
  215. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scheme/scheme.js +0 -0
  216. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/scss/scss.js +0 -0
  217. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/shell/shell.js +0 -0
  218. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/solidity/solidity.js +0 -0
  219. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sophia/sophia.js +0 -0
  220. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sparql/sparql.js +0 -0
  221. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/sql/sql.js +0 -0
  222. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/st/st.js +0 -0
  223. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/swift/swift.js +0 -0
  224. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +0 -0
  225. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/tcl/tcl.js +0 -0
  226. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/twig/twig.js +0 -0
  227. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typescript/typescript.js +0 -0
  228. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/typespec/typespec.js +0 -0
  229. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/vb/vb.js +0 -0
  230. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/wgsl/wgsl.js +0 -0
  231. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/xml/xml.js +0 -0
  232. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/basic-languages/yaml/yaml.js +0 -0
  233. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.css +0 -0
  234. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/editor/editor.main.js +0 -0
  235. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssMode.js +0 -0
  236. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/css/cssWorker.js +0 -0
  237. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlMode.js +0 -0
  238. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/html/htmlWorker.js +0 -0
  239. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonMode.js +0 -0
  240. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/json/jsonWorker.js +0 -0
  241. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsMode.js +0 -0
  242. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsWorker.js +0 -0
  243. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/loader.js +0 -0
  244. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.de.js +0 -0
  245. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.es.js +0 -0
  246. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.fr.js +0 -0
  247. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.it.js +0 -0
  248. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ja.js +0 -0
  249. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ko.js +0 -0
  250. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.ru.js +0 -0
  251. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-cn.js +0 -0
  252. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/monaco-editor/min/vs/nls.messages.zh-tw.js +0 -0
  253. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/robots.txt +0 -0
  254. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/sounds/ding-dong.wav +0 -0
  255. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/sounds/gentle-notification.wav +0 -0
  256. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web/web/sounds/soft-chime.wav +0 -0
  257. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web.egg-info/dependency_links.txt +0 -0
  258. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/src/auto_coder_web.egg-info/entry_points.txt +0 -0
  259. {auto_coder_web-0.1.98 → auto_coder_web-0.1.100}/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.98
3
+ Version: 0.1.100
4
4
  Summary: auto-coder.web: A Python Project
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.10
7
7
  Classifier: Programming Language :: Python :: 3.11
8
8
  Classifier: Programming Language :: Python :: 3.12
9
9
  Description-Content-Type: text/markdown
10
- Requires-Dist: auto-coder>=0.1.367
10
+ Requires-Dist: auto-coder>=0.1.370
11
11
  Requires-Dist: aiofiles
12
12
  Requires-Dist: psutil
13
13
  Requires-Dist: watchdog
@@ -147,7 +147,7 @@ async def get_directory_tree_async(root_path: str, path: str = None, lazy: bool
147
147
 
148
148
  def should_ignore(name: str) -> bool:
149
149
  """Check if a file or directory should be ignored"""
150
- allowed_hidden_files = {'.autocoderrules', '.gitignore', '.autocoderignore'}
150
+ allowed_hidden_files = {'.autocoderrules', '.gitignore', '.autocoderignore',".autocodercommands"}
151
151
  # Ignore hidden files/directories (starting with '.'), unless explicitly allowed
152
152
  ## and name != ".auto-coder": # Original comment kept for context if needed
153
153
  if name.startswith('.') and name not in allowed_hidden_files:
@@ -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, upload_router, rag_router, editable_preview_router, mcp_router, direct_chat_router, rules_router, chat_panels_router, code_editor_tabs_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, rag_router, editable_preview_router, mcp_router, direct_chat_router, rules_router, chat_panels_router, code_editor_tabs_router, file_command_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 auto_coder_web.common_router import active_context_router
@@ -112,6 +112,7 @@ class ProxyServer:
112
112
  self.app.include_router(rules_router.router)
113
113
  self.app.include_router(chat_panels_router.router)
114
114
  self.app.include_router(code_editor_tabs_router.router)
115
+ self.app.include_router(file_command_router.router)
115
116
 
116
117
  @self.app.on_event("shutdown")
117
118
  async def shutdown_event():
@@ -0,0 +1,315 @@
1
+ """
2
+ Document Router for managing and analyzing document files.
3
+
4
+ This router provides endpoints for listing documents and reading document variables
5
+ using the CommandFileManager from the auto-coder project.
6
+ """
7
+
8
+ import os
9
+ import json
10
+ import aiofiles
11
+ from fastapi import APIRouter, HTTPException, Request, Depends
12
+ from pydantic import BaseModel
13
+ from pathlib import Path
14
+ from typing import List, Dict, Optional, Set, Any
15
+ from jinja2 import Template, Environment, meta
16
+
17
+ # Import the CommandFileManager from the auto-coder project
18
+ from autocoder.common.command_file_manager import CommandManager, JinjaVariable
19
+
20
+ router = APIRouter()
21
+
22
+ async def get_project_path(request: Request) -> str:
23
+ """Get the project path from the FastAPI request context."""
24
+ return request.app.state.project_path
25
+
26
+ async def get_documents_path(project_path: str) -> Path:
27
+ """Get the documents directory path."""
28
+ # Default to .autocodercommands directory in the project
29
+ return Path(project_path) / ".autocodercommands"
30
+
31
+ class DocumentFile(BaseModel):
32
+ """Model for document file information."""
33
+ file_name: str
34
+ file_path: str
35
+
36
+ class DocumentVariable(BaseModel):
37
+ """Model for document variable information."""
38
+ name: str
39
+ default_value: Optional[str] = None
40
+ description: Optional[str] = None
41
+
42
+ class DocumentAnalysis(BaseModel):
43
+ """Model for document analysis information."""
44
+ file_name: str
45
+ file_path: str
46
+ variables: List[DocumentVariable]
47
+
48
+ class ListDocumentsResponse(BaseModel):
49
+ """Response model for listing documents."""
50
+ success: bool
51
+ documents: Optional[List[DocumentFile]] = None
52
+ errors: Optional[List[str]] = None
53
+
54
+ class ReadDocumentResponse(BaseModel):
55
+ """Response model for reading a document."""
56
+ success: bool
57
+ document: Optional[DocumentFile] = None
58
+ content: Optional[str] = None
59
+ errors: Optional[List[str]] = None
60
+
61
+ class AnalyzeDocumentResponse(BaseModel):
62
+ """Response model for analyzing a document."""
63
+ success: bool
64
+ analysis: Optional[DocumentAnalysis] = None
65
+ errors: Optional[List[str]] = None
66
+
67
+ class AllVariablesResponse(BaseModel):
68
+ """Response model for getting all variables."""
69
+ success: bool
70
+ variables: Optional[Dict[str, List[str]]] = None
71
+ errors: Optional[List[str]] = None
72
+
73
+ class RenderTemplateRequest(BaseModel):
74
+ """Request model for rendering a template."""
75
+ file_name: str
76
+ variables: Dict[str, str]
77
+
78
+ class RenderTemplateResponse(BaseModel):
79
+ """Response model for rendering a template."""
80
+ success: bool
81
+ rendered_content: Optional[str] = None
82
+ errors: Optional[List[str]] = None
83
+
84
+ @router.get("/api/file_commands", response_model=ListDocumentsResponse)
85
+ async def list_documents(request: Request, recursive: bool = False):
86
+ """
87
+ List all document files in the documents directory.
88
+
89
+ Args:
90
+ recursive: Whether to search recursively.
91
+
92
+ Returns:
93
+ A ListDocumentsResponse object.
94
+ """
95
+ try:
96
+ project_path = await get_project_path(request)
97
+ documents_path = await get_documents_path(project_path)
98
+
99
+ # Initialize the CommandManager
100
+ manager = CommandManager(str(documents_path))
101
+
102
+ # List command files
103
+ result = manager.list_command_files(recursive=recursive)
104
+
105
+ if not result.success:
106
+ return ListDocumentsResponse(
107
+ success=False,
108
+ errors=result.errors
109
+ )
110
+
111
+ # Convert to DocumentFile objects
112
+ documents = []
113
+ for file_path in result.command_files:
114
+ file_name = os.path.basename(file_path)
115
+ documents.append(DocumentFile(
116
+ file_name=file_name,
117
+ file_path=file_path
118
+ ))
119
+
120
+ return ListDocumentsResponse(
121
+ success=True,
122
+ documents=documents
123
+ )
124
+ except Exception as e:
125
+ return ListDocumentsResponse(
126
+ success=False,
127
+ errors=[f"Error listing documents: {str(e)}"]
128
+ )
129
+
130
+ @router.get("/api/file_commands/{file_name}", response_model=ReadDocumentResponse)
131
+ async def read_document(file_name: str, request: Request):
132
+ """
133
+ Read a document file.
134
+
135
+ Args:
136
+ file_name: The name of the file to read.
137
+
138
+ Returns:
139
+ A ReadDocumentResponse object.
140
+ """
141
+ try:
142
+ project_path = await get_project_path(request)
143
+ documents_path = await get_documents_path(project_path)
144
+
145
+ # Initialize the CommandManager
146
+ manager = CommandManager(str(documents_path))
147
+
148
+ # Read command file
149
+ command_file = manager.read_command_file(file_name)
150
+
151
+ if not command_file:
152
+ return ReadDocumentResponse(
153
+ success=False,
154
+ errors=[f"Document '{file_name}' not found."]
155
+ )
156
+
157
+ return ReadDocumentResponse(
158
+ success=True,
159
+ document=DocumentFile(
160
+ file_name=command_file.file_name,
161
+ file_path=command_file.file_path
162
+ ),
163
+ content=command_file.content
164
+ )
165
+ except Exception as e:
166
+ return ReadDocumentResponse(
167
+ success=False,
168
+ errors=[f"Error reading document: {str(e)}"]
169
+ )
170
+
171
+ @router.get("/api/file_commands/{file_name}/variables", response_model=AnalyzeDocumentResponse)
172
+ async def analyze_document(file_name: str, request: Request):
173
+ """
174
+ Analyze a document file to extract variables.
175
+
176
+ Args:
177
+ file_name: The name of the file to analyze.
178
+
179
+ Returns:
180
+ An AnalyzeDocumentResponse object.
181
+ """
182
+ try:
183
+ project_path = await get_project_path(request)
184
+ documents_path = await get_documents_path(project_path)
185
+
186
+ # Initialize the CommandManager
187
+ manager = CommandManager(str(documents_path))
188
+
189
+ # Analyze command file
190
+ analysis = manager.analyze_command_file(file_name)
191
+
192
+ if not analysis:
193
+ return AnalyzeDocumentResponse(
194
+ success=False,
195
+ errors=[f"Document '{file_name}' not found or could not be analyzed."]
196
+ )
197
+
198
+ # Convert to DocumentVariable objects
199
+ variables = []
200
+ for var in analysis.variables:
201
+ variables.append(DocumentVariable(
202
+ name=var.name,
203
+ default_value=var.default_value,
204
+ description=var.description
205
+ ))
206
+
207
+ return AnalyzeDocumentResponse(
208
+ success=True,
209
+ analysis=DocumentAnalysis(
210
+ file_name=analysis.file_name,
211
+ file_path=analysis.file_path,
212
+ variables=variables
213
+ )
214
+ )
215
+ except Exception as e:
216
+ return AnalyzeDocumentResponse(
217
+ success=False,
218
+ errors=[f"Error analyzing document: {str(e)}"]
219
+ )
220
+
221
+ @router.get("/api/file_commands/variables/all", response_model=AllVariablesResponse)
222
+ async def get_all_variables(request: Request, recursive: bool = False):
223
+ """
224
+ Get all variables from all document files.
225
+
226
+ Args:
227
+ recursive: Whether to search recursively.
228
+
229
+ Returns:
230
+ An AllVariablesResponse object.
231
+ """
232
+ try:
233
+ project_path = await get_project_path(request)
234
+ documents_path = await get_documents_path(project_path)
235
+
236
+ # Initialize the CommandManager
237
+ manager = CommandManager(str(documents_path))
238
+
239
+ # Get all variables
240
+ variables = manager.get_all_variables(recursive=recursive)
241
+
242
+ return AllVariablesResponse(
243
+ success=True,
244
+ variables=variables
245
+ )
246
+ except Exception as e:
247
+ return AllVariablesResponse(
248
+ success=False,
249
+ errors=[f"Error getting all variables: {str(e)}"]
250
+ )
251
+
252
+ @router.get("/api/file_commands/path")
253
+ async def get_documents_directory(request: Request):
254
+ """
255
+ Get the documents directory path.
256
+
257
+ Returns:
258
+ The documents directory path.
259
+ """
260
+ try:
261
+ project_path = await get_project_path(request)
262
+ documents_path = await get_documents_path(project_path)
263
+
264
+ return {
265
+ "success": True,
266
+ "path": str(documents_path)
267
+ }
268
+ except Exception as e:
269
+ return {
270
+ "success": False,
271
+ "errors": [f"Error getting documents directory: {str(e)}"]
272
+ }
273
+
274
+ @router.post("/api/file_commands/render", response_model=RenderTemplateResponse)
275
+ async def render_template(request: RenderTemplateRequest, req: Request):
276
+ """
277
+ Render a template with the provided variables.
278
+
279
+ Args:
280
+ request: The request containing the file name and variables.
281
+
282
+ Returns:
283
+ A RenderTemplateResponse object containing the rendered content.
284
+ """
285
+ try:
286
+ project_path = await get_project_path(req)
287
+ documents_path = await get_documents_path(project_path)
288
+
289
+ # Initialize the CommandManager
290
+ manager = CommandManager(str(documents_path))
291
+
292
+ # Read command file
293
+ command_file = manager.read_command_file(request.file_name)
294
+
295
+ if not command_file:
296
+ return RenderTemplateResponse(
297
+ success=False,
298
+ errors=[f"Document '{request.file_name}' not found."]
299
+ )
300
+
301
+ # Create Jinja2 template
302
+ template = Template(command_file.content)
303
+
304
+ # Render template with provided variables
305
+ rendered_content = template.render(**request.variables)
306
+
307
+ return RenderTemplateResponse(
308
+ success=True,
309
+ rendered_content=rendered_content
310
+ )
311
+ except Exception as e:
312
+ return RenderTemplateResponse(
313
+ success=False,
314
+ errors=[f"Error rendering template: {str(e)}"]
315
+ )
@@ -0,0 +1 @@
1
+ __version__ = "0.1.100"