repoburg 1.0.69 → 1.1.0

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 (637) hide show
  1. package/README.md +8 -1
  2. package/backend/dist/packages/gemini-core/examples/simple.d.ts +1 -0
  3. package/backend/dist/packages/gemini-core/examples/simple.js +73 -0
  4. package/backend/dist/packages/gemini-core/examples/simple.js.map +1 -0
  5. package/backend/dist/packages/gemini-core/index.d.ts +3 -0
  6. package/backend/dist/packages/gemini-core/index.js +27 -0
  7. package/backend/dist/packages/gemini-core/index.js.map +1 -0
  8. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.d.ts +5 -0
  9. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.js +17 -0
  10. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.js.map +1 -0
  11. package/backend/dist/packages/gemini-core/src/code_assist/converter.d.ts +69 -0
  12. package/backend/dist/packages/gemini-core/src/code_assist/converter.js +129 -0
  13. package/backend/dist/packages/gemini-core/src/code_assist/converter.js.map +1 -0
  14. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.d.ts +8 -0
  15. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.js +84 -0
  16. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.js.map +1 -0
  17. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.d.ts +12 -0
  18. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.js +371 -0
  19. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.js.map +1 -0
  20. package/backend/dist/packages/gemini-core/src/code_assist/server.d.ts +28 -0
  21. package/backend/dist/packages/gemini-core/src/code_assist/server.js +135 -0
  22. package/backend/dist/packages/gemini-core/src/code_assist/server.js.map +1 -0
  23. package/backend/dist/packages/gemini-core/src/code_assist/setup.d.ts +10 -0
  24. package/backend/dist/packages/gemini-core/src/code_assist/setup.js +94 -0
  25. package/backend/dist/packages/gemini-core/src/code_assist/setup.js.map +1 -0
  26. package/backend/dist/packages/gemini-core/src/code_assist/types.d.ts +106 -0
  27. package/backend/dist/packages/gemini-core/src/code_assist/types.js +28 -0
  28. package/backend/dist/packages/gemini-core/src/code_assist/types.js.map +1 -0
  29. package/backend/dist/packages/gemini-core/src/config/config.d.ts +22 -0
  30. package/backend/dist/packages/gemini-core/src/config/config.js +38 -0
  31. package/backend/dist/packages/gemini-core/src/config/config.js.map +1 -0
  32. package/backend/dist/packages/gemini-core/src/config/models.d.ts +6 -0
  33. package/backend/dist/packages/gemini-core/src/config/models.js +13 -0
  34. package/backend/dist/packages/gemini-core/src/config/models.js.map +1 -0
  35. package/backend/dist/packages/gemini-core/src/config/storage.d.ts +8 -0
  36. package/backend/dist/packages/gemini-core/src/config/storage.js +25 -0
  37. package/backend/dist/packages/gemini-core/src/config/storage.js.map +1 -0
  38. package/backend/dist/packages/gemini-core/src/core/contentGenerator.d.ts +23 -0
  39. package/backend/dist/packages/gemini-core/src/core/contentGenerator.js +63 -0
  40. package/backend/dist/packages/gemini-core/src/core/contentGenerator.js.map +1 -0
  41. package/backend/dist/packages/gemini-core/src/core/geminiChat.d.ts +34 -0
  42. package/backend/dist/packages/gemini-core/src/core/geminiChat.js +247 -0
  43. package/backend/dist/packages/gemini-core/src/core/geminiChat.js.map +1 -0
  44. package/backend/dist/packages/gemini-core/src/core/geminiRequest.d.ts +3 -0
  45. package/backend/dist/packages/gemini-core/src/core/geminiRequest.js +8 -0
  46. package/backend/dist/packages/gemini-core/src/core/geminiRequest.js.map +1 -0
  47. package/backend/dist/packages/gemini-core/src/core/prompts.d.ts +7 -0
  48. package/backend/dist/packages/gemini-core/src/core/prompts.js +69 -0
  49. package/backend/dist/packages/gemini-core/src/core/prompts.js.map +1 -0
  50. package/backend/dist/packages/gemini-core/src/core/tokenLimits.d.ts +5 -0
  51. package/backend/dist/packages/gemini-core/src/core/tokenLimits.js +25 -0
  52. package/backend/dist/packages/gemini-core/src/core/tokenLimits.js.map +1 -0
  53. package/backend/dist/packages/gemini-core/src/index.d.ts +18 -0
  54. package/backend/dist/packages/gemini-core/src/index.js +37 -0
  55. package/backend/dist/packages/gemini-core/src/index.js.map +1 -0
  56. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.d.ts +14 -0
  57. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.js +34 -0
  58. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.js.map +1 -0
  59. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.d.ts +19 -0
  60. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.js +141 -0
  61. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.js.map +1 -0
  62. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.d.ts +18 -0
  63. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.js +74 -0
  64. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  65. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.d.ts +6 -0
  66. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.js +24 -0
  67. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.js.map +1 -0
  68. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.d.ts +26 -0
  69. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.js +188 -0
  70. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  71. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.d.ts +27 -0
  72. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.js +9 -0
  73. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.js.map +1 -0
  74. package/backend/dist/packages/gemini-core/src/utils/errors.d.ts +34 -0
  75. package/backend/dist/packages/gemini-core/src/utils/errors.js +103 -0
  76. package/backend/dist/packages/gemini-core/src/utils/errors.js.map +1 -0
  77. package/backend/dist/packages/gemini-core/src/utils/partUtils.d.ts +7 -0
  78. package/backend/dist/packages/gemini-core/src/utils/partUtils.js +108 -0
  79. package/backend/dist/packages/gemini-core/src/utils/partUtils.js.map +1 -0
  80. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.d.ts +16 -0
  81. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.js +60 -0
  82. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.js.map +1 -0
  83. package/backend/dist/packages/gemini-core/src/utils/retry.d.ts +14 -0
  84. package/backend/dist/packages/gemini-core/src/utils/retry.js +154 -0
  85. package/backend/dist/packages/gemini-core/src/utils/retry.js.map +1 -0
  86. package/backend/dist/packages/gemini-core/src/utils/session.d.ts +1 -0
  87. package/backend/dist/packages/gemini-core/src/utils/session.js +6 -0
  88. package/backend/dist/packages/gemini-core/src/utils/session.js.map +1 -0
  89. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.d.ts +10 -0
  90. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.js +106 -0
  91. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.js.map +1 -0
  92. package/backend/dist/src/action-execution/action-execution.module.js.map +1 -0
  93. package/backend/dist/src/action-execution/action-execution.service.js.map +1 -0
  94. package/backend/dist/src/ai-actions/ai-action-batch.service.js.map +1 -0
  95. package/backend/dist/src/ai-actions/ai-action-creation.service.js.map +1 -0
  96. package/backend/dist/src/ai-actions/ai-actions.controller.js.map +1 -0
  97. package/backend/dist/src/ai-actions/ai-actions.module.js.map +1 -0
  98. package/backend/dist/src/ai-actions/ai-actions.service.js.map +1 -0
  99. package/backend/dist/src/app.controller.js.map +1 -0
  100. package/backend/dist/src/app.module.js.map +1 -0
  101. package/backend/dist/src/app.service.js.map +1 -0
  102. package/backend/dist/src/application-state/application-state.controller.js.map +1 -0
  103. package/backend/dist/src/application-state/application-state.module.js.map +1 -0
  104. package/backend/dist/src/application-state/application-state.service.js.map +1 -0
  105. package/backend/dist/src/application-state/dto/set-auto-context-fetch-enabled.dto.js.map +1 -0
  106. package/backend/dist/src/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js.map +1 -0
  107. package/backend/dist/src/application-state/dto/set-context-token-limit.dto.js.map +1 -0
  108. package/backend/dist/src/application-state/dto/set-orchestration-timeout.dto.js.map +1 -0
  109. package/backend/dist/src/application-state/dto/set-theme.dto.js.map +1 -0
  110. package/backend/dist/src/application-state/dto/set-websocket-enabled.dto.js.map +1 -0
  111. package/backend/dist/src/context-generation/context-generation.module.js.map +1 -0
  112. package/backend/dist/src/context-generation/context-generation.service.js.map +1 -0
  113. package/backend/dist/src/context-snippets/context-snippets.controller.js.map +1 -0
  114. package/backend/dist/src/context-snippets/context-snippets.module.js.map +1 -0
  115. package/backend/dist/src/context-snippets/context-snippets.service.js.map +1 -0
  116. package/backend/dist/src/context-snippets/dto/context-snippet.dto.js.map +1 -0
  117. package/backend/dist/src/context-templates/context-templates.controller.js.map +1 -0
  118. package/backend/dist/src/context-templates/context-templates.module.js.map +1 -0
  119. package/backend/dist/src/context-templates/context-templates.service.js.map +1 -0
  120. package/backend/dist/src/context-templates/dto/context-template.dto.js.map +1 -0
  121. package/backend/dist/src/core-entities/ai-action.entity.js.map +1 -0
  122. package/backend/dist/src/core-entities/application-state.entity.js.map +1 -0
  123. package/backend/dist/src/core-entities/base.entity.js.map +1 -0
  124. package/backend/dist/src/core-entities/context-snippet.entity.js.map +1 -0
  125. package/backend/dist/src/core-entities/context-template.entity.js.map +1 -0
  126. package/backend/dist/src/core-entities/custom-snippet.entity.js.map +1 -0
  127. package/backend/dist/src/core-entities/execution-log.entity.js.map +1 -0
  128. package/backend/dist/src/core-entities/index.js.map +1 -0
  129. package/backend/dist/src/core-entities/project.entity.js.map +1 -0
  130. package/backend/dist/src/core-entities/session-input.entity.js.map +1 -0
  131. package/backend/dist/src/core-entities/session.entity.js.map +1 -0
  132. package/backend/dist/src/core-entities/system-prompt.entity.js.map +1 -0
  133. package/backend/dist/src/custom-snippets/custom-snippets.controller.js.map +1 -0
  134. package/backend/dist/src/custom-snippets/custom-snippets.module.js.map +1 -0
  135. package/backend/dist/src/custom-snippets/custom-snippets.service.js.map +1 -0
  136. package/backend/dist/src/custom-snippets/dto/custom-snippet.dto.js.map +1 -0
  137. package/backend/dist/src/events/events.gateway.js.map +1 -0
  138. package/backend/dist/src/events/events.module.js.map +1 -0
  139. package/backend/dist/src/execution-logs/dto/execution-log.dto.js.map +1 -0
  140. package/backend/dist/src/execution-logs/execution-logs.controller.js.map +1 -0
  141. package/backend/dist/src/execution-logs/execution-logs.module.js.map +1 -0
  142. package/backend/dist/src/execution-logs/execution-logs.service.js.map +1 -0
  143. package/backend/dist/src/gemini/gemini-llm.provider.d.ts +10 -0
  144. package/backend/dist/src/gemini/gemini-llm.provider.js +103 -0
  145. package/backend/dist/src/gemini/gemini-llm.provider.js.map +1 -0
  146. package/backend/dist/src/gemini/gemini.module.d.ts +2 -0
  147. package/backend/dist/src/gemini/gemini.module.js +21 -0
  148. package/backend/dist/src/gemini/gemini.module.js.map +1 -0
  149. package/backend/dist/src/http-exception.filter.js.map +1 -0
  150. package/backend/dist/src/llm-provider/llm-provider.interface.d.ts +16 -0
  151. package/backend/dist/src/llm-provider/llm-provider.interface.js +5 -0
  152. package/backend/dist/src/llm-provider/llm-provider.interface.js.map +1 -0
  153. package/backend/dist/src/llm-provider/llm-provider.module.d.ts +2 -0
  154. package/backend/dist/src/llm-provider/llm-provider.module.js +29 -0
  155. package/backend/dist/src/llm-provider/llm-provider.module.js.map +1 -0
  156. package/backend/dist/src/llm-response-parser/dto/ai-action.dto.js.map +1 -0
  157. package/backend/dist/src/llm-response-parser/errors/parsing.error.js.map +1 -0
  158. package/backend/dist/src/llm-response-parser/llm-response-parser.module.js.map +1 -0
  159. package/backend/dist/src/llm-response-parser/llm-response-parser.service.js.map +1 -0
  160. package/backend/dist/src/llm-response-parser/parsing.constants.js.map +1 -0
  161. package/backend/dist/src/llm-responses/dto/submit-llm-response.dto.js.map +1 -0
  162. package/backend/dist/src/llm-responses/llm-responses.controller.js.map +1 -0
  163. package/backend/dist/src/llm-responses/llm-responses.module.js.map +1 -0
  164. package/backend/dist/src/llm-responses/llm-responses.service.js.map +1 -0
  165. package/backend/dist/src/main.js.map +1 -0
  166. package/backend/dist/src/orchestration/dto/orchestration.dto.js.map +1 -0
  167. package/backend/dist/src/orchestration/orchestration-fs.service.js.map +1 -0
  168. package/backend/dist/src/orchestration/orchestration-parser.service.js.map +1 -0
  169. package/backend/dist/src/orchestration/orchestration.controller.js.map +1 -0
  170. package/backend/dist/src/orchestration/orchestration.module.js.map +1 -0
  171. package/backend/dist/src/orchestration/orchestration.service.js.map +1 -0
  172. package/backend/dist/src/orchestration/orchestration.types.js.map +1 -0
  173. package/backend/dist/src/projects/dto/project.dto.js.map +1 -0
  174. package/backend/dist/src/projects/projects.controller.js.map +1 -0
  175. package/backend/dist/src/projects/projects.module.js.map +1 -0
  176. package/backend/dist/src/projects/projects.service.js.map +1 -0
  177. package/backend/dist/src/seeding/context-template-seeding.service.js.map +1 -0
  178. package/backend/dist/src/seeding/custom-snippet-seeding.service.js.map +1 -0
  179. package/backend/dist/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.js.map +1 -0
  180. package/backend/dist/src/seeding/data/context-templates/default-initial_condensed-project-context.js.map +1 -0
  181. package/backend/dist/src/seeding/data/context-templates/default-initial_full-project-context.js.map +1 -0
  182. package/backend/dist/src/seeding/data/context-templates/pm-context.js.map +1 -0
  183. package/backend/dist/src/seeding/data/context-templates/pr-description.js.map +1 -0
  184. package/backend/dist/src/seeding/data/context-templates/sample_focused-tree.d.ts +2 -0
  185. package/backend/dist/{seeding → src/seeding}/data/context-templates/sample_focused-tree.js +1 -3
  186. package/backend/dist/src/seeding/data/context-templates/sample_focused-tree.js.map +1 -0
  187. package/backend/dist/src/seeding/data/custom-snippets/default_rglob.js.map +1 -0
  188. package/backend/dist/src/seeding/data/custom-snippets/git-diff.js.map +1 -0
  189. package/backend/dist/src/seeding/data/custom-snippets/rg-exclude.js.map +1 -0
  190. package/backend/dist/src/seeding/data/custom-snippets/rg-search-glob.js.map +1 -0
  191. package/backend/dist/src/seeding/data/custom-snippets/rg-search.js.map +1 -0
  192. package/backend/dist/src/seeding/data/custom-snippets/run-command.js.map +1 -0
  193. package/backend/dist/src/seeding/data/custom-snippets/tree.js.map +1 -0
  194. package/backend/dist/src/seeding/data/custom-snippets/usr-adhoc-incl.js.map +1 -0
  195. package/backend/dist/src/seeding/data/custom-snippets/usr-cmd-output-incl.js.map +1 -0
  196. package/backend/dist/src/seeding/data/custom-snippets/usr-input-incl.js.map +1 -0
  197. package/backend/dist/src/seeding/data/system-prompts/codebase-explorer.js.map +1 -0
  198. package/backend/dist/src/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.js.map +1 -0
  199. package/backend/dist/src/seeding/data/system-prompts/packup.js.map +1 -0
  200. package/backend/dist/src/seeding/data/system-prompts/refactor-split.js.map +1 -0
  201. package/backend/dist/src/seeding/seeding.module.js.map +1 -0
  202. package/backend/dist/src/seeding/seeding.service.js.map +1 -0
  203. package/backend/dist/src/seeding/system-prompt-seeding.service.js.map +1 -0
  204. package/backend/dist/src/session-followup/session-followup.module.js.map +1 -0
  205. package/backend/dist/src/session-followup/session-followup.service.js.map +1 -0
  206. package/backend/dist/src/session-inputs/dto/session-input.dto.js.map +1 -0
  207. package/backend/dist/{session-inputs → src/session-inputs}/session-input-context.service.d.ts +1 -1
  208. package/backend/dist/{session-inputs → src/session-inputs}/session-input-context.service.js +10 -11
  209. package/backend/dist/src/session-inputs/session-input-context.service.js.map +1 -0
  210. package/backend/dist/src/session-inputs/session-inputs.controller.js.map +1 -0
  211. package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.module.js +2 -0
  212. package/backend/dist/src/session-inputs/session-inputs.module.js.map +1 -0
  213. package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.service.d.ts +3 -1
  214. package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.service.js +46 -15
  215. package/backend/dist/src/session-inputs/session-inputs.service.js.map +1 -0
  216. package/backend/dist/src/session-transfer/session-transfer.module.js.map +1 -0
  217. package/backend/dist/src/session-transfer/session-transfer.service.js.map +1 -0
  218. package/backend/dist/src/sessions/dto/session.dto.js.map +1 -0
  219. package/backend/dist/src/sessions/sessions.controller.js.map +1 -0
  220. package/backend/dist/src/sessions/sessions.module.js.map +1 -0
  221. package/backend/dist/src/sessions/sessions.service.js.map +1 -0
  222. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -0
  223. package/backend/dist/src/system-prompts/system-prompts.controller.js.map +1 -0
  224. package/backend/dist/src/system-prompts/system-prompts.module.js.map +1 -0
  225. package/backend/dist/src/system-prompts/system-prompts.service.js.map +1 -0
  226. package/backend/dist/{timeout.interceptor.js → src/timeout.interceptor.js} +1 -1
  227. package/backend/dist/src/timeout.interceptor.js.map +1 -0
  228. package/backend/dist/src/tracing.js.map +1 -0
  229. package/backend/dist/src/utils/fuzzy-search.js.map +1 -0
  230. package/backend/dist/src/utils/index.js.map +1 -0
  231. package/backend/dist/src/utils/trace.decorator.js.map +1 -0
  232. package/backend/dist/src/workspace/dto/file-tree.dto.js.map +1 -0
  233. package/backend/dist/src/workspace/dto/search-workspace.dto.js.map +1 -0
  234. package/backend/dist/src/workspace/workspace.controller.js.map +1 -0
  235. package/backend/dist/src/workspace/workspace.module.js.map +1 -0
  236. package/backend/dist/src/workspace/workspace.service.js.map +1 -0
  237. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  238. package/backend/packages/gemini-core/examples/simple.ts +120 -0
  239. package/backend/packages/gemini-core/index.ts +15 -0
  240. package/backend/packages/gemini-core/src/code_assist/codeAssist.ts +37 -0
  241. package/backend/packages/gemini-core/src/code_assist/converter.ts +250 -0
  242. package/backend/packages/gemini-core/src/code_assist/oauth-credential-storage.ts +129 -0
  243. package/backend/packages/gemini-core/src/code_assist/oauth2.ts +541 -0
  244. package/backend/packages/gemini-core/src/code_assist/server.ts +236 -0
  245. package/backend/packages/gemini-core/src/code_assist/setup.ts +124 -0
  246. package/backend/packages/gemini-core/src/code_assist/types.ts +201 -0
  247. package/backend/packages/gemini-core/src/config/config.ts +75 -0
  248. package/backend/packages/gemini-core/src/config/models.ts +23 -0
  249. package/backend/packages/gemini-core/src/config/storage.ts +30 -0
  250. package/backend/packages/gemini-core/src/core/contentGenerator.ts +136 -0
  251. package/backend/packages/gemini-core/src/core/geminiChat.ts +385 -0
  252. package/backend/packages/gemini-core/src/core/geminiRequest.ts +19 -0
  253. package/backend/packages/gemini-core/src/core/prompts.ts +109 -0
  254. package/backend/packages/gemini-core/src/core/tokenLimits.ts +32 -0
  255. package/backend/packages/gemini-core/src/index.ts +35 -0
  256. package/backend/packages/gemini-core/src/mcp/token-storage/base-token-storage.ts +49 -0
  257. package/backend/packages/gemini-core/src/mcp/token-storage/file-token-storage.ts +184 -0
  258. package/backend/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.ts +97 -0
  259. package/backend/packages/gemini-core/src/mcp/token-storage/index.ts +14 -0
  260. package/backend/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.ts +251 -0
  261. package/backend/packages/gemini-core/src/mcp/token-storage/types.ts +42 -0
  262. package/backend/packages/gemini-core/src/utils/errors.ts +112 -0
  263. package/backend/packages/gemini-core/src/utils/partUtils.ts +169 -0
  264. package/backend/packages/gemini-core/src/utils/quotaErrorDetection.ts +102 -0
  265. package/backend/packages/gemini-core/src/utils/retry.ts +265 -0
  266. package/backend/packages/gemini-core/src/utils/session.ts +9 -0
  267. package/backend/packages/gemini-core/src/utils/userAccountManager.ts +140 -0
  268. package/package.json +5 -3
  269. package/backend/.repoburg/orchestrations/README.md +0 -41
  270. package/backend/dist/action-execution/action-execution.module.js.map +0 -1
  271. package/backend/dist/action-execution/action-execution.service.js.map +0 -1
  272. package/backend/dist/ai-actions/ai-action-batch.service.js.map +0 -1
  273. package/backend/dist/ai-actions/ai-action-creation.service.js.map +0 -1
  274. package/backend/dist/ai-actions/ai-actions.controller.js.map +0 -1
  275. package/backend/dist/ai-actions/ai-actions.module.js.map +0 -1
  276. package/backend/dist/ai-actions/ai-actions.service.js.map +0 -1
  277. package/backend/dist/app.controller.js.map +0 -1
  278. package/backend/dist/app.module.js.map +0 -1
  279. package/backend/dist/app.service.js.map +0 -1
  280. package/backend/dist/application-state/application-state.controller.js.map +0 -1
  281. package/backend/dist/application-state/application-state.module.js.map +0 -1
  282. package/backend/dist/application-state/application-state.service.js.map +0 -1
  283. package/backend/dist/application-state/dto/set-auto-context-fetch-enabled.dto.js.map +0 -1
  284. package/backend/dist/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js.map +0 -1
  285. package/backend/dist/application-state/dto/set-context-token-limit.dto.js.map +0 -1
  286. package/backend/dist/application-state/dto/set-orchestration-timeout.dto.js.map +0 -1
  287. package/backend/dist/application-state/dto/set-theme.dto.js.map +0 -1
  288. package/backend/dist/application-state/dto/set-websocket-enabled.dto.js.map +0 -1
  289. package/backend/dist/context-generation/context-generation.module.js.map +0 -1
  290. package/backend/dist/context-generation/context-generation.service.js.map +0 -1
  291. package/backend/dist/context-snippets/context-snippets.controller.js.map +0 -1
  292. package/backend/dist/context-snippets/context-snippets.module.js.map +0 -1
  293. package/backend/dist/context-snippets/context-snippets.service.js.map +0 -1
  294. package/backend/dist/context-snippets/dto/context-snippet.dto.js.map +0 -1
  295. package/backend/dist/context-templates/context-templates.controller.js.map +0 -1
  296. package/backend/dist/context-templates/context-templates.module.js.map +0 -1
  297. package/backend/dist/context-templates/context-templates.service.js.map +0 -1
  298. package/backend/dist/context-templates/dto/context-template.dto.js.map +0 -1
  299. package/backend/dist/core-entities/ai-action.entity.js.map +0 -1
  300. package/backend/dist/core-entities/application-state.entity.js.map +0 -1
  301. package/backend/dist/core-entities/base.entity.js.map +0 -1
  302. package/backend/dist/core-entities/context-snippet.entity.js.map +0 -1
  303. package/backend/dist/core-entities/context-template.entity.js.map +0 -1
  304. package/backend/dist/core-entities/custom-snippet.entity.js.map +0 -1
  305. package/backend/dist/core-entities/execution-log.entity.js.map +0 -1
  306. package/backend/dist/core-entities/index.js.map +0 -1
  307. package/backend/dist/core-entities/project.entity.js.map +0 -1
  308. package/backend/dist/core-entities/session-input.entity.js.map +0 -1
  309. package/backend/dist/core-entities/session.entity.js.map +0 -1
  310. package/backend/dist/core-entities/system-prompt.entity.js.map +0 -1
  311. package/backend/dist/custom-snippets/custom-snippets.controller.js.map +0 -1
  312. package/backend/dist/custom-snippets/custom-snippets.module.js.map +0 -1
  313. package/backend/dist/custom-snippets/custom-snippets.service.js.map +0 -1
  314. package/backend/dist/custom-snippets/dto/custom-snippet.dto.js.map +0 -1
  315. package/backend/dist/events/events.gateway.js.map +0 -1
  316. package/backend/dist/events/events.module.js.map +0 -1
  317. package/backend/dist/execution-logs/dto/execution-log.dto.js.map +0 -1
  318. package/backend/dist/execution-logs/execution-logs.controller.js.map +0 -1
  319. package/backend/dist/execution-logs/execution-logs.module.js.map +0 -1
  320. package/backend/dist/execution-logs/execution-logs.service.js.map +0 -1
  321. package/backend/dist/http-exception.filter.js.map +0 -1
  322. package/backend/dist/llm-response-parser/dto/ai-action.dto.js.map +0 -1
  323. package/backend/dist/llm-response-parser/errors/parsing.error.js.map +0 -1
  324. package/backend/dist/llm-response-parser/llm-response-parser.module.js.map +0 -1
  325. package/backend/dist/llm-response-parser/llm-response-parser.service.js.map +0 -1
  326. package/backend/dist/llm-response-parser/parsing.constants.js.map +0 -1
  327. package/backend/dist/llm-responses/dto/submit-llm-response.dto.js.map +0 -1
  328. package/backend/dist/llm-responses/llm-responses.controller.js.map +0 -1
  329. package/backend/dist/llm-responses/llm-responses.module.js.map +0 -1
  330. package/backend/dist/llm-responses/llm-responses.service.js.map +0 -1
  331. package/backend/dist/main.js.map +0 -1
  332. package/backend/dist/orchestration/dto/orchestration.dto.js.map +0 -1
  333. package/backend/dist/orchestration/orchestration-fs.service.js.map +0 -1
  334. package/backend/dist/orchestration/orchestration-parser.service.js.map +0 -1
  335. package/backend/dist/orchestration/orchestration.controller.js.map +0 -1
  336. package/backend/dist/orchestration/orchestration.module.js.map +0 -1
  337. package/backend/dist/orchestration/orchestration.service.js.map +0 -1
  338. package/backend/dist/orchestration/orchestration.types.js.map +0 -1
  339. package/backend/dist/projects/dto/project.dto.js.map +0 -1
  340. package/backend/dist/projects/projects.controller.js.map +0 -1
  341. package/backend/dist/projects/projects.module.js.map +0 -1
  342. package/backend/dist/projects/projects.service.js.map +0 -1
  343. package/backend/dist/seeding/context-template-seeding.service.js.map +0 -1
  344. package/backend/dist/seeding/custom-snippet-seeding.service.js.map +0 -1
  345. package/backend/dist/seeding/data/context-templates/default-followup_ad-hoc-focused-context.js.map +0 -1
  346. package/backend/dist/seeding/data/context-templates/default-initial_condensed-project-context.js.map +0 -1
  347. package/backend/dist/seeding/data/context-templates/default-initial_full-project-context.js.map +0 -1
  348. package/backend/dist/seeding/data/context-templates/pm-context.js.map +0 -1
  349. package/backend/dist/seeding/data/context-templates/pr-description.js.map +0 -1
  350. package/backend/dist/seeding/data/context-templates/sample_focused-tree.d.ts +0 -2
  351. package/backend/dist/seeding/data/context-templates/sample_focused-tree.js.map +0 -1
  352. package/backend/dist/seeding/data/custom-snippets/default_rglob.js.map +0 -1
  353. package/backend/dist/seeding/data/custom-snippets/git-diff.js.map +0 -1
  354. package/backend/dist/seeding/data/custom-snippets/rg-exclude.js.map +0 -1
  355. package/backend/dist/seeding/data/custom-snippets/rg-search-glob.js.map +0 -1
  356. package/backend/dist/seeding/data/custom-snippets/rg-search.js.map +0 -1
  357. package/backend/dist/seeding/data/custom-snippets/run-command.js.map +0 -1
  358. package/backend/dist/seeding/data/custom-snippets/tree.js.map +0 -1
  359. package/backend/dist/seeding/data/custom-snippets/usr-adhoc-incl.js.map +0 -1
  360. package/backend/dist/seeding/data/custom-snippets/usr-cmd-output-incl.js.map +0 -1
  361. package/backend/dist/seeding/data/custom-snippets/usr-input-incl.js.map +0 -1
  362. package/backend/dist/seeding/data/system-prompts/codebase-explorer.js.map +0 -1
  363. package/backend/dist/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.js.map +0 -1
  364. package/backend/dist/seeding/data/system-prompts/packup.js.map +0 -1
  365. package/backend/dist/seeding/data/system-prompts/refactor-split.js.map +0 -1
  366. package/backend/dist/seeding/seeding.module.js.map +0 -1
  367. package/backend/dist/seeding/seeding.service.js.map +0 -1
  368. package/backend/dist/seeding/system-prompt-seeding.service.js.map +0 -1
  369. package/backend/dist/session-followup/session-followup.module.js.map +0 -1
  370. package/backend/dist/session-followup/session-followup.service.js.map +0 -1
  371. package/backend/dist/session-inputs/dto/session-input.dto.js.map +0 -1
  372. package/backend/dist/session-inputs/session-input-context.service.js.map +0 -1
  373. package/backend/dist/session-inputs/session-inputs.controller.js.map +0 -1
  374. package/backend/dist/session-inputs/session-inputs.module.js.map +0 -1
  375. package/backend/dist/session-inputs/session-inputs.service.js.map +0 -1
  376. package/backend/dist/session-transfer/session-transfer.module.js.map +0 -1
  377. package/backend/dist/session-transfer/session-transfer.service.js.map +0 -1
  378. package/backend/dist/sessions/dto/session.dto.js.map +0 -1
  379. package/backend/dist/sessions/sessions.controller.js.map +0 -1
  380. package/backend/dist/sessions/sessions.module.js.map +0 -1
  381. package/backend/dist/sessions/sessions.service.js.map +0 -1
  382. package/backend/dist/system-prompts/dto/system-prompt.dto.js.map +0 -1
  383. package/backend/dist/system-prompts/system-prompts.controller.js.map +0 -1
  384. package/backend/dist/system-prompts/system-prompts.module.js.map +0 -1
  385. package/backend/dist/system-prompts/system-prompts.service.js.map +0 -1
  386. package/backend/dist/timeout.interceptor.js.map +0 -1
  387. package/backend/dist/tracing.js.map +0 -1
  388. package/backend/dist/utils/fuzzy-search.js.map +0 -1
  389. package/backend/dist/utils/index.js.map +0 -1
  390. package/backend/dist/utils/trace.decorator.js.map +0 -1
  391. package/backend/dist/workspace/dto/file-tree.dto.js.map +0 -1
  392. package/backend/dist/workspace/dto/search-workspace.dto.js.map +0 -1
  393. package/backend/dist/workspace/workspace.controller.js.map +0 -1
  394. package/backend/dist/workspace/workspace.module.js.map +0 -1
  395. package/backend/dist/workspace/workspace.service.js.map +0 -1
  396. /package/backend/dist/{action-execution → src/action-execution}/action-execution.module.d.ts +0 -0
  397. /package/backend/dist/{action-execution → src/action-execution}/action-execution.module.js +0 -0
  398. /package/backend/dist/{action-execution → src/action-execution}/action-execution.service.d.ts +0 -0
  399. /package/backend/dist/{action-execution → src/action-execution}/action-execution.service.js +0 -0
  400. /package/backend/dist/{ai-actions → src/ai-actions}/ai-action-batch.service.d.ts +0 -0
  401. /package/backend/dist/{ai-actions → src/ai-actions}/ai-action-batch.service.js +0 -0
  402. /package/backend/dist/{ai-actions → src/ai-actions}/ai-action-creation.service.d.ts +0 -0
  403. /package/backend/dist/{ai-actions → src/ai-actions}/ai-action-creation.service.js +0 -0
  404. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.controller.d.ts +0 -0
  405. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.controller.js +0 -0
  406. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.module.d.ts +0 -0
  407. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.module.js +0 -0
  408. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.service.d.ts +0 -0
  409. /package/backend/dist/{ai-actions → src/ai-actions}/ai-actions.service.js +0 -0
  410. /package/backend/dist/{app.controller.d.ts → src/app.controller.d.ts} +0 -0
  411. /package/backend/dist/{app.controller.js → src/app.controller.js} +0 -0
  412. /package/backend/dist/{app.module.d.ts → src/app.module.d.ts} +0 -0
  413. /package/backend/dist/{app.module.js → src/app.module.js} +0 -0
  414. /package/backend/dist/{app.service.d.ts → src/app.service.d.ts} +0 -0
  415. /package/backend/dist/{app.service.js → src/app.service.js} +0 -0
  416. /package/backend/dist/{application-state → src/application-state}/application-state.controller.d.ts +0 -0
  417. /package/backend/dist/{application-state → src/application-state}/application-state.controller.js +0 -0
  418. /package/backend/dist/{application-state → src/application-state}/application-state.module.d.ts +0 -0
  419. /package/backend/dist/{application-state → src/application-state}/application-state.module.js +0 -0
  420. /package/backend/dist/{application-state → src/application-state}/application-state.service.d.ts +0 -0
  421. /package/backend/dist/{application-state → src/application-state}/application-state.service.js +0 -0
  422. /package/backend/dist/{application-state → src/application-state}/dto/set-auto-context-fetch-enabled.dto.d.ts +0 -0
  423. /package/backend/dist/{application-state → src/application-state}/dto/set-auto-context-fetch-enabled.dto.js +0 -0
  424. /package/backend/dist/{application-state → src/application-state}/dto/set-auto-send-to-ai-studio-enabled.dto.d.ts +0 -0
  425. /package/backend/dist/{application-state → src/application-state}/dto/set-auto-send-to-ai-studio-enabled.dto.js +0 -0
  426. /package/backend/dist/{application-state → src/application-state}/dto/set-context-token-limit.dto.d.ts +0 -0
  427. /package/backend/dist/{application-state → src/application-state}/dto/set-context-token-limit.dto.js +0 -0
  428. /package/backend/dist/{application-state → src/application-state}/dto/set-orchestration-timeout.dto.d.ts +0 -0
  429. /package/backend/dist/{application-state → src/application-state}/dto/set-orchestration-timeout.dto.js +0 -0
  430. /package/backend/dist/{application-state → src/application-state}/dto/set-theme.dto.d.ts +0 -0
  431. /package/backend/dist/{application-state → src/application-state}/dto/set-theme.dto.js +0 -0
  432. /package/backend/dist/{application-state → src/application-state}/dto/set-websocket-enabled.dto.d.ts +0 -0
  433. /package/backend/dist/{application-state → src/application-state}/dto/set-websocket-enabled.dto.js +0 -0
  434. /package/backend/dist/{context-generation → src/context-generation}/context-generation.module.d.ts +0 -0
  435. /package/backend/dist/{context-generation → src/context-generation}/context-generation.module.js +0 -0
  436. /package/backend/dist/{context-generation → src/context-generation}/context-generation.service.d.ts +0 -0
  437. /package/backend/dist/{context-generation → src/context-generation}/context-generation.service.js +0 -0
  438. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.controller.d.ts +0 -0
  439. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.controller.js +0 -0
  440. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.module.d.ts +0 -0
  441. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.module.js +0 -0
  442. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.service.d.ts +0 -0
  443. /package/backend/dist/{context-snippets → src/context-snippets}/context-snippets.service.js +0 -0
  444. /package/backend/dist/{context-snippets → src/context-snippets}/dto/context-snippet.dto.d.ts +0 -0
  445. /package/backend/dist/{context-snippets → src/context-snippets}/dto/context-snippet.dto.js +0 -0
  446. /package/backend/dist/{context-templates → src/context-templates}/context-templates.controller.d.ts +0 -0
  447. /package/backend/dist/{context-templates → src/context-templates}/context-templates.controller.js +0 -0
  448. /package/backend/dist/{context-templates → src/context-templates}/context-templates.module.d.ts +0 -0
  449. /package/backend/dist/{context-templates → src/context-templates}/context-templates.module.js +0 -0
  450. /package/backend/dist/{context-templates → src/context-templates}/context-templates.service.d.ts +0 -0
  451. /package/backend/dist/{context-templates → src/context-templates}/context-templates.service.js +0 -0
  452. /package/backend/dist/{context-templates → src/context-templates}/dto/context-template.dto.d.ts +0 -0
  453. /package/backend/dist/{context-templates → src/context-templates}/dto/context-template.dto.js +0 -0
  454. /package/backend/dist/{core-entities → src/core-entities}/ai-action.entity.d.ts +0 -0
  455. /package/backend/dist/{core-entities → src/core-entities}/ai-action.entity.js +0 -0
  456. /package/backend/dist/{core-entities → src/core-entities}/application-state.entity.d.ts +0 -0
  457. /package/backend/dist/{core-entities → src/core-entities}/application-state.entity.js +0 -0
  458. /package/backend/dist/{core-entities → src/core-entities}/base.entity.d.ts +0 -0
  459. /package/backend/dist/{core-entities → src/core-entities}/base.entity.js +0 -0
  460. /package/backend/dist/{core-entities → src/core-entities}/context-snippet.entity.d.ts +0 -0
  461. /package/backend/dist/{core-entities → src/core-entities}/context-snippet.entity.js +0 -0
  462. /package/backend/dist/{core-entities → src/core-entities}/context-template.entity.d.ts +0 -0
  463. /package/backend/dist/{core-entities → src/core-entities}/context-template.entity.js +0 -0
  464. /package/backend/dist/{core-entities → src/core-entities}/custom-snippet.entity.d.ts +0 -0
  465. /package/backend/dist/{core-entities → src/core-entities}/custom-snippet.entity.js +0 -0
  466. /package/backend/dist/{core-entities → src/core-entities}/execution-log.entity.d.ts +0 -0
  467. /package/backend/dist/{core-entities → src/core-entities}/execution-log.entity.js +0 -0
  468. /package/backend/dist/{core-entities → src/core-entities}/index.d.ts +0 -0
  469. /package/backend/dist/{core-entities → src/core-entities}/index.js +0 -0
  470. /package/backend/dist/{core-entities → src/core-entities}/project.entity.d.ts +0 -0
  471. /package/backend/dist/{core-entities → src/core-entities}/project.entity.js +0 -0
  472. /package/backend/dist/{core-entities → src/core-entities}/session-input.entity.d.ts +0 -0
  473. /package/backend/dist/{core-entities → src/core-entities}/session-input.entity.js +0 -0
  474. /package/backend/dist/{core-entities → src/core-entities}/session.entity.d.ts +0 -0
  475. /package/backend/dist/{core-entities → src/core-entities}/session.entity.js +0 -0
  476. /package/backend/dist/{core-entities → src/core-entities}/system-prompt.entity.d.ts +0 -0
  477. /package/backend/dist/{core-entities → src/core-entities}/system-prompt.entity.js +0 -0
  478. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.controller.d.ts +0 -0
  479. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.controller.js +0 -0
  480. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.module.d.ts +0 -0
  481. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.module.js +0 -0
  482. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.service.d.ts +0 -0
  483. /package/backend/dist/{custom-snippets → src/custom-snippets}/custom-snippets.service.js +0 -0
  484. /package/backend/dist/{custom-snippets → src/custom-snippets}/dto/custom-snippet.dto.d.ts +0 -0
  485. /package/backend/dist/{custom-snippets → src/custom-snippets}/dto/custom-snippet.dto.js +0 -0
  486. /package/backend/dist/{events → src/events}/events.gateway.d.ts +0 -0
  487. /package/backend/dist/{events → src/events}/events.gateway.js +0 -0
  488. /package/backend/dist/{events → src/events}/events.module.d.ts +0 -0
  489. /package/backend/dist/{events → src/events}/events.module.js +0 -0
  490. /package/backend/dist/{execution-logs → src/execution-logs}/dto/execution-log.dto.d.ts +0 -0
  491. /package/backend/dist/{execution-logs → src/execution-logs}/dto/execution-log.dto.js +0 -0
  492. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.controller.d.ts +0 -0
  493. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.controller.js +0 -0
  494. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.module.d.ts +0 -0
  495. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.module.js +0 -0
  496. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.service.d.ts +0 -0
  497. /package/backend/dist/{execution-logs → src/execution-logs}/execution-logs.service.js +0 -0
  498. /package/backend/dist/{http-exception.filter.d.ts → src/http-exception.filter.d.ts} +0 -0
  499. /package/backend/dist/{http-exception.filter.js → src/http-exception.filter.js} +0 -0
  500. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/dto/ai-action.dto.d.ts +0 -0
  501. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/dto/ai-action.dto.js +0 -0
  502. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/errors/parsing.error.d.ts +0 -0
  503. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/errors/parsing.error.js +0 -0
  504. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/llm-response-parser.module.d.ts +0 -0
  505. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/llm-response-parser.module.js +0 -0
  506. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/llm-response-parser.service.d.ts +0 -0
  507. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/llm-response-parser.service.js +0 -0
  508. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/parsing.constants.d.ts +0 -0
  509. /package/backend/dist/{llm-response-parser → src/llm-response-parser}/parsing.constants.js +0 -0
  510. /package/backend/dist/{llm-responses → src/llm-responses}/dto/submit-llm-response.dto.d.ts +0 -0
  511. /package/backend/dist/{llm-responses → src/llm-responses}/dto/submit-llm-response.dto.js +0 -0
  512. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.controller.d.ts +0 -0
  513. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.controller.js +0 -0
  514. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.module.d.ts +0 -0
  515. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.module.js +0 -0
  516. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.service.d.ts +0 -0
  517. /package/backend/dist/{llm-responses → src/llm-responses}/llm-responses.service.js +0 -0
  518. /package/backend/dist/{main.d.ts → src/main.d.ts} +0 -0
  519. /package/backend/dist/{main.js → src/main.js} +0 -0
  520. /package/backend/dist/{orchestration → src/orchestration}/dto/orchestration.dto.d.ts +0 -0
  521. /package/backend/dist/{orchestration → src/orchestration}/dto/orchestration.dto.js +0 -0
  522. /package/backend/dist/{orchestration → src/orchestration}/orchestration-fs.service.d.ts +0 -0
  523. /package/backend/dist/{orchestration → src/orchestration}/orchestration-fs.service.js +0 -0
  524. /package/backend/dist/{orchestration → src/orchestration}/orchestration-parser.service.d.ts +0 -0
  525. /package/backend/dist/{orchestration → src/orchestration}/orchestration-parser.service.js +0 -0
  526. /package/backend/dist/{orchestration → src/orchestration}/orchestration.controller.d.ts +0 -0
  527. /package/backend/dist/{orchestration → src/orchestration}/orchestration.controller.js +0 -0
  528. /package/backend/dist/{orchestration → src/orchestration}/orchestration.module.d.ts +0 -0
  529. /package/backend/dist/{orchestration → src/orchestration}/orchestration.module.js +0 -0
  530. /package/backend/dist/{orchestration → src/orchestration}/orchestration.service.d.ts +0 -0
  531. /package/backend/dist/{orchestration → src/orchestration}/orchestration.service.js +0 -0
  532. /package/backend/dist/{orchestration → src/orchestration}/orchestration.types.d.ts +0 -0
  533. /package/backend/dist/{orchestration → src/orchestration}/orchestration.types.js +0 -0
  534. /package/backend/dist/{projects → src/projects}/dto/project.dto.d.ts +0 -0
  535. /package/backend/dist/{projects → src/projects}/dto/project.dto.js +0 -0
  536. /package/backend/dist/{projects → src/projects}/projects.controller.d.ts +0 -0
  537. /package/backend/dist/{projects → src/projects}/projects.controller.js +0 -0
  538. /package/backend/dist/{projects → src/projects}/projects.module.d.ts +0 -0
  539. /package/backend/dist/{projects → src/projects}/projects.module.js +0 -0
  540. /package/backend/dist/{projects → src/projects}/projects.service.d.ts +0 -0
  541. /package/backend/dist/{projects → src/projects}/projects.service.js +0 -0
  542. /package/backend/dist/{seeding → src/seeding}/context-template-seeding.service.d.ts +0 -0
  543. /package/backend/dist/{seeding → src/seeding}/context-template-seeding.service.js +0 -0
  544. /package/backend/dist/{seeding → src/seeding}/custom-snippet-seeding.service.d.ts +0 -0
  545. /package/backend/dist/{seeding → src/seeding}/custom-snippet-seeding.service.js +0 -0
  546. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-followup_ad-hoc-focused-context.d.ts +0 -0
  547. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-followup_ad-hoc-focused-context.js +0 -0
  548. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-initial_condensed-project-context.d.ts +0 -0
  549. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-initial_condensed-project-context.js +0 -0
  550. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-initial_full-project-context.d.ts +0 -0
  551. /package/backend/dist/{seeding → src/seeding}/data/context-templates/default-initial_full-project-context.js +0 -0
  552. /package/backend/dist/{seeding → src/seeding}/data/context-templates/pm-context.d.ts +0 -0
  553. /package/backend/dist/{seeding → src/seeding}/data/context-templates/pm-context.js +0 -0
  554. /package/backend/dist/{seeding → src/seeding}/data/context-templates/pr-description.d.ts +0 -0
  555. /package/backend/dist/{seeding → src/seeding}/data/context-templates/pr-description.js +0 -0
  556. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/default_rglob.d.ts +0 -0
  557. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/default_rglob.js +0 -0
  558. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/git-diff.d.ts +0 -0
  559. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/git-diff.js +0 -0
  560. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-exclude.d.ts +0 -0
  561. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-exclude.js +0 -0
  562. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-search-glob.d.ts +0 -0
  563. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-search-glob.js +0 -0
  564. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-search.d.ts +0 -0
  565. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/rg-search.js +0 -0
  566. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/run-command.d.ts +0 -0
  567. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/run-command.js +0 -0
  568. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/tree.d.ts +0 -0
  569. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/tree.js +0 -0
  570. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-adhoc-incl.d.ts +0 -0
  571. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-adhoc-incl.js +0 -0
  572. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-cmd-output-incl.d.ts +0 -0
  573. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-cmd-output-incl.js +0 -0
  574. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-input-incl.d.ts +0 -0
  575. /package/backend/dist/{seeding → src/seeding}/data/custom-snippets/usr-input-incl.js +0 -0
  576. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/codebase-explorer.d.ts +0 -0
  577. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/codebase-explorer.js +0 -0
  578. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/default_multi-file-action-generator-with-requester.d.ts +0 -0
  579. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/default_multi-file-action-generator-with-requester.js +0 -0
  580. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/packup.d.ts +0 -0
  581. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/packup.js +0 -0
  582. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/refactor-split.d.ts +0 -0
  583. /package/backend/dist/{seeding → src/seeding}/data/system-prompts/refactor-split.js +0 -0
  584. /package/backend/dist/{seeding → src/seeding}/seeding.module.d.ts +0 -0
  585. /package/backend/dist/{seeding → src/seeding}/seeding.module.js +0 -0
  586. /package/backend/dist/{seeding → src/seeding}/seeding.service.d.ts +0 -0
  587. /package/backend/dist/{seeding → src/seeding}/seeding.service.js +0 -0
  588. /package/backend/dist/{seeding → src/seeding}/system-prompt-seeding.service.d.ts +0 -0
  589. /package/backend/dist/{seeding → src/seeding}/system-prompt-seeding.service.js +0 -0
  590. /package/backend/dist/{session-followup → src/session-followup}/session-followup.module.d.ts +0 -0
  591. /package/backend/dist/{session-followup → src/session-followup}/session-followup.module.js +0 -0
  592. /package/backend/dist/{session-followup → src/session-followup}/session-followup.service.d.ts +0 -0
  593. /package/backend/dist/{session-followup → src/session-followup}/session-followup.service.js +0 -0
  594. /package/backend/dist/{session-inputs → src/session-inputs}/dto/session-input.dto.d.ts +0 -0
  595. /package/backend/dist/{session-inputs → src/session-inputs}/dto/session-input.dto.js +0 -0
  596. /package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.controller.d.ts +0 -0
  597. /package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.controller.js +0 -0
  598. /package/backend/dist/{session-inputs → src/session-inputs}/session-inputs.module.d.ts +0 -0
  599. /package/backend/dist/{session-transfer → src/session-transfer}/session-transfer.module.d.ts +0 -0
  600. /package/backend/dist/{session-transfer → src/session-transfer}/session-transfer.module.js +0 -0
  601. /package/backend/dist/{session-transfer → src/session-transfer}/session-transfer.service.d.ts +0 -0
  602. /package/backend/dist/{session-transfer → src/session-transfer}/session-transfer.service.js +0 -0
  603. /package/backend/dist/{sessions → src/sessions}/dto/session.dto.d.ts +0 -0
  604. /package/backend/dist/{sessions → src/sessions}/dto/session.dto.js +0 -0
  605. /package/backend/dist/{sessions → src/sessions}/sessions.controller.d.ts +0 -0
  606. /package/backend/dist/{sessions → src/sessions}/sessions.controller.js +0 -0
  607. /package/backend/dist/{sessions → src/sessions}/sessions.module.d.ts +0 -0
  608. /package/backend/dist/{sessions → src/sessions}/sessions.module.js +0 -0
  609. /package/backend/dist/{sessions → src/sessions}/sessions.service.d.ts +0 -0
  610. /package/backend/dist/{sessions → src/sessions}/sessions.service.js +0 -0
  611. /package/backend/dist/{system-prompts → src/system-prompts}/dto/system-prompt.dto.d.ts +0 -0
  612. /package/backend/dist/{system-prompts → src/system-prompts}/dto/system-prompt.dto.js +0 -0
  613. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.controller.d.ts +0 -0
  614. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.controller.js +0 -0
  615. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.module.d.ts +0 -0
  616. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.module.js +0 -0
  617. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.service.d.ts +0 -0
  618. /package/backend/dist/{system-prompts → src/system-prompts}/system-prompts.service.js +0 -0
  619. /package/backend/dist/{timeout.interceptor.d.ts → src/timeout.interceptor.d.ts} +0 -0
  620. /package/backend/dist/{tracing.d.ts → src/tracing.d.ts} +0 -0
  621. /package/backend/dist/{tracing.js → src/tracing.js} +0 -0
  622. /package/backend/dist/{utils → src/utils}/fuzzy-search.d.ts +0 -0
  623. /package/backend/dist/{utils → src/utils}/fuzzy-search.js +0 -0
  624. /package/backend/dist/{utils → src/utils}/index.d.ts +0 -0
  625. /package/backend/dist/{utils → src/utils}/index.js +0 -0
  626. /package/backend/dist/{utils → src/utils}/trace.decorator.d.ts +0 -0
  627. /package/backend/dist/{utils → src/utils}/trace.decorator.js +0 -0
  628. /package/backend/dist/{workspace → src/workspace}/dto/file-tree.dto.d.ts +0 -0
  629. /package/backend/dist/{workspace → src/workspace}/dto/file-tree.dto.js +0 -0
  630. /package/backend/dist/{workspace → src/workspace}/dto/search-workspace.dto.d.ts +0 -0
  631. /package/backend/dist/{workspace → src/workspace}/dto/search-workspace.dto.js +0 -0
  632. /package/backend/dist/{workspace → src/workspace}/workspace.controller.d.ts +0 -0
  633. /package/backend/dist/{workspace → src/workspace}/workspace.controller.js +0 -0
  634. /package/backend/dist/{workspace → src/workspace}/workspace.module.d.ts +0 -0
  635. /package/backend/dist/{workspace → src/workspace}/workspace.module.js +0 -0
  636. /package/backend/dist/{workspace → src/workspace}/workspace.service.d.ts +0 -0
  637. /package/backend/dist/{workspace → src/workspace}/workspace.service.js +0 -0
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOauthClient = getOauthClient;
4
+ exports.getAvailablePort = getAvailablePort;
5
+ exports.clearOauthClientCache = clearOauthClientCache;
6
+ exports.clearCachedCredentialFile = clearCachedCredentialFile;
7
+ exports.resetOauthClientForTesting = resetOauthClientForTesting;
8
+ const google_auth_library_1 = require("google-auth-library");
9
+ const http = require("node:http");
10
+ const node_url_1 = require("node:url");
11
+ const crypto = require("node:crypto");
12
+ const net = require("node:net");
13
+ const path = require("node:path");
14
+ const node_fs_1 = require("node:fs");
15
+ const errors_1 = require("../utils/errors");
16
+ const userAccountManager_1 = require("../utils/userAccountManager");
17
+ const contentGenerator_1 = require("../core/contentGenerator");
18
+ const node_readline_1 = require("node:readline");
19
+ const storage_1 = require("../config/storage");
20
+ const oauth_credential_storage_1 = require("./oauth-credential-storage");
21
+ const index_1 = require("../mcp/token-storage/index");
22
+ const userAccountManager = new userAccountManager_1.UserAccountManager();
23
+ const OAUTH_CLIENT_ID = '681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com';
24
+ const OAUTH_CLIENT_SECRET = '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';
25
+ const OAUTH_SCOPE = [
26
+ 'https://www.googleapis.com/auth/cloud-platform',
27
+ 'https://www.googleapis.com/auth/userinfo.email',
28
+ 'https://www.googleapis.com/auth/userinfo.profile',
29
+ ];
30
+ const HTTP_REDIRECT = 301;
31
+ const SIGN_IN_SUCCESS_URL = 'https://developers.google.com/gemini-code-assist/auth_success_gemini';
32
+ const SIGN_IN_FAILURE_URL = 'https://developers.google.com/gemini-code-assist/auth_failure_gemini';
33
+ const oauthClientPromises = new Map();
34
+ function getUseEncryptedStorageFlag() {
35
+ return process.env[index_1.FORCE_ENCRYPTED_FILE_ENV_VAR] === 'true';
36
+ }
37
+ async function initOauthClient(authType, config) {
38
+ const client = new google_auth_library_1.OAuth2Client({
39
+ clientId: OAUTH_CLIENT_ID,
40
+ clientSecret: OAUTH_CLIENT_SECRET,
41
+ });
42
+ const useEncryptedStorage = getUseEncryptedStorageFlag();
43
+ if (process.env['GOOGLE_GENAI_USE_GCA'] &&
44
+ process.env['GOOGLE_CLOUD_ACCESS_TOKEN']) {
45
+ client.setCredentials({
46
+ access_token: process.env['GOOGLE_CLOUD_ACCESS_TOKEN'],
47
+ });
48
+ await fetchAndCacheUserInfo(client);
49
+ return client;
50
+ }
51
+ client.on('tokens', async (tokens) => {
52
+ if (useEncryptedStorage) {
53
+ await oauth_credential_storage_1.OAuthCredentialStorage.saveCredentials(tokens);
54
+ }
55
+ else {
56
+ await cacheCredentials(tokens);
57
+ }
58
+ });
59
+ if (await loadCachedCredentials(client)) {
60
+ if (!userAccountManager.getCachedGoogleAccount()) {
61
+ try {
62
+ await fetchAndCacheUserInfo(client);
63
+ }
64
+ catch (error) {
65
+ console.warn('Failed to fetch user info:', (0, errors_1.getErrorMessage)(error));
66
+ }
67
+ }
68
+ console.log('Loaded cached credentials.');
69
+ return client;
70
+ }
71
+ if (authType === contentGenerator_1.AuthType.CLOUD_SHELL) {
72
+ try {
73
+ console.log("Attempting to authenticate via Cloud Shell VM's ADC.");
74
+ const computeClient = new google_auth_library_1.Compute({});
75
+ await computeClient.getAccessToken();
76
+ console.log('Authentication successful.');
77
+ return computeClient;
78
+ }
79
+ catch (e) {
80
+ throw new Error(`Could not authenticate using Cloud Shell credentials. Please select a different authentication method or ensure you are in a properly configured environment. Error: ${(0, errors_1.getErrorMessage)(e)}`);
81
+ }
82
+ }
83
+ if (config.isBrowserLaunchSuppressed()) {
84
+ let success = false;
85
+ const maxRetries = 2;
86
+ for (let i = 0; !success && i < maxRetries; i++) {
87
+ success = await authWithUserCode(client);
88
+ if (!success) {
89
+ console.error('\nFailed to authenticate with user code.', i === maxRetries - 1 ? '' : 'Retrying...\n');
90
+ }
91
+ }
92
+ if (!success) {
93
+ throw new errors_1.FatalAuthenticationError('Failed to authenticate with user code.');
94
+ }
95
+ }
96
+ else {
97
+ const webLogin = await authWithWeb(client);
98
+ console.log(`\n\nCode Assist login required.\n` +
99
+ `Attempting to open authentication page in your browser.\n` +
100
+ `Otherwise navigate to:\n\n${webLogin.authUrl}\n\n`);
101
+ try {
102
+ const { default: open } = await Promise.resolve().then(() => require('open'));
103
+ const childProcess = await open(webLogin.authUrl);
104
+ childProcess.on('error', (error) => {
105
+ console.error('Failed to open browser automatically. Please try running again with NO_BROWSER=true set.');
106
+ console.error('Browser error details:', (0, errors_1.getErrorMessage)(error));
107
+ });
108
+ }
109
+ catch (err) {
110
+ console.error('An unexpected error occurred while trying to open the browser:', (0, errors_1.getErrorMessage)(err), '\nThis might be due to browser compatibility issues or system configuration.', '\nPlease try running again with NO_BROWSER=true set for manual authentication.');
111
+ throw new errors_1.FatalAuthenticationError(`Failed to open browser: ${(0, errors_1.getErrorMessage)(err)}`);
112
+ }
113
+ console.log('Waiting for authentication...');
114
+ const authTimeout = 5 * 60 * 1000;
115
+ const timeoutPromise = new Promise((_, reject) => {
116
+ setTimeout(() => {
117
+ reject(new errors_1.FatalAuthenticationError('Authentication timed out after 5 minutes. The browser tab may have gotten stuck in a loading state. ' +
118
+ 'Please try again or use NO_BROWSER=true for manual authentication.'));
119
+ }, authTimeout);
120
+ });
121
+ await Promise.race([webLogin.loginCompletePromise, timeoutPromise]);
122
+ }
123
+ return client;
124
+ }
125
+ async function getOauthClient(authType, config) {
126
+ if (!oauthClientPromises.has(authType)) {
127
+ oauthClientPromises.set(authType, initOauthClient(authType, config));
128
+ }
129
+ return oauthClientPromises.get(authType);
130
+ }
131
+ async function authWithUserCode(client) {
132
+ const redirectUri = 'https://codeassist.google.com/authcode';
133
+ const codeVerifier = await client.generateCodeVerifierAsync();
134
+ const state = crypto.randomBytes(32).toString('hex');
135
+ const authUrl = client.generateAuthUrl({
136
+ redirect_uri: redirectUri,
137
+ access_type: 'offline',
138
+ scope: OAUTH_SCOPE,
139
+ code_challenge_method: google_auth_library_1.CodeChallengeMethod.S256,
140
+ code_challenge: codeVerifier.codeChallenge,
141
+ state,
142
+ });
143
+ console.log('Please visit the following URL to authorize the application:');
144
+ console.log('');
145
+ console.log(authUrl);
146
+ console.log('');
147
+ const code = await new Promise((resolve) => {
148
+ const rl = node_readline_1.default.createInterface({
149
+ input: process.stdin,
150
+ output: process.stdout,
151
+ });
152
+ rl.question('Enter the authorization code: ', (code) => {
153
+ rl.close();
154
+ resolve(code.trim());
155
+ });
156
+ });
157
+ if (!code) {
158
+ console.error('Authorization code is required.');
159
+ return false;
160
+ }
161
+ try {
162
+ const { tokens } = await client.getToken({
163
+ code,
164
+ codeVerifier: codeVerifier.codeVerifier,
165
+ redirect_uri: redirectUri,
166
+ });
167
+ client.setCredentials(tokens);
168
+ }
169
+ catch (error) {
170
+ console.error('Failed to authenticate with authorization code:', (0, errors_1.getErrorMessage)(error));
171
+ return false;
172
+ }
173
+ return true;
174
+ }
175
+ async function authWithWeb(client) {
176
+ const port = await getAvailablePort();
177
+ const host = process.env['OAUTH_CALLBACK_HOST'] || 'localhost';
178
+ const redirectUri = `http://localhost:${port}/oauth2callback`;
179
+ const state = crypto.randomBytes(32).toString('hex');
180
+ const authUrl = client.generateAuthUrl({
181
+ redirect_uri: redirectUri,
182
+ access_type: 'offline',
183
+ scope: OAUTH_SCOPE,
184
+ state,
185
+ });
186
+ const loginCompletePromise = new Promise((resolve, reject) => {
187
+ const server = http.createServer(async (req, res) => {
188
+ try {
189
+ if (req.url.indexOf('/oauth2callback') === -1) {
190
+ res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
191
+ res.end();
192
+ reject(new errors_1.FatalAuthenticationError('OAuth callback not received. Unexpected request: ' + req.url));
193
+ }
194
+ const qs = new node_url_1.default.URL(req.url, 'http://localhost:3000').searchParams;
195
+ if (qs.get('error')) {
196
+ res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
197
+ res.end();
198
+ const errorCode = qs.get('error');
199
+ const errorDescription = qs.get('error_description') || 'No additional details provided';
200
+ reject(new errors_1.FatalAuthenticationError(`Google OAuth error: ${errorCode}. ${errorDescription}`));
201
+ }
202
+ else if (qs.get('state') !== state) {
203
+ res.end('State mismatch. Possible CSRF attack');
204
+ reject(new errors_1.FatalAuthenticationError('OAuth state mismatch. Possible CSRF attack or browser session issue.'));
205
+ }
206
+ else if (qs.get('code')) {
207
+ try {
208
+ const { tokens } = await client.getToken({
209
+ code: qs.get('code'),
210
+ redirect_uri: redirectUri,
211
+ });
212
+ client.setCredentials(tokens);
213
+ try {
214
+ await fetchAndCacheUserInfo(client);
215
+ }
216
+ catch (error) {
217
+ console.warn('Failed to retrieve Google Account ID during authentication:', (0, errors_1.getErrorMessage)(error));
218
+ }
219
+ res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_SUCCESS_URL });
220
+ res.end();
221
+ resolve();
222
+ }
223
+ catch (error) {
224
+ res.writeHead(HTTP_REDIRECT, { Location: SIGN_IN_FAILURE_URL });
225
+ res.end();
226
+ reject(new errors_1.FatalAuthenticationError(`Failed to exchange authorization code for tokens: ${(0, errors_1.getErrorMessage)(error)}`));
227
+ }
228
+ }
229
+ else {
230
+ reject(new errors_1.FatalAuthenticationError('No authorization code received from Google OAuth. Please try authenticating again.'));
231
+ }
232
+ }
233
+ catch (e) {
234
+ if (e instanceof errors_1.FatalAuthenticationError) {
235
+ reject(e);
236
+ }
237
+ else {
238
+ reject(new errors_1.FatalAuthenticationError(`Unexpected error during OAuth authentication: ${(0, errors_1.getErrorMessage)(e)}`));
239
+ }
240
+ }
241
+ finally {
242
+ server.close();
243
+ }
244
+ });
245
+ server.listen(port, host, () => {
246
+ });
247
+ server.on('error', (err) => {
248
+ reject(new errors_1.FatalAuthenticationError(`OAuth callback server error: ${(0, errors_1.getErrorMessage)(err)}`));
249
+ });
250
+ });
251
+ return {
252
+ authUrl,
253
+ loginCompletePromise,
254
+ };
255
+ }
256
+ function getAvailablePort() {
257
+ return new Promise((resolve, reject) => {
258
+ let port = 0;
259
+ try {
260
+ const portStr = process.env['OAUTH_CALLBACK_PORT'];
261
+ if (portStr) {
262
+ port = parseInt(portStr, 10);
263
+ if (isNaN(port) || port <= 0 || port > 65535) {
264
+ return reject(new Error(`Invalid value for OAUTH_CALLBACK_PORT: "${portStr}"`));
265
+ }
266
+ return resolve(port);
267
+ }
268
+ const server = net.createServer();
269
+ server.listen(0, () => {
270
+ const address = server.address();
271
+ port = address.port;
272
+ });
273
+ server.on('listening', () => {
274
+ server.close();
275
+ server.unref();
276
+ });
277
+ server.on('error', (e) => reject(e));
278
+ server.on('close', () => resolve(port));
279
+ }
280
+ catch (e) {
281
+ reject(e);
282
+ }
283
+ });
284
+ }
285
+ async function loadCachedCredentials(client) {
286
+ const useEncryptedStorage = getUseEncryptedStorageFlag();
287
+ if (useEncryptedStorage) {
288
+ const credentials = await oauth_credential_storage_1.OAuthCredentialStorage.loadCredentials();
289
+ if (credentials) {
290
+ client.setCredentials(credentials);
291
+ return true;
292
+ }
293
+ return false;
294
+ }
295
+ const pathsToTry = [
296
+ storage_1.Storage.getOAuthCredsPath(),
297
+ process.env['GOOGLE_APPLICATION_CREDENTIALS'],
298
+ ].filter((p) => !!p);
299
+ for (const keyFile of pathsToTry) {
300
+ try {
301
+ const creds = await node_fs_1.promises.readFile(keyFile, 'utf-8');
302
+ client.setCredentials(JSON.parse(creds));
303
+ const { token } = await client.getAccessToken();
304
+ if (!token) {
305
+ continue;
306
+ }
307
+ await client.getTokenInfo(token);
308
+ return true;
309
+ }
310
+ catch (error) {
311
+ console.debug(`Failed to load credentials from ${keyFile}:`, (0, errors_1.getErrorMessage)(error));
312
+ }
313
+ }
314
+ return false;
315
+ }
316
+ async function cacheCredentials(credentials) {
317
+ const filePath = storage_1.Storage.getOAuthCredsPath();
318
+ await node_fs_1.promises.mkdir(path.dirname(filePath), { recursive: true });
319
+ const credString = JSON.stringify(credentials, null, 2);
320
+ await node_fs_1.promises.writeFile(filePath, credString, { mode: 0o600 });
321
+ try {
322
+ await node_fs_1.promises.chmod(filePath, 0o600);
323
+ }
324
+ catch {
325
+ }
326
+ }
327
+ function clearOauthClientCache() {
328
+ oauthClientPromises.clear();
329
+ }
330
+ async function clearCachedCredentialFile() {
331
+ try {
332
+ const useEncryptedStorage = getUseEncryptedStorageFlag();
333
+ if (useEncryptedStorage) {
334
+ await oauth_credential_storage_1.OAuthCredentialStorage.clearCredentials();
335
+ }
336
+ else {
337
+ await node_fs_1.promises.rm(storage_1.Storage.getOAuthCredsPath(), { force: true });
338
+ }
339
+ await userAccountManager.clearCachedGoogleAccount();
340
+ clearOauthClientCache();
341
+ }
342
+ catch (e) {
343
+ console.error('Failed to clear cached credentials:', e);
344
+ }
345
+ }
346
+ async function fetchAndCacheUserInfo(client) {
347
+ try {
348
+ const { token } = await client.getAccessToken();
349
+ if (!token) {
350
+ return;
351
+ }
352
+ const response = await fetch('https://www.googleapis.com/oauth2/v2/userinfo', {
353
+ headers: {
354
+ Authorization: `Bearer ${token}`,
355
+ },
356
+ });
357
+ if (!response.ok) {
358
+ console.error('Failed to fetch user info:', response.status, response.statusText);
359
+ return;
360
+ }
361
+ const userInfo = await response.json();
362
+ await userAccountManager.cacheGoogleAccount(userInfo.email);
363
+ }
364
+ catch (error) {
365
+ console.error('Error retrieving user info:', error);
366
+ }
367
+ }
368
+ function resetOauthClientForTesting() {
369
+ oauthClientPromises.clear();
370
+ }
371
+ //# sourceMappingURL=oauth2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/code_assist/oauth2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { OAuth2Client } from 'google-auth-library';
2
+ import type { LoadCodeAssistRequest, LoadCodeAssistResponse, LongRunningOperationResponse, OnboardUserRequest } from './types';
3
+ import type { CountTokensParameters, CountTokensResponse, EmbedContentParameters, EmbedContentResponse, GenerateContentParameters, GenerateContentResponse } from '@google/genai';
4
+ import type { ContentGenerator } from '../core/contentGenerator';
5
+ import { UserTierId } from './types';
6
+ export interface HttpOptions {
7
+ headers?: Record<string, string>;
8
+ }
9
+ export declare const CODE_ASSIST_ENDPOINT = "https://cloudcode-pa.googleapis.com";
10
+ export declare const CODE_ASSIST_API_VERSION = "v1internal";
11
+ export declare class CodeAssistServer implements ContentGenerator {
12
+ readonly client: OAuth2Client;
13
+ readonly projectId?: string;
14
+ readonly httpOptions: HttpOptions;
15
+ readonly sessionId?: string;
16
+ readonly userTier?: UserTierId;
17
+ constructor(client: OAuth2Client, projectId?: string, httpOptions?: HttpOptions, sessionId?: string, userTier?: UserTierId);
18
+ generateContentStream(req: GenerateContentParameters, userPromptId: string): Promise<AsyncGenerator<GenerateContentResponse>>;
19
+ generateContent(req: GenerateContentParameters, userPromptId: string): Promise<GenerateContentResponse>;
20
+ onboardUser(req: OnboardUserRequest): Promise<LongRunningOperationResponse>;
21
+ loadCodeAssist(req: LoadCodeAssistRequest): Promise<LoadCodeAssistResponse>;
22
+ countTokens(req: CountTokensParameters): Promise<CountTokensResponse>;
23
+ embedContent(_req: EmbedContentParameters): Promise<EmbedContentResponse>;
24
+ requestPost<T>(method: string, req: object, signal?: AbortSignal): Promise<T>;
25
+ requestGet<T>(method: string, signal?: AbortSignal): Promise<T>;
26
+ requestStreamingPost<T>(method: string, req: object, signal?: AbortSignal): Promise<AsyncGenerator<T>>;
27
+ getMethodUrl(method: string): string;
28
+ }
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodeAssistServer = exports.CODE_ASSIST_API_VERSION = exports.CODE_ASSIST_ENDPOINT = void 0;
4
+ const readline = require("node:readline");
5
+ const types_1 = require("./types");
6
+ const converter_1 = require("./converter");
7
+ exports.CODE_ASSIST_ENDPOINT = 'https://cloudcode-pa.googleapis.com';
8
+ exports.CODE_ASSIST_API_VERSION = 'v1internal';
9
+ class CodeAssistServer {
10
+ constructor(client, projectId, httpOptions = {}, sessionId, userTier) {
11
+ this.client = client;
12
+ this.projectId = projectId;
13
+ this.httpOptions = httpOptions;
14
+ this.sessionId = sessionId;
15
+ this.userTier = userTier;
16
+ }
17
+ async generateContentStream(req, userPromptId) {
18
+ const resps = await this.requestStreamingPost('streamGenerateContent', (0, converter_1.toGenerateContentRequest)(req, userPromptId, this.projectId, this.sessionId), req.config?.abortSignal);
19
+ return (async function* () {
20
+ for await (const resp of resps) {
21
+ yield (0, converter_1.fromGenerateContentResponse)(resp);
22
+ }
23
+ })();
24
+ }
25
+ async generateContent(req, userPromptId) {
26
+ const resp = await this.requestPost('generateContent', (0, converter_1.toGenerateContentRequest)(req, userPromptId, this.projectId, this.sessionId), req.config?.abortSignal);
27
+ return (0, converter_1.fromGenerateContentResponse)(resp);
28
+ }
29
+ async onboardUser(req) {
30
+ return await this.requestPost('onboardUser', req);
31
+ }
32
+ async loadCodeAssist(req) {
33
+ try {
34
+ return await this.requestPost('loadCodeAssist', req);
35
+ }
36
+ catch (e) {
37
+ if (isVpcScAffectedUser(e)) {
38
+ return {
39
+ currentTier: { id: types_1.UserTierId.STANDARD },
40
+ };
41
+ }
42
+ else {
43
+ throw e;
44
+ }
45
+ }
46
+ }
47
+ async countTokens(req) {
48
+ const resp = await this.requestPost('countTokens', (0, converter_1.toCountTokenRequest)(req));
49
+ return (0, converter_1.fromCountTokenResponse)(resp);
50
+ }
51
+ async embedContent(_req) {
52
+ throw Error();
53
+ }
54
+ async requestPost(method, req, signal) {
55
+ const res = await this.client.request({
56
+ url: this.getMethodUrl(method),
57
+ method: 'POST',
58
+ headers: {
59
+ 'Content-Type': 'application/json',
60
+ ...this.httpOptions.headers,
61
+ },
62
+ responseType: 'json',
63
+ body: JSON.stringify(req),
64
+ signal,
65
+ });
66
+ return res.data;
67
+ }
68
+ async requestGet(method, signal) {
69
+ const res = await this.client.request({
70
+ url: this.getMethodUrl(method),
71
+ method: 'GET',
72
+ headers: {
73
+ 'Content-Type': 'application/json',
74
+ ...this.httpOptions.headers,
75
+ },
76
+ responseType: 'json',
77
+ signal,
78
+ });
79
+ return res.data;
80
+ }
81
+ async requestStreamingPost(method, req, signal) {
82
+ const res = await this.client.request({
83
+ url: this.getMethodUrl(method),
84
+ method: 'POST',
85
+ params: {
86
+ alt: 'sse',
87
+ },
88
+ headers: {
89
+ 'Content-Type': 'application/json',
90
+ ...this.httpOptions.headers,
91
+ },
92
+ responseType: 'stream',
93
+ body: JSON.stringify(req),
94
+ signal,
95
+ });
96
+ return (async function* () {
97
+ const rl = readline.createInterface({
98
+ input: res.data,
99
+ crlfDelay: Infinity,
100
+ });
101
+ let bufferedLines = [];
102
+ for await (const line of rl) {
103
+ if (line === '') {
104
+ if (bufferedLines.length === 0) {
105
+ continue;
106
+ }
107
+ yield JSON.parse(bufferedLines.join('\n'));
108
+ bufferedLines = [];
109
+ }
110
+ else if (line.startsWith('data: ')) {
111
+ bufferedLines.push(line.slice(6).trim());
112
+ }
113
+ else {
114
+ throw new Error(`Unexpected line format in response: ${line}`);
115
+ }
116
+ }
117
+ })();
118
+ }
119
+ getMethodUrl(method) {
120
+ const endpoint = process.env['CODE_ASSIST_ENDPOINT'] ?? exports.CODE_ASSIST_ENDPOINT;
121
+ return `${endpoint}/${exports.CODE_ASSIST_API_VERSION}:${method}`;
122
+ }
123
+ }
124
+ exports.CodeAssistServer = CodeAssistServer;
125
+ function isVpcScAffectedUser(error) {
126
+ if (error && typeof error === 'object' && 'response' in error) {
127
+ const gaxiosError = error;
128
+ const response = gaxiosError.response?.data;
129
+ if (Array.isArray(response?.error?.details)) {
130
+ return response.error.details.some((detail) => detail.reason === 'SECURITY_POLICY_VIOLATED');
131
+ }
132
+ }
133
+ return false;
134
+ }
135
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/code_assist/server.ts"],"names":[],"mappings":";;;AAsBA,0CAA0C;AAE1C,mCAAqC;AAKrC,2CAKqB;AAQR,QAAA,oBAAoB,GAAG,qCAAqC,CAAC;AAC7D,QAAA,uBAAuB,GAAG,YAAY,CAAC;AAEpD,MAAa,gBAAgB;IAC3B,YACW,MAAoB,EACpB,SAAkB,EAClB,cAA2B,EAAE,EAC7B,SAAkB,EAClB,QAAqB;QAJrB,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAS;QAClB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,cAAS,GAAT,SAAS,CAAS;QAClB,aAAQ,GAAR,QAAQ,CAAa;IAC7B,CAAC;IAEJ,KAAK,CAAC,qBAAqB,CACzB,GAA8B,EAC9B,YAAoB;QAEpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC3C,uBAAuB,EACvB,IAAA,oCAAwB,EACtB,GAAG,EACH,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,EACD,GAAG,CAAC,MAAM,EAAE,WAAW,CACxB,CAAC;QACF,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAA8B,EAC9B,YAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,iBAAiB,EACjB,IAAA,oCAAwB,EACtB,GAAG,EACH,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,EACD,GAAG,CAAC,MAAM,EAAE,WAAW,CACxB,CAAC;QACF,OAAO,IAAA,uCAA2B,EAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,GAAuB;QAEvB,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,aAAa,EACb,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,gBAAgB,EAChB,GAAG,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,WAAW,EAAE,EAAE,EAAE,EAAE,kBAAU,CAAC,QAAQ,EAAE;iBACzC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAA0B;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CACjC,aAAa,EACb,IAAA,+BAAmB,EAAC,GAAG,CAAC,CACzB,CAAC;QACF,OAAO,IAAA,kCAAsB,EAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAA4B;QAE5B,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,GAAW,EACX,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;aAC5B;YACD,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,MAAM;SACP,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAS,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAI,MAAc,EAAE,MAAoB;QACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;aAC5B;YACD,YAAY,EAAE,MAAM;YACpB,MAAM;SACP,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAS,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,GAAW,EACX,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACN,GAAG,EAAE,KAAK;aACX;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;aAC5B;YACD,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAC,IAA6B;gBACxC,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YAEH,IAAI,aAAa,GAAa,EAAE,CAAC;YACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAE5B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;oBAChB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBACD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAM,CAAC;oBAChD,aAAa,GAAG,EAAE,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,4BAAoB,CAAC;QAC9D,OAAO,GAAG,QAAQ,IAAI,+BAAuB,IAAI,MAAM,EAAE,CAAC;IAC5D,CAAC;CACF;AA3KD,4CA2KC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,KAInB,CAAC;QACF,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAE1B,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAChC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,0BAA0B,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { UserTierId } from './types';
2
+ import type { OAuth2Client } from 'google-auth-library';
3
+ export declare class ProjectIdRequiredError extends Error {
4
+ constructor();
5
+ }
6
+ export interface UserData {
7
+ projectId: string;
8
+ userTier: UserTierId;
9
+ }
10
+ export declare function setupUser(client: OAuth2Client): Promise<UserData>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectIdRequiredError = void 0;
4
+ exports.setupUser = setupUser;
5
+ const types_1 = require("./types");
6
+ const server_1 = require("./server");
7
+ class ProjectIdRequiredError extends Error {
8
+ constructor() {
9
+ super('This account requires setting the GOOGLE_CLOUD_PROJECT env var. See https://goo.gle/gemini-cli-auth-docs#workspace-gca');
10
+ }
11
+ }
12
+ exports.ProjectIdRequiredError = ProjectIdRequiredError;
13
+ async function setupUser(client) {
14
+ const projectId = process.env['GOOGLE_CLOUD_PROJECT'] || undefined;
15
+ const caServer = new server_1.CodeAssistServer(client, projectId, {}, '', undefined);
16
+ const coreClientMetadata = {
17
+ ideType: 'IDE_UNSPECIFIED',
18
+ platform: 'PLATFORM_UNSPECIFIED',
19
+ pluginType: 'GEMINI',
20
+ };
21
+ const loadRes = await caServer.loadCodeAssist({
22
+ cloudaicompanionProject: projectId,
23
+ metadata: {
24
+ ...coreClientMetadata,
25
+ duetProject: projectId,
26
+ },
27
+ });
28
+ if (loadRes.currentTier) {
29
+ if (!loadRes.cloudaicompanionProject) {
30
+ if (projectId) {
31
+ return {
32
+ projectId,
33
+ userTier: loadRes.currentTier.id,
34
+ };
35
+ }
36
+ throw new ProjectIdRequiredError();
37
+ }
38
+ return {
39
+ projectId: loadRes.cloudaicompanionProject,
40
+ userTier: loadRes.currentTier.id,
41
+ };
42
+ }
43
+ const tier = getOnboardTier(loadRes);
44
+ let onboardReq;
45
+ if (tier.id === types_1.UserTierId.FREE) {
46
+ onboardReq = {
47
+ tierId: tier.id,
48
+ cloudaicompanionProject: undefined,
49
+ metadata: coreClientMetadata,
50
+ };
51
+ }
52
+ else {
53
+ onboardReq = {
54
+ tierId: tier.id,
55
+ cloudaicompanionProject: projectId,
56
+ metadata: {
57
+ ...coreClientMetadata,
58
+ duetProject: projectId,
59
+ },
60
+ };
61
+ }
62
+ let lroRes = await caServer.onboardUser(onboardReq);
63
+ while (!lroRes.done) {
64
+ await new Promise((f) => setTimeout(f, 5000));
65
+ lroRes = await caServer.onboardUser(onboardReq);
66
+ }
67
+ if (!lroRes.response?.cloudaicompanionProject?.id) {
68
+ if (projectId) {
69
+ return {
70
+ projectId,
71
+ userTier: tier.id,
72
+ };
73
+ }
74
+ throw new ProjectIdRequiredError();
75
+ }
76
+ return {
77
+ projectId: lroRes.response.cloudaicompanionProject.id,
78
+ userTier: tier.id,
79
+ };
80
+ }
81
+ function getOnboardTier(res) {
82
+ for (const tier of res.allowedTiers || []) {
83
+ if (tier.isDefault) {
84
+ return tier;
85
+ }
86
+ }
87
+ return {
88
+ name: '',
89
+ description: '',
90
+ id: types_1.UserTierId.LEGACY,
91
+ userDefinedCloudaicompanionProject: true,
92
+ };
93
+ }
94
+ //# sourceMappingURL=setup.js.map