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,718 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/session-followup/session-followup.service.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/session-followup</a> session-followup.service.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">78.16% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>68/87</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">46.66% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>14/30</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">80% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>8/10</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">79.51% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>66/83</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 medium'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">6x</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-yes">6x</span>
286
+ <span class="cline-any cline-yes">6x</span>
287
+ <span class="cline-any cline-yes">6x</span>
288
+ <span class="cline-any cline-yes">6x</span>
289
+ <span class="cline-any cline-yes">6x</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">6x</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">6x</span>
298
+ <span class="cline-any cline-yes">6x</span>
299
+ <span class="cline-any cline-yes">6x</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">6x</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-yes">6x</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-yes">6x</span>
309
+ <span class="cline-any cline-yes">6x</span>
310
+ <span class="cline-any cline-yes">6x</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-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-yes">2x</span>
315
+ <span class="cline-any cline-yes">2x</span>
316
+ <span class="cline-any cline-no">&nbsp;</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-yes">2x</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-yes">2x</span>
323
+ <span class="cline-any cline-no">&nbsp;</span>
324
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-yes">2x</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-yes">1x</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-yes">1x</span>
341
+ <span class="cline-any cline-no">&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-yes">1x</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-yes">1x</span>
351
+ <span class="cline-any cline-yes">1x</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-yes">1x</span>
354
+ <span class="cline-any cline-yes">1x</span>
355
+ <span class="cline-any cline-no">&nbsp;</span>
356
+ <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-no">&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-yes">1x</span>
371
+ <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
378
+ <span class="cline-any cline-yes">1x</span>
379
+ <span class="cline-any cline-yes">1x</span>
380
+ <span class="cline-any cline-yes">1x</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-yes">1x</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-yes">1x</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-yes">1x</span>
387
+ <span class="cline-any cline-yes">1x</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-yes">1x</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-yes">1x</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-yes">1x</span>
398
+ <span class="cline-any cline-yes">1x</span>
399
+ <span class="cline-any cline-yes">1x</span>
400
+ <span class="cline-any cline-yes">1x</span>
401
+ <span class="cline-any cline-yes">1x</span>
402
+ <span class="cline-any cline-yes">1x</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-no">&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-yes">1x</span>
411
+ <span class="cline-any cline-yes">1x</span>
412
+ <span class="cline-any cline-yes">1x</span>
413
+ <span class="cline-any cline-yes">1x</span>
414
+ <span class="cline-any cline-yes">1x</span>
415
+ <span class="cline-any cline-yes">1x</span>
416
+ <span class="cline-any cline-yes">1x</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-yes">1x</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-yes">1x</span>
431
+ <span class="cline-any cline-no">&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">1x</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-yes">1x</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-yes">1x</span>
443
+ <span class="cline-any cline-no">&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-yes">1x</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-yes">1x</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-yes">1x</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-yes">1x</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-yes">1x</span>
465
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-yes">1x</span>
480
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-yes">1x</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></td><td class="text"><pre class="prettyprint lang-js">import {
489
+ BadRequestException,
490
+ forwardRef,
491
+ Inject,
492
+ Injectable,
493
+ Logger,
494
+ NotFoundException,
495
+ } from '@nestjs/common';
496
+ import { InjectRepository } from '@nestjs/typeorm';
497
+ import { Repository } from 'typeorm';
498
+ import * as fs from 'fs/promises';
499
+ import * as path from 'path';
500
+ import { ContextTemplate, Session, SessionInput } from '../core-entities';
501
+ import {
502
+ CreateSessionDto,
503
+ CreateSessionFromContextDto,
504
+ } from '../sessions/dto/session.dto';
505
+ import { SessionsService } from '../sessions/sessions.service';
506
+ &nbsp;
507
+ @Injectable()
508
+ export class SessionFollowupService {
509
+ private readonly logger = new Logger(SessionFollowupService.name);
510
+ private readonly projectRoot =
511
+ process.env.REPOBURG_PROJECT_PATH || process.cwd();
512
+ &nbsp;
513
+ constructor(
514
+ @InjectRepository(Session)
515
+ private sessionsRepository: Repository&lt;Session&gt;,
516
+ @InjectRepository(ContextTemplate)
517
+ private contextTemplatesRepository: Repository&lt;ContextTemplate&gt;,
518
+ @InjectRepository(SessionInput)
519
+ private sessionInputsRepository: Repository&lt;SessionInput&gt;,
520
+ @Inject(forwardRef(() =&gt; SessionsService))
521
+ private sessionsService: SessionsService,
522
+ ) {}
523
+ &nbsp;
524
+ private resolveAndValidatePath(unsafePath: string): string {
525
+ const normalizedPath = path.normalize(unsafePath);
526
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (path.isAbsolute(normalizedPath)) {
527
+ <span class="cstat-no" title="statement not covered" > throw new BadRequestException(</span>
528
+ `Absolute paths are not allowed: ${unsafePath}`,
529
+ );
530
+ }
531
+ const resolvedPath = path.resolve(this.projectRoot, normalizedPath);
532
+ &nbsp;
533
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!resolvedPath.startsWith(this.projectRoot)) {
534
+ <span class="cstat-no" title="statement not covered" > this.logger.warn(`Path traversal attempt detected: ${unsafePath}`);</span>
535
+ <span class="cstat-no" title="statement not covered" > throw new BadRequestException(</span>
536
+ `Path traversal is not allowed. Access denied for path: ${unsafePath}`,
537
+ );
538
+ }
539
+ return resolvedPath;
540
+ }
541
+ &nbsp;
542
+ async createFromContext(
543
+ sessionId: string,
544
+ createDto: CreateSessionFromContextDto,
545
+ ): Promise&lt;Session&gt; {
546
+ const sourceSession = await this.sessionsRepository.findOne({
547
+ where: { id: sessionId },
548
+ relations: ['sessionInputs', 'sessionInputs.aiActions'],
549
+ });
550
+ &nbsp;
551
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!sourceSession) {
552
+ <span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
553
+ `Source session with ID "${sessionId}" not found.`,
554
+ );
555
+ }
556
+ &nbsp;
557
+ this.logger.log(
558
+ `Creating new session from context of session ${sessionId}`,
559
+ );
560
+ &nbsp;
561
+ const filePaths = new Set&lt;string&gt;();
562
+ const folderPaths = new Set&lt;string&gt;();
563
+ &nbsp;
564
+ for (const input of sourceSession.sessionInputs) {
565
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (input.ad_hoc_context_definition) {
566
+ <span class="cstat-no" title="statement not covered" > try {</span>
567
+ const adhocContext = <span class="cstat-no" title="statement not covered" >JSON.parse(input.ad_hoc_context_definition);</span>
568
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (adhocContext.files &amp;&amp; Array.isArray(adhocContext.files)) {</span>
569
+ <span class="cstat-no" title="statement not covered" > adhocContext.files.forEach(<span class="fstat-no" title="function not covered" >(f</span>) =&gt; <span class="cstat-no" title="statement not covered" >filePaths.add(f))</span>;</span>
570
+ }
571
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (adhocContext.folders &amp;&amp; Array.isArray(adhocContext.folders)) {</span>
572
+ <span class="cstat-no" title="statement not covered" > adhocContext.folders.forEach(<span class="fstat-no" title="function not covered" >(f</span>) =&gt; <span class="cstat-no" title="statement not covered" >folderPaths.add(f))</span>;</span>
573
+ }
574
+ } catch (e) {
575
+ <span class="cstat-no" title="statement not covered" > this.logger.warn(</span>
576
+ `Could not parse ad_hoc_context_definition for input ${input.id}`,
577
+ );
578
+ }
579
+ }
580
+ &nbsp;
581
+ for (const action of input.aiActions) {
582
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
583
+ (action.action_type === 'create_file' ||
584
+ action.action_type === 'overwrite_file' ||
585
+ action.action_type === 'patch') &amp;&amp;
586
+ <span class="branch-3 cbranch-no" title="branch not covered" > action.file_path</span>
587
+ ) {
588
+ <span class="cstat-no" title="statement not covered" > filePaths.add(action.file_path);</span>
589
+ } else if (action.action_type === 'request_context') {
590
+ if (action.files) {
591
+ action.files
592
+ .split(',')
593
+ .map((f) =&gt; f.trim())
594
+ .filter(Boolean)
595
+ .forEach((f) =&gt; filePaths.add(f));
596
+ }
597
+ if (action.folders) {
598
+ action.folders
599
+ .split(',')
600
+ .map((f) =&gt; f.trim())
601
+ .filter(Boolean)
602
+ .forEach((f) =&gt; folderPaths.add(f));
603
+ }
604
+ }
605
+ }
606
+ }
607
+ &nbsp;
608
+ const validatedFiles: string[] = [];
609
+ for (const filePath of filePaths) {
610
+ try {
611
+ const safePath = this.resolveAndValidatePath(filePath);
612
+ await fs.access(safePath);
613
+ validatedFiles.push(filePath);
614
+ } catch (error) {
615
+ <span class="cstat-no" title="statement not covered" > this.logger.warn(</span>
616
+ `File "${filePath}" from source session context not found on filesystem, skipping.`,
617
+ );
618
+ }
619
+ }
620
+ &nbsp;
621
+ const validatedFolders: string[] = [];
622
+ for (const folderPath of folderPaths) {
623
+ try {
624
+ const safePath = this.resolveAndValidatePath(folderPath);
625
+ const stats = await fs.stat(safePath);
626
+ if (stats.isDirectory()) {
627
+ validatedFolders.push(folderPath);
628
+ }
629
+ } catch (error) {
630
+ <span class="cstat-no" title="statement not covered" > this.logger.warn(</span>
631
+ `Folder "${folderPath}" from source session context not found on filesystem, skipping.`,
632
+ );
633
+ }
634
+ }
635
+ &nbsp;
636
+ let initialTemplateForFollowup =
637
+ await this.contextTemplatesRepository.findOneBy({
638
+ is_default_condensed: true,
639
+ });
640
+ &nbsp;
641
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (initialTemplateForFollowup) {
642
+ <span class="cstat-no" title="statement not covered" > this.logger.log(</span>
643
+ `Using default condensed template "${initialTemplateForFollowup.template_name}" as initial template for new follow-up session.`,
644
+ );
645
+ } else {
646
+ this.logger.log(
647
+ `No default condensed template found. Falling back to default initial template.`,
648
+ );
649
+ initialTemplateForFollowup =
650
+ await this.contextTemplatesRepository.findOneBy({
651
+ is_default_initial: true,
652
+ });
653
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (initialTemplateForFollowup) {
654
+ <span class="cstat-no" title="statement not covered" > this.logger.log(</span>
655
+ `Using default initial template "${initialTemplateForFollowup.template_name}" for new follow-up session.`,
656
+ );
657
+ }
658
+ }
659
+ &nbsp;
660
+ const createSessionPayload: CreateSessionDto = {
661
+ session_title: createDto.session_title,
662
+ };
663
+ &nbsp;
664
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (initialTemplateForFollowup) {
665
+ <span class="cstat-no" title="statement not covered" > createSessionPayload.default_initial_context_template_id =</span>
666
+ initialTemplateForFollowup.id;
667
+ } else {
668
+ this.logger.log(
669
+ `No default condensed or initial template found for follow-up session.`,
670
+ );
671
+ }
672
+ &nbsp;
673
+ const newSession = await this.sessionsService.create(createSessionPayload);
674
+ &nbsp;
675
+ if (validatedFiles.length &gt; 0 || <span class="branch-1 cbranch-no" title="branch not covered" >validatedFolders.length &gt; 0)</span> {
676
+ const contextDefinition = {
677
+ files: validatedFiles,
678
+ folders: validatedFolders,
679
+ };
680
+ &nbsp;
681
+ const newSessionInput = this.sessionInputsRepository.create({
682
+ session_id: newSession.id,
683
+ user_prompt: 'Inherited context from previous session.',
684
+ ad_hoc_context_definition: JSON.stringify(contextDefinition),
685
+ generated_context_string: '',
686
+ execution_strategy: 'review_first', // Default strategy
687
+ raw_llm_response: null,
688
+ is_context_carrier: true,
689
+ });
690
+ await this.sessionInputsRepository.save(newSessionInput);
691
+ this.logger.log(
692
+ `Created initial SessionInput with inherited context for new session ${newSession.id}`,
693
+ );
694
+ }
695
+ &nbsp;
696
+ return this.sessionsService.findOne(newSession.id);
697
+ }
698
+ }
699
+ &nbsp;</pre></td></tr></table></pre>
700
+
701
+ <div class='push'></div><!-- for sticky footer -->
702
+ </div><!-- /wrapper -->
703
+ <div class='footer quiet pad2 space-top1 center small'>
704
+ Code coverage generated by
705
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
706
+ at 2026-05-09T01:03:45.353Z
707
+ </div>
708
+ <script src="../../prettify.js"></script>
709
+ <script>
710
+ window.onload = function () {
711
+ prettyPrint();
712
+ };
713
+ </script>
714
+ <script src="../../sorter.js"></script>
715
+ <script src="../../block-navigation.js"></script>
716
+ </body>
717
+ </html>
718
+