repoburg 1.3.127 → 1.3.129

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 (470) hide show
  1. package/backend/.env +2 -2
  2. package/backend/coverage/clover.xml +12003 -0
  3. package/backend/coverage/coverage-final.json +313 -0
  4. package/backend/coverage/lcov-report/base.css +224 -0
  5. package/backend/coverage/lcov-report/block-navigation.js +87 -0
  6. package/backend/coverage/lcov-report/favicon.png +0 -0
  7. package/backend/coverage/lcov-report/index.html +1301 -0
  8. package/backend/coverage/lcov-report/packages/gemini-core/examples/index.html +116 -0
  9. package/backend/coverage/lcov-report/packages/gemini-core/examples/simple.ts.html +445 -0
  10. package/backend/coverage/lcov-report/packages/gemini-core/index.html +116 -0
  11. package/backend/coverage/lcov-report/packages/gemini-core/index.ts.html +127 -0
  12. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/codeAssist.ts.html +193 -0
  13. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/converter.ts.html +832 -0
  14. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/index.html +206 -0
  15. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/oauth-credential-storage.ts.html +469 -0
  16. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/oauth2.ts.html +1705 -0
  17. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/server.ts.html +790 -0
  18. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/setup.ts.html +454 -0
  19. package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/types.ts.html +685 -0
  20. package/backend/coverage/lcov-report/packages/gemini-core/src/config/config.ts.html +307 -0
  21. package/backend/coverage/lcov-report/packages/gemini-core/src/config/index.html +146 -0
  22. package/backend/coverage/lcov-report/packages/gemini-core/src/config/models.ts.html +151 -0
  23. package/backend/coverage/lcov-report/packages/gemini-core/src/config/storage.ts.html +172 -0
  24. package/backend/coverage/lcov-report/packages/gemini-core/src/core/contentGenerator.ts.html +490 -0
  25. package/backend/coverage/lcov-report/packages/gemini-core/src/core/geminiChat.ts.html +1237 -0
  26. package/backend/coverage/lcov-report/packages/gemini-core/src/core/geminiRequest.ts.html +139 -0
  27. package/backend/coverage/lcov-report/packages/gemini-core/src/core/index.html +176 -0
  28. package/backend/coverage/lcov-report/packages/gemini-core/src/core/prompts.ts.html +409 -0
  29. package/backend/coverage/lcov-report/packages/gemini-core/src/core/tokenLimits.ts.html +181 -0
  30. package/backend/coverage/lcov-report/packages/gemini-core/src/index.html +116 -0
  31. package/backend/coverage/lcov-report/packages/gemini-core/src/index.ts.html +187 -0
  32. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/base-token-storage.ts.html +229 -0
  33. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/file-token-storage.ts.html +634 -0
  34. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.ts.html +373 -0
  35. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/index.html +191 -0
  36. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/index.ts.html +124 -0
  37. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.ts.html +835 -0
  38. package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/types.ts.html +211 -0
  39. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/errors.ts.html +421 -0
  40. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/index.html +191 -0
  41. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/partUtils.ts.html +592 -0
  42. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/quotaErrorDetection.ts.html +388 -0
  43. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/retry.ts.html +877 -0
  44. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/session.ts.html +112 -0
  45. package/backend/coverage/lcov-report/packages/gemini-core/src/utils/userAccountManager.ts.html +502 -0
  46. package/backend/coverage/lcov-report/packages/tokenpatch/index.html +161 -0
  47. package/backend/coverage/lcov-report/packages/tokenpatch/index.ts.html +415 -0
  48. package/backend/coverage/lcov-report/packages/tokenpatch/parser.ts.html +139 -0
  49. package/backend/coverage/lcov-report/packages/tokenpatch/patcher.ts.html +1249 -0
  50. package/backend/coverage/lcov-report/packages/tokenpatch/strategies/index.html +131 -0
  51. package/backend/coverage/lcov-report/packages/tokenpatch/strategies/tiktoken-tokenizer.ts.html +187 -0
  52. package/backend/coverage/lcov-report/packages/tokenpatch/strategies/tree-sitter-tokenizer.ts.html +193 -0
  53. package/backend/coverage/lcov-report/packages/tokenpatch/tokens.ts.html +178 -0
  54. package/backend/coverage/lcov-report/prettify.css +1 -0
  55. package/backend/coverage/lcov-report/prettify.js +2 -0
  56. package/backend/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  57. package/backend/coverage/lcov-report/sorter.js +210 -0
  58. package/backend/coverage/lcov-report/src/ai-actions/ai-action-batch.service.ts.html +1549 -0
  59. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.controller.ts.html +904 -0
  60. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.module.ts.html +175 -0
  61. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.service.ts.html +1534 -0
  62. package/backend/coverage/lcov-report/src/ai-actions/index.html +161 -0
  63. package/backend/coverage/lcov-report/src/app.controller.ts.html +151 -0
  64. package/backend/coverage/lcov-report/src/app.module.ts.html +451 -0
  65. package/backend/coverage/lcov-report/src/app.service.ts.html +163 -0
  66. package/backend/coverage/lcov-report/src/application-state/application-state.controller.ts.html +1609 -0
  67. package/backend/coverage/lcov-report/src/application-state/application-state.module.ts.html +136 -0
  68. package/backend/coverage/lcov-report/src/application-state/application-state.service.ts.html +2281 -0
  69. package/backend/coverage/lcov-report/src/application-state/dto/index.html +416 -0
  70. package/backend/coverage/lcov-report/src/application-state/dto/set-alibaba-config.dto.ts.html +109 -0
  71. package/backend/coverage/lcov-report/src/application-state/dto/set-auto-context-fetch-enabled.dto.ts.html +118 -0
  72. package/backend/coverage/lcov-report/src/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.ts.html +109 -0
  73. package/backend/coverage/lcov-report/src/application-state/dto/set-context-token-limit.dto.ts.html +124 -0
  74. package/backend/coverage/lcov-report/src/application-state/dto/set-execution-strategy.dto.ts.html +121 -0
  75. package/backend/coverage/lcov-report/src/application-state/dto/set-followup-token-limit.dto.ts.html +124 -0
  76. package/backend/coverage/lcov-report/src/application-state/dto/set-history-compression-enabled.dto.ts.html +115 -0
  77. package/backend/coverage/lcov-report/src/application-state/dto/set-llm-retry-enabled.dto.ts.html +115 -0
  78. package/backend/coverage/lcov-report/src/application-state/dto/set-llm-retry-max-attempts.dto.ts.html +127 -0
  79. package/backend/coverage/lcov-report/src/application-state/dto/set-manual-llm-enabled.dto.ts.html +118 -0
  80. package/backend/coverage/lcov-report/src/application-state/dto/set-ollama-config.dto.ts.html +109 -0
  81. package/backend/coverage/lcov-report/src/application-state/dto/set-openai-config.dto.ts.html +139 -0
  82. package/backend/coverage/lcov-report/src/application-state/dto/set-openrouter-config.dto.ts.html +109 -0
  83. package/backend/coverage/lcov-report/src/application-state/dto/set-streaming-enabled.dto.ts.html +109 -0
  84. package/backend/coverage/lcov-report/src/application-state/dto/set-syntax-validation-enabled.dto.ts.html +118 -0
  85. package/backend/coverage/lcov-report/src/application-state/dto/set-theme.dto.ts.html +124 -0
  86. package/backend/coverage/lcov-report/src/application-state/dto/set-tools-enabled.dto.ts.html +118 -0
  87. package/backend/coverage/lcov-report/src/application-state/dto/set-websocket-enabled.dto.ts.html +109 -0
  88. package/backend/coverage/lcov-report/src/application-state/dto/set-yolo-mode-message.dto.ts.html +124 -0
  89. package/backend/coverage/lcov-report/src/application-state/dto/set-yolo-mode.dto.ts.html +118 -0
  90. package/backend/coverage/lcov-report/src/application-state/dto/set-zai-config.dto.ts.html +109 -0
  91. package/backend/coverage/lcov-report/src/application-state/index.html +146 -0
  92. package/backend/coverage/lcov-report/src/common/cache/cache-invalidation.service.ts.html +1297 -0
  93. package/backend/coverage/lcov-report/src/common/cache/cache-invalidation.subscriber.ts.html +712 -0
  94. package/backend/coverage/lcov-report/src/common/cache/etag-cache.service.ts.html +379 -0
  95. package/backend/coverage/lcov-report/src/common/cache/index.html +146 -0
  96. package/backend/coverage/lcov-report/src/common/common.module.ts.html +121 -0
  97. package/backend/coverage/lcov-report/src/common/index.html +116 -0
  98. package/backend/coverage/lcov-report/src/common/interceptors/etag-cache.interceptor.ts.html +337 -0
  99. package/backend/coverage/lcov-report/src/common/interceptors/index.html +116 -0
  100. package/backend/coverage/lcov-report/src/common/middleware/cache.middleware.ts.html +265 -0
  101. package/backend/coverage/lcov-report/src/common/middleware/index.html +116 -0
  102. package/backend/coverage/lcov-report/src/context-generation/context-generation.module.ts.html +118 -0
  103. package/backend/coverage/lcov-report/src/context-generation/context-generation.service.ts.html +1501 -0
  104. package/backend/coverage/lcov-report/src/context-generation/index.html +131 -0
  105. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.controller.ts.html +427 -0
  106. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.module.ts.html +142 -0
  107. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.service.ts.html +442 -0
  108. package/backend/coverage/lcov-report/src/context-snippets/dto/context-snippet.dto.ts.html +211 -0
  109. package/backend/coverage/lcov-report/src/context-snippets/dto/index.html +116 -0
  110. package/backend/coverage/lcov-report/src/context-snippets/index.html +146 -0
  111. package/backend/coverage/lcov-report/src/context-templates/context-templates.controller.ts.html +724 -0
  112. package/backend/coverage/lcov-report/src/context-templates/context-templates.module.ts.html +142 -0
  113. package/backend/coverage/lcov-report/src/context-templates/context-templates.service.ts.html +1015 -0
  114. package/backend/coverage/lcov-report/src/context-templates/dto/context-template.dto.ts.html +511 -0
  115. package/backend/coverage/lcov-report/src/context-templates/dto/index.html +116 -0
  116. package/backend/coverage/lcov-report/src/context-templates/index.html +146 -0
  117. package/backend/coverage/lcov-report/src/core-entities/ai-action.entity.ts.html +613 -0
  118. package/backend/coverage/lcov-report/src/core-entities/application-state.entity.ts.html +124 -0
  119. package/backend/coverage/lcov-report/src/core-entities/base.entity.ts.html +211 -0
  120. package/backend/coverage/lcov-report/src/core-entities/context-snippet.entity.ts.html +190 -0
  121. package/backend/coverage/lcov-report/src/core-entities/context-template.entity.ts.html +439 -0
  122. package/backend/coverage/lcov-report/src/core-entities/custom-snippet.entity.ts.html +205 -0
  123. package/backend/coverage/lcov-report/src/core-entities/custom-variable.entity.ts.html +241 -0
  124. package/backend/coverage/lcov-report/src/core-entities/enums.ts.html +553 -0
  125. package/backend/coverage/lcov-report/src/core-entities/execution-log.entity.ts.html +208 -0
  126. package/backend/coverage/lcov-report/src/core-entities/index.html +371 -0
  127. package/backend/coverage/lcov-report/src/core-entities/index.ts.html +136 -0
  128. package/backend/coverage/lcov-report/src/core-entities/llm-call-log.entity.ts.html +388 -0
  129. package/backend/coverage/lcov-report/src/core-entities/mcp-config.entity.ts.html +256 -0
  130. package/backend/coverage/lcov-report/src/core-entities/mcp-tool.entity.ts.html +256 -0
  131. package/backend/coverage/lcov-report/src/core-entities/project.entity.ts.html +181 -0
  132. package/backend/coverage/lcov-report/src/core-entities/session-input.entity.ts.html +745 -0
  133. package/backend/coverage/lcov-report/src/core-entities/session.entity.ts.html +688 -0
  134. package/backend/coverage/lcov-report/src/core-entities/system-prompt.entity.ts.html +349 -0
  135. package/backend/coverage/lcov-report/src/core-entities/tool-hook.entity.ts.html +235 -0
  136. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.controller.ts.html +442 -0
  137. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.module.ts.html +124 -0
  138. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.service.ts.html +304 -0
  139. package/backend/coverage/lcov-report/src/custom-snippets/dto/custom-snippet.dto.ts.html +205 -0
  140. package/backend/coverage/lcov-report/src/custom-snippets/dto/index.html +116 -0
  141. package/backend/coverage/lcov-report/src/custom-snippets/index.html +146 -0
  142. package/backend/coverage/lcov-report/src/custom-variables/custom-variables.controller.ts.html +463 -0
  143. package/backend/coverage/lcov-report/src/custom-variables/custom-variables.module.ts.html +124 -0
  144. package/backend/coverage/lcov-report/src/custom-variables/custom-variables.service.ts.html +310 -0
  145. package/backend/coverage/lcov-report/src/custom-variables/dto/custom-variable.dto.ts.html +244 -0
  146. package/backend/coverage/lcov-report/src/custom-variables/dto/index.html +116 -0
  147. package/backend/coverage/lcov-report/src/custom-variables/index.html +146 -0
  148. package/backend/coverage/lcov-report/src/events/events.gateway.ts.html +295 -0
  149. package/backend/coverage/lcov-report/src/events/events.module.ts.html +109 -0
  150. package/backend/coverage/lcov-report/src/events/index.html +146 -0
  151. package/backend/coverage/lcov-report/src/events/websocket.events.ts.html +466 -0
  152. package/backend/coverage/lcov-report/src/execution-logs/dto/execution-log.dto.ts.html +130 -0
  153. package/backend/coverage/lcov-report/src/execution-logs/dto/index.html +116 -0
  154. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.controller.ts.html +130 -0
  155. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.module.ts.html +124 -0
  156. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.service.ts.html +238 -0
  157. package/backend/coverage/lcov-report/src/execution-logs/index.html +146 -0
  158. package/backend/coverage/lcov-report/src/gemini/gemini-llm.provider.ts.html +553 -0
  159. package/backend/coverage/lcov-report/src/gemini/gemini.module.ts.html +109 -0
  160. package/backend/coverage/lcov-report/src/gemini/index.html +131 -0
  161. package/backend/coverage/lcov-report/src/global-config/dto/index.html +116 -0
  162. package/backend/coverage/lcov-report/src/global-config/dto/update-global-config.dto.ts.html +367 -0
  163. package/backend/coverage/lcov-report/src/global-config/global-config.controller.ts.html +220 -0
  164. package/backend/coverage/lcov-report/src/global-config/global-config.module.ts.html +115 -0
  165. package/backend/coverage/lcov-report/src/global-config/global-config.service.ts.html +397 -0
  166. package/backend/coverage/lcov-report/src/global-config/index.html +146 -0
  167. package/backend/coverage/lcov-report/src/http-exception.filter.ts.html +340 -0
  168. package/backend/coverage/lcov-report/src/index.html +206 -0
  169. package/backend/coverage/lcov-report/src/interactive-chat/chat.module.ts.html +187 -0
  170. package/backend/coverage/lcov-report/src/interactive-chat/chat.service.ts.html +1825 -0
  171. package/backend/coverage/lcov-report/src/interactive-chat/index.html +146 -0
  172. package/backend/coverage/lcov-report/src/interactive-chat/streaming.controller.ts.html +343 -0
  173. package/backend/coverage/lcov-report/src/llm-call-logs/dto/index.html +116 -0
  174. package/backend/coverage/lcov-report/src/llm-call-logs/dto/llm-call-log.dto.ts.html +214 -0
  175. package/backend/coverage/lcov-report/src/llm-call-logs/index.html +146 -0
  176. package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.controller.ts.html +634 -0
  177. package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.module.ts.html +124 -0
  178. package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.service.ts.html +643 -0
  179. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/apply-diff.handler.ts.html +1090 -0
  180. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/ask-user.handler.ts.html +433 -0
  181. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/create-file.handler.ts.html +757 -0
  182. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/delete-file.handler.ts.html +586 -0
  183. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/discard-messages.handler.ts.html +1153 -0
  184. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/apply-diff.args.dto.ts.html +124 -0
  185. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/ask-user.args.dto.ts.html +103 -0
  186. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/create-file.args.dto.ts.html +124 -0
  187. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/delete-file.args.dto.ts.html +106 -0
  188. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/execute-code.args.dto.ts.html +106 -0
  189. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/final.args.dto.ts.html +118 -0
  190. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/generate-title.args.dto.ts.html +190 -0
  191. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/get-session-history.args.dto.ts.html +196 -0
  192. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/howto.args.dto.ts.html +91 -0
  193. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/index.html +356 -0
  194. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/new-session.args.dto.ts.html +106 -0
  195. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/overwrite-file.args.dto.ts.html +124 -0
  196. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/patch.args.dto.ts.html +124 -0
  197. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.ts.html +214 -0
  198. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/request-context.args.dto.ts.html +202 -0
  199. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/run-command.args.dto.ts.html +151 -0
  200. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/sanitizer.decorator.ts.html +181 -0
  201. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/write-todo.args.dto.ts.html +130 -0
  202. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/execute-code.handler.ts.html +631 -0
  203. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/final.handler.ts.html +469 -0
  204. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/generate-title.handler.ts.html +448 -0
  205. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/get-messages.handler.ts.html +1351 -0
  206. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/get-session-history.handler.ts.html +868 -0
  207. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/howto.handler.ts.html +481 -0
  208. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/index.html +416 -0
  209. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/invoke-subagent.handler.ts.html +580 -0
  210. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/list-sub-agents.handler.ts.html +352 -0
  211. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/context-aware.matcher.ts.html +1054 -0
  212. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/exact.matcher.ts.html +331 -0
  213. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/hybrid.matcher.ts.html +403 -0
  214. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/index.html +176 -0
  215. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/index.ts.html +100 -0
  216. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/normalized.matcher.ts.html +724 -0
  217. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/mcp-tool-action.handler.ts.html +358 -0
  218. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/new-session.handler.ts.html +379 -0
  219. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/overwrite-file.handler.ts.html +838 -0
  220. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/patch.handler.ts.html +1702 -0
  221. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/quick-edit.handler.ts.html +1459 -0
  222. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/request-context.handler.ts.html +679 -0
  223. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/run-command.handler.ts.html +964 -0
  224. package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/write-todo.handler.ts.html +625 -0
  225. package/backend/coverage/lcov-report/src/llm-orchestration/errors/handler-validation.error.ts.html +103 -0
  226. package/backend/coverage/lcov-report/src/llm-orchestration/errors/index.html +116 -0
  227. package/backend/coverage/lcov-report/src/llm-orchestration/history-compression.service.ts.html +1645 -0
  228. package/backend/coverage/lcov-report/src/llm-orchestration/hooks/follow-up-post-execution.hook.ts.html +238 -0
  229. package/backend/coverage/lcov-report/src/llm-orchestration/hooks/frontend-notification.hook.ts.html +181 -0
  230. package/backend/coverage/lcov-report/src/llm-orchestration/hooks/index.html +161 -0
  231. package/backend/coverage/lcov-report/src/llm-orchestration/hooks/invalid-tool-feedback.hook.ts.html +313 -0
  232. package/backend/coverage/lcov-report/src/llm-orchestration/hooks/yolo-mode-post-execution.hook.ts.html +466 -0
  233. package/backend/coverage/lcov-report/src/llm-orchestration/index.html +176 -0
  234. package/backend/coverage/lcov-report/src/llm-orchestration/llm-orchestration.interfaces.ts.html +319 -0
  235. package/backend/coverage/lcov-report/src/llm-orchestration/llm-orchestration.module.ts.html +706 -0
  236. package/backend/coverage/lcov-report/src/llm-orchestration/llm-turn-processor.service.ts.html +1150 -0
  237. package/backend/coverage/lcov-report/src/llm-orchestration/parser/index.html +131 -0
  238. package/backend/coverage/lcov-report/src/llm-orchestration/parser/llm-output-parser.service.ts.html +658 -0
  239. package/backend/coverage/lcov-report/src/llm-orchestration/parser/parsing.constants.ts.html +127 -0
  240. package/backend/coverage/lcov-report/src/llm-orchestration/tool-schema.service.ts.html +547 -0
  241. package/backend/coverage/lcov-report/src/llm-provider/alibaba-llm.provider.ts.html +1681 -0
  242. package/backend/coverage/lcov-report/src/llm-provider/index.html +236 -0
  243. package/backend/coverage/lcov-report/src/llm-provider/llm-provider.controller.ts.html +187 -0
  244. package/backend/coverage/lcov-report/src/llm-provider/llm-provider.interface.ts.html +361 -0
  245. package/backend/coverage/lcov-report/src/llm-provider/llm-provider.module.ts.html +175 -0
  246. package/backend/coverage/lcov-report/src/llm-provider/ollama-llm.provider.ts.html +1780 -0
  247. package/backend/coverage/lcov-report/src/llm-provider/openai-llm.provider.ts.html +1867 -0
  248. package/backend/coverage/lcov-report/src/llm-provider/openrouter-llm.provider.ts.html +1891 -0
  249. package/backend/coverage/lcov-report/src/llm-provider/proxy-llm.provider.ts.html +304 -0
  250. package/backend/coverage/lcov-report/src/llm-provider/zai-llm.provider.ts.html +1666 -0
  251. package/backend/coverage/lcov-report/src/llm-responses/dto/index.html +131 -0
  252. package/backend/coverage/lcov-report/src/llm-responses/dto/submit-llm-response.dto.ts.html +436 -0
  253. package/backend/coverage/lcov-report/src/llm-responses/dto/sync-conversation.dto.ts.html +319 -0
  254. package/backend/coverage/lcov-report/src/llm-responses/index.html +146 -0
  255. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.controller.ts.html +283 -0
  256. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.module.ts.html +184 -0
  257. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.service.ts.html +1474 -0
  258. package/backend/coverage/lcov-report/src/main.ts.html +463 -0
  259. package/backend/coverage/lcov-report/src/mcp/dto/batch-update-mcp-tools.dto.ts.html +145 -0
  260. package/backend/coverage/lcov-report/src/mcp/dto/create-mcp-config.dto.ts.html +127 -0
  261. package/backend/coverage/lcov-report/src/mcp/dto/index.html +146 -0
  262. package/backend/coverage/lcov-report/src/mcp/dto/update-mcp-config.dto.ts.html +112 -0
  263. package/backend/coverage/lcov-report/src/mcp/index.html +146 -0
  264. package/backend/coverage/lcov-report/src/mcp/mcp.controller.ts.html +340 -0
  265. package/backend/coverage/lcov-report/src/mcp/mcp.module.ts.html +124 -0
  266. package/backend/coverage/lcov-report/src/mcp/mcp.service.ts.html +1345 -0
  267. package/backend/coverage/lcov-report/src/message-bus/dto/index.html +116 -0
  268. package/backend/coverage/lcov-report/src/message-bus/dto/submit-message.dto.ts.html +109 -0
  269. package/backend/coverage/lcov-report/src/message-bus/index.html +146 -0
  270. package/backend/coverage/lcov-report/src/message-bus/message-bus.controller.ts.html +148 -0
  271. package/backend/coverage/lcov-report/src/message-bus/message-bus.module.ts.html +115 -0
  272. package/backend/coverage/lcov-report/src/message-bus/message-bus.service.ts.html +151 -0
  273. package/backend/coverage/lcov-report/src/projects/dto/index.html +116 -0
  274. package/backend/coverage/lcov-report/src/projects/dto/project.dto.ts.html +196 -0
  275. package/backend/coverage/lcov-report/src/projects/index.html +146 -0
  276. package/backend/coverage/lcov-report/src/projects/projects.controller.ts.html +322 -0
  277. package/backend/coverage/lcov-report/src/projects/projects.module.ts.html +124 -0
  278. package/backend/coverage/lcov-report/src/projects/projects.service.ts.html +235 -0
  279. package/backend/coverage/lcov-report/src/seeding/context-snippet-seeding.service.ts.html +280 -0
  280. package/backend/coverage/lcov-report/src/seeding/context-template-seeding.service.ts.html +439 -0
  281. package/backend/coverage/lcov-report/src/seeding/custom-snippet-seeding.service.ts.html +271 -0
  282. package/backend/coverage/lcov-report/src/seeding/custom-variable-seeding.service.ts.html +271 -0
  283. package/backend/coverage/lcov-report/src/seeding/data/context-snippets/compress.ts.html +172 -0
  284. package/backend/coverage/lcov-report/src/seeding/data/context-snippets/index.html +116 -0
  285. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.ts.html +157 -0
  286. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_condensed-project-context.ts.html +148 -0
  287. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_full-project-context.ts.html +151 -0
  288. package/backend/coverage/lcov-report/src/seeding/data/context-templates/index.html +161 -0
  289. package/backend/coverage/lcov-report/src/seeding/data/context-templates/open-pr-command.ts.html +247 -0
  290. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/default_rglob.ts.html +94 -0
  291. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-for.ts.html +100 -0
  292. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-if.ts.html +97 -0
  293. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-ifelse.ts.html +100 -0
  294. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/everest-playwright-auth.ts.html +304 -0
  295. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/git-diff.ts.html +94 -0
  296. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/index.html +341 -0
  297. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/it-mcp.ts.html +100 -0
  298. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/it-tools.ts.html +97 -0
  299. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-exclude.ts.html +94 -0
  300. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search-glob.ts.html +94 -0
  301. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search.ts.html +94 -0
  302. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/run-command.ts.html +94 -0
  303. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/tree.ts.html +94 -0
  304. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-adhoc-incl.ts.html +100 -0
  305. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-cmd-output-incl.ts.html +94 -0
  306. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-input-incl.ts.html +94 -0
  307. package/backend/coverage/lcov-report/src/seeding/data/custom-variables/default-auto-execute-code.ts.html +94 -0
  308. package/backend/coverage/lcov-report/src/seeding/data/custom-variables/default-plan-mode.ts.html +97 -0
  309. package/backend/coverage/lcov-report/src/seeding/data/custom-variables/index.html +131 -0
  310. package/backend/coverage/lcov-report/src/seeding/data/mcp-configs/default-configs.ts.html +121 -0
  311. package/backend/coverage/lcov-report/src/seeding/data/mcp-configs/index.html +116 -0
  312. package/backend/coverage/lcov-report/src/seeding/data/sub-agents/browser-use.ts.html +115 -0
  313. package/backend/coverage/lcov-report/src/seeding/data/sub-agents/explore-codebase.ts.html +136 -0
  314. package/backend/coverage/lcov-report/src/seeding/data/sub-agents/index.html +131 -0
  315. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/browser-use-agent.ts.html +190 -0
  316. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/default_native_tool_agent.ts.html +421 -0
  317. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/explore-codebase-agent.ts.html +265 -0
  318. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/index.html +161 -0
  319. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/master-agent.ts.html +388 -0
  320. package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/eslint-hook.ts.html +265 -0
  321. package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/example-hook.ts.html +274 -0
  322. package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/index.html +146 -0
  323. package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/readme.ts.html +250 -0
  324. package/backend/coverage/lcov-report/src/seeding/index.html +236 -0
  325. package/backend/coverage/lcov-report/src/seeding/mcp-config-seeding.service.ts.html +193 -0
  326. package/backend/coverage/lcov-report/src/seeding/seeding.module.ts.html +211 -0
  327. package/backend/coverage/lcov-report/src/seeding/seeding.service.ts.html +187 -0
  328. package/backend/coverage/lcov-report/src/seeding/sub-agent-seeding.service.ts.html +742 -0
  329. package/backend/coverage/lcov-report/src/seeding/system-prompt-seeding.service.ts.html +397 -0
  330. package/backend/coverage/lcov-report/src/session-followup/index.html +131 -0
  331. package/backend/coverage/lcov-report/src/session-followup/session-followup.module.ts.html +130 -0
  332. package/backend/coverage/lcov-report/src/session-followup/session-followup.service.ts.html +718 -0
  333. package/backend/coverage/lcov-report/src/session-inputs/dto/index.html +116 -0
  334. package/backend/coverage/lcov-report/src/session-inputs/dto/session-input.dto.ts.html +577 -0
  335. package/backend/coverage/lcov-report/src/session-inputs/index.html +176 -0
  336. package/backend/coverage/lcov-report/src/session-inputs/session-input-context.service.ts.html +832 -0
  337. package/backend/coverage/lcov-report/src/session-inputs/session-input.subscriber.ts.html +220 -0
  338. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.controller.ts.html +685 -0
  339. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.module.ts.html +229 -0
  340. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.service.ts.html +1981 -0
  341. package/backend/coverage/lcov-report/src/session-transfer/index.html +131 -0
  342. package/backend/coverage/lcov-report/src/session-transfer/session-transfer.module.ts.html +160 -0
  343. package/backend/coverage/lcov-report/src/session-transfer/session-transfer.service.ts.html +883 -0
  344. package/backend/coverage/lcov-report/src/sessions/dto/index.html +116 -0
  345. package/backend/coverage/lcov-report/src/sessions/dto/session.dto.ts.html +769 -0
  346. package/backend/coverage/lcov-report/src/sessions/index.html +146 -0
  347. package/backend/coverage/lcov-report/src/sessions/sessions.controller.ts.html +1306 -0
  348. package/backend/coverage/lcov-report/src/sessions/sessions.module.ts.html +220 -0
  349. package/backend/coverage/lcov-report/src/sessions/sessions.service.ts.html +2797 -0
  350. package/backend/coverage/lcov-report/src/sub-agents/dto/create-sub-agent.dto.ts.html +355 -0
  351. package/backend/coverage/lcov-report/src/sub-agents/dto/index.html +131 -0
  352. package/backend/coverage/lcov-report/src/sub-agents/dto/update-sub-agent.dto.ts.html +295 -0
  353. package/backend/coverage/lcov-report/src/sub-agents/index.html +221 -0
  354. package/backend/coverage/lcov-report/src/sub-agents/sub-agent-run.entity.ts.html +463 -0
  355. package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runner.service.ts.html +2428 -0
  356. package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runs.controller.ts.html +580 -0
  357. package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runs.service.ts.html +550 -0
  358. package/backend/coverage/lcov-report/src/sub-agents/sub-agent.entity.ts.html +475 -0
  359. package/backend/coverage/lcov-report/src/sub-agents/sub-agents.controller.ts.html +373 -0
  360. package/backend/coverage/lcov-report/src/sub-agents/sub-agents.module.ts.html +205 -0
  361. package/backend/coverage/lcov-report/src/sub-agents/sub-agents.service.ts.html +619 -0
  362. package/backend/coverage/lcov-report/src/syntax-validation/index.html +131 -0
  363. package/backend/coverage/lcov-report/src/syntax-validation/syntax-validation.module.ts.html +109 -0
  364. package/backend/coverage/lcov-report/src/syntax-validation/syntax-validation.service.ts.html +724 -0
  365. package/backend/coverage/lcov-report/src/system-prompts/dto/index.html +176 -0
  366. package/backend/coverage/lcov-report/src/system-prompts/dto/set-enabled-mcp-tools.dto.ts.html +157 -0
  367. package/backend/coverage/lcov-report/src/system-prompts/dto/set-enabled-tools.dto.ts.html +148 -0
  368. package/backend/coverage/lcov-report/src/system-prompts/dto/system-prompt.dto.ts.html +517 -0
  369. package/backend/coverage/lcov-report/src/system-prompts/dto/toggle-mcp-tool.dto.ts.html +121 -0
  370. package/backend/coverage/lcov-report/src/system-prompts/dto/toggle-tool.dto.ts.html +118 -0
  371. package/backend/coverage/lcov-report/src/system-prompts/index.html +146 -0
  372. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.controller.ts.html +1060 -0
  373. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.module.ts.html +160 -0
  374. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.service.ts.html +2254 -0
  375. package/backend/coverage/lcov-report/src/timeout.interceptor.ts.html +178 -0
  376. package/backend/coverage/lcov-report/src/tool-hooks/dto/create-tool-hook.dto.ts.html +181 -0
  377. package/backend/coverage/lcov-report/src/tool-hooks/dto/index.html +131 -0
  378. package/backend/coverage/lcov-report/src/tool-hooks/dto/update-tool-hook.dto.ts.html +178 -0
  379. package/backend/coverage/lcov-report/src/tool-hooks/index.html +146 -0
  380. package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.controller.ts.html +481 -0
  381. package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.module.ts.html +127 -0
  382. package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.service.ts.html +1222 -0
  383. package/backend/coverage/lcov-report/src/tracing.ts.html +214 -0
  384. package/backend/coverage/lcov-report/src/types/express-multer.d.ts.html +130 -0
  385. package/backend/coverage/lcov-report/src/types/index.html +116 -0
  386. package/backend/coverage/lcov-report/src/utils/ai-format-generator.ts.html +253 -0
  387. package/backend/coverage/lcov-report/src/utils/fuzzy-search.ts.html +310 -0
  388. package/backend/coverage/lcov-report/src/utils/index.html +191 -0
  389. package/backend/coverage/lcov-report/src/utils/index.ts.html +100 -0
  390. package/backend/coverage/lcov-report/src/utils/short-id.ts.html +109 -0
  391. package/backend/coverage/lcov-report/src/utils/spawn-with-kill.ts.html +412 -0
  392. package/backend/coverage/lcov-report/src/utils/trace.decorator.ts.html +223 -0
  393. package/backend/coverage/lcov-report/src/visual-editor/index.html +146 -0
  394. package/backend/coverage/lcov-report/src/visual-editor/visual-editor.controller.ts.html +409 -0
  395. package/backend/coverage/lcov-report/src/visual-editor/visual-editor.dto.ts.html +130 -0
  396. package/backend/coverage/lcov-report/src/visual-editor/visual-editor.module.ts.html +118 -0
  397. package/backend/coverage/lcov-report/src/workspace/dto/file-tree.dto.ts.html +112 -0
  398. package/backend/coverage/lcov-report/src/workspace/dto/index.html +131 -0
  399. package/backend/coverage/lcov-report/src/workspace/dto/search-workspace.dto.ts.html +193 -0
  400. package/backend/coverage/lcov-report/src/workspace/index.html +146 -0
  401. package/backend/coverage/lcov-report/src/workspace/workspace.controller.ts.html +394 -0
  402. package/backend/coverage/lcov-report/src/workspace/workspace.module.ts.html +121 -0
  403. package/backend/coverage/lcov-report/src/workspace/workspace.service.ts.html +1027 -0
  404. package/backend/coverage/lcov.info +20220 -0
  405. package/backend/dist/src/context-templates/context-templates.service.js +0 -3
  406. package/backend/dist/src/context-templates/context-templates.service.js.map +1 -1
  407. package/backend/dist/src/core-entities/system-prompt.entity.d.ts +1 -0
  408. package/backend/dist/src/core-entities/system-prompt.entity.js +8 -0
  409. package/backend/dist/src/core-entities/system-prompt.entity.js.map +1 -1
  410. package/backend/dist/src/llm-orchestration/action-handlers/mcp-tool-action.handler.js +2 -0
  411. package/backend/dist/src/llm-orchestration/action-handlers/mcp-tool-action.handler.js.map +1 -1
  412. package/backend/dist/src/llm-orchestration/tool-schema.service.js +8 -4
  413. package/backend/dist/src/llm-orchestration/tool-schema.service.js.map +1 -1
  414. package/backend/dist/src/mcp/mcp.service.d.ts +1 -0
  415. package/backend/dist/src/mcp/mcp.service.js +16 -0
  416. package/backend/dist/src/mcp/mcp.service.js.map +1 -1
  417. package/backend/dist/src/seeding/data/context-templates/default-initial_full-project-context.d.ts +1 -1
  418. package/backend/dist/src/seeding/data/context-templates/default-initial_full-project-context.js +4 -0
  419. package/backend/dist/src/seeding/data/context-templates/default-initial_full-project-context.js.map +1 -1
  420. package/backend/dist/src/seeding/data/sub-agents/browser-use.d.ts +9 -0
  421. package/backend/dist/src/seeding/data/sub-agents/browser-use.js +13 -0
  422. package/backend/dist/src/seeding/data/sub-agents/browser-use.js.map +1 -0
  423. package/backend/dist/src/seeding/data/system-prompts/browser-use-agent.d.ts +4 -0
  424. package/backend/dist/src/seeding/data/system-prompts/browser-use-agent.js +40 -0
  425. package/backend/dist/src/seeding/data/system-prompts/browser-use-agent.js.map +1 -0
  426. package/backend/dist/src/seeding/data/system-prompts/default_native_tool_agent.d.ts +1 -0
  427. package/backend/dist/src/seeding/data/system-prompts/default_native_tool_agent.js +2 -1
  428. package/backend/dist/src/seeding/data/system-prompts/default_native_tool_agent.js.map +1 -1
  429. package/backend/dist/src/seeding/data/system-prompts/explore-codebase-agent.d.ts +1 -0
  430. package/backend/dist/src/seeding/data/system-prompts/explore-codebase-agent.js +2 -1
  431. package/backend/dist/src/seeding/data/system-prompts/explore-codebase-agent.js.map +1 -1
  432. package/backend/dist/src/seeding/sub-agent-seeding.service.js +14 -1
  433. package/backend/dist/src/seeding/sub-agent-seeding.service.js.map +1 -1
  434. package/backend/dist/src/seeding/system-prompt-seeding.service.js +3 -1
  435. package/backend/dist/src/seeding/system-prompt-seeding.service.js.map +1 -1
  436. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.d.ts +1 -0
  437. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js +8 -0
  438. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js.map +1 -1
  439. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.d.ts +1 -0
  440. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js +7 -0
  441. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js.map +1 -1
  442. package/backend/dist/src/sub-agents/sub-agent-run.entity.d.ts +1 -1
  443. package/backend/dist/src/sub-agents/sub-agent-run.entity.js +1 -1
  444. package/backend/dist/src/sub-agents/sub-agent-run.entity.js.map +1 -1
  445. package/backend/dist/src/sub-agents/sub-agent-runner.service.d.ts +2 -0
  446. package/backend/dist/src/sub-agents/sub-agent-runner.service.js +68 -2
  447. package/backend/dist/src/sub-agents/sub-agent-runner.service.js.map +1 -1
  448. package/backend/dist/src/sub-agents/sub-agent.entity.d.ts +1 -0
  449. package/backend/dist/src/sub-agents/sub-agent.entity.js +8 -0
  450. package/backend/dist/src/sub-agents/sub-agent.entity.js.map +1 -1
  451. package/backend/dist/src/sub-agents/sub-agents.service.d.ts +2 -0
  452. package/backend/dist/src/sub-agents/sub-agents.service.js +42 -5
  453. package/backend/dist/src/sub-agents/sub-agents.service.js.map +1 -1
  454. package/backend/dist/src/system-prompts/dto/set-enabled-mcp-tools.dto.d.ts +4 -0
  455. package/backend/dist/src/system-prompts/dto/set-enabled-mcp-tools.dto.js +38 -0
  456. package/backend/dist/src/system-prompts/dto/set-enabled-mcp-tools.dto.js.map +1 -0
  457. package/backend/dist/src/system-prompts/dto/system-prompt.dto.d.ts +2 -0
  458. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js +16 -0
  459. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -1
  460. package/backend/dist/src/system-prompts/dto/toggle-mcp-tool.dto.d.ts +3 -0
  461. package/backend/dist/src/system-prompts/dto/toggle-mcp-tool.dto.js +27 -0
  462. package/backend/dist/src/system-prompts/dto/toggle-mcp-tool.dto.js.map +1 -0
  463. package/backend/dist/src/system-prompts/system-prompts.controller.d.ts +17 -0
  464. package/backend/dist/src/system-prompts/system-prompts.controller.js +83 -0
  465. package/backend/dist/src/system-prompts/system-prompts.controller.js.map +1 -1
  466. package/backend/dist/src/system-prompts/system-prompts.service.d.ts +13 -1
  467. package/backend/dist/src/system-prompts/system-prompts.service.js +125 -5
  468. package/backend/dist/src/system-prompts/system-prompts.service.js.map +1 -1
  469. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  470. package/package.json +1 -1
