spec-cat 0.1.63 → 0.1.65

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 (271) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/B-bFNWCF.js +43 -0
  3. package/.output/public/_nuxt/{D4LyIv_t.js → BEWSHKZd.js} +1 -1
  4. package/.output/public/_nuxt/{Su-Cl_JF.js → BHhMtuRK.js} +1 -1
  5. package/.output/public/_nuxt/{DwpuOtAP.js → BwRpECPL.js} +1 -1
  6. package/.output/public/_nuxt/{FfyCVKRU.js → CC_9aMCT.js} +1 -1
  7. package/.output/public/_nuxt/CHHbeXzh.js +1 -0
  8. package/.output/public/_nuxt/{DIOhMCOf.js → CzV__9yP.js} +3 -3
  9. package/.output/public/_nuxt/{Bz2rU2zs.js → DWDrIutw.js} +1 -1
  10. package/.output/public/_nuxt/D_4Ow2w2.js +1 -0
  11. package/.output/public/_nuxt/D_T_F7lf.js +1 -0
  12. package/.output/public/_nuxt/{DPOGSCeV.js → DqFq1MXh.js} +1 -1
  13. package/.output/public/_nuxt/YzuyFhrD.js +174 -0
  14. package/.output/public/_nuxt/builds/latest.json +1 -1
  15. package/.output/public/_nuxt/builds/meta/cdc4ded8-9ff7-4e22-abbe-3b8c94caa781.json +1 -0
  16. package/.output/public/_nuxt/default.Cyeq1Er8.css +1 -0
  17. package/.output/public/_nuxt/entry.uBSFaL6A.css +1 -0
  18. package/.output/public/_nuxt/{useTheme.Cny4Z64J.css → useTheme.B4wINCoW.css} +1 -1
  19. package/.output/public/_nuxt/uyJF9wDo.js +58 -0
  20. package/.output/server/chunks/_/aiProviderRegistry.mjs +1 -2
  21. package/.output/server/chunks/_/aiProviderRegistry.mjs.map +1 -1
  22. package/.output/server/chunks/_/aiProviderSelection.mjs +2 -2
  23. package/.output/server/chunks/_/chatGit.mjs +1 -2
  24. package/.output/server/chunks/_/chatGit.mjs.map +1 -1
  25. package/.output/server/chunks/_/claudeProvider.mjs +1 -215
  26. package/.output/server/chunks/_/claudeProvider.mjs.map +1 -1
  27. package/.output/server/chunks/_/claudeService.mjs +50 -54
  28. package/.output/server/chunks/_/claudeService.mjs.map +1 -1
  29. package/.output/server/chunks/_/codexProvider.mjs +47 -812
  30. package/.output/server/chunks/_/codexProvider.mjs.map +1 -1
  31. package/.output/server/chunks/_/git.mjs +1 -2
  32. package/.output/server/chunks/_/git.mjs.map +1 -1
  33. package/.output/server/chunks/_/gitApiHelpers.mjs +1 -1
  34. package/.output/server/chunks/_/gitBranchOperations.mjs +1 -1
  35. package/.output/server/chunks/_/interactiveProviderQuery.mjs +160 -0
  36. package/.output/server/chunks/_/interactiveProviderQuery.mjs.map +1 -0
  37. package/.output/server/chunks/_/jobPersister.mjs +37 -6
  38. package/.output/server/chunks/_/jobPersister.mjs.map +1 -1
  39. package/.output/server/chunks/_/jobQueue.mjs +430 -278
  40. package/.output/server/chunks/_/jobQueue.mjs.map +1 -1
  41. package/.output/server/chunks/_/terminalSessions.mjs +582 -0
  42. package/.output/server/chunks/_/terminalSessions.mjs.map +1 -0
  43. package/.output/server/chunks/_/worktreeSetup.mjs +98 -0
  44. package/.output/server/chunks/_/worktreeSetup.mjs.map +1 -0
  45. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  46. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
  47. package/.output/server/chunks/nitro/nitro.mjs +1227 -620
  48. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  49. package/.output/server/chunks/routes/_ws.mjs +21 -111
  50. package/.output/server/chunks/routes/_ws.mjs.map +1 -1
  51. package/.output/server/chunks/routes/api/ai/providers.get.mjs +3 -1
  52. package/.output/server/chunks/routes/api/ai/providers.get.mjs.map +1 -1
  53. package/.output/server/chunks/routes/api/chat/compare.get.mjs +4 -5
  54. package/.output/server/chunks/routes/api/chat/compare.get.mjs.map +1 -1
  55. package/.output/server/chunks/routes/api/chat/context.get.mjs +4 -2
  56. package/.output/server/chunks/routes/api/chat/context.get.mjs.map +1 -1
  57. package/.output/server/chunks/routes/api/chat/finalize.post.mjs +11 -7
  58. package/.output/server/chunks/routes/api/chat/finalize.post.mjs.map +1 -1
  59. package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs +26 -29
  60. package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs.map +1 -1
  61. package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs +4 -5
  62. package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs.map +1 -1
  63. package/.output/server/chunks/routes/api/chat/preview.delete.mjs +4 -5
  64. package/.output/server/chunks/routes/api/chat/preview.delete.mjs.map +1 -1
  65. package/.output/server/chunks/routes/api/chat/preview.post.mjs +4 -6
  66. package/.output/server/chunks/routes/api/chat/preview.post.mjs.map +1 -1
  67. package/.output/server/chunks/routes/api/chat/rebase.post.mjs +4 -7
  68. package/.output/server/chunks/routes/api/chat/rebase.post.mjs.map +1 -1
  69. package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs +4 -6
  70. package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs.map +1 -1
  71. package/.output/server/chunks/routes/api/chat/worktree.delete.mjs +11 -4
  72. package/.output/server/chunks/routes/api/chat/worktree.delete.mjs.map +1 -1
  73. package/.output/server/chunks/routes/api/chat/worktree.post.mjs +4 -6
  74. package/.output/server/chunks/routes/api/chat/worktree.post.mjs.map +1 -1
  75. package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs +10 -9
  76. package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs.map +1 -1
  77. package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs +4 -7
  78. package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs.map +1 -1
  79. package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs +4 -7
  80. package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs.map +1 -1
  81. package/.output/server/chunks/routes/api/conversations/archives.delete.mjs +40 -0
  82. package/.output/server/chunks/routes/api/conversations/archives.delete.mjs.map +1 -0
  83. package/.output/server/chunks/routes/api/conversations/archives.get.mjs +4 -7
  84. package/.output/server/chunks/routes/api/conversations/archives.get.mjs.map +1 -1
  85. package/.output/server/chunks/routes/api/conversations/update.post.mjs +4 -7
  86. package/.output/server/chunks/routes/api/conversations/update.post.mjs.map +1 -1
  87. package/.output/server/chunks/routes/api/conversations.get.mjs +4 -7
  88. package/.output/server/chunks/routes/api/conversations.get.mjs.map +1 -1
  89. package/.output/server/chunks/routes/api/conversations.post.mjs +4 -7
  90. package/.output/server/chunks/routes/api/conversations.post.mjs.map +1 -1
  91. package/.output/server/chunks/routes/api/cwd.get.mjs +4 -2
  92. package/.output/server/chunks/routes/api/cwd.get.mjs.map +1 -1
  93. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs +3 -4
  94. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs.map +1 -1
  95. package/.output/server/chunks/routes/api/git/branch.delete.mjs +4 -5
  96. package/.output/server/chunks/routes/api/git/branch.delete.mjs.map +1 -1
  97. package/.output/server/chunks/routes/api/git/branches.get.mjs +4 -6
  98. package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
  99. package/.output/server/chunks/routes/api/git/checkout.post.mjs +4 -5
  100. package/.output/server/chunks/routes/api/git/checkout.post.mjs.map +1 -1
  101. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs +3 -4
  102. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs.map +1 -1
  103. package/.output/server/chunks/routes/api/git/clean.post.mjs +3 -4
  104. package/.output/server/chunks/routes/api/git/clean.post.mjs.map +1 -1
  105. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs +3 -4
  106. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs.map +1 -1
  107. package/.output/server/chunks/routes/api/git/commit.post.mjs +4 -5
  108. package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
  109. package/.output/server/chunks/routes/api/git/diff.get.mjs +4 -5
  110. package/.output/server/chunks/routes/api/git/diff.get.mjs.map +1 -1
  111. package/.output/server/chunks/routes/api/git/fetch.post.mjs +3 -4
  112. package/.output/server/chunks/routes/api/git/fetch.post.mjs.map +1 -1
  113. package/.output/server/chunks/routes/api/git/file-diff.get.mjs +4 -5
  114. package/.output/server/chunks/routes/api/git/file-diff.get.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/git/graph.get.mjs +4 -5
  116. package/.output/server/chunks/routes/api/git/graph.get.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/git/log.get.mjs +4 -5
  118. package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/git/merge-base.get.mjs +4 -5
  120. package/.output/server/chunks/routes/api/git/merge-base.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/git/merge.post.mjs +3 -4
  122. package/.output/server/chunks/routes/api/git/merge.post.mjs.map +1 -1
  123. package/.output/server/chunks/routes/api/git/pull.post.mjs +3 -4
  124. package/.output/server/chunks/routes/api/git/pull.post.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/git/push.post.mjs +3 -4
  126. package/.output/server/chunks/routes/api/git/push.post.mjs.map +1 -1
  127. package/.output/server/chunks/routes/api/git/rebase.post.mjs +3 -4
  128. package/.output/server/chunks/routes/api/git/rebase.post.mjs.map +1 -1
  129. package/.output/server/chunks/routes/api/git/remote.delete.mjs +3 -4
  130. package/.output/server/chunks/routes/api/git/remote.delete.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/git/remote.post.mjs +3 -4
  132. package/.output/server/chunks/routes/api/git/remote.post.mjs.map +1 -1
  133. package/.output/server/chunks/routes/api/git/remote.put.mjs +3 -4
  134. package/.output/server/chunks/routes/api/git/remote.put.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/git/remotes.get.mjs +3 -4
  136. package/.output/server/chunks/routes/api/git/remotes.get.mjs.map +1 -1
  137. package/.output/server/chunks/routes/api/git/reset.post.mjs +3 -4
  138. package/.output/server/chunks/routes/api/git/reset.post.mjs.map +1 -1
  139. package/.output/server/chunks/routes/api/git/revert.post.mjs +3 -4
  140. package/.output/server/chunks/routes/api/git/revert.post.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/git/show.get.mjs +4 -5
  142. package/.output/server/chunks/routes/api/git/show.get.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/git/stage.post.mjs +4 -5
  144. package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
  145. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +3 -4
  146. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +3 -4
  148. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +3 -4
  150. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +3 -4
  152. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/git/stash.get.mjs +3 -4
  154. package/.output/server/chunks/routes/api/git/stash.get.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/git/stash.post.mjs +3 -4
  156. package/.output/server/chunks/routes/api/git/stash.post.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/git/state.get.mjs +3 -4
  158. package/.output/server/chunks/routes/api/git/state.get.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/git/status.get.mjs +4 -5
  160. package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +3 -4
  162. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs.map +1 -1
  163. package/.output/server/chunks/routes/api/git/tag-push.post.mjs +3 -4
  164. package/.output/server/chunks/routes/api/git/tag-push.post.mjs.map +1 -1
  165. package/.output/server/chunks/routes/api/git/tag.delete.mjs +3 -4
  166. package/.output/server/chunks/routes/api/git/tag.delete.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/git/tag.post.mjs +3 -4
  168. package/.output/server/chunks/routes/api/git/tag.post.mjs.map +1 -1
  169. package/.output/server/chunks/routes/api/git/unstage.post.mjs +4 -5
  170. package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
  171. package/.output/server/chunks/routes/api/index.get.mjs +7 -4
  172. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  173. package/.output/server/chunks/routes/api/index.get2.mjs +4 -2
  174. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  175. package/.output/server/chunks/routes/api/index.get3.mjs +4 -2
  176. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  177. package/.output/server/chunks/routes/api/index.post.mjs +19 -16
  178. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  179. package/.output/server/chunks/routes/api/index.post2.mjs +4 -6
  180. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  181. package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs +6 -3
  182. package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs.map +1 -1
  183. package/.output/server/chunks/routes/api/jobs/_id_.get.mjs +7 -4
  184. package/.output/server/chunks/routes/api/jobs/_id_.get.mjs.map +1 -1
  185. package/.output/server/chunks/routes/api/rebase/abort.post.mjs +4 -2
  186. package/.output/server/chunks/routes/api/rebase/abort.post.mjs.map +1 -1
  187. package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs +19 -105
  188. package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs.map +1 -1
  189. package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs +3 -1
  190. package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs.map +1 -1
  191. package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs +4 -2
  192. package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs.map +1 -1
  193. package/.output/server/chunks/routes/api/rebase/continue.post.mjs +71 -73
  194. package/.output/server/chunks/routes/api/rebase/continue.post.mjs.map +1 -1
  195. package/.output/server/chunks/routes/api/rebase/resolve.put.mjs +3 -1
  196. package/.output/server/chunks/routes/api/rebase/resolve.put.mjs.map +1 -1
  197. package/.output/server/chunks/routes/api/repository/status.get.mjs +4 -5
  198. package/.output/server/chunks/routes/api/repository/status.get.mjs.map +1 -1
  199. package/.output/server/chunks/routes/api/settings.get.mjs +6 -5
  200. package/.output/server/chunks/routes/api/settings.get.mjs.map +1 -1
  201. package/.output/server/chunks/routes/api/settings.post.mjs +5 -3
  202. package/.output/server/chunks/routes/api/settings.post.mjs.map +1 -1
  203. package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs +3 -1
  204. package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs.map +1 -1
  205. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs +3 -1
  206. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs.map +1 -1
  207. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs +3 -1
  208. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs.map +1 -1
  209. package/.output/server/chunks/routes/api/specs/features.get.mjs +3 -1
  210. package/.output/server/chunks/routes/api/specs/features.get.mjs.map +1 -1
  211. package/.output/server/chunks/routes/api/specs/reindex.post.mjs +4 -2
  212. package/.output/server/chunks/routes/api/specs/reindex.post.mjs.map +1 -1
  213. package/.output/server/chunks/routes/api/specs/search.get.mjs +4 -2
  214. package/.output/server/chunks/routes/api/specs/search.get.mjs.map +1 -1
  215. package/.output/server/chunks/routes/api/specs/status.get.mjs +4 -2
  216. package/.output/server/chunks/routes/api/specs/status.get.mjs.map +1 -1
  217. package/.output/server/chunks/routes/api/specs/traceability/_featureId_.get.mjs +4 -2
  218. package/.output/server/chunks/routes/api/specs/traceability/_featureId_.get.mjs.map +1 -1
  219. package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs +4 -2
  220. package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs.map +1 -1
  221. package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs +3 -1
  222. package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs.map +1 -1
  223. package/.output/server/chunks/routes/git-watcher-ws.mjs +4 -2
  224. package/.output/server/chunks/routes/git-watcher-ws.mjs.map +1 -1
  225. package/.output/server/chunks/routes/renderer.mjs +4 -2
  226. package/.output/server/chunks/routes/terminal-ws.mjs +230 -0
  227. package/.output/server/chunks/routes/terminal-ws.mjs.map +1 -0
  228. package/.output/server/index.mjs +4 -2
  229. package/.output/server/index.mjs.map +1 -1
  230. package/.output/server/node_modules/node-pty/build/Makefile +369 -0
  231. package/.output/server/node_modules/node-pty/build/Release/pty.node +0 -0
  232. package/.output/server/node_modules/node-pty/build/binding.Makefile +6 -0
  233. package/.output/server/node_modules/node-pty/build/config.gypi +513 -0
  234. package/.output/server/node_modules/node-pty/build/pty.target.mk +168 -0
  235. package/.output/server/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  236. package/.output/server/node_modules/node-pty/lib/index.js +52 -0
  237. package/.output/server/node_modules/node-pty/lib/shared/conout.js +11 -0
  238. package/.output/server/node_modules/node-pty/lib/terminal.js +190 -0
  239. package/.output/server/node_modules/node-pty/lib/unixTerminal.js +346 -0
  240. package/.output/server/node_modules/node-pty/lib/utils.js +39 -0
  241. package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  242. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js +320 -0
  243. package/.output/server/node_modules/node-pty/lib/windowsTerminal.js +199 -0
  244. package/.output/server/node_modules/node-pty/package.json +64 -0
  245. package/.output/server/package.json +2 -1
  246. package/package.json +6 -1
  247. package/.output/public/_nuxt/2zamijve.js +0 -1
  248. package/.output/public/_nuxt/BEjIzkrM.js +0 -85
  249. package/.output/public/_nuxt/BaSsfm-t.js +0 -36
  250. package/.output/public/_nuxt/BjdLSVUw.js +0 -1
  251. package/.output/public/_nuxt/DeqM2TrP.js +0 -1
  252. package/.output/public/_nuxt/builds/meta/74089fa1-2fbb-4792-94aa-7535d2aec557.json +0 -1
  253. package/.output/public/_nuxt/default.DKSPicGu.css +0 -1
  254. package/.output/public/_nuxt/entry.BUDfUMkE.css +0 -1
  255. package/.output/public/_nuxt/zrVRZSxq.js +0 -64
  256. package/.output/server/chunks/_/baseBranch.mjs +0 -137
  257. package/.output/server/chunks/_/baseBranch.mjs.map +0 -1
  258. package/.output/server/chunks/_/claude.mjs +0 -164
  259. package/.output/server/chunks/_/claude.mjs.map +0 -1
  260. package/.output/server/chunks/_/conversationStore.mjs +0 -257
  261. package/.output/server/chunks/_/conversationStore.mjs.map +0 -1
  262. package/.output/server/chunks/_/geminiProvider.mjs +0 -372
  263. package/.output/server/chunks/_/geminiProvider.mjs.map +0 -1
  264. package/.output/server/chunks/_/gitExec.mjs +0 -48
  265. package/.output/server/chunks/_/gitExec.mjs.map +0 -1
  266. package/.output/server/chunks/_/providerProcessError.mjs +0 -163
  267. package/.output/server/chunks/_/providerProcessError.mjs.map +0 -1
  268. package/.output/server/chunks/_/uiAdapter.mjs +0 -421
  269. package/.output/server/chunks/_/uiAdapter.mjs.map +0 -1
  270. package/.output/server/chunks/routes/api/chat.post.mjs +0 -276
  271. package/.output/server/chunks/routes/api/chat.post.mjs.map +0 -1
