vibe-pal 0.42.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 (664) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +32 -0
  3. package/.next/build-manifest.json +21 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/fallback-build-manifest.json +12 -0
  6. package/.next/images-manifest.json +67 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +258 -0
  11. package/.next/required-server-files.js +343 -0
  12. package/.next/required-server-files.json +343 -0
  13. package/.next/routes-manifest.json +233 -0
  14. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  15. package/.next/server/app/_global-error/page/build-manifest.json +18 -0
  16. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  17. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  18. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  19. package/.next/server/app/_global-error/page.js +10 -0
  20. package/.next/server/app/_global-error/page.js.map +5 -0
  21. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  22. package/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  23. package/.next/server/app/_global-error.html +2 -0
  24. package/.next/server/app/_global-error.meta +15 -0
  25. package/.next/server/app/_global-error.rsc +12 -0
  26. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  27. package/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
  28. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  29. package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  30. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  31. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  32. package/.next/server/app/_not-found/page/build-manifest.json +18 -0
  33. package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  34. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  35. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  36. package/.next/server/app/_not-found/page.js +15 -0
  37. package/.next/server/app/_not-found/page.js.map +5 -0
  38. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  39. package/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  40. package/.next/server/app/_not-found.html +54 -0
  41. package/.next/server/app/_not-found.meta +16 -0
  42. package/.next/server/app/_not-found.rsc +73 -0
  43. package/.next/server/app/_not-found.segments/_full.segment.rsc +73 -0
  44. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  45. package/.next/server/app/_not-found.segments/_index.segment.rsc +61 -0
  46. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  47. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  48. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  49. package/.next/server/app/api/component-source/resolve/route/app-paths-manifest.json +3 -0
  50. package/.next/server/app/api/component-source/resolve/route/build-manifest.json +11 -0
  51. package/.next/server/app/api/component-source/resolve/route/server-reference-manifest.json +4 -0
  52. package/.next/server/app/api/component-source/resolve/route.js +8 -0
  53. package/.next/server/app/api/component-source/resolve/route.js.map +5 -0
  54. package/.next/server/app/api/component-source/resolve/route.js.nft.json +1 -0
  55. package/.next/server/app/api/component-source/resolve/route_client-reference-manifest.js +2 -0
  56. package/.next/server/app/api/credentials/github/repos/route/app-paths-manifest.json +3 -0
  57. package/.next/server/app/api/credentials/github/repos/route/build-manifest.json +11 -0
  58. package/.next/server/app/api/credentials/github/repos/route/server-reference-manifest.json +4 -0
  59. package/.next/server/app/api/credentials/github/repos/route.js +8 -0
  60. package/.next/server/app/api/credentials/github/repos/route.js.map +5 -0
  61. package/.next/server/app/api/credentials/github/repos/route.js.nft.json +1 -0
  62. package/.next/server/app/api/credentials/github/repos/route_client-reference-manifest.js +2 -0
  63. package/.next/server/app/api/credentials/route/app-paths-manifest.json +3 -0
  64. package/.next/server/app/api/credentials/route/build-manifest.json +11 -0
  65. package/.next/server/app/api/credentials/route/server-reference-manifest.json +4 -0
  66. package/.next/server/app/api/credentials/route.js +8 -0
  67. package/.next/server/app/api/credentials/route.js.map +5 -0
  68. package/.next/server/app/api/credentials/route.js.nft.json +1 -0
  69. package/.next/server/app/api/credentials/route_client-reference-manifest.js +2 -0
  70. package/.next/server/app/api/custom-scripts/route/app-paths-manifest.json +3 -0
  71. package/.next/server/app/api/custom-scripts/route/build-manifest.json +11 -0
  72. package/.next/server/app/api/custom-scripts/route/server-reference-manifest.json +4 -0
  73. package/.next/server/app/api/custom-scripts/route.js +10 -0
  74. package/.next/server/app/api/custom-scripts/route.js.map +5 -0
  75. package/.next/server/app/api/custom-scripts/route.js.nft.json +1 -0
  76. package/.next/server/app/api/custom-scripts/route_client-reference-manifest.js +2 -0
  77. package/.next/server/app/api/file-thumbnail/route/app-paths-manifest.json +3 -0
  78. package/.next/server/app/api/file-thumbnail/route/build-manifest.json +11 -0
  79. package/.next/server/app/api/file-thumbnail/route/server-reference-manifest.json +4 -0
  80. package/.next/server/app/api/file-thumbnail/route.js +6 -0
  81. package/.next/server/app/api/file-thumbnail/route.js.map +5 -0
  82. package/.next/server/app/api/file-thumbnail/route.js.nft.json +1 -0
  83. package/.next/server/app/api/file-thumbnail/route_client-reference-manifest.js +2 -0
  84. package/.next/server/app/api/fs/open/route/app-paths-manifest.json +3 -0
  85. package/.next/server/app/api/fs/open/route/build-manifest.json +11 -0
  86. package/.next/server/app/api/fs/open/route/server-reference-manifest.json +4 -0
  87. package/.next/server/app/api/fs/open/route.js +8 -0
  88. package/.next/server/app/api/fs/open/route.js.map +5 -0
  89. package/.next/server/app/api/fs/open/route.js.nft.json +1 -0
  90. package/.next/server/app/api/fs/open/route_client-reference-manifest.js +2 -0
  91. package/.next/server/app/api/fs/open-terminal/route/app-paths-manifest.json +3 -0
  92. package/.next/server/app/api/fs/open-terminal/route/build-manifest.json +11 -0
  93. package/.next/server/app/api/fs/open-terminal/route/server-reference-manifest.json +4 -0
  94. package/.next/server/app/api/fs/open-terminal/route.js +8 -0
  95. package/.next/server/app/api/fs/open-terminal/route.js.map +5 -0
  96. package/.next/server/app/api/fs/open-terminal/route.js.nft.json +1 -0
  97. package/.next/server/app/api/fs/open-terminal/route_client-reference-manifest.js +2 -0
  98. package/.next/server/app/api/git/action/route/app-paths-manifest.json +3 -0
  99. package/.next/server/app/api/git/action/route/build-manifest.json +11 -0
  100. package/.next/server/app/api/git/action/route/server-reference-manifest.json +4 -0
  101. package/.next/server/app/api/git/action/route.js +10 -0
  102. package/.next/server/app/api/git/action/route.js.map +5 -0
  103. package/.next/server/app/api/git/action/route.js.nft.json +1 -0
  104. package/.next/server/app/api/git/action/route_client-reference-manifest.js +2 -0
  105. package/.next/server/app/api/git/branches/route/app-paths-manifest.json +3 -0
  106. package/.next/server/app/api/git/branches/route/build-manifest.json +11 -0
  107. package/.next/server/app/api/git/branches/route/server-reference-manifest.json +4 -0
  108. package/.next/server/app/api/git/branches/route.js +10 -0
  109. package/.next/server/app/api/git/branches/route.js.map +5 -0
  110. package/.next/server/app/api/git/branches/route.js.nft.json +1 -0
  111. package/.next/server/app/api/git/branches/route_client-reference-manifest.js +2 -0
  112. package/.next/server/app/api/git/diff/route/app-paths-manifest.json +3 -0
  113. package/.next/server/app/api/git/diff/route/build-manifest.json +11 -0
  114. package/.next/server/app/api/git/diff/route/server-reference-manifest.json +4 -0
  115. package/.next/server/app/api/git/diff/route.js +9 -0
  116. package/.next/server/app/api/git/diff/route.js.map +5 -0
  117. package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
  118. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +2 -0
  119. package/.next/server/app/api/git/log/route/app-paths-manifest.json +3 -0
  120. package/.next/server/app/api/git/log/route/build-manifest.json +11 -0
  121. package/.next/server/app/api/git/log/route/server-reference-manifest.json +4 -0
  122. package/.next/server/app/api/git/log/route.js +10 -0
  123. package/.next/server/app/api/git/log/route.js.map +5 -0
  124. package/.next/server/app/api/git/log/route.js.nft.json +1 -0
  125. package/.next/server/app/api/git/log/route_client-reference-manifest.js +2 -0
  126. package/.next/server/app/api/git/status/route/app-paths-manifest.json +3 -0
  127. package/.next/server/app/api/git/status/route/build-manifest.json +11 -0
  128. package/.next/server/app/api/git/status/route/server-reference-manifest.json +4 -0
  129. package/.next/server/app/api/git/status/route.js +10 -0
  130. package/.next/server/app/api/git/status/route.js.map +5 -0
  131. package/.next/server/app/api/git/status/route.js.nft.json +1 -0
  132. package/.next/server/app/api/git/status/route_client-reference-manifest.js +2 -0
  133. package/.next/server/app/api/notifications/route/app-paths-manifest.json +3 -0
  134. package/.next/server/app/api/notifications/route/build-manifest.json +11 -0
  135. package/.next/server/app/api/notifications/route/server-reference-manifest.json +4 -0
  136. package/.next/server/app/api/notifications/route.js +8 -0
  137. package/.next/server/app/api/notifications/route.js.map +5 -0
  138. package/.next/server/app/api/notifications/route.js.nft.json +1 -0
  139. package/.next/server/app/api/notifications/route_client-reference-manifest.js +2 -0
  140. package/.next/server/app/api/notifications/socket/route/app-paths-manifest.json +3 -0
  141. package/.next/server/app/api/notifications/socket/route/build-manifest.json +11 -0
  142. package/.next/server/app/api/notifications/socket/route/server-reference-manifest.json +4 -0
  143. package/.next/server/app/api/notifications/socket/route.js +8 -0
  144. package/.next/server/app/api/notifications/socket/route.js.map +5 -0
  145. package/.next/server/app/api/notifications/socket/route.js.nft.json +1 -0
  146. package/.next/server/app/api/notifications/socket/route_client-reference-manifest.js +2 -0
  147. package/.next/server/app/api/preview-proxy/start/route/app-paths-manifest.json +3 -0
  148. package/.next/server/app/api/preview-proxy/start/route/build-manifest.json +11 -0
  149. package/.next/server/app/api/preview-proxy/start/route/server-reference-manifest.json +4 -0
  150. package/.next/server/app/api/preview-proxy/start/route.js +8 -0
  151. package/.next/server/app/api/preview-proxy/start/route.js.map +5 -0
  152. package/.next/server/app/api/preview-proxy/start/route.js.nft.json +1 -0
  153. package/.next/server/app/api/preview-proxy/start/route_client-reference-manifest.js +2 -0
  154. package/.next/server/app/api/repos/clone/route/app-paths-manifest.json +3 -0
  155. package/.next/server/app/api/repos/clone/route/build-manifest.json +11 -0
  156. package/.next/server/app/api/repos/clone/route/server-reference-manifest.json +4 -0
  157. package/.next/server/app/api/repos/clone/route.js +9 -0
  158. package/.next/server/app/api/repos/clone/route.js.map +5 -0
  159. package/.next/server/app/api/repos/clone/route.js.nft.json +1 -0
  160. package/.next/server/app/api/repos/clone/route_client-reference-manifest.js +2 -0
  161. package/.next/server/app/api/repos/route/app-paths-manifest.json +3 -0
  162. package/.next/server/app/api/repos/route/build-manifest.json +11 -0
  163. package/.next/server/app/api/repos/route/server-reference-manifest.json +4 -0
  164. package/.next/server/app/api/repos/route.js +9 -0
  165. package/.next/server/app/api/repos/route.js.map +5 -0
  166. package/.next/server/app/api/repos/route.js.nft.json +1 -0
  167. package/.next/server/app/api/repos/route_client-reference-manifest.js +2 -0
  168. package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  169. package/.next/server/app/api/settings/route/build-manifest.json +11 -0
  170. package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  171. package/.next/server/app/api/settings/route.js +8 -0
  172. package/.next/server/app/api/settings/route.js.map +5 -0
  173. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  174. package/.next/server/app/api/settings/route_client-reference-manifest.js +2 -0
  175. package/.next/server/app/credentials/page/app-paths-manifest.json +3 -0
  176. package/.next/server/app/credentials/page/build-manifest.json +18 -0
  177. package/.next/server/app/credentials/page/next-font-manifest.json +11 -0
  178. package/.next/server/app/credentials/page/react-loadable-manifest.json +1 -0
  179. package/.next/server/app/credentials/page/server-reference-manifest.json +110 -0
  180. package/.next/server/app/credentials/page.js +18 -0
  181. package/.next/server/app/credentials/page.js.map +5 -0
  182. package/.next/server/app/credentials/page.js.nft.json +1 -0
  183. package/.next/server/app/credentials/page_client-reference-manifest.js +2 -0
  184. package/.next/server/app/credentials.html +54 -0
  185. package/.next/server/app/credentials.meta +15 -0
  186. package/.next/server/app/credentials.rsc +79 -0
  187. package/.next/server/app/credentials.segments/_full.segment.rsc +79 -0
  188. package/.next/server/app/credentials.segments/_head.segment.rsc +6 -0
  189. package/.next/server/app/credentials.segments/_index.segment.rsc +61 -0
  190. package/.next/server/app/credentials.segments/_tree.segment.rsc +6 -0
  191. package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +9 -0
  192. package/.next/server/app/credentials.segments/credentials.segment.rsc +4 -0
  193. package/.next/server/app/git/changes/page/app-paths-manifest.json +3 -0
  194. package/.next/server/app/git/changes/page/build-manifest.json +18 -0
  195. package/.next/server/app/git/changes/page/next-font-manifest.json +11 -0
  196. package/.next/server/app/git/changes/page/react-loadable-manifest.json +1 -0
  197. package/.next/server/app/git/changes/page/server-reference-manifest.json +4 -0
  198. package/.next/server/app/git/changes/page.js +18 -0
  199. package/.next/server/app/git/changes/page.js.map +5 -0
  200. package/.next/server/app/git/changes/page.js.nft.json +1 -0
  201. package/.next/server/app/git/changes/page_client-reference-manifest.js +2 -0
  202. package/.next/server/app/git/changes.html +54 -0
  203. package/.next/server/app/git/changes.meta +16 -0
  204. package/.next/server/app/git/changes.rsc +83 -0
  205. package/.next/server/app/git/changes.segments/_full.segment.rsc +83 -0
  206. package/.next/server/app/git/changes.segments/_head.segment.rsc +6 -0
  207. package/.next/server/app/git/changes.segments/_index.segment.rsc +61 -0
  208. package/.next/server/app/git/changes.segments/_tree.segment.rsc +7 -0
  209. package/.next/server/app/git/changes.segments/git/changes/__PAGE__.segment.rsc +10 -0
  210. package/.next/server/app/git/changes.segments/git/changes.segment.rsc +4 -0
  211. package/.next/server/app/git/changes.segments/git.segment.rsc +7 -0
  212. package/.next/server/app/git/custom-scripts/page/app-paths-manifest.json +3 -0
  213. package/.next/server/app/git/custom-scripts/page/build-manifest.json +18 -0
  214. package/.next/server/app/git/custom-scripts/page/next-font-manifest.json +11 -0
  215. package/.next/server/app/git/custom-scripts/page/react-loadable-manifest.json +1 -0
  216. package/.next/server/app/git/custom-scripts/page/server-reference-manifest.json +4 -0
  217. package/.next/server/app/git/custom-scripts/page.js +18 -0
  218. package/.next/server/app/git/custom-scripts/page.js.map +5 -0
  219. package/.next/server/app/git/custom-scripts/page.js.nft.json +1 -0
  220. package/.next/server/app/git/custom-scripts/page_client-reference-manifest.js +2 -0
  221. package/.next/server/app/git/custom-scripts.html +54 -0
  222. package/.next/server/app/git/custom-scripts.meta +16 -0
  223. package/.next/server/app/git/custom-scripts.rsc +82 -0
  224. package/.next/server/app/git/custom-scripts.segments/_full.segment.rsc +82 -0
  225. package/.next/server/app/git/custom-scripts.segments/_head.segment.rsc +6 -0
  226. package/.next/server/app/git/custom-scripts.segments/_index.segment.rsc +61 -0
  227. package/.next/server/app/git/custom-scripts.segments/_tree.segment.rsc +6 -0
  228. package/.next/server/app/git/custom-scripts.segments/git/custom-scripts/__PAGE__.segment.rsc +9 -0
  229. package/.next/server/app/git/custom-scripts.segments/git/custom-scripts.segment.rsc +4 -0
  230. package/.next/server/app/git/custom-scripts.segments/git.segment.rsc +7 -0
  231. package/.next/server/app/git/history/page/app-paths-manifest.json +3 -0
  232. package/.next/server/app/git/history/page/build-manifest.json +18 -0
  233. package/.next/server/app/git/history/page/next-font-manifest.json +11 -0
  234. package/.next/server/app/git/history/page/react-loadable-manifest.json +1 -0
  235. package/.next/server/app/git/history/page/server-reference-manifest.json +20 -0
  236. package/.next/server/app/git/history/page.js +19 -0
  237. package/.next/server/app/git/history/page.js.map +5 -0
  238. package/.next/server/app/git/history/page.js.nft.json +1 -0
  239. package/.next/server/app/git/history/page_client-reference-manifest.js +2 -0
  240. package/.next/server/app/git/history.html +54 -0
  241. package/.next/server/app/git/history.meta +16 -0
  242. package/.next/server/app/git/history.rsc +83 -0
  243. package/.next/server/app/git/history.segments/_full.segment.rsc +83 -0
  244. package/.next/server/app/git/history.segments/_head.segment.rsc +6 -0
  245. package/.next/server/app/git/history.segments/_index.segment.rsc +61 -0
  246. package/.next/server/app/git/history.segments/_tree.segment.rsc +7 -0
  247. package/.next/server/app/git/history.segments/git/history/__PAGE__.segment.rsc +10 -0
  248. package/.next/server/app/git/history.segments/git/history.segment.rsc +4 -0
  249. package/.next/server/app/git/history.segments/git.segment.rsc +7 -0
  250. package/.next/server/app/git/page/app-paths-manifest.json +3 -0
  251. package/.next/server/app/git/page/build-manifest.json +18 -0
  252. package/.next/server/app/git/page/next-font-manifest.json +11 -0
  253. package/.next/server/app/git/page/react-loadable-manifest.json +1 -0
  254. package/.next/server/app/git/page/server-reference-manifest.json +20 -0
  255. package/.next/server/app/git/page.js +19 -0
  256. package/.next/server/app/git/page.js.map +5 -0
  257. package/.next/server/app/git/page.js.nft.json +1 -0
  258. package/.next/server/app/git/page_client-reference-manifest.js +2 -0
  259. package/.next/server/app/git/stashes/page/app-paths-manifest.json +3 -0
  260. package/.next/server/app/git/stashes/page/build-manifest.json +18 -0
  261. package/.next/server/app/git/stashes/page/next-font-manifest.json +11 -0
  262. package/.next/server/app/git/stashes/page/react-loadable-manifest.json +1 -0
  263. package/.next/server/app/git/stashes/page/server-reference-manifest.json +4 -0
  264. package/.next/server/app/git/stashes/page.js +18 -0
  265. package/.next/server/app/git/stashes/page.js.map +5 -0
  266. package/.next/server/app/git/stashes/page.js.nft.json +1 -0
  267. package/.next/server/app/git/stashes/page_client-reference-manifest.js +2 -0
  268. package/.next/server/app/git/stashes.html +54 -0
  269. package/.next/server/app/git/stashes.meta +16 -0
  270. package/.next/server/app/git/stashes.rsc +83 -0
  271. package/.next/server/app/git/stashes.segments/_full.segment.rsc +83 -0
  272. package/.next/server/app/git/stashes.segments/_head.segment.rsc +6 -0
  273. package/.next/server/app/git/stashes.segments/_index.segment.rsc +61 -0
  274. package/.next/server/app/git/stashes.segments/_tree.segment.rsc +7 -0
  275. package/.next/server/app/git/stashes.segments/git/stashes/__PAGE__.segment.rsc +10 -0
  276. package/.next/server/app/git/stashes.segments/git/stashes.segment.rsc +4 -0
  277. package/.next/server/app/git/stashes.segments/git.segment.rsc +7 -0
  278. package/.next/server/app/git.html +54 -0
  279. package/.next/server/app/git.meta +15 -0
  280. package/.next/server/app/git.rsc +82 -0
  281. package/.next/server/app/git.segments/_full.segment.rsc +82 -0
  282. package/.next/server/app/git.segments/_head.segment.rsc +6 -0
  283. package/.next/server/app/git.segments/_index.segment.rsc +61 -0
  284. package/.next/server/app/git.segments/_tree.segment.rsc +7 -0
  285. package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +10 -0
  286. package/.next/server/app/git.segments/git.segment.rsc +7 -0
  287. package/.next/server/app/icon.png/route/app-paths-manifest.json +3 -0
  288. package/.next/server/app/icon.png/route/build-manifest.json +11 -0
  289. package/.next/server/app/icon.png/route.js +8 -0
  290. package/.next/server/app/icon.png/route.js.map +5 -0
  291. package/.next/server/app/icon.png/route.js.nft.json +1 -0
  292. package/.next/server/app/icon.png.body +0 -0
  293. package/.next/server/app/icon.png.meta +1 -0
  294. package/.next/server/app/index.html +54 -0
  295. package/.next/server/app/index.meta +14 -0
  296. package/.next/server/app/index.rsc +78 -0
  297. package/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  298. package/.next/server/app/index.segments/_full.segment.rsc +78 -0
  299. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  300. package/.next/server/app/index.segments/_index.segment.rsc +61 -0
  301. package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
  302. package/.next/server/app/new/page/app-paths-manifest.json +3 -0
  303. package/.next/server/app/new/page/build-manifest.json +18 -0
  304. package/.next/server/app/new/page/next-font-manifest.json +11 -0
  305. package/.next/server/app/new/page/react-loadable-manifest.json +1 -0
  306. package/.next/server/app/new/page/server-reference-manifest.json +440 -0
  307. package/.next/server/app/new/page.js +19 -0
  308. package/.next/server/app/new/page.js.map +5 -0
  309. package/.next/server/app/new/page.js.nft.json +1 -0
  310. package/.next/server/app/new/page_client-reference-manifest.js +2 -0
  311. package/.next/server/app/page/app-paths-manifest.json +3 -0
  312. package/.next/server/app/page/build-manifest.json +18 -0
  313. package/.next/server/app/page/next-font-manifest.json +11 -0
  314. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  315. package/.next/server/app/page/server-reference-manifest.json +440 -0
  316. package/.next/server/app/page.js +19 -0
  317. package/.next/server/app/page.js.map +5 -0
  318. package/.next/server/app/page.js.nft.json +1 -0
  319. package/.next/server/app/page_client-reference-manifest.js +2 -0
  320. package/.next/server/app/session/[sessionId]/page/app-paths-manifest.json +3 -0
  321. package/.next/server/app/session/[sessionId]/page/build-manifest.json +18 -0
  322. package/.next/server/app/session/[sessionId]/page/next-font-manifest.json +11 -0
  323. package/.next/server/app/session/[sessionId]/page/react-loadable-manifest.json +1 -0
  324. package/.next/server/app/session/[sessionId]/page/server-reference-manifest.json +305 -0
  325. package/.next/server/app/session/[sessionId]/page.js +18 -0
  326. package/.next/server/app/session/[sessionId]/page.js.map +5 -0
  327. package/.next/server/app/session/[sessionId]/page.js.nft.json +1 -0
  328. package/.next/server/app/session/[sessionId]/page_client-reference-manifest.js +2 -0
  329. package/.next/server/app-paths-manifest.json +32 -0
  330. package/.next/server/chunks/07f91_next_9d45f6d5._.js +17 -0
  331. package/.next/server/chunks/07f91_next_9d45f6d5._.js.map +1 -0
  332. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_46f1593d.js +3 -0
  333. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_46f1593d.js.map +1 -0
  334. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_90bd67a9.js +3 -0
  335. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_90bd67a9.js.map +1 -0
  336. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_f20df18e.js +3 -0
  337. package/.next/server/chunks/07f91_next_dist_esm_build_templates_app-route_f20df18e.js.map +1 -0
  338. package/.next/server/chunks/07f91_zod_v4_classic_external_d5e5e58f.js +39 -0
  339. package/.next/server/chunks/07f91_zod_v4_classic_external_d5e5e58f.js.map +1 -0
  340. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_credentials_route_actions_26ba0a95.js +3 -0
  341. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_credentials_route_actions_26ba0a95.js.map +1 -0
  342. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_fs_open_route_actions_032a4104.js +3 -0
  343. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_fs_open_route_actions_032a4104.js.map +1 -0
  344. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_action_route_actions_be1fb514.js +3 -0
  345. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_action_route_actions_be1fb514.js.map +1 -0
  346. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_branches_route_actions_82f3fb01.js +3 -0
  347. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_branches_route_actions_82f3fb01.js.map +1 -0
  348. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_diff_route_actions_2e33c2ae.js +3 -0
  349. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_diff_route_actions_2e33c2ae.js.map +1 -0
  350. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_log_route_actions_f07c3897.js +3 -0
  351. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_log_route_actions_f07c3897.js.map +1 -0
  352. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_status_route_actions_f81eb7b9.js +3 -0
  353. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_git_status_route_actions_f81eb7b9.js.map +1 -0
  354. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_repos_clone_route_actions_25fa7ec8.js +3 -0
  355. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_repos_clone_route_actions_25fa7ec8.js.map +1 -0
  356. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_repos_route_actions_bfe1f1f8.js +3 -0
  357. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_repos_route_actions_bfe1f1f8.js.map +1 -0
  358. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_settings_route_actions_21365dd0.js +3 -0
  359. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_api_settings_route_actions_21365dd0.js.map +1 -0
  360. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_icon_png_route_actions_6ca1b9f2.js +3 -0
  361. package/.next/server/chunks/6c7f9_projects_viba__next-internal_server_app_icon_png_route_actions_6ca1b9f2.js.map +1 -0
  362. package/.next/server/chunks/[externals]__4610b07e._.js +3 -0
  363. package/.next/server/chunks/[externals]__4610b07e._.js.map +1 -0
  364. package/.next/server/chunks/[externals]_keytar_be364400._.js +3 -0
  365. package/.next/server/chunks/[externals]_keytar_be364400._.js.map +1 -0
  366. package/.next/server/chunks/[externals]_next_dist_a6d89067._.js +3 -0
  367. package/.next/server/chunks/[externals]_next_dist_a6d89067._.js.map +1 -0
  368. package/.next/server/chunks/[root-of-the-server]__03cff574._.js +3 -0
  369. package/.next/server/chunks/[root-of-the-server]__03cff574._.js.map +1 -0
  370. package/.next/server/chunks/[root-of-the-server]__13277fdb._.js +3 -0
  371. package/.next/server/chunks/[root-of-the-server]__13277fdb._.js.map +1 -0
  372. package/.next/server/chunks/[root-of-the-server]__1e250bd8._.js +3 -0
  373. package/.next/server/chunks/[root-of-the-server]__1e250bd8._.js.map +1 -0
  374. package/.next/server/chunks/[root-of-the-server]__3bd99321._.js +4 -0
  375. package/.next/server/chunks/[root-of-the-server]__3bd99321._.js.map +1 -0
  376. package/.next/server/chunks/[root-of-the-server]__4425ca0b._.js +3 -0
  377. package/.next/server/chunks/[root-of-the-server]__4425ca0b._.js.map +1 -0
  378. package/.next/server/chunks/[root-of-the-server]__534c2265._.js +7 -0
  379. package/.next/server/chunks/[root-of-the-server]__534c2265._.js.map +1 -0
  380. package/.next/server/chunks/[root-of-the-server]__5e629757._.js +3 -0
  381. package/.next/server/chunks/[root-of-the-server]__5e629757._.js.map +1 -0
  382. package/.next/server/chunks/[root-of-the-server]__6f61c772._.js +5 -0
  383. package/.next/server/chunks/[root-of-the-server]__6f61c772._.js.map +1 -0
  384. package/.next/server/chunks/[root-of-the-server]__7382f924._.js +519 -0
  385. package/.next/server/chunks/[root-of-the-server]__7382f924._.js.map +1 -0
  386. package/.next/server/chunks/[root-of-the-server]__747b62e9._.js +3 -0
  387. package/.next/server/chunks/[root-of-the-server]__747b62e9._.js.map +1 -0
  388. package/.next/server/chunks/[root-of-the-server]__75dd8619._.js +3 -0
  389. package/.next/server/chunks/[root-of-the-server]__75dd8619._.js.map +1 -0
  390. package/.next/server/chunks/[root-of-the-server]__8303caaa._.js +7 -0
  391. package/.next/server/chunks/[root-of-the-server]__8303caaa._.js.map +1 -0
  392. package/.next/server/chunks/[root-of-the-server]__86bb1f97._.js +3 -0
  393. package/.next/server/chunks/[root-of-the-server]__86bb1f97._.js.map +1 -0
  394. package/.next/server/chunks/[root-of-the-server]__9535c729._.js +3 -0
  395. package/.next/server/chunks/[root-of-the-server]__9535c729._.js.map +1 -0
  396. package/.next/server/chunks/[root-of-the-server]__9fdd5d22._.js +3 -0
  397. package/.next/server/chunks/[root-of-the-server]__9fdd5d22._.js.map +1 -0
  398. package/.next/server/chunks/[root-of-the-server]__bb058465._.js +3 -0
  399. package/.next/server/chunks/[root-of-the-server]__bb058465._.js.map +1 -0
  400. package/.next/server/chunks/[root-of-the-server]__d0cd49f6._.js +3 -0
  401. package/.next/server/chunks/[root-of-the-server]__d0cd49f6._.js.map +1 -0
  402. package/.next/server/chunks/[root-of-the-server]__df538917._.js +3 -0
  403. package/.next/server/chunks/[root-of-the-server]__df538917._.js.map +1 -0
  404. package/.next/server/chunks/[root-of-the-server]__e0fe0ef3._.js +3 -0
  405. package/.next/server/chunks/[root-of-the-server]__e0fe0ef3._.js.map +1 -0
  406. package/.next/server/chunks/[root-of-the-server]__e70b4dcf._.js +3 -0
  407. package/.next/server/chunks/[root-of-the-server]__e70b4dcf._.js.map +1 -0
  408. package/.next/server/chunks/[root-of-the-server]__f09d5069._.js +3 -0
  409. package/.next/server/chunks/[root-of-the-server]__f09d5069._.js.map +1 -0
  410. package/.next/server/chunks/[root-of-the-server]__fa82312c._.js +3 -0
  411. package/.next/server/chunks/[root-of-the-server]__fa82312c._.js.map +1 -0
  412. package/.next/server/chunks/[turbopack]_runtime.js +795 -0
  413. package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  414. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_custom-scripts_route_actions_246e6a14.js +3 -0
  415. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_custom-scripts_route_actions_246e6a14.js.map +1 -0
  416. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_file-thumbnail_route_actions_3d4e18bd.js +3 -0
  417. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_file-thumbnail_route_actions_3d4e18bd.js.map +1 -0
  418. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_fs_open-terminal_route_actions_64251327.js +3 -0
  419. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_fs_open-terminal_route_actions_64251327.js.map +1 -0
  420. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_notifications_route_actions_2a3fb889.js +3 -0
  421. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_notifications_route_actions_2a3fb889.js.map +1 -0
  422. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_notifications_socket_route_actions_2dfcbdcd.js +3 -0
  423. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_notifications_socket_route_actions_2dfcbdcd.js.map +1 -0
  424. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_preview-proxy_start_route_actions_70ba3b43.js +3 -0
  425. package/.next/server/chunks/bea2c_viba__next-internal_server_app_api_preview-proxy_start_route_actions_70ba3b43.js.map +1 -0
  426. package/.next/server/chunks/daa62__next-internal_server_app_api_component-source_resolve_route_actions_fbcf9527.js +3 -0
  427. package/.next/server/chunks/daa62__next-internal_server_app_api_component-source_resolve_route_actions_fbcf9527.js.map +1 -0
  428. package/.next/server/chunks/daa62__next-internal_server_app_api_credentials_github_repos_route_actions_50499a50.js +3 -0
  429. package/.next/server/chunks/daa62__next-internal_server_app_api_credentials_github_repos_route_actions_50499a50.js.map +1 -0
  430. package/.next/server/chunks/ssr/07f91_854b7f96._.js +5 -0
  431. package/.next/server/chunks/ssr/07f91_854b7f96._.js.map +1 -0
  432. package/.next/server/chunks/ssr/07f91_8f9c8869._.js +5 -0
  433. package/.next/server/chunks/ssr/07f91_8f9c8869._.js.map +1 -0
  434. package/.next/server/chunks/ssr/07f91_956ea508._.js +6 -0
  435. package/.next/server/chunks/ssr/07f91_956ea508._.js.map +1 -0
  436. package/.next/server/chunks/ssr/07f91_a8df8b0c._.js +3 -0
  437. package/.next/server/chunks/ssr/07f91_a8df8b0c._.js.map +1 -0
  438. package/.next/server/chunks/ssr/07f91_c074daa5._.js +5 -0
  439. package/.next/server/chunks/ssr/07f91_c074daa5._.js.map +1 -0
  440. package/.next/server/chunks/ssr/07f91_next_dist_43e2f24c._.js +10 -0
  441. package/.next/server/chunks/ssr/07f91_next_dist_43e2f24c._.js.map +1 -0
  442. package/.next/server/chunks/ssr/07f91_next_dist_7d0992b2._.js +3 -0
  443. package/.next/server/chunks/ssr/07f91_next_dist_7d0992b2._.js.map +1 -0
  444. package/.next/server/chunks/ssr/07f91_next_dist_847902a0._.js +4 -0
  445. package/.next/server/chunks/ssr/07f91_next_dist_847902a0._.js.map +1 -0
  446. package/.next/server/chunks/ssr/07f91_next_dist_9854b44b._.js +3 -0
  447. package/.next/server/chunks/ssr/07f91_next_dist_9854b44b._.js.map +1 -0
  448. package/.next/server/chunks/ssr/07f91_next_dist_afbe6819._.js +3 -0
  449. package/.next/server/chunks/ssr/07f91_next_dist_afbe6819._.js.map +1 -0
  450. package/.next/server/chunks/ssr/07f91_next_dist_client_components_4ae0ede8._.js +3 -0
  451. package/.next/server/chunks/ssr/07f91_next_dist_client_components_4ae0ede8._.js.map +1 -0
  452. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_forbidden_c3ca8aa4.js +3 -0
  453. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_forbidden_c3ca8aa4.js.map +1 -0
  454. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_global-error_cf183d39.js +3 -0
  455. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_global-error_cf183d39.js.map +1 -0
  456. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_unauthorized_b89fa42f.js +3 -0
  457. package/.next/server/chunks/ssr/07f91_next_dist_client_components_builtin_unauthorized_b89fa42f.js.map +1 -0
  458. package/.next/server/chunks/ssr/07f91_next_dist_esm_build_templates_app-page_ea68f183.js +4 -0
  459. package/.next/server/chunks/ssr/07f91_next_dist_esm_build_templates_app-page_ea68f183.js.map +1 -0
  460. package/.next/server/chunks/ssr/07f91_next_dist_esm_f542aeaf._.js +6 -0
  461. package/.next/server/chunks/ssr/07f91_next_dist_esm_f542aeaf._.js.map +1 -0
  462. package/.next/server/chunks/ssr/07f91_next_dist_f989a591._.js +3 -0
  463. package/.next/server/chunks/ssr/07f91_next_dist_f989a591._.js.map +1 -0
  464. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app__global-error_page_actions_12a76065.js +3 -0
  465. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app__global-error_page_actions_12a76065.js.map +1 -0
  466. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app__not-found_page_actions_8eddae2d.js +3 -0
  467. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app__not-found_page_actions_8eddae2d.js.map +1 -0
  468. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app_git_changes_page_actions_b65abe22.js +3 -0
  469. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app_git_changes_page_actions_b65abe22.js.map +1 -0
  470. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app_git_stashes_page_actions_5ca1e320.js +3 -0
  471. package/.next/server/chunks/ssr/6c7f9_projects_viba__next-internal_server_app_git_stashes_page_actions_5ca1e320.js.map +1 -0
  472. package/.next/server/chunks/ssr/6c7f9_projects_viba_src_app_session_[sessionId]_SessionPageClient_tsx_9a60a43f._.js +3 -0
  473. package/.next/server/chunks/ssr/6c7f9_projects_viba_src_app_session_[sessionId]_SessionPageClient_tsx_9a60a43f._.js.map +1 -0
  474. package/.next/server/chunks/ssr/Downloads_projects_viba_023b240f._.js +3 -0
  475. package/.next/server/chunks/ssr/Downloads_projects_viba_023b240f._.js.map +1 -0
  476. package/.next/server/chunks/ssr/Downloads_projects_viba_2e71073c._.js +3 -0
  477. package/.next/server/chunks/ssr/Downloads_projects_viba_2e71073c._.js.map +1 -0
  478. package/.next/server/chunks/ssr/Downloads_projects_viba_36a9a2a6._.js +4 -0
  479. package/.next/server/chunks/ssr/Downloads_projects_viba_36a9a2a6._.js.map +1 -0
  480. package/.next/server/chunks/ssr/Downloads_projects_viba_441ff8fc._.js +3 -0
  481. package/.next/server/chunks/ssr/Downloads_projects_viba_441ff8fc._.js.map +1 -0
  482. package/.next/server/chunks/ssr/Downloads_projects_viba_4575bb25._.js +4 -0
  483. package/.next/server/chunks/ssr/Downloads_projects_viba_4575bb25._.js.map +1 -0
  484. package/.next/server/chunks/ssr/Downloads_projects_viba_491c66b5._.js +3 -0
  485. package/.next/server/chunks/ssr/Downloads_projects_viba_491c66b5._.js.map +1 -0
  486. package/.next/server/chunks/ssr/Downloads_projects_viba_5b83b11b._.js +4 -0
  487. package/.next/server/chunks/ssr/Downloads_projects_viba_5b83b11b._.js.map +1 -0
  488. package/.next/server/chunks/ssr/Downloads_projects_viba_5f81da3d._.js +4 -0
  489. package/.next/server/chunks/ssr/Downloads_projects_viba_5f81da3d._.js.map +1 -0
  490. package/.next/server/chunks/ssr/Downloads_projects_viba_737eaea2._.js +3 -0
  491. package/.next/server/chunks/ssr/Downloads_projects_viba_737eaea2._.js.map +1 -0
  492. package/.next/server/chunks/ssr/Downloads_projects_viba_8321a620._.js +3 -0
  493. package/.next/server/chunks/ssr/Downloads_projects_viba_8321a620._.js.map +1 -0
  494. package/.next/server/chunks/ssr/Downloads_projects_viba_86e2b7ee._.js +4 -0
  495. package/.next/server/chunks/ssr/Downloads_projects_viba_86e2b7ee._.js.map +1 -0
  496. package/.next/server/chunks/ssr/Downloads_projects_viba_886b5c21._.js +4 -0
  497. package/.next/server/chunks/ssr/Downloads_projects_viba_886b5c21._.js.map +1 -0
  498. package/.next/server/chunks/ssr/Downloads_projects_viba_91e6563b._.js +3 -0
  499. package/.next/server/chunks/ssr/Downloads_projects_viba_91e6563b._.js.map +1 -0
  500. package/.next/server/chunks/ssr/Downloads_projects_viba_a4a069bf._.js +4 -0
  501. package/.next/server/chunks/ssr/Downloads_projects_viba_a4a069bf._.js.map +1 -0
  502. package/.next/server/chunks/ssr/Downloads_projects_viba_a7330c23._.js +3 -0
  503. package/.next/server/chunks/ssr/Downloads_projects_viba_a7330c23._.js.map +1 -0
  504. package/.next/server/chunks/ssr/Downloads_projects_viba_a947365f._.js +3 -0
  505. package/.next/server/chunks/ssr/Downloads_projects_viba_a947365f._.js.map +1 -0
  506. package/.next/server/chunks/ssr/Downloads_projects_viba_bbe91f86._.js +4 -0
  507. package/.next/server/chunks/ssr/Downloads_projects_viba_bbe91f86._.js.map +1 -0
  508. package/.next/server/chunks/ssr/Downloads_projects_viba_d76b8119._.js +3 -0
  509. package/.next/server/chunks/ssr/Downloads_projects_viba_d76b8119._.js.map +1 -0
  510. package/.next/server/chunks/ssr/Downloads_projects_viba_e0cfd1bd._.js +3 -0
  511. package/.next/server/chunks/ssr/Downloads_projects_viba_e0cfd1bd._.js.map +1 -0
  512. package/.next/server/chunks/ssr/Downloads_projects_viba_e12bbfe7._.js +3 -0
  513. package/.next/server/chunks/ssr/Downloads_projects_viba_e12bbfe7._.js.map +1 -0
  514. package/.next/server/chunks/ssr/Downloads_projects_viba_f5bcd322._.js +4 -0
  515. package/.next/server/chunks/ssr/Downloads_projects_viba_f5bcd322._.js.map +1 -0
  516. package/.next/server/chunks/ssr/Downloads_projects_viba_src_60d6e4a8._.js +3 -0
  517. package/.next/server/chunks/ssr/Downloads_projects_viba_src_60d6e4a8._.js.map +1 -0
  518. package/.next/server/chunks/ssr/Downloads_projects_viba_src_7080dcd5._.js +3 -0
  519. package/.next/server/chunks/ssr/Downloads_projects_viba_src_7080dcd5._.js.map +1 -0
  520. package/.next/server/chunks/ssr/Downloads_projects_viba_src_902b4f97._.js +3 -0
  521. package/.next/server/chunks/ssr/Downloads_projects_viba_src_902b4f97._.js.map +1 -0
  522. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_credentials_page_tsx_feca31b0._.js +3 -0
  523. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_credentials_page_tsx_feca31b0._.js.map +1 -0
  524. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_f00671d8._.js +3 -0
  525. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_f00671d8._.js.map +1 -0
  526. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_git_changes_page_tsx_2ddb49ff._.js +5 -0
  527. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_git_changes_page_tsx_2ddb49ff._.js.map +1 -0
  528. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_providers_tsx_1935a601._.js +3 -0
  529. package/.next/server/chunks/ssr/Downloads_projects_viba_src_app_providers_tsx_1935a601._.js.map +1 -0
  530. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_GitRepoSelector_tsx_12f84b24._.js +11 -0
  531. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_GitRepoSelector_tsx_12f84b24._.js.map +1 -0
  532. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_719ec297._.js +3 -0
  533. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_719ec297._.js.map +1 -0
  534. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_grouped-diff-viewer_tsx_c6c96363._.js +20 -0
  535. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_grouped-diff-viewer_tsx_c6c96363._.js.map +1 -0
  536. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_history-view_tsx_da929479._.js +10 -0
  537. package/.next/server/chunks/ssr/Downloads_projects_viba_src_components_git_history-view_tsx_da929479._.js.map +1 -0
  538. package/.next/server/chunks/ssr/[externals]_keytar_be364400._.js +3 -0
  539. package/.next/server/chunks/ssr/[externals]_keytar_be364400._.js.map +1 -0
  540. package/.next/server/chunks/ssr/[root-of-the-server]__042e77f3._.js +3 -0
  541. package/.next/server/chunks/ssr/[root-of-the-server]__042e77f3._.js.map +1 -0
  542. package/.next/server/chunks/ssr/[root-of-the-server]__0da720c2._.js +4 -0
  543. package/.next/server/chunks/ssr/[root-of-the-server]__0da720c2._.js.map +1 -0
  544. package/.next/server/chunks/ssr/[root-of-the-server]__11f96c04._.js +3 -0
  545. package/.next/server/chunks/ssr/[root-of-the-server]__11f96c04._.js.map +1 -0
  546. package/.next/server/chunks/ssr/[root-of-the-server]__14783fb7._.js +3 -0
  547. package/.next/server/chunks/ssr/[root-of-the-server]__14783fb7._.js.map +1 -0
  548. package/.next/server/chunks/ssr/[root-of-the-server]__15e62f6d._.js +4 -0
  549. package/.next/server/chunks/ssr/[root-of-the-server]__15e62f6d._.js.map +1 -0
  550. package/.next/server/chunks/ssr/[root-of-the-server]__32a09bd5._.js +3 -0
  551. package/.next/server/chunks/ssr/[root-of-the-server]__32a09bd5._.js.map +1 -0
  552. package/.next/server/chunks/ssr/[root-of-the-server]__34682e2a._.js +4 -0
  553. package/.next/server/chunks/ssr/[root-of-the-server]__34682e2a._.js.map +1 -0
  554. package/.next/server/chunks/ssr/[root-of-the-server]__3e589204._.js +3 -0
  555. package/.next/server/chunks/ssr/[root-of-the-server]__3e589204._.js.map +1 -0
  556. package/.next/server/chunks/ssr/[root-of-the-server]__477bb0b6._.js +3 -0
  557. package/.next/server/chunks/ssr/[root-of-the-server]__477bb0b6._.js.map +1 -0
  558. package/.next/server/chunks/ssr/[root-of-the-server]__4a454aa7._.js +3 -0
  559. package/.next/server/chunks/ssr/[root-of-the-server]__4a454aa7._.js.map +1 -0
  560. package/.next/server/chunks/ssr/[root-of-the-server]__539b91c4._.js +4 -0
  561. package/.next/server/chunks/ssr/[root-of-the-server]__539b91c4._.js.map +1 -0
  562. package/.next/server/chunks/ssr/[root-of-the-server]__5e9108d1._.js +3 -0
  563. package/.next/server/chunks/ssr/[root-of-the-server]__5e9108d1._.js.map +1 -0
  564. package/.next/server/chunks/ssr/[root-of-the-server]__70d9971b._.js +3 -0
  565. package/.next/server/chunks/ssr/[root-of-the-server]__70d9971b._.js.map +1 -0
  566. package/.next/server/chunks/ssr/[root-of-the-server]__7982c07d._.js +3 -0
  567. package/.next/server/chunks/ssr/[root-of-the-server]__7982c07d._.js.map +1 -0
  568. package/.next/server/chunks/ssr/[root-of-the-server]__86283715._.js +3 -0
  569. package/.next/server/chunks/ssr/[root-of-the-server]__86283715._.js.map +1 -0
  570. package/.next/server/chunks/ssr/[root-of-the-server]__890874d7._.js +3 -0
  571. package/.next/server/chunks/ssr/[root-of-the-server]__890874d7._.js.map +1 -0
  572. package/.next/server/chunks/ssr/[root-of-the-server]__99444007._.js +3 -0
  573. package/.next/server/chunks/ssr/[root-of-the-server]__99444007._.js.map +1 -0
  574. package/.next/server/chunks/ssr/[root-of-the-server]__9f9c4c2a._.js +3 -0
  575. package/.next/server/chunks/ssr/[root-of-the-server]__9f9c4c2a._.js.map +1 -0
  576. package/.next/server/chunks/ssr/[root-of-the-server]__a4cce383._.js +3 -0
  577. package/.next/server/chunks/ssr/[root-of-the-server]__a4cce383._.js.map +1 -0
  578. package/.next/server/chunks/ssr/[root-of-the-server]__a7d02cf0._.js +4 -0
  579. package/.next/server/chunks/ssr/[root-of-the-server]__a7d02cf0._.js.map +1 -0
  580. package/.next/server/chunks/ssr/[root-of-the-server]__a895bef0._.js +3 -0
  581. package/.next/server/chunks/ssr/[root-of-the-server]__a895bef0._.js.map +1 -0
  582. package/.next/server/chunks/ssr/[root-of-the-server]__bbbc1dcd._.js +3 -0
  583. package/.next/server/chunks/ssr/[root-of-the-server]__bbbc1dcd._.js.map +1 -0
  584. package/.next/server/chunks/ssr/[root-of-the-server]__c6036d32._.js +3 -0
  585. package/.next/server/chunks/ssr/[root-of-the-server]__c6036d32._.js.map +1 -0
  586. package/.next/server/chunks/ssr/[root-of-the-server]__d2fd5c45._.js +56 -0
  587. package/.next/server/chunks/ssr/[root-of-the-server]__d2fd5c45._.js.map +1 -0
  588. package/.next/server/chunks/ssr/[root-of-the-server]__e980891e._.js +3 -0
  589. package/.next/server/chunks/ssr/[root-of-the-server]__e980891e._.js.map +1 -0
  590. package/.next/server/chunks/ssr/[root-of-the-server]__ebae5f25._.js +3 -0
  591. package/.next/server/chunks/ssr/[root-of-the-server]__ebae5f25._.js.map +1 -0
  592. package/.next/server/chunks/ssr/[root-of-the-server]__f4a7b848._.js +3 -0
  593. package/.next/server/chunks/ssr/[root-of-the-server]__f4a7b848._.js.map +1 -0
  594. package/.next/server/chunks/ssr/[root-of-the-server]__f96af125._.js +3 -0
  595. package/.next/server/chunks/ssr/[root-of-the-server]__f96af125._.js.map +1 -0
  596. package/.next/server/chunks/ssr/[root-of-the-server]__fbf4e5d6._.js +4 -0
  597. package/.next/server/chunks/ssr/[root-of-the-server]__fbf4e5d6._.js.map +1 -0
  598. package/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
  599. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  600. package/.next/server/chunks/ssr/bea2c_viba__next-internal_server_app_git_custom-scripts_page_actions_a5c460bd.js +3 -0
  601. package/.next/server/chunks/ssr/bea2c_viba__next-internal_server_app_git_custom-scripts_page_actions_a5c460bd.js.map +1 -0
  602. package/.next/server/functions-config-manifest.json +12 -0
  603. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  604. package/.next/server/middleware-build-manifest.js +22 -0
  605. package/.next/server/middleware-manifest.json +6 -0
  606. package/.next/server/next-font-manifest.js +1 -0
  607. package/.next/server/next-font-manifest.json +47 -0
  608. package/.next/server/pages/404.html +54 -0
  609. package/.next/server/pages/500.html +2 -0
  610. package/.next/server/pages-manifest.json +4 -0
  611. package/.next/server/server-reference-manifest.js +1 -0
  612. package/.next/server/server-reference-manifest.json +999 -0
  613. package/.next/static/4Ptt2Q-nwEMnEyBKuchtV/_buildManifest.js +15 -0
  614. package/.next/static/4Ptt2Q-nwEMnEyBKuchtV/_clientMiddlewareManifest.json +1 -0
  615. package/.next/static/4Ptt2Q-nwEMnEyBKuchtV/_ssgManifest.js +1 -0
  616. package/.next/static/chunks/065655f25ed22132.css +1 -0
  617. package/.next/static/chunks/16162035a1262102.js +3 -0
  618. package/.next/static/chunks/1b4e8e45df39fdf3.js +1 -0
  619. package/.next/static/chunks/1d78f85c04265bde.js +9 -0
  620. package/.next/static/chunks/2473c16c0c2f6b5f.css +2 -0
  621. package/.next/static/chunks/2dc27b124db2f6a9.js +4 -0
  622. package/.next/static/chunks/3e473d64e3c1431e.js +1 -0
  623. package/.next/static/chunks/420b7135218137d0.js +1 -0
  624. package/.next/static/chunks/4e0c5fc850347be6.js +3 -0
  625. package/.next/static/chunks/569b2039db4d4590.js +1 -0
  626. package/.next/static/chunks/6bccf66f04746085.js +1 -0
  627. package/.next/static/chunks/6e4ef91f4fe56ee8.js +1 -0
  628. package/.next/static/chunks/76695fea59118edb.js +8 -0
  629. package/.next/static/chunks/7c3e3b5c3bc4f99f.js +3 -0
  630. package/.next/static/chunks/91220a448294b75d.js +18 -0
  631. package/.next/static/chunks/9177eac6e25015f8.js +1 -0
  632. package/.next/static/chunks/9ba08e490fcd45b8.js +1 -0
  633. package/.next/static/chunks/a3f8b5278efb004c.js +1 -0
  634. package/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  635. package/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  636. package/.next/static/chunks/b9562dbba593a710.js +1 -0
  637. package/.next/static/chunks/be3f519ecde0dfd6.js +2 -0
  638. package/.next/static/chunks/bfd59950e8067110.js +1 -0
  639. package/.next/static/chunks/c1a983df0a5e5f3a.css +1 -0
  640. package/.next/static/chunks/d8fd59ffef2546e2.js +1 -0
  641. package/.next/static/chunks/e2058ce506df05d9.js +1 -0
  642. package/.next/static/chunks/e57609679806b605.js +3 -0
  643. package/.next/static/chunks/eacff8cb21733ad6.js +3 -0
  644. package/.next/static/chunks/f85b7c5a018ca0e1.js +1 -0
  645. package/.next/static/chunks/turbopack-ec0a0bd80d5d46df.js +4 -0
  646. package/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  647. package/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  648. package/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  649. package/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  650. package/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  651. package/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  652. package/.next/static/media/icon.9a6971e1.png +0 -0
  653. package/README.md +92 -0
  654. package/bin/viba.mjs +489 -0
  655. package/next.config.mjs +25 -0
  656. package/package.json +72 -0
  657. package/public/file.svg +1 -0
  658. package/public/github.png +0 -0
  659. package/public/globe.svg +1 -0
  660. package/public/next.svg +1 -0
  661. package/public/palx-icon.png +0 -0
  662. package/public/vercel.svg +1 -0
  663. package/public/window.svg +1 -0
  664. package/src/lib/cli-args.mjs +41 -0