@@ -0,0 +1,757 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/llm-orchestration/action-handlers/create-file.handler.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/llm-orchestration/action-handlers</a> create-file.handler.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">84.21% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>48/57</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">75% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>12/16</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">75% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/8</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">83.63% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>46/55</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-yes">7x</span>
298
+ <span class="cline-any cline-yes">7x</span>
299
+ <span class="cline-any cline-yes">7x</span>
300
+ <span class="cline-any cline-yes">7x</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-yes">7x</span>
308
+ <span class="cline-any cline-yes">7x</span>
309
+ <span class="cline-any cline-yes">7x</span>
310
+ <span class="cline-any cline-yes">7x</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-yes">7x</span>
314
+ <span class="cline-any cline-yes">13x</span>
315
+ <span class="cline-any cline-yes">13x</span>
316
+ <span class="cline-any cline-yes">13x</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-yes">13x</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-yes">13x</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-no">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-yes">2x</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-yes">2x</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-yes">2x</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-yes">2x</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-yes">2x</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-yes">17x</span>
417
+ <span class="cline-any cline-yes">17x</span>
418
+ <span class="cline-any cline-yes">1x</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-yes">16x</span>
423
+ <span class="cline-any cline-yes">16x</span>
424
+ <span class="cline-any cline-yes">1x</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-yes">15x</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-yes">20x</span>
436
+ <span class="cline-any cline-yes">20x</span>
437
+ <span class="cline-any cline-yes">20x</span>
438
+ <span class="cline-any cline-yes">3x</span>
439
+ <span class="cline-any cline-yes">3x</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-yes">3x</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-yes">17x</span>
451
+ <span class="cline-any cline-yes">17x</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-yes">15x</span>
454
+ <span class="cline-any cline-yes">15x</span>
455
+ <span class="cline-any cline-yes">15x</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-yes">14x</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-yes">13x</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-yes">13x</span>
463
+ <span class="cline-any cline-yes">13x</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-yes">13x</span>
469
+ <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-no">&nbsp;</span>
474
+ <span class="cline-any cline-no">&nbsp;</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
476
+ <span class="cline-any cline-no">&nbsp;</span>
477
+ <span class="cline-any cline-no">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-no">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-yes">14x</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-yes">1x</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-yes">1x</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
515
+ BadRequestException,
516
+ Injectable,
517
+ InternalServerErrorException,
518
+ Logger,
519
+ Optional,
520
+ } from '@nestjs/common';
521
+ import * as fs from 'fs/promises';
522
+ import * as path from 'path';
523
+ import { plainToClass } from 'class-transformer';
524
+ import { validate } from 'class-validator';
525
+ import { ActionHandler } from './action-handler.interface';
526
+ import {
527
+ ActionExecutionResult,
528
+ PlanExecutionContext,
529
+ ToolMetadata,
530
+ } from '../llm-orchestration.interfaces';
531
+ import { CreateFileArgsDto } from './dto/create-file.args.dto';
532
+ import { generateToolCall, generateToolCallJson } from '../../utils';
533
+ import { SyntaxValidationService } from '../../syntax-validation/syntax-validation.service';
534
+ import { ApplicationStateService } from '../../application-state/application-state.service';
535
+ &nbsp;
536
+ @Injectable()
537
+ export class CreateFileHandler implements ActionHandler {
538
+ readonly toolName = 'create_file';
539
+ private readonly logger = new Logger(CreateFileHandler.name);
540
+ private readonly projectRoot: string =
541
+ process.env.REPOBURG_PROJECT_PATH || process.cwd();
542
+ &nbsp;
543
+ constructor(
544
+ @Optional()
545
+ private readonly syntaxValidator?: SyntaxValidationService,
546
+ @Optional()
547
+ private readonly appStateService?: ApplicationStateService,
548
+ ) {}
549
+ &nbsp;
550
+ <span class="fstat-no" title="function not covered" > getMetadata(</span>): ToolMetadata {
551
+ <span class="cstat-no" title="statement not covered" > return {</span>
552
+ name: this.toolName,
553
+ description: this.getDefinition(true),
554
+ arguments: [
555
+ {
556
+ name: 'file_path',
557
+ type: 'string',
558
+ description: 'The relative path for the new file.',
559
+ required: true,
560
+ },
561
+ {
562
+ name: 'content',
563
+ type: 'string',
564
+ description: 'The full content of the new file.',
565
+ required: true,
566
+ },
567
+ ],
568
+ };
569
+ }
570
+ &nbsp;
571
+ /**
572
+ * Generates a tool call example in the specified format.
573
+ * @param toolCall - The tool call object to format
574
+ * @param useJson - If true, uses JSON format; otherwise uses XML-style format
575
+ * @returns Formatted tool call string
576
+ */
577
+ private generateExample(
578
+ toolCall: Record&lt;string, any&gt;,
579
+ useJson: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
580
+ ): string {
581
+ return useJson
582
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >generateToolCallJson(toolCall)</span>
583
+ : generateToolCall(toolCall);
584
+ }
585
+ &nbsp;
586
+ getDefinition(useJsonFormat: boolean = false): string {
587
+ const exampleContent = `\`\`\`typescript
588
+ import { v4 as uuidv4 } from 'uuid';
589
+ &nbsp;
590
+ export interface UserProfile {
591
+ id: string;
592
+ username: string;
593
+ email: string;
594
+ createdAt: Date;
595
+ }
596
+ &nbsp;
597
+ /**
598
+ * Creates a new user profile with a unique ID and creation date.
599
+ * @param username The user's chosen username.
600
+ * @param email The user's email address.
601
+ * @returns A new UserProfile object.
602
+ */
603
+ export function createProfile(username: string, email: string): UserProfile {
604
+ return {
605
+ id: uuidv4(),
606
+ username,
607
+ email,
608
+ createdAt: new Date(),
609
+ };
610
+ }
611
+ \`\`\``.trim();
612
+ &nbsp;
613
+ const example = this.generateExample(
614
+ {
615
+ tool_name: this.toolName,
616
+ file_path: 'src/modules/users/profiles.util.ts',
617
+ content: exampleContent,
618
+ },
619
+ useJsonFormat,
620
+ );
621
+ &nbsp;
622
+ const definition = `
623
+ -------------
624
+ ### ${this.toolName}
625
+ Creates a new file with the specified content. It will create any necessary parent directories.
626
+ &nbsp;
627
+ #### Parameters
628
+ - "file_path": (string) The relative path for the new file.
629
+ - "content": (string) The full content of the new file.
630
+ &nbsp;
631
+ #### Example
632
+ Explanation: Create a new utility file for creating user profiles.
633
+ :${example}
634
+ -------------
635
+ `;
636
+ return `\n${definition.trim()}\n`;
637
+ }
638
+ &nbsp;
639
+ private resolveAndValidatePath(unsafePath: string): string {
640
+ const normalizedPath = path.normalize(unsafePath);
641
+ if (path.isAbsolute(normalizedPath)) {
642
+ throw new BadRequestException(
643
+ `Absolute paths are not allowed: ${unsafePath}`,
644
+ );
645
+ }
646
+ const resolvedPath = path.resolve(this.projectRoot, normalizedPath);
647
+ if (!resolvedPath.startsWith(this.projectRoot)) {
648
+ throw new BadRequestException(
649
+ `Path traversal is not allowed: ${unsafePath}`,
650
+ );
651
+ }
652
+ return resolvedPath;
653
+ }
654
+ &nbsp;
655
+ async execute(
656
+ args: { [key: string]: any },
657
+ _context: PlanExecutionContext,
658
+ ): Promise&lt;ActionExecutionResult&gt; {
659
+ const validatedArgs = plainToClass(CreateFileArgsDto, args);
660
+ const errors = await validate(validatedArgs);
661
+ if (errors.length &gt; 0) {
662
+ const errorMessages = errors
663
+ .map((err) =&gt; Object.values(err.constraints || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>.join(', '))
664
+ .join('; ');
665
+ return {
666
+ status: 'FAILURE',
667
+ summary: `Invalid arguments for ${this.toolName}.`,
668
+ error_message: errorMessages,
669
+ persisted_args: args,
670
+ execution_log: { output: '', error_message: errorMessages },
671
+ };
672
+ }
673
+ &nbsp;
674
+ const { file_path, content } = validatedArgs;
675
+ const safePath = this.resolveAndValidatePath(file_path);
676
+ &nbsp;
677
+ try {
678
+ await fs.mkdir(path.dirname(safePath), { recursive: true });
679
+ await fs.writeFile(safePath, content, 'utf8');
680
+ &nbsp;
681
+ // Syntax validation after file creation
682
+ if (this.syntaxValidator &amp;&amp; this.appStateService) {
683
+ const isValidationEnabled =
684
+ await this.appStateService.getSyntaxValidationEnabled();
685
+ &nbsp;
686
+ if (isValidationEnabled) {
687
+ const validationError = await this.syntaxValidator.validate(
688
+ file_path,
689
+ content,
690
+ );
691
+ &nbsp;
692
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (validationError) {
693
+ <span class="cstat-no" title="statement not covered" > this.logger.warn(</span>
694
+ `Syntax validation failed for newly created file "${file_path}"`,
695
+ );
696
+ let errorMessage =
697
+ <span class="cstat-no" title="statement not covered" > this.syntaxValidator.formatErrors(validationError);</span>
698
+ <span class="cstat-no" title="statement not covered" > errorMessage += `\n**CORRECTION:** The file content you provided contains syntax errors. `;</span>
699
+ <span class="cstat-no" title="statement not covered" > errorMessage += `Please review the errors above and fix the syntax issues. `;</span>
700
+ <span class="cstat-no" title="statement not covered" > errorMessage += `Common issues include: missing closing brackets/braces, unclosed strings, malformed imports, or invalid operators. `;</span>
701
+ <span class="cstat-no" title="statement not covered" > errorMessage += `Use \`create_file\` again with the corrected content.`;</span>
702
+ &nbsp;
703
+ // Delete corrupted file to prevent it from persisting
704
+ <span class="cstat-no" title="statement not covered" > await fs.unlink(safePath).catch(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
705
+ // Ignore deletion errors
706
+ });
707
+ &nbsp;
708
+ <span class="cstat-no" title="statement not covered" > return {</span>
709
+ status: 'FAILURE',
710
+ summary: `File "${file_path}" contains syntax errors and was not saved.`,
711
+ error_message: errorMessage,
712
+ persisted_args: validatedArgs,
713
+ execution_log: { output: '', error_message: errorMessage },
714
+ };
715
+ }
716
+ }
717
+ }
718
+ &nbsp;
719
+ return {
720
+ status: 'SUCCESS',
721
+ summary: `File "${file_path}" created.`,
722
+ persisted_args: { file_path, content },
723
+ execution_log: {
724
+ output: `${file_path} has been created.`,
725
+ error_message: '',
726
+ },
727
+ };
728
+ } catch (error) {
729
+ this.logger.error(
730
+ `Failed to create file at ${file_path}: ${error.message}`,
731
+ );
732
+ throw new InternalServerErrorException(
733
+ `Failed to create file "${file_path}": ${error.message}`,
734
+ );
735
+ }
736
+ }
737
+ }
738
+ &nbsp;</pre></td></tr></table></pre>
739
+
740
+ <div class='push'></div><!-- for sticky footer -->
741
+ </div><!-- /wrapper -->
742
+ <div class='footer quiet pad2 space-top1 center small'>
743
+ Code coverage generated by
744
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
745
+ at 2026-05-09T01:03:45.353Z
746
+ </div>
747
+ <script src="../../../prettify.js"></script>
748
+ <script>
749
+ window.onload = function () {
750
+ prettyPrint();
751
+ };
752
+ </script>
753
+ <script src="../../../sorter.js"></script>
754
+ <script src="../../../block-navigation.js"></script>
755
+ </body>
756
+ </html>
757
+