@@ -1,372 +0,0 @@
1
- import { r as registerProvider } from './aiProviderRegistry.mjs';
2
- import { execSync, spawn } from 'node:child_process';
3
- import { join } from 'node:path';
4
- import { existsSync } from 'node:fs';
5
- import { homedir } from 'node:os';
6
-
7
- const GEMINI_MODELS = [
8
- {
9
- value: "auto-3",
10
- label: "Auto (Gemini 3)",
11
- description: "Let Gemini CLI decide the best model for the task (Gemini 3 series)",
12
- modelId: "auto-3",
13
- default: true
14
- },
15
- {
16
- value: "auto-2.5",
17
- label: "Auto (Gemini 2.5)",
18
- description: "Let Gemini CLI decide the best model for the task (Gemini 2.5 series)",
19
- modelId: "auto-2.5"
20
- },
21
- {
22
- value: "manual",
23
- label: "Manual",
24
- description: "Manually select a model",
25
- modelId: "manual"
26
- }
27
- ];
28
-
29
- let cachedGeminiPath = null;
30
- function getGeminiCliPath() {
31
- if (cachedGeminiPath) return cachedGeminiPath;
32
- try {
33
- const path = execSync("which gemini", { stdio: ["ignore", "pipe", "ignore"] }).toString().trim();
34
- if (path) {
35
- cachedGeminiPath = path;
36
- return path;
37
- }
38
- } catch {
39
- }
40
- const commonPaths = [
41
- join(homedir(), ".nvm/versions/node/v22.22.0/bin/gemini"),
42
- // Example from session_context
43
- "/usr/local/bin/gemini",
44
- "/opt/homebrew/bin/gemini"
45
- ];
46
- for (const p of commonPaths) {
47
- if (existsSync(p)) {
48
- cachedGeminiPath = p;
49
- return p;
50
- }
51
- }
52
- return "gemini";
53
- }
54
-
55
- function killProc(proc) {
56
- try {
57
- const pid = proc.pid;
58
- console.log("[GeminiProvider] killProc: sending SIGTERM to pid", pid);
59
- proc.kill("SIGTERM");
60
- const forceKillTimer = setTimeout(() => {
61
- try {
62
- console.log("[GeminiProvider] killProc: SIGTERM timeout, sending SIGKILL to pid", pid);
63
- proc.kill("SIGKILL");
64
- } catch {
65
- }
66
- }, 3e3);
67
- proc.once("exit", (code, signal) => {
68
- console.log("[GeminiProvider] killProc: process exited, pid", pid, "code", code, "signal", signal);
69
- clearTimeout(forceKillTimer);
70
- });
71
- } catch (err) {
72
- console.error("[GeminiProvider] killProc error:", err);
73
- }
74
- }
75
- const metadata = {
76
- id: "gemini",
77
- name: "Gemini CLI",
78
- description: "Local Gemini CLI session via Google Gemini API.",
79
- models: GEMINI_MODELS.map((model) => ({
80
- key: model.value,
81
- label: model.label,
82
- description: model.description,
83
- default: model.default || false
84
- })),
85
- capabilities: {
86
- streaming: true,
87
- permissions: true,
88
- resume: true,
89
- autoCommit: true,
90
- conflictResolution: true
91
- }
92
- };
93
- const sessionState = /* @__PURE__ */ new Map();
94
- let lastKnownSessionId = null;
95
- const geminiProvider = {
96
- metadata,
97
- toCanonicalEvents(data) {
98
- const event = data;
99
- const events = [];
100
- const rawSessionId = event.session_id;
101
- if (rawSessionId) {
102
- lastKnownSessionId = rawSessionId;
103
- }
104
- const sessionId = lastKnownSessionId || "";
105
- const getErrorText = () => {
106
- const direct = event.error;
107
- if (typeof direct === "string" && direct.trim()) {
108
- return direct.trim();
109
- }
110
- if (direct && typeof direct === "object" && !Array.isArray(direct)) {
111
- const msg2 = direct.message;
112
- if (typeof msg2 === "string" && msg2.trim()) {
113
- return msg2.trim();
114
- }
115
- }
116
- const msg = event.message;
117
- if (typeof msg === "string" && msg.trim()) {
118
- return msg.trim();
119
- }
120
- const result = event.result;
121
- if (result && typeof result === "object" && !Array.isArray(result)) {
122
- const resultObj = result;
123
- const nestedError = resultObj.error;
124
- if (typeof nestedError === "string" && nestedError.trim()) {
125
- return nestedError.trim();
126
- }
127
- if (nestedError && typeof nestedError === "object" && !Array.isArray(nestedError)) {
128
- const nestedMsg2 = nestedError.message;
129
- if (typeof nestedMsg2 === "string" && nestedMsg2.trim()) {
130
- return nestedMsg2.trim();
131
- }
132
- }
133
- const nestedMsg = resultObj.message;
134
- if (typeof nestedMsg === "string" && nestedMsg.trim()) {
135
- return nestedMsg.trim();
136
- }
137
- }
138
- return "";
139
- };
140
- if (!sessionState.has(sessionId)) {
141
- sessionState.set(sessionId, { textOpen: false, textBlockId: "", nextIndex: 0 });
142
- }
143
- const state = sessionState.get(sessionId);
144
- const closeTextBlock = () => {
145
- if (!state.textOpen) return;
146
- state.textOpen = false;
147
- events.push({
148
- type: "block_end",
149
- sessionId,
150
- blockId: state.textBlockId
151
- });
152
- };
153
- const ensureTextBlock = () => {
154
- if (state.textOpen) return;
155
- state.textOpen = true;
156
- const idx = state.nextIndex++;
157
- state.textBlockId = `gemini-text-${sessionId}-${idx}`;
158
- events.push({
159
- type: "block_start",
160
- sessionId,
161
- blockId: state.textBlockId,
162
- blockType: "text",
163
- index: idx,
164
- text: ""
165
- });
166
- };
167
- if (event.type === "message" && event.role === "assistant") {
168
- ensureTextBlock();
169
- const text = event.content;
170
- if (text) {
171
- events.push({
172
- type: "block_delta",
173
- sessionId,
174
- blockId: state.textBlockId,
175
- text
176
- });
177
- }
178
- }
179
- if (event.type === "tool_use") {
180
- const toolId = event.tool_id || `gemini-tool-${Date.now()}`;
181
- const toolName = event.tool_name || "unknown";
182
- const params = event.parameters && typeof event.parameters === "object" ? event.parameters : {};
183
- closeTextBlock();
184
- const toolIndex = state.nextIndex++;
185
- events.push({
186
- type: "block_start",
187
- sessionId,
188
- blockId: toolId,
189
- blockType: "tool_use",
190
- name: toolName,
191
- toolUseId: toolId,
192
- index: toolIndex
193
- });
194
- if (Object.keys(params).length > 0) {
195
- events.push({
196
- type: "block_delta",
197
- sessionId,
198
- blockId: toolId,
199
- index: toolIndex,
200
- partialJson: JSON.stringify(params)
201
- });
202
- }
203
- events.push({
204
- type: "block_end",
205
- sessionId,
206
- blockId: toolId,
207
- index: toolIndex
208
- });
209
- }
210
- if (event.type === "tool_result") {
211
- const toolId = event.tool_id || "";
212
- const isError = event.status !== "success";
213
- let content = "";
214
- if (typeof event.output === "string") {
215
- content = event.output;
216
- }
217
- if (isError && event.error && typeof event.error === "object") {
218
- const errMsg = event.error.message;
219
- if (typeof errMsg === "string") {
220
- content = content ? `${content}
221
- ${errMsg}` : errMsg;
222
- }
223
- }
224
- events.push({
225
- type: "tool_result",
226
- sessionId,
227
- toolUseId: toolId,
228
- content,
229
- isError
230
- });
231
- }
232
- if (event.type === "init" || event.subtype === "init") {
233
- const rawModel = event.model || "";
234
- const matched = GEMINI_MODELS.find((m) => m.modelId === rawModel || m.value === rawModel);
235
- const modelLabel = matched ? matched.label : rawModel;
236
- events.push({
237
- type: "session_init",
238
- sessionId,
239
- model: modelLabel,
240
- tools: event.tools || [],
241
- permissionMode: "",
242
- cwd: ""
243
- });
244
- }
245
- if (event.type === "result") {
246
- closeTextBlock();
247
- sessionState.delete(sessionId);
248
- const status = event.status || "";
249
- const isError = status !== "success";
250
- const stats = event.stats;
251
- events.push({
252
- type: "turn_result",
253
- sessionId,
254
- subtype: isError ? "error" : "success",
255
- durationMs: stats == null ? void 0 : stats.duration_ms,
256
- usage: stats ? {
257
- inputTokens: stats.input_tokens || 0,
258
- outputTokens: stats.output_tokens || 0,
259
- cacheCreationInputTokens: 0,
260
- cacheReadInputTokens: 0
261
- } : void 0
262
- });
263
- if (isError) {
264
- events.push({
265
- type: "error",
266
- sessionId,
267
- error: getErrorText() || "Provider reported an execution error."
268
- });
269
- }
270
- }
271
- if (event.type === "error") {
272
- events.push({
273
- type: "error",
274
- sessionId,
275
- error: getErrorText() || "Provider reported an execution error."
276
- });
277
- }
278
- return events;
279
- },
280
- streamChat(opts, callbacks) {
281
- var _a, _b, _c;
282
- const cliPath = getGeminiCliPath();
283
- const modelEntry = GEMINI_MODELS.find((m) => m.value === opts.selection.modelKey) || GEMINI_MODELS[0];
284
- const modelId = modelEntry.modelId;
285
- const args = [
286
- "--prompt",
287
- opts.message,
288
- "--output-format",
289
- "stream-json"
290
- ];
291
- if (!modelId.startsWith("auto-") && modelId !== "manual") {
292
- args.push("--model", modelId);
293
- }
294
- const mode = opts.permissionMode || "ask";
295
- switch (mode) {
296
- case "plan":
297
- args.push("--approval-mode", "plan");
298
- break;
299
- case "auto":
300
- args.push("--approval-mode", "yolo");
301
- break;
302
- case "bypass":
303
- args.push("--yolo");
304
- break;
305
- case "ask":
306
- args.push("--approval-mode", "default");
307
- if (opts.approvedTools && opts.approvedTools.length > 0) {
308
- args.push("--allowed-tools", opts.approvedTools.join(","));
309
- }
310
- break;
311
- }
312
- if (opts.resumeSessionId) {
313
- args.push("--resume", opts.resumeSessionId);
314
- }
315
- const proc = spawn(cliPath, args, {
316
- cwd: opts.cwd,
317
- stdio: ["pipe", "pipe", "pipe"],
318
- env: {
319
- ...process.env,
320
- NODE_NO_WARNINGS: "1",
321
- NO_COLOR: "1"
322
- }
323
- });
324
- (_a = proc.stdin) == null ? void 0 : _a.end();
325
- let lineBuffer = "";
326
- const nonJsonOutput = [];
327
- (_b = proc.stdout) == null ? void 0 : _b.on("data", (data) => {
328
- lineBuffer += data.toString();
329
- const lines = lineBuffer.split("\n");
330
- lineBuffer = lines.pop() || "";
331
- for (const line of lines) {
332
- const cleaned = line.trim();
333
- if (!cleaned) continue;
334
- try {
335
- const parsed = JSON.parse(cleaned);
336
- callbacks.onProviderJson(parsed);
337
- } catch {
338
- nonJsonOutput.push(cleaned);
339
- }
340
- }
341
- });
342
- (_c = proc.stderr) == null ? void 0 : _c.on("data", (data) => {
343
- const text = data.toString().trim();
344
- if (text) {
345
- nonJsonOutput.push(text);
346
- }
347
- });
348
- proc.on("close", (exitCode, signal) => {
349
- if (lineBuffer.trim()) {
350
- try {
351
- callbacks.onProviderJson(JSON.parse(lineBuffer.trim()));
352
- } catch {
353
- nonJsonOutput.push(lineBuffer.trim());
354
- }
355
- }
356
- callbacks.onClose({ exitCode, signal, nonJsonOutput });
357
- });
358
- proc.on("error", (error) => {
359
- callbacks.onError(error);
360
- });
361
- return {
362
- kill: () => killProc(proc)
363
- };
364
- },
365
- isModelSupported(modelKey) {
366
- return GEMINI_MODELS.some((model) => model.value === modelKey);
367
- }
368
- };
369
- registerProvider(geminiProvider);
370
-
371
- export { geminiProvider as default };
372
- //# sourceMappingURL=geminiProvider.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geminiProvider.mjs","sources":["../../../../types/gemini.ts","../../../../server/utils/gemini.ts","../../../../server/utils/geminiProvider.ts"],"names":["msg","nestedMsg"],"mappings":";;;;;;AAcO,MAAM,aAAA,GAAoC;AAAA,EAC/C;AAAA,IACE,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,iBAAA;AAAA,IACP,WAAA,EAAa,qEAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO,mBAAA;AAAA,IACP,WAAA,EAAa,uEAAA;AAAA,IACb,OAAA,EAAS;AAAA,GACX;AAAA,EACA;AAAA,IACE,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,WAAA,EAAa,yBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;;AC7BA,IAAI,gBAAA,GAAkC,IAAA;AAM/B,SAAS,gBAAA,GAA2B;AACzC,EAAA,IAAI,kBAAkB,OAAO,gBAAA;AAG7B,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,cAAA,EAAgB,EAAE,OAAO,CAAC,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAA,EAAG,CAAA,CAAE,QAAA,GAAW,IAAA,EAAK;AAC/F,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,gBAAA,GAAmB,IAAA;AACnB,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA,CAAA,MAAQ;AAAA,EAAC;AAGT,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,IAAA,CAAK,OAAA,EAAQ,EAAG,wCAAwC,CAAA;AAAA;AAAA,IACxD,uBAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,KAAA,MAAW,KAAK,WAAA,EAAa;AAC3B,IAAA,IAAI,UAAA,CAAW,CAAC,CAAA,EAAG;AACjB,MAAA,gBAAA,GAAmB,CAAA;AACnB,MAAA,OAAO,CAAA;AAAA,IACT;AAAA,EACF;AAGA,EAAA,OAAO,QAAA;AACT;;ACxBA,SAAS,SAAS,IAAA,EAAoB;AACpC,EAAA,IAAI;AACF,IAAA,MAAM,MAAM,IAAA,CAAK,GAAA;AACjB,IAAA,OAAA,CAAQ,GAAA,CAAI,qDAAqD,GAAG,CAAA;AACpE,IAAA,IAAA,CAAK,KAAK,SAAS,CAAA;AACnB,IAAA,MAAM,cAAA,GAAiB,WAAW,MAAM;AACtC,MAAA,IAAI;AACF,QAAA,OAAA,CAAQ,GAAA,CAAI,sEAAsE,GAAG,CAAA;AACrF,QAAA,IAAA,CAAK,KAAK,SAAS,CAAA;AAAA,MACrB,CAAA,CAAA,MAAQ;AAAA,MAAC;AAAA,IACX,GAAG,GAAI,CAAA;AACP,IAAA,IAAA,CAAK,IAAA,CAAK,MAAA,EAAQ,CAAC,IAAA,EAAM,MAAA,KAAW;AAClC,MAAA,OAAA,CAAQ,IAAI,gDAAA,EAAkD,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,UAAU,MAAM,CAAA;AACjG,MAAA,YAAA,CAAa,cAAc,CAAA;AAAA,IAC7B,CAAC,CAAA;AAAA,EACH,SAAS,GAAA,EAAK;AACZ,IAAA,OAAA,CAAQ,KAAA,CAAM,oCAAoC,GAAG,CAAA;AAAA,EACvD;AACF;AAEA,MAAM,QAAA,GAAW;AAAA,EACf,EAAA,EAAI,QAAA;AAAA,EACJ,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,iDAAA;AAAA,EACb,MAAA,EAAQ,aAAA,CAAc,GAAA,CAAI,CAAC,KAAA,MAAW;AAAA,IACpC,KAAK,KAAA,CAAM,KAAA;AAAA,IACX,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,aAAa,KAAA,CAAM,WAAA;AAAA,IACnB,OAAA,EAAS,MAAM,OAAA,IAAW;AAAA,GAC5B,CAAE,CAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,SAAA,EAAW,IAAA;AAAA,IACX,WAAA,EAAa,IAAA;AAAA,IACb,MAAA,EAAQ,IAAA;AAAA,IACR,UAAA,EAAY,IAAA;AAAA,IACZ,kBAAA,EAAoB;AAAA;AAExB,CAAA;AAGA,MAAM,YAAA,uBAAmB,GAAA,EAA2E;AAGpG,IAAI,kBAAA,GAAoC,IAAA;AAExC,MAAM,cAAA,GAA6B;AAAA,EACjC,QAAA;AAAA,EACA,kBAAkB,IAAA,EAAM;AACtB,IAAA,MAAM,KAAA,GAAQ,IAAA;AACd,IAAA,MAAM,SAA0B,EAAC;AAGjC,IAAA,MAAM,eAAe,KAAA,CAAM,UAAA;AAC3B,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,kBAAA,GAAqB,YAAA;AAAA,IACvB;AACA,IAAA,MAAM,YAAY,kBAAA,IAAsB,EAAA;AACxC,IAAA,MAAM,eAAe,MAAc;AACjC,MAAA,MAAM,SAAS,KAAA,CAAM,KAAA;AACrB,MAAA,IAAI,OAAO,MAAA,KAAW,QAAA,IAAY,MAAA,CAAO,MAAK,EAAG;AAC/C,QAAA,OAAO,OAAO,IAAA,EAAK;AAAA,MACrB;AACA,MAAA,IAAI,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AAClE,QAAA,MAAMA,OAAO,MAAA,CAAmC,OAAA;AAChD,QAAA,IAAI,OAAOA,IAAAA,KAAQ,QAAA,IAAYA,IAAAA,CAAI,MAAK,EAAG;AACzC,UAAA,OAAOA,KAAI,IAAA,EAAK;AAAA,QAClB;AAAA,MACF;AAEA,MAAA,MAAM,MAAM,KAAA,CAAM,OAAA;AAClB,MAAA,IAAI,OAAO,GAAA,KAAQ,QAAA,IAAY,GAAA,CAAI,MAAK,EAAG;AACzC,QAAA,OAAO,IAAI,IAAA,EAAK;AAAA,MAClB;AAEA,MAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,MAAA,IAAI,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AAClE,QAAA,MAAM,SAAA,GAAY,MAAA;AAClB,QAAA,MAAM,cAAc,SAAA,CAAU,KAAA;AAC9B,QAAA,IAAI,OAAO,WAAA,KAAgB,QAAA,IAAY,WAAA,CAAY,MAAK,EAAG;AACzD,UAAA,OAAO,YAAY,IAAA,EAAK;AAAA,QAC1B;AACA,QAAA,IAAI,WAAA,IAAe,OAAO,WAAA,KAAgB,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG;AACjF,UAAA,MAAMC,aAAa,WAAA,CAAwC,OAAA;AAC3D,UAAA,IAAI,OAAOA,UAAAA,KAAc,QAAA,IAAYA,UAAAA,CAAU,MAAK,EAAG;AACrD,YAAA,OAAOA,WAAU,IAAA,EAAK;AAAA,UACxB;AAAA,QACF;AACA,QAAA,MAAM,YAAY,SAAA,CAAU,OAAA;AAC5B,QAAA,IAAI,OAAO,SAAA,KAAc,QAAA,IAAY,SAAA,CAAU,MAAK,EAAG;AACrD,UAAA,OAAO,UAAU,IAAA,EAAK;AAAA,QACxB;AAAA,MACF;AAEA,MAAA,OAAO,EAAA;AAAA,IACT,CAAA;AAGA,IAAA,IAAI,CAAC,YAAA,CAAa,GAAA,CAAI,SAAS,CAAA,EAAG;AAChC,MAAA,YAAA,CAAa,GAAA,CAAI,WAAW,EAAE,QAAA,EAAU,OAAO,WAAA,EAAa,EAAA,EAAI,SAAA,EAAW,CAAA,EAAG,CAAA;AAAA,IAChF;AACA,IAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,GAAA,CAAI,SAAS,CAAA;AAGxC,IAAA,MAAM,iBAAiB,MAAM;AAC3B,MAAA,IAAI,CAAC,MAAM,QAAA,EAAU;AACrB,MAAA,KAAA,CAAM,QAAA,GAAW,KAAA;AACjB,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,WAAA;AAAA,QACN,SAAA;AAAA,QACA,SAAS,KAAA,CAAM;AAAA,OACS,CAAA;AAAA,IAC5B,CAAA;AAGA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,IAAI,MAAM,QAAA,EAAU;AACpB,MAAA,KAAA,CAAM,QAAA,GAAW,IAAA;AACjB,MAAA,MAAM,MAAM,KAAA,CAAM,SAAA,EAAA;AAClB,MAAA,KAAA,CAAM,WAAA,GAAc,CAAA,YAAA,EAAe,SAAS,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AACnD,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,SAAA;AAAA,QACA,SAAS,KAAA,CAAM,WAAA;AAAA,QACf,SAAA,EAAW,MAAA;AAAA,QACX,KAAA,EAAO,GAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACoB,CAAA;AAAA,IAC9B,CAAA;AAEA,IAAA,IAAI,KAAA,CAAM,IAAA,KAAS,SAAA,IAAa,KAAA,CAAM,SAAS,WAAA,EAAa;AAC1D,MAAA,eAAA,EAAgB;AAEhB,MAAA,MAAM,OAAO,KAAA,CAAM,OAAA;AACnB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,UACV,IAAA,EAAM,aAAA;AAAA,UACN,SAAA;AAAA,UACA,SAAS,KAAA,CAAM,WAAA;AAAA,UACf;AAAA,SAC0B,CAAA;AAAA,MAC9B;AAAA,IACF;AAGA,IAAA,IAAI,KAAA,CAAM,SAAS,UAAA,EAAY;AAC7B,MAAA,MAAM,SAAU,KAAA,CAAM,OAAA,IAAsB,CAAA,YAAA,EAAe,IAAA,CAAK,KAAK,CAAA,CAAA;AACrE,MAAA,MAAM,QAAA,GAAY,MAAM,SAAA,IAAwB,SAAA;AAChD,MAAA,MAAM,MAAA,GAAU,MAAM,UAAA,IAAc,OAAO,MAAM,UAAA,KAAe,QAAA,GAC5D,KAAA,CAAM,UAAA,GACN,EAAC;AAGL,MAAA,cAAA,EAAe;AAEf,MAAA,MAAM,YAAY,KAAA,CAAM,SAAA,EAAA;AACxB,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,SAAA;AAAA,QACA,OAAA,EAAS,MAAA;AAAA,QACT,SAAA,EAAW,UAAA;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,SAAA,EAAW,MAAA;AAAA,QACX,KAAA,EAAO;AAAA,OACmB,CAAA;AAG5B,MAAA,IAAI,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,SAAS,CAAA,EAAG;AAClC,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,UACV,IAAA,EAAM,aAAA;AAAA,UACN,SAAA;AAAA,UACA,OAAA,EAAS,MAAA;AAAA,UACT,KAAA,EAAO,SAAA;AAAA,UACP,WAAA,EAAa,IAAA,CAAK,SAAA,CAAU,MAAM;AAAA,SACR,CAAA;AAAA,MAC9B;AAEA,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,WAAA;AAAA,QACN,SAAA;AAAA,QACA,OAAA,EAAS,MAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACiB,CAAA;AAAA,IAC5B;AAGA,IAAA,IAAI,KAAA,CAAM,SAAS,aAAA,EAAe;AAChC,MAAA,MAAM,MAAA,GAAU,MAAM,OAAA,IAAsB,EAAA;AAC5C,MAAA,MAAM,OAAA,GAAW,MAAM,MAAA,KAAsB,SAAA;AAC7C,MAAA,IAAI,OAAA,GAAU,EAAA;AACd,MAAA,IAAI,OAAO,KAAA,CAAM,MAAA,KAAW,QAAA,EAAU;AACpC,QAAA,OAAA,GAAU,KAAA,CAAM,MAAA;AAAA,MAClB;AACA,MAAA,IAAI,WAAW,KAAA,CAAM,KAAA,IAAS,OAAO,KAAA,CAAM,UAAU,QAAA,EAAU;AAC7D,QAAA,MAAM,MAAA,GAAU,MAAM,KAAA,CAAkC,OAAA;AACxD,QAAA,IAAI,OAAO,WAAW,QAAA,EAAU;AAC9B,UAAA,OAAA,GAAU,OAAA,GAAU,GAAG,OAAO;AAAA,EAAK,MAAM,CAAA,CAAA,GAAK,MAAA;AAAA,QAChD;AAAA,MACF;AAEA,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,SAAA;AAAA,QACA,SAAA,EAAW,MAAA;AAAA,QACX,OAAA;AAAA,QACA;AAAA,OAC0B,CAAA;AAAA,IAC9B;AAEA,IAAA,IAAI,KAAA,CAAM,IAAA,KAAS,MAAA,IAAU,KAAA,CAAM,YAAY,MAAA,EAAQ;AACrD,MAAA,MAAM,QAAA,GAAY,MAAM,KAAA,IAAoB,EAAA;AAC5C,MAAA,MAAM,OAAA,GAAU,cAAc,IAAA,CAAK,CAAA,CAAA,KAAK,EAAE,OAAA,KAAY,QAAA,IAAY,CAAA,CAAE,KAAA,KAAU,QAAQ,CAAA;AACtF,MAAA,MAAM,UAAA,GAAa,OAAA,GAAU,OAAA,CAAQ,KAAA,GAAQ,QAAA;AAE7C,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,cAAA;AAAA,QACN,SAAA;AAAA,QACA,KAAA,EAAO,UAAA;AAAA,QACP,KAAA,EAAQ,KAAA,CAAM,KAAA,IAAsB,EAAC;AAAA,QACrC,cAAA,EAAgB,EAAA;AAAA,QAChB,GAAA,EAAK;AAAA,OACsB,CAAA;AAAA,IAC/B;AAEA,IAAA,IAAI,KAAA,CAAM,SAAS,QAAA,EAAU;AAE3B,MAAA,cAAA,EAAe;AACf,MAAA,YAAA,CAAa,OAAO,SAAS,CAAA;AAE7B,MAAA,MAAM,MAAA,GAAU,MAAM,MAAA,IAAqB,EAAA;AAC3C,MAAA,MAAM,UAAU,MAAA,KAAW,SAAA;AAC3B,MAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,SAAA;AAAA,QACA,OAAA,EAAS,UAAU,OAAA,GAAU,SAAA;AAAA,QAC7B,YAAY,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,WAAA;AAAA,QACnB,OAAO,KAAA,GAAQ;AAAA,UACb,WAAA,EAAa,MAAM,YAAA,IAAgB,CAAA;AAAA,UACnC,YAAA,EAAc,MAAM,aAAA,IAAiB,CAAA;AAAA,UACrC,wBAAA,EAA0B,CAAA;AAAA,UAC1B,oBAAA,EAAsB;AAAA,SACxB,GAAI;AAAA,OACsB,CAAA;AAE5B,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,UACV,IAAA,EAAM,OAAA;AAAA,UACN,SAAA;AAAA,UACA,KAAA,EAAO,cAAa,IAAK;AAAA,SACnB,CAAA;AAAA,MACV;AAAA,IACF;AAEA,IAAA,IAAI,KAAA,CAAM,SAAS,OAAA,EAAS;AAC1B,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,SAAA;AAAA,QACA,KAAA,EAAO,cAAa,IAAK;AAAA,OACnB,CAAA;AAAA,IACV;AAEA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA;AAAA,EACA,UAAA,CAAW,MAA+B,SAAA,EAAkE;AAtR9G,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAuRI,IAAA,MAAM,UAAU,gBAAA,EAAiB;AACjC,IAAA,MAAM,UAAA,GAAa,aAAA,CAAc,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,KAAA,KAAU,IAAA,CAAK,SAAA,CAAU,QAAQ,CAAA,IAAK,aAAA,CAAc,CAAC,CAAA;AAClG,IAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAE3B,IAAA,MAAM,IAAA,GAAiB;AAAA,MACrB,UAAA;AAAA,MAAY,IAAA,CAAK,OAAA;AAAA,MACjB,iBAAA;AAAA,MAAmB;AAAA,KACrB;AAEA,IAAA,IAAI,CAAC,OAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,IAAK,YAAY,QAAA,EAAU;AACxD,MAAA,IAAA,CAAK,IAAA,CAAK,WAAW,OAAO,CAAA;AAAA,IAC9B;AAEA,IAAA,MAAM,IAAA,GAAO,KAAK,cAAA,IAAkB,KAAA;AACpC,IAAA,QAAQ,IAAA;AAAM,MACZ,KAAK,MAAA;AACH,QAAA,IAAA,CAAK,IAAA,CAAK,mBAAmB,MAAM,CAAA;AACnC,QAAA;AAAA,MACF,KAAK,MAAA;AACH,QAAA,IAAA,CAAK,IAAA,CAAK,mBAAmB,MAAM,CAAA;AACnC,QAAA;AAAA,MACF,KAAK,QAAA;AACH,QAAA,IAAA,CAAK,KAAK,QAAQ,CAAA;AAClB,QAAA;AAAA,MACF,KAAK,KAAA;AACH,QAAA,IAAA,CAAK,IAAA,CAAK,mBAAmB,SAAS,CAAA;AACtC,QAAA,IAAI,IAAA,CAAK,aAAA,IAAiB,IAAA,CAAK,aAAA,CAAc,SAAS,CAAA,EAAG;AACvD,UAAA,IAAA,CAAK,KAAK,iBAAA,EAAmB,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,GAAG,CAAC,CAAA;AAAA,QAC3D;AACA,QAAA;AAAA;AAGJ,IAAA,IAAI,KAAK,eAAA,EAAiB;AACxB,MAAA,IAAA,CAAK,IAAA,CAAK,UAAA,EAAY,IAAA,CAAK,eAAe,CAAA;AAAA,IAC5C;AAEA,IAAA,MAAM,IAAA,GAAO,KAAA,CAAM,OAAA,EAAS,IAAA,EAAM;AAAA,MAChC,KAAK,IAAA,CAAK,GAAA;AAAA,MACV,KAAA,EAAO,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAM,CAAA;AAAA,MAC9B,GAAA,EAAK;AAAA,QACH,GAAG,OAAA,CAAQ,GAAA;AAAA,QACX,gBAAA,EAAkB,GAAA;AAAA,QAClB,QAAA,EAAU;AAAA;AACZ,KACD,CAAA;AACD,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,UAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,GAAA,EAAA;AAEZ,IAAA,IAAI,UAAA,GAAa,EAAA;AACjB,IAAA,MAAM,gBAA0B,EAAC;AAEjC,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,MAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,EAAA,CAAG,MAAA,EAAQ,CAAC,IAAA,KAAiB;AACxC,MAAA,UAAA,IAAc,KAAK,QAAA,EAAS;AAC5B,MAAA,MAAM,KAAA,GAAQ,UAAA,CAAW,KAAA,CAAM,IAAI,CAAA;AACnC,MAAA,UAAA,GAAa,KAAA,CAAM,KAAI,IAAK,EAAA;AAE5B,MAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,QAAA,MAAM,OAAA,GAAU,KAAK,IAAA,EAAK;AAC1B,QAAA,IAAI,CAAC,OAAA,EAAS;AAEd,QAAA,IAAI;AACF,UAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AACjC,UAAA,SAAA,CAAU,eAAe,MAAM,CAAA;AAAA,QACjC,CAAA,CAAA,MAAQ;AACN,UAAA,aAAA,CAAc,KAAK,OAAO,CAAA;AAAA,QAC5B;AAAA,MACF;AAAA,IACF,CAAA,CAAA;AAEA,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,MAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,EAAA,CAAG,MAAA,EAAQ,CAAC,IAAA,KAAiB;AACxC,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,QAAA,EAAS,CAAE,IAAA,EAAK;AAClC,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,aAAA,CAAc,KAAK,IAAI,CAAA;AAAA,MACzB;AAAA,IACF,CAAA,CAAA;AAEA,IAAA,IAAA,CAAK,EAAA,CAAG,OAAA,EAAS,CAAC,QAAA,EAAU,MAAA,KAAW;AACrC,MAAA,IAAI,UAAA,CAAW,MAAK,EAAG;AACrB,QAAA,IAAI;AACF,UAAA,SAAA,CAAU,eAAe,IAAA,CAAK,KAAA,CAAM,UAAA,CAAW,IAAA,EAAM,CAAC,CAAA;AAAA,QACxD,CAAA,CAAA,MAAQ;AACN,UAAA,aAAA,CAAc,IAAA,CAAK,UAAA,CAAW,IAAA,EAAM,CAAA;AAAA,QACtC;AAAA,MACF;AACA,MAAA,SAAA,CAAU,OAAA,CAAQ,EAAE,QAAA,EAAU,MAAA,EAAQ,eAAe,CAAA;AAAA,IACvD,CAAC,CAAA;AAED,IAAA,IAAA,CAAK,EAAA,CAAG,OAAA,EAAS,CAAC,KAAA,KAAU;AAC1B,MAAA,SAAA,CAAU,QAAQ,KAAK,CAAA;AAAA,IACzB,CAAC,CAAA;AAED,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,MAAM,QAAA,CAAS,IAAI;AAAA,KAC3B;AAAA,EACF,CAAA;AAAA,EACA,iBAAiB,QAAA,EAAkB;AACjC,IAAA,OAAO,cAAc,IAAA,CAAK,CAAC,KAAA,KAAU,KAAA,CAAM,UAAU,QAAQ,CAAA;AAAA,EAC/D;AACF;AAEA,gBAAA,CAAiB,cAAc,CAAA;;;;"}
@@ -1,48 +0,0 @@
1
- import { execFileSync, execSync, execFile, exec } from 'child_process';
2
- import { promisify } from 'util';
3
- import { e as getProjectDir } from '../nitro/nitro.mjs';
4
-
5
- promisify(exec);
6
- const execFileAsync = promisify(execFile);
7
- const GIT_MAX_BUFFER = 1024 * 1024 * 10;
8
- function normalizeGitOutput(output, options) {
9
- return (options == null ? void 0 : options.trim) === false ? output : output.trim();
10
- }
11
- function execGit(cwd, command, options) {
12
- try {
13
- const output = execSync(`git ${command}`, {
14
- cwd,
15
- maxBuffer: GIT_MAX_BUFFER,
16
- encoding: "utf-8"
17
- });
18
- return normalizeGitOutput(output, options);
19
- } catch (error) {
20
- throw new Error(`Git command failed: ${error.message}`);
21
- }
22
- }
23
- function execGitArgs(cwd, args, options) {
24
- try {
25
- const output = execFileSync("git", args, {
26
- cwd,
27
- maxBuffer: GIT_MAX_BUFFER,
28
- encoding: "utf-8"
29
- });
30
- return normalizeGitOutput(output, options);
31
- } catch (error) {
32
- throw new Error(`Git command failed: ${error.message}`);
33
- }
34
- }
35
- async function execGitCommand(args, cwd = getProjectDir(), options) {
36
- try {
37
- const { stdout } = await execFileAsync("git", args, {
38
- cwd,
39
- maxBuffer: GIT_MAX_BUFFER
40
- });
41
- return normalizeGitOutput(stdout, options);
42
- } catch (error) {
43
- throw new Error(`Git command failed: ${error.message}`);
44
- }
45
- }
46
-
47
- export { execGitCommand as a, execGit as b, execGitArgs as e };
48
- //# sourceMappingURL=gitExec.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gitExec.mjs","sources":["../../../../server/utils/gitExec.ts"],"names":[],"mappings":";;;;AAIkB,UAAU,IAAI;AAChC,MAAM,aAAA,GAAgB,UAAU,QAAQ,CAAA;AAEjC,MAAM,cAAA,GAAiB,OAAO,IAAA,GAAO,EAAA;AAM5C,SAAS,kBAAA,CAAmB,QAAgB,OAAA,EAAkC;AAC5E,EAAA,OAAA,CAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,IAAA,MAAS,KAAA,GAAQ,MAAA,GAAS,OAAO,IAAA,EAAK;AACxD;AAKO,SAAS,OAAA,CAAQ,GAAA,EAAa,OAAA,EAAiB,OAAA,EAAkC;AACtF,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,CAAA,IAAA,EAAO,OAAO,CAAA,CAAA,EAAI;AAAA,MACxC,GAAA;AAAA,MACA,SAAA,EAAW,cAAA;AAAA,MACX,QAAA,EAAU;AAAA,KACX,CAAA;AACD,IAAA,OAAO,kBAAA,CAAmB,QAAQ,OAAO,CAAA;AAAA,EAC3C,SAAS,KAAA,EAAY;AACnB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,KAAA,CAAM,OAAO,CAAA,CAAE,CAAA;AAAA,EACxD;AACF;AAKO,SAAS,WAAA,CAAY,GAAA,EAAa,IAAA,EAAgB,OAAA,EAAkC;AACzF,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,GAAS,YAAA,CAAa,KAAA,EAAO,IAAA,EAAM;AAAA,MACvC,GAAA;AAAA,MACA,SAAA,EAAW,cAAA;AAAA,MACX,QAAA,EAAU;AAAA,KACX,CAAA;AACD,IAAA,OAAO,kBAAA,CAAmB,QAAQ,OAAO,CAAA;AAAA,EAC3C,SAAS,KAAA,EAAY;AACnB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,KAAA,CAAM,OAAO,CAAA,CAAE,CAAA;AAAA,EACxD;AACF;AAKA,eAAsB,cAAA,CACpB,IAAA,EACA,GAAA,GAAc,aAAA,IACd,OAAA,EACiB;AACjB,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,aAAA,CAAc,OAAO,IAAA,EAAM;AAAA,MAClD,GAAA;AAAA,MACA,SAAA,EAAW;AAAA,KACZ,CAAA;AACD,IAAA,OAAO,kBAAA,CAAmB,QAAQ,OAAO,CAAA;AAAA,EAC3C,SAAS,KAAA,EAAY;AACnB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,KAAA,CAAM,OAAO,CAAA,CAAE,CAAA;AAAA,EACxD;AACF;;;;"}
@@ -1,163 +0,0 @@
1
- import { e as ensureProvidersInitialized, g as getProvider } from './aiProviderRegistry.mjs';
2
-
3
- async function streamChatWithProvider(opts, callbacks) {
4
- await ensureProvidersInitialized();
5
- const provider = getProvider(opts.selection.providerId);
6
- if (!provider) {
7
- throw new Error(`Provider "${opts.selection.providerId}" is not registered`);
8
- }
9
- if (!provider.metadata.capabilities.streaming || !provider.streamChat) {
10
- throw new Error(`Provider "${opts.selection.providerId}" does not support streaming chat`);
11
- }
12
- if (!provider.isModelSupported(opts.selection.modelKey)) {
13
- throw new Error(`Model "${opts.selection.modelKey}" is not supported by provider "${opts.selection.providerId}"`);
14
- }
15
- return provider.streamChat(opts, callbacks);
16
- }
17
-
18
- const ANSI_ESCAPE_PATTERN = /\u001b\[[0-9;]*m/g;
19
- function flattenOutputLines(nonJsonOutput) {
20
- const lines = [];
21
- for (const chunk of nonJsonOutput) {
22
- for (const rawLine of chunk.split(/\r?\n/g)) {
23
- const line = rawLine.replace(ANSI_ESCAPE_PATTERN, "").trim();
24
- if (line) {
25
- lines.push(line);
26
- }
27
- }
28
- }
29
- return lines;
30
- }
31
- function uniqueLines(lines) {
32
- const seen = /* @__PURE__ */ new Set();
33
- const unique = [];
34
- for (const line of lines) {
35
- const normalized = line.toLowerCase();
36
- if (seen.has(normalized)) continue;
37
- seen.add(normalized);
38
- unique.push(line);
39
- }
40
- return unique;
41
- }
42
- function buildCodexPermissionHint(lines) {
43
- const arg0Permission = lines.find(
44
- (line) => /failed to clean up stale arg0 temp dirs: Permission denied/i.test(line)
45
- );
46
- if (arg0Permission) {
47
- return `${arg0Permission} Fix ownership with: sudo chown -R $(whoami) ~/.codex`;
48
- }
49
- const cannotAccess = lines.find(
50
- (line) => /codex cannot access session files/i.test(line)
51
- );
52
- if (!cannotAccess) {
53
- const recorderPermission = lines.find(
54
- (line) => /failed to initialize rollout recorder: Permission denied/i.test(line)
55
- );
56
- if (recorderPermission) {
57
- return `${recorderPermission} Fix ownership with: sudo chown -R $(whoami) ~/.codex`;
58
- }
59
- const createSessionPermission = lines.find(
60
- (line) => /failed to create session: Permission denied/i.test(line)
61
- );
62
- if (createSessionPermission) {
63
- return `${createSessionPermission} Fix ownership with: sudo chown -R $(whoami) ~/.codex`;
64
- }
65
- const codexPathPermission = lines.find(
66
- (line) => /\/\.codex\/.*permission denied/i.test(line)
67
- );
68
- if (codexPathPermission) {
69
- return `${codexPathPermission} Fix ownership with: sudo chown -R $(whoami) ~/.codex`;
70
- }
71
- return null;
72
- }
73
- return `${cannotAccess} Fix ownership with: sudo chown -R $(whoami) ~/.codex`;
74
- }
75
- function buildCodexRolloutPathHint(lines) {
76
- const missingRolloutPath = lines.find(
77
- (line) => /state db missing rollout path for thread/i.test(line)
78
- );
79
- if (!missingRolloutPath) {
80
- return null;
81
- }
82
- return `${missingRolloutPath} Retry with a fresh session (clear provider session and resend).`;
83
- }
84
- function buildCodexConnectivityHint(lines) {
85
- const disconnected = lines.find(
86
- (line) => /stream disconnected before completion/i.test(line)
87
- );
88
- if (disconnected) {
89
- return `${disconnected} Verify internet access and Codex auth (try: codex login).`;
90
- }
91
- const sendingRequestError = lines.find(
92
- (line) => /error sending request for url/i.test(line)
93
- );
94
- if (sendingRequestError) {
95
- return `${sendingRequestError} Verify internet access and Codex auth (try: codex login).`;
96
- }
97
- return null;
98
- }
99
- function buildAuthHint(lines) {
100
- const authLine = lines.find(
101
- (line) => /unauthorized|forbidden|invalid api key|authentication failed|not logged in|api key/i.test(line)
102
- );
103
- if (!authLine) {
104
- return null;
105
- }
106
- if (/codex/i.test(authLine)) {
107
- return `${authLine} Re-authenticate with: codex login`;
108
- }
109
- if (/claude/i.test(authLine)) {
110
- return `${authLine} Re-authenticate with: claude login`;
111
- }
112
- return `${authLine} Re-authenticate your CLI session and verify credentials.`;
113
- }
114
- function buildGenericActionableHint(lines) {
115
- const actionable = uniqueLines(lines.filter(
116
- (line) => /(^error\b)|\berror:|\bfailed\b|permission denied|eacces|enoent|spawn|timeout|timed out|network|dns|econn|socket|rate limit|too many requests|aborted|killed|signal|unable to/i.test(line)
117
- ));
118
- if (actionable.length === 0) {
119
- return null;
120
- }
121
- return actionable.slice(0, 3).join(" | ");
122
- }
123
- function hasCodexMissingRolloutPathError(nonJsonOutput) {
124
- const lines = flattenOutputLines(nonJsonOutput);
125
- return lines.some((line) => /state db missing rollout path for thread/i.test(line));
126
- }
127
- function hasCodexPermissionError(nonJsonOutput) {
128
- const lines = flattenOutputLines(nonJsonOutput);
129
- return lines.some(
130
- (line) => /failed to clean up stale arg0 temp dirs: Permission denied/i.test(line) || /codex cannot access session files/i.test(line) || /failed to initialize rollout recorder: Permission denied/i.test(line) || /failed to create session: Permission denied/i.test(line) || /\/\.codex\/.*permission denied/i.test(line)
131
- );
132
- }
133
- function summarizeProviderProcessError(nonJsonOutput, maxLen = 300) {
134
- const lines = flattenOutputLines(nonJsonOutput);
135
- if (lines.length === 0) {
136
- return "";
137
- }
138
- const codexPermissionHint = buildCodexPermissionHint(lines);
139
- if (codexPermissionHint) {
140
- return codexPermissionHint.slice(0, maxLen);
141
- }
142
- const codexConnectivityHint = buildCodexConnectivityHint(lines);
143
- if (codexConnectivityHint) {
144
- return codexConnectivityHint.slice(0, maxLen);
145
- }
146
- const authHint = buildAuthHint(lines);
147
- if (authHint) {
148
- return authHint.slice(0, maxLen);
149
- }
150
- const codexRolloutHint = buildCodexRolloutPathHint(lines);
151
- if (codexRolloutHint) {
152
- return codexRolloutHint.slice(0, maxLen);
153
- }
154
- const actionableHint = buildGenericActionableHint(lines);
155
- if (actionableHint) {
156
- return actionableHint.slice(0, maxLen);
157
- }
158
- const fatalLine = lines.find((line) => /^Error:/i.test(line)) || lines[lines.length - 1];
159
- return fatalLine.slice(0, maxLen);
160
- }
161
-
162
- export { hasCodexMissingRolloutPathError as a, summarizeProviderProcessError as b, hasCodexPermissionError as h, streamChatWithProvider as s };
163
- //# sourceMappingURL=providerProcessError.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providerProcessError.mjs","sources":["../../../../server/utils/aiProvider.ts","../../../../server/utils/providerProcessError.ts"],"names":[],"mappings":"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"}