package/bin/viba.mjs ADDED
@@ -0,0 +1,489 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawn, spawnSync } from "node:child_process";
4
+ import fs from "node:fs";
5
+ import { createRequire } from "node:module";
6
+ import net from "node:net";
7
+ import os from "node:os";
8
+ import path from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+ import { parseArgs } from "../src/lib/cli-args.mjs";
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+ const APP_ROOT = path.resolve(__dirname, "..");
15
+ const require = createRequire(import.meta.url);
16
+ const DEFAULT_PORT = 3200;
17
+ const CODEX_SKILL_TARGET_AGENTS = ["codex", "cursor", "gemini-cli"];
18
+ const CODEX_SKILL_DEFINITIONS = [
19
+ {
20
+ name: "agent-browser",
21
+ sourceUrl: "https://skills.sh/vercel-labs/agent-browser/agent-browser",
22
+ repoUrl: "https://github.com/vercel-labs/agent-browser",
23
+ },
24
+ {
25
+ name: "systematic-debugging",
26
+ sourceUrl: "https://github.com/obra/superpowers",
27
+ repoUrl: "https://github.com/obra/superpowers",
28
+ },
29
+ ];
30
+
31
+ function getNextBin() {
32
+ return require.resolve("next/dist/bin/next");
33
+ }
34
+
35
+ function isCommandAvailable(command) {
36
+ const probe = process.platform === "win32" ? "where" : "which";
37
+ const result = spawnSync(probe, [command], {
38
+ stdio: "ignore",
39
+ env: process.env,
40
+ });
41
+ return result.status === 0;
42
+ }
43
+
44
+ function runCommand(command, args) {
45
+ const result = spawnSync(command, args, {
46
+ cwd: APP_ROOT,
47
+ env: process.env,
48
+ stdio: "inherit",
49
+ });
50
+ return result.status === 0;
51
+ }
52
+
53
+ export function getBrowserOpenCommand(url, platform = process.platform) {
54
+ if (platform === "darwin") {
55
+ return {
56
+ command: "open",
57
+ args: [url],
58
+ };
59
+ }
60
+
61
+ if (platform === "win32") {
62
+ return {
63
+ command: "cmd",
64
+ args: ["/c", "start", "", url],
65
+ };
66
+ }
67
+
68
+ if (platform === "linux") {
69
+ return {
70
+ command: "xdg-open",
71
+ args: [url],
72
+ };
73
+ }
74
+
75
+ return null;
76
+ }
77
+
78
+ export function shouldAutoOpenBrowser(env = process.env, mode = "start") {
79
+ if (mode === "dev") {
80
+ return false;
81
+ }
82
+
83
+ const browserSetting = env.BROWSER?.trim().toLowerCase();
84
+ if (browserSetting === "none" || browserSetting === "false" || browserSetting === "0") {
85
+ return false;
86
+ }
87
+ return true;
88
+ }
89
+
90
+ export function getInstallStrategies(packageName) {
91
+ if (process.platform === "darwin") {
92
+ return [
93
+ {
94
+ label: "Homebrew",
95
+ requiredCommands: ["brew"],
96
+ command: "brew",
97
+ args: ["install", packageName],
98
+ },
99
+ {
100
+ label: "MacPorts",
101
+ requiredCommands: ["sudo", "port"],
102
+ command: "sudo",
103
+ args: ["port", "install", packageName],
104
+ },
105
+ ];
106
+ }
107
+
108
+ if (process.platform === "linux") {
109
+ return [
110
+ {
111
+ label: "apt-get",
112
+ requiredCommands: ["apt-get"],
113
+ command: "apt-get",
114
+ args: ["install", "-y", packageName],
115
+ },
116
+ {
117
+ label: "sudo apt-get",
118
+ requiredCommands: ["sudo", "apt-get"],
119
+ command: "sudo",
120
+ args: ["apt-get", "install", "-y", packageName],
121
+ },
122
+ {
123
+ label: "dnf",
124
+ requiredCommands: ["dnf"],
125
+ command: "dnf",
126
+ args: ["install", "-y", packageName],
127
+ },
128
+ {
129
+ label: "sudo dnf",
130
+ requiredCommands: ["sudo", "dnf"],
131
+ command: "sudo",
132
+ args: ["dnf", "install", "-y", packageName],
133
+ },
134
+ {
135
+ label: "yum",
136
+ requiredCommands: ["yum"],
137
+ command: "yum",
138
+ args: ["install", "-y", packageName],
139
+ },
140
+ {
141
+ label: "sudo yum",
142
+ requiredCommands: ["sudo", "yum"],
143
+ command: "sudo",
144
+ args: ["yum", "install", "-y", packageName],
145
+ },
146
+ {
147
+ label: "pacman",
148
+ requiredCommands: ["pacman"],
149
+ command: "pacman",
150
+ args: ["-S", "--noconfirm", packageName],
151
+ },
152
+ {
153
+ label: "sudo pacman",
154
+ requiredCommands: ["sudo", "pacman"],
155
+ command: "sudo",
156
+ args: ["pacman", "-S", "--noconfirm", packageName],
157
+ },
158
+ {
159
+ label: "zypper",
160
+ requiredCommands: ["zypper"],
161
+ command: "zypper",
162
+ args: ["--non-interactive", "install", packageName],
163
+ },
164
+ {
165
+ label: "sudo zypper",
166
+ requiredCommands: ["sudo", "zypper"],
167
+ command: "sudo",
168
+ args: ["zypper", "--non-interactive", "install", packageName],
169
+ },
170
+ ];
171
+ }
172
+
173
+ if (process.platform === "win32") {
174
+ if (packageName !== "ttyd") {
175
+ return [];
176
+ }
177
+
178
+ return [
179
+ {
180
+ label: "winget",
181
+ requiredCommands: ["winget"],
182
+ command: "winget",
183
+ args: ["install", "tsl0922.ttyd"],
184
+ },
185
+ {
186
+ label: "scoop",
187
+ requiredCommands: ["scoop"],
188
+ command: "scoop",
189
+ args: ["install", "ttyd"],
190
+ },
191
+ ];
192
+ }
193
+
194
+ return [];
195
+ }
196
+
197
+ function ensureCommandInstalled(commandName) {
198
+ if (isCommandAvailable(commandName)) {
199
+ return;
200
+ }
201
+
202
+ console.log(`${commandName} is not installed. Attempting automatic installation...`);
203
+
204
+ const installStrategies = getInstallStrategies(commandName);
205
+ const availableManagers = installStrategies
206
+ .map((strategy) => strategy.label)
207
+ .join(", ");
208
+
209
+ let attempted = false;
210
+
211
+ for (const strategy of installStrategies) {
212
+ const canUseStrategy = strategy.requiredCommands.every((command) => isCommandAvailable(command));
213
+ if (!canUseStrategy) {
214
+ continue;
215
+ }
216
+
217
+ attempted = true;
218
+ console.log(`Trying to install ${commandName} via ${strategy.label}...`);
219
+
220
+ if (runCommand(strategy.command, strategy.args) && isCommandAvailable(commandName)) {
221
+ console.log(`${commandName} installed successfully.`);
222
+ return;
223
+ }
224
+ }
225
+
226
+ if (!attempted) {
227
+ throw new Error(
228
+ `${commandName} is required, but no supported package manager was found on this machine. Checked: ${availableManagers || "none"}. Install ${commandName} manually and restart.`,
229
+ );
230
+ }
231
+
232
+ throw new Error(`${commandName} is required, but automatic installation failed. Install ${commandName} manually and restart.`);
233
+ }
234
+
235
+ function getCodexSkillsDirectory() {
236
+ const codexHome = process.env.CODEX_HOME?.trim() || path.join(os.homedir(), ".codex");
237
+ return path.join(codexHome, "skills");
238
+ }
239
+
240
+ function getGlobalAgentsSkillsDirectory() {
241
+ return path.join(os.homedir(), ".agents", "skills");
242
+ }
243
+
244
+ function ensureCodexSkillsInstalled() {
245
+ const missingSkills = CODEX_SKILL_DEFINITIONS.filter((skillDefinition) => {
246
+ const targetSkillManifests = [
247
+ path.join(getGlobalAgentsSkillsDirectory(), skillDefinition.name, "SKILL.md"),
248
+ path.join(getCodexSkillsDirectory(), skillDefinition.name, "SKILL.md"),
249
+ ];
250
+ return !targetSkillManifests.some((manifestPath) => fs.existsSync(manifestPath));
251
+ });
252
+
253
+ if (missingSkills.length === 0) {
254
+ return;
255
+ }
256
+
257
+ if (!isCommandAvailable("npx")) {
258
+ console.warn("Skipping Codex skill installation: npx is not available.");
259
+ return;
260
+ }
261
+
262
+ for (const skillDefinition of missingSkills) {
263
+ console.log(`Ensuring Codex skill '${skillDefinition.name}' is installed from ${skillDefinition.sourceUrl}...`);
264
+ const addResult = spawnSync(
265
+ "npx",
266
+ [
267
+ "skills",
268
+ "add",
269
+ skillDefinition.repoUrl,
270
+ "--skill",
271
+ skillDefinition.name,
272
+ "--agent",
273
+ ...CODEX_SKILL_TARGET_AGENTS,
274
+ "-g",
275
+ "-y",
276
+ ],
277
+ { cwd: APP_ROOT, env: process.env, stdio: "pipe" },
278
+ );
279
+ if (addResult.status !== 0) {
280
+ const detail = addResult.stderr?.toString().trim() || addResult.stdout?.toString().trim() || "unknown error";
281
+ console.warn(`Failed to install Codex ${skillDefinition.name} skill via npx skills add: ${detail}`);
282
+ }
283
+ }
284
+ }
285
+
286
+ function printHelp() {
287
+ console.log(`Usage: vibe-pal [options]
288
+
289
+ Options:
290
+ -p, --port <port> Port to run on (default: 3200)
291
+ --dev Run in development mode
292
+ -h, --help Show this help message
293
+ `);
294
+ }
295
+
296
+ function checkPortAvailable(port) {
297
+ return new Promise((resolve) => {
298
+ const server = net.createServer();
299
+
300
+ server.once("error", () => resolve(false));
301
+ server.once("listening", () => {
302
+ server.close(() => resolve(true));
303
+ });
304
+
305
+ server.listen(port, "127.0.0.1");
306
+ });
307
+ }
308
+
309
+ async function findAvailablePort(startPort, maxAttempts = 20) {
310
+ for (let i = 0; i < maxAttempts; i += 1) {
311
+ const candidate = startPort + i;
312
+ const available = await checkPortAvailable(candidate);
313
+ if (available) {
314
+ return candidate;
315
+ }
316
+ }
317
+ throw new Error(`Could not find an available port in range ${startPort}-${startPort + maxAttempts - 1}.`);
318
+ }
319
+
320
+ function runNext(args) {
321
+ return new Promise((resolve, reject) => {
322
+ const child = spawn(process.execPath, [getNextBin(), ...args], {
323
+ cwd: APP_ROOT,
324
+ stdio: "inherit",
325
+ env: process.env,
326
+ });
327
+
328
+ child.on("error", reject);
329
+ child.on("exit", (code, signal) => {
330
+ if (signal) {
331
+ process.kill(process.pid, signal);
332
+ return;
333
+ }
334
+ resolve(code === null ? 1 : code);
335
+ });
336
+ });
337
+ }
338
+
339
+ function ensureBuildExists() {
340
+ const buildIdPath = path.join(APP_ROOT, ".next", "BUILD_ID");
341
+ if (!fs.existsSync(buildIdPath)) {
342
+ throw new Error(
343
+ "No production build found in this package (.next/BUILD_ID is missing). The npm package must be published with prebuilt assets.",
344
+ );
345
+ }
346
+ }
347
+
348
+ function isPortListening(port, host = "127.0.0.1", connectTimeoutMs = 1000) {
349
+ return new Promise((resolve) => {
350
+ const socket = net.createConnection({ port, host });
351
+ const onSuccess = () => {
352
+ socket.destroy();
353
+ resolve(true);
354
+ };
355
+ const onFailure = () => {
356
+ socket.destroy();
357
+ resolve(false);
358
+ };
359
+
360
+ socket.setTimeout(connectTimeoutMs, onFailure);
361
+ socket.once("connect", onSuccess);
362
+ socket.once("error", onFailure);
363
+ socket.once("timeout", onFailure);
364
+ });
365
+ }
366
+
367
+ async function waitForPortListening(port, { timeoutMs = 30000, intervalMs = 250 } = {}) {
368
+ const startTime = Date.now();
369
+ while (Date.now() - startTime < timeoutMs) {
370
+ const listening = await isPortListening(port);
371
+ if (listening) {
372
+ return true;
373
+ }
374
+ await new Promise((resolve) => setTimeout(resolve, intervalMs));
375
+ }
376
+ return false;
377
+ }
378
+
379
+ function openInDefaultBrowser(url) {
380
+ const openCommand = getBrowserOpenCommand(url);
381
+ if (!openCommand) {
382
+ return false;
383
+ }
384
+ if (!isCommandAvailable(openCommand.command)) {
385
+ return false;
386
+ }
387
+
388
+ try {
389
+ const child = spawn(openCommand.command, openCommand.args, {
390
+ cwd: APP_ROOT,
391
+ env: process.env,
392
+ stdio: "ignore",
393
+ detached: true,
394
+ windowsHide: true,
395
+ });
396
+ child.once("error", (error) => {
397
+ const detail = error instanceof Error ? error.message : String(error);
398
+ console.warn(`Failed to auto-open browser: ${detail}`);
399
+ });
400
+ child.unref();
401
+ return true;
402
+ } catch (error) {
403
+ const detail = error instanceof Error ? error.message : String(error);
404
+ console.warn(`Failed to auto-open browser: ${detail}`);
405
+ return false;
406
+ }
407
+ }
408
+
409
+ async function autoOpenBrowserWhenReady(url, port, mode = "start") {
410
+ if (!shouldAutoOpenBrowser(process.env, mode)) {
411
+ return;
412
+ }
413
+
414
+ const ready = await waitForPortListening(port);
415
+ if (!ready) {
416
+ return;
417
+ }
418
+
419
+ const opened = openInDefaultBrowser(url);
420
+ if (opened) {
421
+ console.log(`Opened ${url} in your default browser.`);
422
+ }
423
+ }
424
+
425
+ async function main() {
426
+ try {
427
+ const options = parseArgs(process.argv.slice(2));
428
+ if (options.help) {
429
+ printHelp();
430
+ process.exit(0);
431
+ }
432
+
433
+ ensureCommandInstalled("ttyd");
434
+ if (process.platform !== "win32") {
435
+ ensureCommandInstalled("tmux");
436
+ }
437
+ ensureCodexSkillsInstalled();
438
+
439
+ const envPort = Number.parseInt(process.env.PORT || "", 10);
440
+ const preferredPort =
441
+ options.port ??
442
+ (Number.isInteger(envPort) && envPort > 0 && envPort <= 65535 ? envPort : DEFAULT_PORT);
443
+
444
+ let port = preferredPort;
445
+ if (!options.portExplicit && !process.env.PORT) {
446
+ port = await findAvailablePort(preferredPort);
447
+ if (port !== preferredPort) {
448
+ console.log(`Port ${preferredPort} is in use. Using ${port} instead.`);
449
+ }
450
+ }
451
+
452
+ if (options.mode === "dev") {
453
+ const url = `http://localhost:${port}`;
454
+ console.log(`Starting Palx in development mode on ${url}`);
455
+ const nextPromise = runNext(["dev", "--webpack", "-p", String(port)]);
456
+ void autoOpenBrowserWhenReady(url, port, options.mode);
457
+ process.exit(await nextPromise);
458
+ }
459
+
460
+ ensureBuildExists();
461
+ const url = `http://localhost:${port}`;
462
+ console.log(`Starting Palx on ${url}`);
463
+ const nextPromise = runNext(["start", "-p", String(port)]);
464
+ void autoOpenBrowserWhenReady(url, port, options.mode);
465
+ process.exit(await nextPromise);
466
+ } catch (error) {
467
+ const errorMessage = error instanceof Error ? error.message : String(error);
468
+ console.error(`Palx failed to start: ${errorMessage}`);
469
+ process.exit(1);
470
+ }
471
+ }
472
+
473
+ function isDirectExecution() {
474
+ if (!process.argv[1]) {
475
+ return false;
476
+ }
477
+
478
+ try {
479
+ const invokedPath = fs.realpathSync(path.resolve(process.argv[1]));
480
+ const modulePath = fs.realpathSync(fileURLToPath(import.meta.url));
481
+ return invokedPath === modulePath;
482
+ } catch {
483
+ return false;
484
+ }
485
+ }
486
+
487
+ if (isDirectExecution()) {
488
+ void main();
489
+ }
@@ -0,0 +1,25 @@
1
+ /** @type {import("next").NextConfig} */
2
+ const nextConfig = {
3
+ allowedDevOrigins: ["localhost", "*.localhost", "127.0.0.1"],
4
+ serverExternalPackages: ["keytar"],
5
+ devIndicators: {
6
+ position: "top-right",
7
+ },
8
+ experimental: {
9
+ serverActions: {
10
+ // Allow loopback iframe/proxy origins in local development previews.
11
+ // Example host values: 127.0.0.1:55700
12
+ allowedOrigins: ["127.0.0.*"],
13
+ },
14
+ },
15
+ async rewrites() {
16
+ return [
17
+ {
18
+ source: "/terminal/:path*",
19
+ destination: "http://127.0.0.1:7681/:path*",
20
+ },
21
+ ];
22
+ },
23
+ };
24
+
25
+ export default nextConfig;
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "vibe-pal",
3
+ "version": "0.42.0",
4
+ "private": false,
5
+ "description": "Local session manager for AI coding agents.",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/m0o0scar/viba"
9
+ },
10
+ "bin": {
11
+ "vibe-pal": "bin/viba.mjs"
12
+ },
13
+ "files": [
14
+ "bin",
15
+ "src/lib/cli-args.mjs",
16
+ ".next/BUILD_ID",
17
+ ".next/server",
18
+ ".next/static",
19
+ ".next/*.json",
20
+ ".next/*.js",
21
+ "public",
22
+ "next.config.mjs",
23
+ "README.md"
24
+ ],
25
+ "scripts": {
26
+ "dev": "npx gfport 3200 -- node ./bin/viba.mjs --dev --port {PORT}",
27
+ "build": "next build",
28
+ "prepack": "rm -rf .next && npm run build",
29
+ "start": "node ./bin/viba.mjs",
30
+ "lint": "eslint",
31
+ "test": "node --experimental-strip-types --test src/**/*.test.ts test/**/*.test.mjs",
32
+ "cli": "node ./bin/viba.mjs",
33
+ "pack:preview": "npm pack --dry-run"
34
+ },
35
+ "keywords": [
36
+ "ai",
37
+ "coding-agent",
38
+ "git-worktree",
39
+ "nextjs"
40
+ ],
41
+ "license": "MIT",
42
+ "dependencies": {
43
+ "@alexbruf/react-diff-viewer": "^3.1.5",
44
+ "@tanstack/react-query": "^5.90.21",
45
+ "@types/uuid": "^10.0.0",
46
+ "clsx": "^2.1.1",
47
+ "daisyui": "^5.5.18",
48
+ "http-proxy-middleware": "^3.0.5",
49
+ "keytar": "^7.9.0",
50
+ "lucide-react": "^0.563.0",
51
+ "next": "16.1.6",
52
+ "next-themes": "^0.4.6",
53
+ "react": "19.2.3",
54
+ "react-dom": "19.2.3",
55
+ "simple-git": "^3.30.0",
56
+ "tailwind-merge": "^3.4.0",
57
+ "uuid": "^13.0.0",
58
+ "ws": "^8.19.0"
59
+ },
60
+ "devDependencies": {
61
+ "@tailwindcss/postcss": "^4",
62
+ "@types/node": "^20",
63
+ "@types/react": "^19",
64
+ "@types/react-dom": "^19",
65
+ "@types/ws": "^8.18.1",
66
+ "eslint": "^9",
67
+ "eslint-config-next": "16.1.6",
68
+ "gfport": "^1.0.1",
69
+ "tailwindcss": "^4",
70
+ "typescript": "5.9.3"
71
+ }
72
+ }
@@ -0,0 +1 @@
1
+ <svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
@@ -0,0 +1 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
@@ -0,0 +1,41 @@
1
+ export function parseArgs(argv) {
2
+ const options = {
3
+ mode: "start",
4
+ port: undefined,
5
+ portExplicit: false,
6
+ help: false,
7
+ };
8
+
9
+ for (let i = 0; i < argv.length; i += 1) {
10
+ const arg = argv[i];
11
+
12
+ if (arg === "--help" || arg === "-h") {
13
+ options.help = true;
14
+ return options;
15
+ }
16
+
17
+ if (arg === "--dev") {
18
+ options.mode = "dev";
19
+ continue;
20
+ }
21
+
22
+ if (arg === "--port" || arg === "-p") {
23
+ const value = argv[i + 1];
24
+ if (!value) {
25
+ throw new Error("Missing value for --port.");
26
+ }
27
+ const parsed = Number.parseInt(value, 10);
28
+ if (!Number.isInteger(parsed) || parsed < 1 || parsed > 65535) {
29
+ throw new Error(`Invalid port: ${value}`);
30
+ }
31
+ options.port = parsed;
32
+ options.portExplicit = true;
33
+ i += 1;
34
+ continue;
35
+ }
36
+
37
+ throw new Error(`Unknown option: ${arg}`);
38
+ }
39
+
40
+ return options;
41
+ }