trident-git 0.3.0 → 0.5.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 (213) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -8
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +27 -3
  5. package/.next/routes-manifest.json +18 -0
  6. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_global-error.html +2 -2
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/_not-found.html +1 -1
  17. package/.next/server/app/_not-found.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  19. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next/server/app/api/credentials/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/custom-scripts/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/fs/open/route.js +1 -0
  27. package/.next/server/app/api/fs/open/route.js.nft.json +1 -0
  28. package/.next/server/app/api/fs/open/route_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/fs/open-terminal/route.js +1 -0
  30. package/.next/server/app/api/fs/open-terminal/route.js.nft.json +1 -0
  31. package/.next/server/app/api/fs/open-terminal/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/fs/route.js +1 -1
  33. package/.next/server/app/api/fs/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/git/action/route.js +1 -1
  35. package/.next/server/app/api/git/action/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/git/branches/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/git/diff/route.js +1 -1
  38. package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/git/log/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/repos/clone/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/repos/route.js +1 -1
  43. package/.next/server/app/api/repos/route.js.nft.json +1 -1
  44. package/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/credentials/page.js +2 -4
  47. package/.next/server/app/credentials/page.js.nft.json +1 -1
  48. package/.next/server/app/credentials/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/credentials.html +1 -1
  50. package/.next/server/app/credentials.rsc +4 -4
  51. package/.next/server/app/credentials.segments/_full.segment.rsc +4 -4
  52. package/.next/server/app/credentials.segments/_head.segment.rsc +1 -1
  53. package/.next/server/app/credentials.segments/_index.segment.rsc +3 -3
  54. package/.next/server/app/credentials.segments/_tree.segment.rsc +2 -2
  55. package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +2 -2
  56. package/.next/server/app/credentials.segments/credentials.segment.rsc +1 -1
  57. package/.next/server/app/index.html +1 -1
  58. package/.next/server/app/index.rsc +14 -13
  59. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -5
  60. package/.next/server/app/index.segments/_full.segment.rsc +14 -13
  61. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  62. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  63. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  64. package/.next/server/app/page.js +4 -2
  65. package/.next/server/app/page.js.nft.json +1 -1
  66. package/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/workspace/changes/page.js +2 -2
  68. package/.next/server/app/workspace/changes/page_client-reference-manifest.js +1 -1
  69. package/.next/server/app/workspace/changes.html +1 -1
  70. package/.next/server/app/workspace/changes.rsc +6 -6
  71. package/.next/server/app/workspace/changes.segments/_full.segment.rsc +6 -6
  72. package/.next/server/app/workspace/changes.segments/_head.segment.rsc +1 -1
  73. package/.next/server/app/workspace/changes.segments/_index.segment.rsc +3 -3
  74. package/.next/server/app/workspace/changes.segments/_tree.segment.rsc +2 -2
  75. package/.next/server/app/workspace/changes.segments/workspace/changes/__PAGE__.segment.rsc +2 -2
  76. package/.next/server/app/workspace/changes.segments/workspace/changes.segment.rsc +1 -1
  77. package/.next/server/app/workspace/changes.segments/workspace.segment.rsc +3 -3
  78. package/.next/server/app/workspace/conflicts/page.js +2 -0
  79. package/.next/server/app/workspace/conflicts/page.js.nft.json +1 -0
  80. package/.next/server/app/workspace/conflicts/page_client-reference-manifest.js +1 -0
  81. package/.next/server/app/workspace/conflicts.html +1 -0
  82. package/.next/server/app/workspace/conflicts.meta +16 -0
  83. package/.next/server/app/workspace/conflicts.rsc +26 -0
  84. package/.next/server/app/workspace/conflicts.segments/_full.segment.rsc +26 -0
  85. package/.next/server/app/workspace/conflicts.segments/_head.segment.rsc +6 -0
  86. package/.next/server/app/workspace/conflicts.segments/_index.segment.rsc +8 -0
  87. package/.next/server/app/workspace/conflicts.segments/_tree.segment.rsc +7 -0
  88. package/.next/server/app/workspace/conflicts.segments/workspace/conflicts/__PAGE__.segment.rsc +10 -0
  89. package/.next/server/app/workspace/conflicts.segments/workspace/conflicts.segment.rsc +4 -0
  90. package/.next/server/app/workspace/conflicts.segments/workspace.segment.rsc +7 -0
  91. package/.next/server/app/workspace/custom-scripts/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/workspace/custom-scripts.html +1 -1
  93. package/.next/server/app/workspace/custom-scripts.rsc +6 -6
  94. package/.next/server/app/workspace/custom-scripts.segments/_full.segment.rsc +6 -6
  95. package/.next/server/app/workspace/custom-scripts.segments/_head.segment.rsc +1 -1
  96. package/.next/server/app/workspace/custom-scripts.segments/_index.segment.rsc +3 -3
  97. package/.next/server/app/workspace/custom-scripts.segments/_tree.segment.rsc +2 -2
  98. package/.next/server/app/workspace/custom-scripts.segments/workspace/custom-scripts/__PAGE__.segment.rsc +2 -2
  99. package/.next/server/app/workspace/custom-scripts.segments/workspace/custom-scripts.segment.rsc +1 -1
  100. package/.next/server/app/workspace/custom-scripts.segments/workspace.segment.rsc +3 -3
  101. package/.next/server/app/workspace/history/page.js +2 -2
  102. package/.next/server/app/workspace/history/page.js.nft.json +1 -1
  103. package/.next/server/app/workspace/history/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/workspace/history.html +1 -1
  105. package/.next/server/app/workspace/history.rsc +6 -6
  106. package/.next/server/app/workspace/history.segments/_full.segment.rsc +6 -6
  107. package/.next/server/app/workspace/history.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/workspace/history.segments/_index.segment.rsc +3 -3
  109. package/.next/server/app/workspace/history.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/workspace/history.segments/workspace/history/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/workspace/history.segments/workspace/history.segment.rsc +1 -1
  112. package/.next/server/app/workspace/history.segments/workspace.segment.rsc +3 -3
  113. package/.next/server/app/workspace/page.js +2 -2
  114. package/.next/server/app/workspace/page.js.nft.json +1 -1
  115. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/workspace/settings/page_client-reference-manifest.js +1 -1
  117. package/.next/server/app/workspace/settings.html +1 -1
  118. package/.next/server/app/workspace/settings.rsc +6 -6
  119. package/.next/server/app/workspace/settings.segments/_full.segment.rsc +6 -6
  120. package/.next/server/app/workspace/settings.segments/_head.segment.rsc +1 -1
  121. package/.next/server/app/workspace/settings.segments/_index.segment.rsc +3 -3
  122. package/.next/server/app/workspace/settings.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/workspace/settings.segments/workspace/settings/__PAGE__.segment.rsc +2 -2
  124. package/.next/server/app/workspace/settings.segments/workspace/settings.segment.rsc +1 -1
  125. package/.next/server/app/workspace/settings.segments/workspace.segment.rsc +3 -3
  126. package/.next/server/app/workspace/stashes/page_client-reference-manifest.js +1 -1
  127. package/.next/server/app/workspace/stashes.html +1 -1
  128. package/.next/server/app/workspace/stashes.rsc +6 -6
  129. package/.next/server/app/workspace/stashes.segments/_full.segment.rsc +6 -6
  130. package/.next/server/app/workspace/stashes.segments/_head.segment.rsc +1 -1
  131. package/.next/server/app/workspace/stashes.segments/_index.segment.rsc +3 -3
  132. package/.next/server/app/workspace/stashes.segments/_tree.segment.rsc +2 -2
  133. package/.next/server/app/workspace/stashes.segments/workspace/stashes/__PAGE__.segment.rsc +2 -2
  134. package/.next/server/app/workspace/stashes.segments/workspace/stashes.segment.rsc +1 -1
  135. package/.next/server/app/workspace/stashes.segments/workspace.segment.rsc +3 -3
  136. package/.next/server/app/workspace.html +1 -1
  137. package/.next/server/app/workspace.rsc +6 -6
  138. package/.next/server/app/workspace.segments/_full.segment.rsc +6 -6
  139. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  140. package/.next/server/app/workspace.segments/_index.segment.rsc +3 -3
  141. package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  142. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  143. package/.next/server/app/workspace.segments/workspace.segment.rsc +3 -3
  144. package/.next/server/app-paths-manifest.json +11 -8
  145. package/.next/server/chunks/386.js +1 -1
  146. package/.next/server/chunks/455.js +3 -0
  147. package/.next/server/chunks/557.js +4 -4
  148. package/.next/server/chunks/725.js +7 -0
  149. package/.next/server/chunks/781.js +1 -1
  150. package/.next/server/chunks/946.js +1 -1
  151. package/.next/server/pages/404.html +1 -1
  152. package/.next/server/pages/500.html +2 -2
  153. package/.next/server/server-reference-manifest.json +1 -1
  154. package/.next/static/VVpGnBxPAXMCVjOD1KoU3/_buildManifest.js +1 -0
  155. package/.next/static/chunks/{131-7599c38c2eb54305.js → 131-4e059eb668f6734a.js} +1 -1
  156. package/.next/static/chunks/26-a76b3447d31c0f53.js +1 -0
  157. package/.next/static/chunks/{772-b39107b40c31b6b6.js → 437-856aae031cb5746d.js} +3 -3
  158. package/.next/static/chunks/446-c08c83aa2f787ad4.js +8 -0
  159. package/.next/static/chunks/app/_global-error/page-2c17ff49390f8b16.js +1 -0
  160. package/.next/static/chunks/app/api/credentials/route-2c17ff49390f8b16.js +1 -0
  161. package/.next/static/chunks/app/api/custom-scripts/route-2c17ff49390f8b16.js +1 -0
  162. package/.next/static/chunks/app/api/fs/open/route-2c17ff49390f8b16.js +1 -0
  163. package/.next/static/chunks/app/api/fs/open-terminal/route-2c17ff49390f8b16.js +1 -0
  164. package/.next/static/chunks/app/api/fs/route-2c17ff49390f8b16.js +1 -0
  165. package/.next/static/chunks/app/api/git/action/route-2c17ff49390f8b16.js +1 -0
  166. package/.next/static/chunks/app/api/git/branches/route-2c17ff49390f8b16.js +1 -0
  167. package/.next/static/chunks/app/api/git/diff/route-2c17ff49390f8b16.js +1 -0
  168. package/.next/static/chunks/app/api/git/log/route-2c17ff49390f8b16.js +1 -0
  169. package/.next/static/chunks/app/api/git/status/route-2c17ff49390f8b16.js +1 -0
  170. package/.next/static/chunks/app/api/repos/clone/route-2c17ff49390f8b16.js +1 -0
  171. package/.next/static/chunks/app/api/repos/route-2c17ff49390f8b16.js +1 -0
  172. package/.next/static/chunks/app/api/settings/route-2c17ff49390f8b16.js +1 -0
  173. package/.next/static/chunks/app/credentials/page-98f6c498c4356393.js +1 -0
  174. package/.next/static/chunks/app/page-b6a88311748e2958.js +1 -0
  175. package/.next/static/chunks/app/workspace/changes/page-332cb9b7837d465b.js +3 -0
  176. package/.next/static/chunks/app/workspace/conflicts/page-4e3388cbfeb080ce.js +1 -0
  177. package/.next/static/chunks/app/workspace/history/{page-89bfc9747faed53b.js → page-023ae7cc39ee9664.js} +1 -1
  178. package/.next/static/chunks/app/workspace/layout-586ee7be4f6abf20.js +1 -0
  179. package/.next/static/chunks/app/workspace/{page-2b043ff528917d81.js → page-f7b05714b4e0eb2a.js} +1 -1
  180. package/.next/static/chunks/next/dist/client/components/builtin/app-error-2c17ff49390f8b16.js +1 -0
  181. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2c17ff49390f8b16.js +1 -0
  182. package/.next/static/chunks/next/dist/client/components/builtin/not-found-2c17ff49390f8b16.js +1 -0
  183. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2c17ff49390f8b16.js +1 -0
  184. package/.next/static/css/c4d257db89c36a31.css +1 -0
  185. package/README.md +2 -0
  186. package/package.json +1 -1
  187. package/public/github.png +0 -0
  188. package/.next/server/chunks/739.js +0 -5
  189. package/.next/static/chunks/147-d4cb3e03218d75df.js +0 -6
  190. package/.next/static/chunks/26-0e6386c43f055f59.js +0 -1
  191. package/.next/static/chunks/app/_global-error/page-10b66af9ca2c453f.js +0 -1
  192. package/.next/static/chunks/app/api/credentials/route-10b66af9ca2c453f.js +0 -1
  193. package/.next/static/chunks/app/api/custom-scripts/route-10b66af9ca2c453f.js +0 -1
  194. package/.next/static/chunks/app/api/fs/route-10b66af9ca2c453f.js +0 -1
  195. package/.next/static/chunks/app/api/git/action/route-10b66af9ca2c453f.js +0 -1
  196. package/.next/static/chunks/app/api/git/branches/route-10b66af9ca2c453f.js +0 -1
  197. package/.next/static/chunks/app/api/git/diff/route-10b66af9ca2c453f.js +0 -1
  198. package/.next/static/chunks/app/api/git/log/route-10b66af9ca2c453f.js +0 -1
  199. package/.next/static/chunks/app/api/git/status/route-10b66af9ca2c453f.js +0 -1
  200. package/.next/static/chunks/app/api/repos/clone/route-10b66af9ca2c453f.js +0 -1
  201. package/.next/static/chunks/app/api/repos/route-10b66af9ca2c453f.js +0 -1
  202. package/.next/static/chunks/app/api/settings/route-10b66af9ca2c453f.js +0 -1
  203. package/.next/static/chunks/app/credentials/page-9d0b6c0a8cf1ce2f.js +0 -1
  204. package/.next/static/chunks/app/page-157b05e7d700b845.js +0 -1
  205. package/.next/static/chunks/app/workspace/changes/page-e8bc3001e0ce1bb9.js +0 -3
  206. package/.next/static/chunks/app/workspace/layout-75643230bfa68574.js +0 -1
  207. package/.next/static/chunks/next/dist/client/components/builtin/app-error-10b66af9ca2c453f.js +0 -1
  208. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-10b66af9ca2c453f.js +0 -1
  209. package/.next/static/chunks/next/dist/client/components/builtin/not-found-10b66af9ca2c453f.js +0 -1
  210. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-10b66af9ca2c453f.js +0 -1
  211. package/.next/static/css/aba7f1cbfd108b5e.css +0 -1
  212. package/.next/static/rozD2mKp-fnaizXZhYJKN/_buildManifest.js +0 -1
  213. /package/.next/static/{rozD2mKp-fnaizXZhYJKN → VVpGnBxPAXMCVjOD1KoU3}/_ssgManifest.js +0 -0
@@ -1,12 +1,12 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-0e6386c43f055f59.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
2
+ 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-a76b3447d31c0f53.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
3
3
  3:I[7121,[],""]
4
4
  4:I[4581,[],""]
5
5
  5:"$Sreact.suspense"
6
- 6:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"WorkspaceRepoOpenTracker"]
7
- 7:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"Sidebar"]
6
+ 6:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"WorkspaceRepoOpenTracker"]
7
+ 7:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"Sidebar"]
8
8
  8:I[1304,[],"ClientPageRoot"]
9
- 9:I[6795,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-0e6386c43f055f59.js","790","static/chunks/790-3e8fa6e595d97940.js","147","static/chunks/147-d4cb3e03218d75df.js","364","static/chunks/app/workspace/page-2b043ff528917d81.js"],"default"]
9
+ 9:I[9176,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-a76b3447d31c0f53.js","790","static/chunks/790-3e8fa6e595d97940.js","446","static/chunks/446-c08c83aa2f787ad4.js","364","static/chunks/app/workspace/page-f7b05714b4e0eb2a.js"],"default"]
10
10
  c:I[484,[],"OutletBoundary"]
11
11
  e:I[484,[],"ViewportBoundary"]
12
12
  10:I[484,[],"MetadataBoundary"]
@@ -14,10 +14,10 @@ e:I[484,[],"ViewportBoundary"]
14
14
  :HL["/_next/static/media/4cf2300e9c8272f7-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
15
  :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/css/de70bee13400563f.css","style"]
17
- :HL["/_next/static/css/aba7f1cbfd108b5e.css","style"]
17
+ :HL["/_next/static/css/c4d257db89c36a31.css","style"]
18
18
  :HL["/_next/static/css/36968b90b2339533.css","style"]
19
19
  :HL["https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css","style"]
20
- 0:{"P":null,"b":"rozD2mKp-fnaizXZhYJKN","c":["","workspace"],"q":"","i":false,"f":[[["",{"children":["workspace",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/aba7f1cbfd108b5e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$5",null,{"fallback":null,"children":["$","$L6",null,{}]}],["$","$5",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L7",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@d"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[]],"S":true}
20
+ 0:{"P":null,"b":"VVpGnBxPAXMCVjOD1KoU3","c":["","workspace"],"q":"","i":false,"f":[[["",{"children":["workspace",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c4d257db89c36a31.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$5",null,{"fallback":null,"children":["$","$L6",null,{}]}],["$","$5",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L7",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@d"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[]],"S":true}
21
21
  a:{}
22
22
  b:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
23
23
  f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,12 +1,12 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-0e6386c43f055f59.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
2
+ 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-a76b3447d31c0f53.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
3
3
  3:I[7121,[],""]
4
4
  4:I[4581,[],""]
5
5
  5:"$Sreact.suspense"
6
- 6:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"WorkspaceRepoOpenTracker"]
7
- 7:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"Sidebar"]
6
+ 6:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"WorkspaceRepoOpenTracker"]
7
+ 7:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"Sidebar"]
8
8
  8:I[1304,[],"ClientPageRoot"]
9
- 9:I[6795,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-0e6386c43f055f59.js","790","static/chunks/790-3e8fa6e595d97940.js","147","static/chunks/147-d4cb3e03218d75df.js","364","static/chunks/app/workspace/page-2b043ff528917d81.js"],"default"]
9
+ 9:I[9176,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-a76b3447d31c0f53.js","790","static/chunks/790-3e8fa6e595d97940.js","446","static/chunks/446-c08c83aa2f787ad4.js","364","static/chunks/app/workspace/page-f7b05714b4e0eb2a.js"],"default"]
10
10
  c:I[484,[],"OutletBoundary"]
11
11
  e:I[484,[],"ViewportBoundary"]
12
12
  10:I[484,[],"MetadataBoundary"]
@@ -14,10 +14,10 @@ e:I[484,[],"ViewportBoundary"]
14
14
  :HL["/_next/static/media/4cf2300e9c8272f7-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
15
  :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/css/de70bee13400563f.css","style"]
17
- :HL["/_next/static/css/aba7f1cbfd108b5e.css","style"]
17
+ :HL["/_next/static/css/c4d257db89c36a31.css","style"]
18
18
  :HL["/_next/static/css/36968b90b2339533.css","style"]
19
19
  :HL["https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css","style"]
20
- 0:{"P":null,"b":"rozD2mKp-fnaizXZhYJKN","c":["","workspace"],"q":"","i":false,"f":[[["",{"children":["workspace",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/aba7f1cbfd108b5e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$5",null,{"fallback":null,"children":["$","$L6",null,{}]}],["$","$5",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L7",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@d"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[]],"S":true}
20
+ 0:{"P":null,"b":"VVpGnBxPAXMCVjOD1KoU3","c":["","workspace"],"q":"","i":false,"f":[[["",{"children":["workspace",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c4d257db89c36a31.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$5",null,{"fallback":null,"children":["$","$L6",null,{}]}],["$","$5",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L7",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L8",null,{"Component":"$9","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@a","$@b"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@d"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[]],"S":true}
21
21
  a:{}
22
22
  b:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
23
23
  f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -3,4 +3,4 @@
3
3
  3:I[484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[6869,[],"IconMark"]
6
- 0:{"buildId":"rozD2mKp-fnaizXZhYJKN","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Trident"}],["$","meta","1",{"name":"description","content":"Git repository management tool"}],["$","link","2",{"rel":"icon","href":"/icon.png?91e8b75214a43d69","type":"image/png","sizes":"256x256"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"VVpGnBxPAXMCVjOD1KoU3","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Trident"}],["$","meta","1",{"name":"description","content":"Git repository management tool"}],["$","link","2",{"rel":"icon","href":"/icon.png?91e8b75214a43d69","type":"image/png","sizes":"256x256"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
@@ -1,8 +1,8 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-0e6386c43f055f59.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
2
+ 2:I[2246,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","200","static/chunks/200-3664e65687e716a2.js","26","static/chunks/26-a76b3447d31c0f53.js","558","static/chunks/app/layout-dda593914e513c38.js"],"Providers"]
3
3
  3:I[7121,[],""]
4
4
  4:I[4581,[],""]
5
5
  :HL["/_next/static/css/de70bee13400563f.css","style"]
6
- :HL["/_next/static/css/aba7f1cbfd108b5e.css","style"]
6
+ :HL["/_next/static/css/c4d257db89c36a31.css","style"]
7
7
  :HL["https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css","style"]
8
- 0:{"buildId":"rozD2mKp-fnaizXZhYJKN","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/aba7f1cbfd108b5e.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
8
+ 0:{"buildId":"VVpGnBxPAXMCVjOD1KoU3","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/de70bee13400563f.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/c4d257db89c36a31.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"}]}],["$","body",null,{"className":"__variable_188709 __variable_9a8899 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]]}],"loading":null,"isPartial":false}
@@ -1,7 +1,7 @@
1
1
  :HL["/_next/static/media/4cf2300e9c8272f7-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2
2
  :HL["/_next/static/media/93f479601ee12b01-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
3
  :HL["/_next/static/css/de70bee13400563f.css","style"]
4
- :HL["/_next/static/css/aba7f1cbfd108b5e.css","style"]
4
+ :HL["/_next/static/css/c4d257db89c36a31.css","style"]
5
5
  :HL["/_next/static/css/36968b90b2339533.css","style"]
6
6
  :HL["https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css","style"]
7
- 0:{"buildId":"rozD2mKp-fnaizXZhYJKN","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"workspace","paramType":null,"paramKey":"workspace","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
7
+ 0:{"buildId":"VVpGnBxPAXMCVjOD1KoU3","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"workspace","paramType":null,"paramKey":"workspace","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
@@ -1,10 +1,10 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[1304,[],"ClientPageRoot"]
3
- 3:I[6795,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-0e6386c43f055f59.js","790","static/chunks/790-3e8fa6e595d97940.js","147","static/chunks/147-d4cb3e03218d75df.js","364","static/chunks/app/workspace/page-2b043ff528917d81.js"],"default"]
3
+ 3:I[9176,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","841","static/chunks/841-4d865378216d36eb.js","26","static/chunks/26-a76b3447d31c0f53.js","790","static/chunks/790-3e8fa6e595d97940.js","446","static/chunks/446-c08c83aa2f787ad4.js","364","static/chunks/app/workspace/page-f7b05714b4e0eb2a.js"],"default"]
4
4
  6:I[484,[],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
6
  :HL["/_next/static/css/36968b90b2339533.css","style"]
7
- 0:{"buildId":"rozD2mKp-fnaizXZhYJKN","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next"}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
7
+ 0:{"buildId":"VVpGnBxPAXMCVjOD1KoU3","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/36968b90b2339533.css","precedence":"next"}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
8
8
  4:{}
9
9
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
10
10
  8:null
@@ -1,7 +1,7 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:"$Sreact.suspense"
3
- 3:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"WorkspaceRepoOpenTracker"]
4
- 4:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-0e6386c43f055f59.js","131","static/chunks/131-7599c38c2eb54305.js","807","static/chunks/app/workspace/layout-75643230bfa68574.js"],"Sidebar"]
3
+ 3:I[9128,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"WorkspaceRepoOpenTracker"]
4
+ 4:I[7185,["176","static/chunks/176-b068120641913226.js","785","static/chunks/785-e6d755147ff87934.js","500","static/chunks/500-5d45efbf86b8d36e.js","26","static/chunks/26-a76b3447d31c0f53.js","131","static/chunks/131-4e059eb668f6734a.js","807","static/chunks/app/workspace/layout-586ee7be4f6abf20.js"],"Sidebar"]
5
5
  5:I[7121,[],""]
6
6
  6:I[4581,[],""]
7
- 0:{"buildId":"rozD2mKp-fnaizXZhYJKN","rsc":["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$2",null,{"fallback":null,"children":["$","$L3",null,{}]}],["$","$2",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L4",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}]}]}]]}]]}],"loading":null,"isPartial":false}
7
+ 0:{"buildId":"VVpGnBxPAXMCVjOD1KoU3","rsc":["$","$1","c",{"children":[null,["$","div",null,{"className":"flex min-h-screen max-h-screen bg-base-100","children":[["$","$2",null,{"fallback":null,"children":["$","$L3",null,{}]}],["$","$2",null,{"fallback":["$","div",null,{"className":"w-64 border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center","children":["$","span",null,{"className":"loading loading-spinner"}]}],"children":["$","$L4",null,{"initialCollapsed":false}]}],["$","main",null,{"className":"flex-1 overflow-auto","children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}]}]}]]}]]}],"loading":null,"isPartial":false}
@@ -1,24 +1,27 @@
1
1
  {
2
+ "/_not-found/page": "app/_not-found/page.js",
3
+ "/_global-error/page": "app/_global-error/page.js",
4
+ "/api/credentials/route": "app/api/credentials/route.js",
5
+ "/api/fs/open-terminal/route": "app/api/fs/open-terminal/route.js",
6
+ "/api/fs/open/route": "app/api/fs/open/route.js",
2
7
  "/api/fs/route": "app/api/fs/route.js",
8
+ "/api/git/branches/route": "app/api/git/branches/route.js",
3
9
  "/api/git/action/route": "app/api/git/action/route.js",
4
- "/_not-found/page": "app/_not-found/page.js",
5
10
  "/api/git/diff/route": "app/api/git/diff/route.js",
6
11
  "/api/git/log/route": "app/api/git/log/route.js",
7
- "/api/git/branches/route": "app/api/git/branches/route.js",
8
12
  "/api/git/status/route": "app/api/git/status/route.js",
13
+ "/api/repos/clone/route": "app/api/repos/clone/route.js",
9
14
  "/api/repos/route": "app/api/repos/route.js",
10
15
  "/api/settings/route": "app/api/settings/route.js",
11
- "/api/credentials/route": "app/api/credentials/route.js",
12
16
  "/icon.png/route": "app/icon.png/route.js",
13
- "/_global-error/page": "app/_global-error/page.js",
14
- "/api/repos/clone/route": "app/api/repos/clone/route.js",
15
17
  "/api/custom-scripts/route": "app/api/custom-scripts/route.js",
16
- "/page": "app/page.js",
17
18
  "/credentials/page": "app/credentials/page.js",
18
- "/workspace/custom-scripts/page": "app/workspace/custom-scripts/page.js",
19
- "/workspace/page": "app/workspace/page.js",
19
+ "/page": "app/page.js",
20
20
  "/workspace/changes/page": "app/workspace/changes/page.js",
21
21
  "/workspace/history/page": "app/workspace/history/page.js",
22
+ "/workspace/conflicts/page": "app/workspace/conflicts/page.js",
23
+ "/workspace/custom-scripts/page": "app/workspace/custom-scripts/page.js",
22
24
  "/workspace/settings/page": "app/workspace/settings/page.js",
25
+ "/workspace/page": "app/workspace/page.js",
23
26
  "/workspace/stashes/page": "app/workspace/stashes/page.js"
24
27
  }
@@ -1 +1 @@
1
- exports.id=386,exports.ids=[386],exports.modules={2597:(a,b,c)=>{Promise.resolve().then(c.bind(c,5229)),Promise.resolve().then(c.bind(c,3246))},3246:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>g});var d=c(7484),e=c(9099),f=c(4626);function g(){(0,e.usePathname)(),(0,e.useSearchParams)().get("path");let{data:a}=(0,f.uG)();return(0,f.Lp)(),(0,d.useRef)(null),null}},4528:(a,b,c)=>{"use strict";let d,e;c.d(b,{Ck:()=>p,Ir:()=>q,NV:()=>n,Xx:()=>u,cZ:()=>v,jD:()=>r,mt:()=>t});var f=c(9021),g=c.n(f),h=c(1820),i=c.n(h),j=c(3873),k=c.n(j);let l=(d=process.platform,e=i().homedir(),"win32"===d?k().join(process.env.APPDATA||k().join(e,"AppData","Roaming"),"trident"):"darwin"===d?k().join(e,"Library","Application Support","trident"):k().join(process.env.XDG_CONFIG_HOME||k().join(e,".config"),"trident")),m=k().join(l,"repos.json");function n(){if(!g().existsSync(m))return[];try{let a=g().readFileSync(m,"utf-8");return JSON.parse(a)}catch(a){return console.error("Failed to parse repos.json",a),[]}}function o(a){if(void 0===a)return;if(null===a)return null;let b=a.trim();return b.length>0?b:null}function p(a,b,c){let d=n();if(d.find(b=>b.path===a))throw Error("Repository already exists");let e=o(c),f={path:a,name:b||k().basename(a),...e?{displayName:e}:{}};return d.push(f),g().writeFileSync(m,JSON.stringify(d,null,2)),f}function q(a,b){let c=n(),d=c.findIndex(b=>b.path===a);if(-1===d)throw Error("Repository not found");let e={...b};"displayName"in e&&(e.displayName=o(e.displayName));let f={...c[d],...e};return c[d]=f,g().writeFileSync(m,JSON.stringify(c,null,2)),f}function r(a,b){let{deleteLocalFolder:c=!1}=b||{};if(c){let b=k().resolve(a),c=k().parse(b).root;if(b===c)throw Error("Refusing to delete a filesystem root path");g().rmSync(b,{recursive:!0,force:!0})}let d=n();d=d.filter(b=>b.path!==a),g().writeFileSync(m,JSON.stringify(d,null,2))}g().existsSync(l)||g().mkdirSync(l,{recursive:!0});let s=k().join(l,"settings.json");function t(){let a={defaultRootFolder:null,sidebarCollapsed:!1};if(!g().existsSync(s))return a;try{let b=g().readFileSync(s,"utf-8"),c=JSON.parse(b);return{...a,...c}}catch(b){return console.error("Failed to parse settings.json",b),a}}function u(a){let b={...t(),...a};return g().writeFileSync(s,JSON.stringify(b,null,2)),b}function v(){let a=t();if(a.defaultRootFolder)try{if(g().existsSync(a.defaultRootFolder)&&g().statSync(a.defaultRootFolder).isDirectory())return a.defaultRootFolder}catch{}return i().homedir()}},4763:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(9671),f=c(1986),g=c(6920),h=c(4528);function i({children:a}){let b=(0,h.mt)().sidebarCollapsed??!1;return(0,d.jsxs)("div",{className:"flex min-h-screen max-h-screen bg-base-100",children:[(0,d.jsx)(f.Suspense,{fallback:null,children:(0,d.jsx)(g.WorkspaceRepoOpenTracker,{})}),(0,d.jsx)(f.Suspense,{fallback:(0,d.jsx)("div",{className:`${b?"w-16":"w-64"} border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center`,children:(0,d.jsx)("span",{className:"loading loading-spinner"})}),children:(0,d.jsx)(e.Sidebar,{initialCollapsed:b})}),(0,d.jsx)("main",{className:"flex-1 overflow-auto",children:a})]})}},5229:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>l});var d=c(8249),e=c(4490),f=c(2116),g=c.n(f),h=c(781),i=c(9099),j=c(7484),k=c(4626);function l({className:a,initialCollapsed:b=!1}){let c=(0,i.usePathname)(),f=(0,i.useSearchParams)(),l=(0,i.useRouter)(),m=f.get("path")||"",n=(0,k.GK)(m||null),[o,p]=(0,j.useState)(b),[q,r]=(0,j.useState)(!1),[s,t]=(0,j.useState)(!1),u=(0,k.Y5)(),{data:v}=(0,k.en)(m||null),w=v?.files?.length??0,x=n?(0,e.iu)(n):m?(0,e.kj)(m):"",y=(0,j.useCallback)(()=>{let a=!o;p(a),u.mutate({sidebarCollapsed:a})},[o,u]),z=(a="")=>{let b=new URLSearchParams(f.toString());return b.delete("tab"),`/workspace${a}?${b.toString()}`},A=a=>"status"===a?"/workspace/changes"===c:"history"===a?"/workspace"===c||c.startsWith("/workspace/history"):"custom-scripts"===a?c.startsWith("/workspace/custom-scripts"):"settings"===a?c.startsWith("/workspace/settings"):"stashes"===a&&c.startsWith("/workspace/stashes"),B=o?64:256;return(0,d.jsxs)("div",{style:{width:B},className:(0,e.cn)("pb-12 border-r border-base-300 min-h-screen bg-base-100 relative",q&&"transition-all duration-300",a),children:[(0,d.jsx)("div",{className:"space-y-4 py-4",children:(0,d.jsxs)("div",{className:(0,e.cn)("px-3 py-2",o&&"px-2"),children:[(0,d.jsxs)("div",{className:(0,e.cn)("mb-6 flex items-center",o?"flex-col gap-2 px-0":"justify-between px-4"),children:[!o&&(0,d.jsxs)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center gap-2 hover:opacity-80 transition-opacity cursor-pointer text-base-content overflow-hidden",title:x?`${x} - Go to Home`:"Go to Home",children:[(0,d.jsx)("img",{src:"/icon.png",alt:"Trident",className:"h-5 w-5 flex-shrink-0"}),(0,d.jsx)("h2",{className:"text-lg font-bold tracking-tight truncate",children:x||"Trident"})]}),o&&(0,d.jsx)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center justify-center h-8 w-8 hover:opacity-80 transition-opacity cursor-pointer",title:x?`${x} - Go to Home`:"Go to Home",children:(0,d.jsx)("img",{src:"/icon.png",alt:x||"Trident",className:"h-5 w-5"})}),(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-1",o&&"flex-col"),children:(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:y,title:o?"Expand sidebar":"Collapse sidebar",children:o?(0,d.jsx)("i",{className:"iconoir-fast-arrow-right text-[16px]","aria-hidden":"true"}):(0,d.jsx)("i",{className:"iconoir-fast-arrow-left text-[16px]","aria-hidden":"true"})})})]}),!o&&m&&(0,d.jsx)("div",{className:"px-4 mb-6",children:(0,d.jsx)("p",{className:"text-[10px] font-mono opacity-60 break-all border border-base-300 rounded p-2 bg-base-200/30",title:m,children:m})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)(g(),{href:z(),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",A("history")&&"btn-active font-medium"),title:o?"History":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-git-fork text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"History"]}),(0,d.jsxs)(g(),{href:z("/changes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",A("status")&&"btn-active font-medium"),title:o?`Changes${w>0?` (${w})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-clock text-[20px]","aria-hidden":"true"}),o&&w>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-primary badge-xs scale-75",children:w>99?"99+":w})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Changes",w>0&&(0,d.jsx)("span",{className:"badge badge-sm",children:w})]})]}),(0,d.jsxs)(g(),{href:z("/stashes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",A("stashes")&&"btn-active font-medium"),title:o?"Stashes":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-download-square text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Stashes"]}),(0,d.jsxs)(g(),{href:z("/custom-scripts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",A("custom-scripts")&&"btn-active font-medium"),title:o?"Custom scripts":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-terminal text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Custom scripts"]}),(0,d.jsxs)(g(),{href:z("/settings"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",A("settings")&&"btn-active font-medium"),title:o?"Settings":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-settings text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Settings"]})]})]})}),(0,d.jsx)("div",{className:(0,e.cn)("absolute bottom-4 left-0 w-full",o?"px-2":"px-6"),children:(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center",o?"justify-center":"gap-2"),children:[(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>t(!0),title:o?"Preferences":void 0,children:(0,d.jsx)("i",{className:"iconoir-ios-settings text-[20px]","aria-hidden":"true"})}),!o&&(0,d.jsx)("span",{className:"text-xs opacity-70",children:"Preferences"})]})}),(0,d.jsx)(h.g,{open:s,onOpenChange:t})]})}},6920:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call WorkspaceRepoOpenTracker() from the server but WorkspaceRepoOpenTracker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/tangqh/Downloads/projects/trident/src/components/workspace-repo-open-tracker.tsx","WorkspaceRepoOpenTracker")},7536:(a,b,c)=>{"use strict";c.d(b,{J:()=>e}),c(7484);var d=c(4626);function e(a,b){(0,d.GK)(a)}c(4490)},8677:(a,b,c)=>{Promise.resolve().then(c.bind(c,9671)),Promise.resolve().then(c.bind(c,6920))},9671:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/tangqh/Downloads/projects/trident/src/components/layout/sidebar.tsx","Sidebar")}};
1
+ exports.id=386,exports.ids=[386],exports.modules={2597:(a,b,c)=>{Promise.resolve().then(c.bind(c,5229)),Promise.resolve().then(c.bind(c,3246))},3246:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>g});var d=c(7484),e=c(9099),f=c(4626);function g(){(0,e.usePathname)(),(0,e.useSearchParams)().get("path");let{data:a}=(0,f.uG)();return(0,f.Lp)(),(0,d.useRef)(null),null}},4528:(a,b,c)=>{"use strict";let d,e;c.d(b,{Ck:()=>p,Ir:()=>q,NV:()=>n,Xx:()=>u,cZ:()=>v,jD:()=>r,mt:()=>t});var f=c(9021),g=c.n(f),h=c(1820),i=c.n(h),j=c(3873),k=c.n(j);let l=(d=process.platform,e=i().homedir(),"win32"===d?k().join(process.env.APPDATA||k().join(e,"AppData","Roaming"),"trident"):"darwin"===d?k().join(e,"Library","Application Support","trident"):k().join(process.env.XDG_CONFIG_HOME||k().join(e,".config"),"trident")),m=k().join(l,"repos.json");function n(){if(!g().existsSync(m))return[];try{let a=g().readFileSync(m,"utf-8");return JSON.parse(a)}catch(a){return console.error("Failed to parse repos.json",a),[]}}function o(a){if(void 0===a)return;if(null===a)return null;let b=a.trim();return b.length>0?b:null}function p(a,b,c){let d=n();if(d.find(b=>b.path===a))throw Error("Repository already exists");let e=o(c),f={path:a,name:b||k().basename(a),...e?{displayName:e}:{}};return d.push(f),g().writeFileSync(m,JSON.stringify(d,null,2)),f}function q(a,b){let c=n(),d=c.findIndex(b=>b.path===a);if(-1===d)throw Error("Repository not found");let e={...b};"displayName"in e&&(e.displayName=o(e.displayName));let f={...c[d],...e};return c[d]=f,g().writeFileSync(m,JSON.stringify(c,null,2)),f}function r(a,b){let{deleteLocalFolder:c=!1}=b||{};if(c){let b=k().resolve(a),c=k().parse(b).root;if(b===c)throw Error("Refusing to delete a filesystem root path");g().rmSync(b,{recursive:!0,force:!0})}let d=n();d=d.filter(b=>b.path!==a),g().writeFileSync(m,JSON.stringify(d,null,2))}g().existsSync(l)||g().mkdirSync(l,{recursive:!0});let s=k().join(l,"settings.json");function t(){let a={defaultRootFolder:null,sidebarCollapsed:!1};if(!g().existsSync(s))return a;try{let b=g().readFileSync(s,"utf-8"),c=JSON.parse(b);return{...a,...c}}catch(b){return console.error("Failed to parse settings.json",b),a}}function u(a){let b={...t(),...a};return g().writeFileSync(s,JSON.stringify(b,null,2)),b}function v(){let a=t();if(a.defaultRootFolder)try{if(g().existsSync(a.defaultRootFolder)&&g().statSync(a.defaultRootFolder).isDirectory())return a.defaultRootFolder}catch{}return i().homedir()}},4763:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(9671),f=c(1986),g=c(6920),h=c(4528);function i({children:a}){let b=(0,h.mt)().sidebarCollapsed??!1;return(0,d.jsxs)("div",{className:"flex min-h-screen max-h-screen bg-base-100",children:[(0,d.jsx)(f.Suspense,{fallback:null,children:(0,d.jsx)(g.WorkspaceRepoOpenTracker,{})}),(0,d.jsx)(f.Suspense,{fallback:(0,d.jsx)("div",{className:`${b?"w-16":"w-64"} border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center`,children:(0,d.jsx)("span",{className:"loading loading-spinner"})}),children:(0,d.jsx)(e.Sidebar,{initialCollapsed:b})}),(0,d.jsx)("main",{className:"flex-1 overflow-auto",children:a})]})}},5229:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>l});var d=c(8249),e=c(4490),f=c(2116),g=c.n(f),h=c(781),i=c(9099),j=c(7484),k=c(4626);function l({className:a,initialCollapsed:b=!1}){let c=(0,i.usePathname)(),f=(0,i.useSearchParams)(),l=(0,i.useRouter)(),m=f.get("path")||"",n=(0,k.GK)(m||null),[o,p]=(0,j.useState)(b),[q,r]=(0,j.useState)(!1),[s,t]=(0,j.useState)(!1),u=(0,k.Y5)(),{data:v}=(0,k.en)(m||null),w=v?.files?.length??0,x=v?.conflicted?.length??0,y=v?.current?.trim(),z=n?(0,e.iu)(n):m?(0,e.kj)(m):"",A=(0,j.useCallback)(()=>{let a=!o;p(a),u.mutate({sidebarCollapsed:a})},[o,u]),B=(a="")=>{let b=new URLSearchParams(f.toString());return b.delete("tab"),m&&y?b.set("branch",y):m||b.delete("branch"),`/workspace${a}?${b.toString()}`},C=a=>"status"===a?"/workspace/changes"===c:"history"===a?"/workspace"===c||c.startsWith("/workspace/history"):"conflicts"===a?c.startsWith("/workspace/conflicts"):"custom-scripts"===a?c.startsWith("/workspace/custom-scripts"):"settings"===a?c.startsWith("/workspace/settings"):"stashes"===a&&c.startsWith("/workspace/stashes"),D=o?64:256;return(0,d.jsxs)("div",{style:{width:D},className:(0,e.cn)("pb-12 border-r border-base-300 min-h-screen bg-base-100 relative",q&&"transition-all duration-300",a),children:[(0,d.jsx)("div",{className:"space-y-4 py-4",children:(0,d.jsxs)("div",{className:(0,e.cn)("px-3 py-2",o&&"px-2"),children:[(0,d.jsxs)("div",{className:(0,e.cn)("mb-6 flex items-center",o?"flex-col gap-2 px-0":"justify-between px-4"),children:[!o&&(0,d.jsxs)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center gap-2 hover:opacity-80 transition-opacity cursor-pointer text-base-content overflow-hidden",title:z?`${z} - Go to Home`:"Go to Home",children:[(0,d.jsx)("img",{src:"/icon.png",alt:"Trident",className:"h-5 w-5 flex-shrink-0"}),(0,d.jsx)("h2",{className:"text-lg font-bold tracking-tight truncate",children:z||"Trident"})]}),o&&(0,d.jsx)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center justify-center h-8 w-8 hover:opacity-80 transition-opacity cursor-pointer",title:z?`${z} - Go to Home`:"Go to Home",children:(0,d.jsx)("img",{src:"/icon.png",alt:z||"Trident",className:"h-5 w-5"})}),(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-1",o&&"flex-col"),children:(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:A,title:o?"Expand sidebar":"Collapse sidebar",children:o?(0,d.jsx)("i",{className:"iconoir-fast-arrow-right text-[16px]","aria-hidden":"true"}):(0,d.jsx)("i",{className:"iconoir-fast-arrow-left text-[16px]","aria-hidden":"true"})})})]}),!o&&m&&(0,d.jsx)("div",{className:"px-4 mb-6",children:(0,d.jsx)("p",{className:"text-[10px] font-mono opacity-60 break-all border border-base-300 rounded p-2 bg-base-200/30",title:m,children:m})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)(g(),{href:B(),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("history")&&"btn-active font-medium"),title:o?"History":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-git-fork text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"History"]}),(0,d.jsxs)(g(),{href:B("/changes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("status")&&"btn-active font-medium"),title:o?`Changes${w>0?` (${w})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-clock text-[20px]","aria-hidden":"true"}),o&&w>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-primary badge-xs scale-75",children:w>99?"99+":w})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Changes",w>0&&(0,d.jsx)("span",{className:"badge badge-sm",children:w})]})]}),(0,d.jsxs)(g(),{href:B("/conflicts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("conflicts")&&"btn-active font-medium"),title:o?`Conflicts${x>0?` (${x})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-warning-triangle text-[20px]","aria-hidden":"true"}),o&&x>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-error badge-xs scale-75",children:x>99?"99+":x})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Conflicts",x>0&&(0,d.jsx)("span",{className:"badge badge-sm badge-error",children:x})]})]}),(0,d.jsxs)(g(),{href:B("/stashes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("stashes")&&"btn-active font-medium"),title:o?"Stashes":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-download-square text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Stashes"]}),(0,d.jsxs)(g(),{href:B("/custom-scripts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("custom-scripts")&&"btn-active font-medium"),title:o?"Custom scripts":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-terminal text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Custom scripts"]}),(0,d.jsxs)(g(),{href:B("/settings"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("settings")&&"btn-active font-medium"),title:o?"Settings":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-settings text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Settings"]})]})]})}),(0,d.jsx)("div",{className:(0,e.cn)("absolute bottom-4 left-0 w-full",o?"px-2":"px-6"),children:(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center",o?"justify-center":"gap-2"),children:[(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>t(!0),title:o?"Preferences":void 0,children:(0,d.jsx)("i",{className:"iconoir-ios-settings text-[20px]","aria-hidden":"true"})}),!o&&(0,d.jsx)("span",{className:"text-xs opacity-70",children:"Preferences"})]})}),(0,d.jsx)(h.g,{open:s,onOpenChange:t})]})}},6920:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call WorkspaceRepoOpenTracker() from the server but WorkspaceRepoOpenTracker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/tangqh/Downloads/projects/trident/src/components/workspace-repo-open-tracker.tsx","WorkspaceRepoOpenTracker")},7536:(a,b,c)=>{"use strict";c.d(b,{J:()=>e}),c(7484);var d=c(4626);function e(a,b){(0,d.GK)(a)}c(4490)},8677:(a,b,c)=>{Promise.resolve().then(c.bind(c,9671)),Promise.resolve().then(c.bind(c,6920))},9671:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/tangqh/Downloads/projects/trident/src/components/layout/sidebar.tsx","Sidebar")}};
@@ -0,0 +1,3 @@
1
+ "use strict";exports.id=455,exports.ids=[455],exports.modules={2873:(a,b)=>{function c(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,0):c}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"findClosestQuality",{enumerable:!0,get:function(){return c}})},3836:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(399),e=c(4814),f=c(8249),g=e._(c(7484)),h=d._(c(4429)),i=d._(c(7265)),j=c(8895),k=c(8834),l=c(6201);c(5478);let m=c(9226),n=d._(c(8039)),o=c(7272),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},5374:(a,b)=>{function c({widthInt:a,heightInt:b,blurWidth:c,blurHeight:d,blurDataURL:e,objectFit:f}){let g=c?40*c:a,h=d?40*d:b,i=g&&h?`viewBox='0 0 ${g} ${h}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===f?"xMidYMid":"cover"===f?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${e}'/%3E%3C/svg%3E`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},6201:(a,b,c)=>{a.exports=c(1155).vendored.contexts.ImageConfigContext},7265:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(399),g=c(4814),h=c(8249),i=g._(c(7484)),j=f._(c(8917)),k=c(9719);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(5478);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},8039:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(2873),e=c(4217);function f({config:a,src:b,width:c,quality:f}){if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
2
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let g=(0,d.findClosestQuality)(f,a),h=(0,e.getDeploymentId)();return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${g}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},8834:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={VALID_LOADERS:function(){return e},imageConfigDefault:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=["default","imgix","cloudinary","akamai","custom"],f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8895:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return j}}),c(5478);let d=c(4217),e=c(5374),f=c(8834),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:j=!1,preload:k=!1,loading:l,className:m,quality:n,width:o,height:p,fill:q=!1,style:r,overrideSrc:s,onLoad:t,onLoadingComplete:u,placeholder:v="empty",blurDataURL:w,fetchPriority:x,decoding:y="async",layout:z,objectFit:A,objectPosition:B,lazyBoundary:C,lazyRoot:D,...E},F){var G;let H,I,J,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=F,O=K||f.imageConfigDefault;if("allSizes"in O)H=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),c=O.qualities?.sort((a,b)=>a-b);H={...O,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=E.loader||N;delete E.loader,delete E.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===H.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
3
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(z){"fill"===z&&(q=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[z];a&&(r={...r,...a});let c={responsive:"100vw",fill:"100vw"}[z];c&&!b&&(b=c)}let R="",S=i(o),T=i(p);if((G=a)&&"object"==typeof G&&(h(G)||void 0!==G.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(I=b.blurWidth,J=b.blurHeight,w=w||b.blurDataURL,R=b.src,!q)if(S||T){if(S&&!T){let a=S/b.width;T=Math.round(b.height*a)}else if(!S&&T){let a=T/b.height;S=Math.round(b.width*a)}}else S=b.width,T=b.height}let U=!j&&!k&&("lazy"===l||void 0===l);(!(a="string"==typeof a?a:R)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,U=!1),H.unoptimized&&(c=!0),Q&&!H.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let V=i(n),W=Object.assign(q?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:A,objectPosition:B}:{},L?{}:{color:"transparent"},r),X=M||"empty"===v?null:"blur"===v?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:I,blurHeight:J,blurDataURL:w||"",objectFit:W.objectFit})}")`:`url("${v}")`,Y=g.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){let a=(0,d.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")&&a){let c=b.includes("?")?"&":"?";b=`${b}${c}dpl=${a}`}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:H,src:a,unoptimized:c,width:S,quality:V,sizes:b,loader:P}),_=U?"lazy":l;return{props:{...E,loading:_,fetchPriority:x,width:S,height:T,decoding:y,className:m,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:s||$.src},meta:{unoptimized:c,preload:k||j,placeholder:v,fill:q}}}},8917:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(7484),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},9226:(a,b,c)=>{a.exports=c(1155).vendored.contexts.RouterContext},9719:(a,b,c)=>{a.exports=c(1155).vendored.contexts.HeadManagerContext}};
@@ -1,5 +1,5 @@
1
- exports.id=557,exports.ids=[557],exports.modules={6487:()=>{},8335:()=>{},9617:(a,b,c)=>{"use strict";c.d(b,{Y:()=>m});var d=c(3680),e=c(1421),f=c(7975),g=c(1455),h=c(6760),i=c(8161);let j=(0,f.promisify)(e.execFile),k={};function l(a){if(!k[a]){let b=(0,d.Lp)({baseDir:a,binary:"git",maxConcurrentProcesses:6,trimmed:!1});b.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"}),k[a]=b}return k[a]}class m{constructor(a){this.repoPath=a}get git(){return l(this.repoPath)}static async cloneRepository(a,b,c={}){let e=a.trim(),f=b.trim();if(!e)throw Error("Repository URL is required");if(!f)throw Error("Destination path is required");let g=(0,d.Lp)({binary:"git",maxConcurrentProcesses:2,trimmed:!1});g.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"});let h=c.credentials?function(a,b){let c=function(a){if(a.startsWith("http://")||a.startsWith("https://"))return a;let b=a.match(/^git@([^:]+):(.+)$/);return b?`https://${b[1]}/${b[2]}`:null}(a);if(!c)return a;let d=new URL(c);return d.username=b.username,d.password=b.token,d.toString()}(e,c.credentials):e;if(await g.clone(h,f),h!==e){let a=l(f);await a.raw(["remote","set-url","origin",e])}}async cleanupLockFile(){let a=(0,h.join)(this.repoPath,".git","index.lock");try{return await (0,g.unlink)(a),!0}catch(a){return!1}}async getStatus(){return await this.git.status()}async getLog(a=100){let b=await this.git.log({"--all":null,"--decorate":"short","--max-count":a,format:{hash:"%h",parents:"%p",date:"%ai",message:"%s",refs:"%d",author_name:"%an",author_email:"%ae",body:"%b"}}),c=b.all.map(a=>({...a,parents:a.parents?a.parents.split(" ").filter(Boolean):[]}));return{all:c,total:b.total,latest:c[0]||null}}async getLatestCommitMessage(a){return(await this.git.raw(["show","-s","--format=%B",a])).trimEnd()}async fetch(){await this.git.raw(["fetch","--prune"])}async fetchRemote(a){await this.git.raw(["fetch","--prune",a])}async fetchAllRemotes(){await this.git.raw(["fetch","--all","--prune"])}async addRemote(a,b){let c=a.trim(),d=b.trim();if(!c)throw Error("Remote name is required");if(!d)throw Error("Remote URL is required");await this.git.raw(["remote","add",c,d]),await this.git.raw(["fetch","--prune",c])}async renameRemote(a,b){let c=a.trim(),d=b.trim();if(!c)throw Error("Old remote name is required");if(!d)throw Error("New remote name is required");c!==d&&await this.git.raw(["remote","rename",c,d])}async deleteRemote(a){let b=a.trim();if(!b)throw Error("Remote name is required to delete remote");await this.git.raw(["remote","remove",b])}async pull(){await this.git.pull()}async push(a={}){let{credentials:b}=a;if(b){let a=(await this.git.branchLocal()).current,c=await this.getTrackingBranch(a);if(!c)throw Error(`No upstream configured for branch '${a}'. Cannot push with credentials.`);await this.pushToRemote(a,c.remote,c.branch,{credentials:b})}else await this.git.push()}async commit(a,b){b&&b.length>0&&await this.git.add(b),await this.git.commit(a)}async stage(a){await this.git.add(a)}async unstage(a){await this.git.reset(["HEAD",...a])}async discardUnstagedChanges(a={}){let{includeUntracked:b=!0}=a;await this.git.raw(["checkout","--","."]),b&&await this.git.raw(["clean","-fd"])}async getFileContent(a,b="HEAD"){try{return await this.git.show([`${b}:${a}`])}catch(a){return console.error(a),""}}async getBlobFromRef(a){try{let{stdout:b}=await j("git",["show",a],{cwd:this.repoPath,encoding:"buffer",maxBuffer:0x3200000});return Buffer.isBuffer(b)?b:Buffer.from(b)}catch{return null}}async getFileContentBuffer(a,b="HEAD"){return this.getBlobFromRef(`${b}:${a}`)}async getDiff(a){return await this.git.diff(["HEAD","--",a])}async getBranches(){let a="";try{a=(await this.git.revparse(["--abbrev-ref","HEAD"])).trim()}catch(a){console.warn("Failed to get current branch:",a)}let b="";try{b=await this.git.raw(["for-each-ref","--format=%(refname)|%(objectname:short)|%(upstream:short)|%(upstream:track)","refs/heads","refs/remotes"])}catch(a){throw console.error("Failed to get refs:",a),a}let c=[],d={},e={},f={};for(let a of b.trim().split("\n")){if(!a)continue;let[b,g,h,i]=a.split("|");if(b.startsWith("refs/heads/")){let a=b.slice(11);if(c.push(a),d[a]=g,h){let b=0,c=0;if(i){let a=i.match(/ahead (\d+)/);a&&(b=parseInt(a[1],10));let d=i.match(/behind (\d+)/);d&&(c=parseInt(d[1],10))}f[a]={upstream:h,ahead:b,behind:c}}}else if(b.startsWith("refs/remotes/")){let a=b.slice(13),c=a.indexOf("/");if(c>0){let b=a.slice(0,c),f=a.slice(c+1);if("HEAD"===f||f.startsWith("HEAD "))continue;e[b]||(e[b]=[]),e[b].push(f),d[`remotes/${a}`]=g}}}let g=await this.git.getRemotes(!0),h={};for(let a of g)h[a.name]=a.refs.fetch||a.refs.push,e[a.name]||(e[a.name]=[]);return{branches:c,current:a,branchCommits:d,remotes:e,remoteUrls:h,trackingInfo:f}}async checkout(a){await this.git.checkout(a)}async checkoutRemoteToLocal(a,b){try{await this.git.revparse(["--verify",`refs/${a}`])}catch{throw Error(`Remote branch '${a}' does not exist`)}try{throw await this.git.revparse(["--verify",`refs/heads/${b}`]),Error(`Local branch '${b}' already exists`)}catch(a){if(a.message.includes("already exists"))throw a}let c=a.replace(/^remotes\//,""),d=c.indexOf("/");if(d<=0)throw Error(`Invalid remote branch format: ${a}`);let e=c.slice(0,d),f=c.slice(d+1);await this.git.checkout(["-b",b,"--track",`${e}/${f}`])}async createBranch(a,b){if(!b)return void await this.git.checkoutLocalBranch(a);let c=b.startsWith("remotes/")?b.replace(/^remotes\//,""):b;await this.git.checkout(["-b",a,c])}async createTag(a,b,c={}){let{pushToRemote:d=!1,remote:e,credentials:f}=c,g=a.trim(),h=b.trim();if(!g)throw Error("Tag name is required");if(!h)throw Error("Commit hash is required");if(await this.git.raw(["tag",g,h]),!d)return;let i=await this.git.getRemotes();if(0===i.length)throw Error("No remotes configured for this repository");let j=e?.trim()||"";if(!j){let a=(await this.git.branchLocal()).current;if(a){let b=await this.getTrackingBranch(a);b?.remote&&(j=b.remote)}}j&&i.some(a=>a.name===j)||(j=i.some(a=>"origin"===a.name)?"origin":i[0].name);let k=j;if(f){let a=await this.getRemoteUrl(j);if(a)try{let b=new URL(a);b.username=f.username,b.password=f.token,k=b.toString()}catch(a){console.warn("[createTag] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[createTag] Could not resolve URL for remote '${j}', falling back to remote name`)}await this.git.push([k,`refs/tags/${g}`])}async deleteBranch(a){await this.git.deleteLocalBranch(a,!0)}async deleteRemoteBranch(a,b,c){let d=a;if(c){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=c.username,a.password=c.token,d=a.toString()}catch(a){console.warn("[deleteRemoteBranch] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[deleteRemoteBranch] Could not resolve URL for remote '${a}', falling back to remote name`)}try{await this.git.push([d,"--delete",b])}catch(c){if((c?.message||"").includes("remote ref does not exist"))console.debug(`[deleteRemoteBranch] Remote branch ${b} does not exist on remote ${a}, ignoring error.`);else throw c}try{await this.git.branch(["-r","-D",`${a}/${b}`])}catch(c){console.debug(`[deleteRemoteBranch] Could not delete local remote-tracking branch ${a}/${b}:`,c)}}async deleteTag(a){await this.git.raw(["tag","-d",a])}async deleteRemoteTag(a,b,c){let d=a;if(c){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=c.username,a.password=c.token,d=a.toString()}catch(a){console.warn("[deleteRemoteTag] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[deleteRemoteTag] Could not resolve URL for remote '${a}', falling back to remote name`)}await this.git.push([d,"--delete",`refs/tags/${b}`])}async renameBranch(a,b,c={}){let{renameTrackingRemote:d=!1,credentials:e}=c,f=d?await this.getTrackingBranch(a):null;if(await this.git.branch(["-m",a,b]),d&&f){await this.renameRemoteBranch(f.remote,f.branch,b,e);try{await this.git.branch(["--set-upstream-to",`${f.remote}/${b}`,b])}catch(a){console.debug(`[renameBranch] Could not set upstream for ${b} to ${f.remote}/${b}:`,a)}}}async renameRemoteBranch(a,b,c,d){if(b===c)return;let e=a;if(d){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=d.username,a.password=d.token,e=a.toString()}catch(a){console.warn("[renameRemoteBranch] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[renameRemoteBranch] Could not resolve URL for remote '${a}', falling back to remote name`)}let f=`refs/remotes/${a}/${b}`;await this.git.push([e,`${f}:refs/heads/${c}`]),await this.git.push([e,"--delete",b]);let g=`refs/remotes/${a}/${c}`;try{let a=(await this.git.revparse([f])).trim();await this.git.raw(["update-ref",g,a])}catch(a){console.debug(`[renameRemoteBranch] Could not update local tracking ref ${g}:`,a)}try{await this.git.branch(["-r","-D",`${a}/${b}`])}catch(c){console.debug(`[renameRemoteBranch] Could not delete old local remote-tracking branch ${a}/${b}:`,c)}}async reset(a,b="hard"){await this.git.reset([`--${b}`,a])}async revert(a){await this.git.raw(["revert","--no-edit",a])}async cherryPick(a){await this.git.raw(["cherry-pick",a])}async cherryPickMultiple(a){0!==a.length&&await this.git.raw(["cherry-pick",...a])}async abortCherryPick(){await this.git.raw(["cherry-pick","--abort"])}async rebase(a,b=!0){if(b){let b=(await this.git.status()).files.length>0;b&&await this.git.stash(["push","-m","auto-stash before rebase"]);try{await this.git.rebase([a]),b&&await this.git.stash(["pop"])}catch(a){if(b)try{await this.git.stash(["pop"])}catch{}throw a}}else await this.git.reset(["--hard","HEAD"]),await this.git.rebase([a])}async reword(a,b,c){let d=(await this.git.branchLocal()).current,e=c||d,f=e!==d,g=(await this.git.status()).files.length>0;g&&await this.git.stash(["push","-m","auto-stash before reword"]),f&&await this.git.checkout(e);try{let c=await this.git.revparse(["HEAD"]),h=await this.git.revparse([a]);if(c.trim()!==h.trim())throw Error(`Commit ${a} is not the latest commit on branch ${e}. Only the latest commit can be reworded.`);if(await this.git.raw(["commit","--amend","-m",b]),f&&await this.git.checkout(d),g)try{await this.git.stash(["pop"])}catch{console.warn("Failed to pop stash after reword")}}catch(a){if(f)try{await this.git.checkout(d)}catch{}if(g)try{await this.git.stash(["pop"])}catch{}throw a}}async getCommitDiff(a){return{files:(await this.git.raw(["diff-tree","-m","--first-parent","--no-commit-id","--name-status","-r",a])).trim().split("\n").filter(Boolean).map(a=>{let[b,...c]=a.split(" ");return{path:c.join(" "),status:b,additions:0,deletions:0}}),diff:await this.git.raw(["show","-m","--first-parent","--format=",a])}}async getCommitFileDiff(a,b){let c="",d="";try{c=await this.git.show([`${a}^:${b}`])}catch{c=""}try{d=await this.git.show([`${a}:${b}`])}catch{d=""}return{before:c,after:d,diff:await this.getCommitFilePatch(a,b)}}async getCommitFilePatch(a,b){try{return await this.git.raw(["show","--format=",a,"--",b])}catch(a){return console.warn("Failed to get commit file diff:",a),""}}async willMergeHaveConflicts(a,b){let c=await this.git.branchLocal(),d=b||c.current;if(!d)throw Error("Could not determine target branch for merge conflict check");if(a===d)return!1;await this.git.revparse(["--verify",a]),await this.git.revparse(["--verify",d]);try{return await this.git.raw(["merge-tree","--write-tree",d,a]),!1}catch(b){let a=`${b.message??""}
1
+ exports.id=557,exports.ids=[557],exports.modules={6487:()=>{},8335:()=>{},9617:(a,b,c)=>{"use strict";c.d(b,{Y:()=>m});var d=c(3680),e=c(1421),f=c(7975),g=c(1455),h=c(6760),i=c(8161);let j=(0,f.promisify)(e.execFile),k={};function l(a){if(!k[a]){let b=(0,d.Lp)({baseDir:a,binary:"git",maxConcurrentProcesses:6,trimmed:!1});b.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"}),k[a]=b}return k[a]}class m{constructor(a){this.repoPath=a}get git(){return l(this.repoPath)}resolveFilePathWithinRepo(a){let b=(0,h.resolve)(this.repoPath),c=(0,h.resolve)(b,a),d=(0,h.relative)(b,c);if(".."===d||d.startsWith(`..${h.sep}`)||(0,h.isAbsolute)(d))throw Error(`File path is outside repository: ${a}`);return c}static async cloneRepository(a,b,c={}){let e=a.trim(),f=b.trim();if(!e)throw Error("Repository URL is required");if(!f)throw Error("Destination path is required");let g=(0,d.Lp)({binary:"git",maxConcurrentProcesses:2,trimmed:!1});g.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"});let h=c.credentials?function(a,b){let c=function(a){if(a.startsWith("http://")||a.startsWith("https://"))return a;let b=a.match(/^git@([^:]+):(.+)$/);return b?`https://${b[1]}/${b[2]}`:null}(a);if(!c)return a;let d=new URL(c);return d.username=b.username,d.password=b.token,d.toString()}(e,c.credentials):e;if(await g.clone(h,f),h!==e){let a=l(f);await a.raw(["remote","set-url","origin",e])}}static async initializeRepository(a){let b=a.trim();if(!b)throw Error("Path is required");let c=(0,d.Lp)({baseDir:b,binary:"git",maxConcurrentProcesses:2,trimmed:!1});await c.init()}async cleanupLockFile(){let a=(0,h.join)(this.repoPath,".git","index.lock");try{return await (0,g.unlink)(a),!0}catch(a){return!1}}async getStatus(){return await this.git.status()}async hasRef(a){try{return await this.git.revparse(["--verify",a]),!0}catch{return!1}}async gitPathExists(a){try{let b=(await this.git.raw(["rev-parse","--git-path",a])).trim();if(!b)return!1;return await (0,g.access)(b),!0}catch{return!1}}async getConflictState(){let a=(await this.git.status()).conflicted??[],b=a.length>0,[c,d,e,f]=await Promise.all([this.hasRef("MERGE_HEAD"),this.hasRef("REBASE_HEAD"),this.gitPathExists("rebase-apply"),this.gitPathExists("rebase-merge")]),g=null;return d||e||f?g="rebase":c&&(g="merge"),{operation:g,conflictedFiles:a,hasConflicts:b,canContinue:!!g&&!b}}async getLog(a=100){let b=await this.git.log({"--all":null,"--decorate":"short","--max-count":a,format:{hash:"%h",parents:"%p",date:"%ai",message:"%s",refs:"%d",author_name:"%an",author_email:"%ae",body:"%b"}}),c=b.all.map(a=>({...a,parents:a.parents?a.parents.split(" ").filter(Boolean):[]}));return{all:c,total:b.total,latest:c[0]||null}}async getLatestCommitMessage(a){return(await this.git.raw(["show","-s","--format=%B",a])).trimEnd()}async fetch(){await this.git.raw(["fetch","--prune"])}async fetchRemote(a){await this.git.raw(["fetch","--prune",a])}async fetchAllRemotes(){await this.git.raw(["fetch","--all","--prune"])}async addRemote(a,b){let c=a.trim(),d=b.trim();if(!c)throw Error("Remote name is required");if(!d)throw Error("Remote URL is required");await this.git.raw(["remote","add",c,d]),await this.git.raw(["fetch","--prune",c])}async renameRemote(a,b){let c=a.trim(),d=b.trim();if(!c)throw Error("Old remote name is required");if(!d)throw Error("New remote name is required");c!==d&&await this.git.raw(["remote","rename",c,d])}async deleteRemote(a){let b=a.trim();if(!b)throw Error("Remote name is required to delete remote");await this.git.raw(["remote","remove",b])}async pull(){await this.git.pull()}async push(a={}){let{credentials:b}=a;if(b){let a=(await this.git.branchLocal()).current,c=await this.getTrackingBranch(a);if(!c)throw Error(`No upstream configured for branch '${a}'. Cannot push with credentials.`);await this.pushToRemote(a,c.remote,c.branch,{credentials:b})}else await this.git.push()}async hasHeadCommit(){try{return await this.git.revparse(["--verify","HEAD"]),!0}catch{return!1}}async validateBranchName(a){await this.git.raw(["check-ref-format","--branch",a])}async ensureInitialBranchForFirstCommit(a){if(!a||await this.hasHeadCommit())return;let b=a.trim();if(!b)throw Error("Initial branch name is required for first commit");await this.validateBranchName(b),await this.git.raw(["symbolic-ref","HEAD",`refs/heads/${b}`])}async commit(a,b,c={}){await this.ensureInitialBranchForFirstCommit(c.initialBranch),b&&b.length>0&&await this.git.add(b),await this.git.commit(a)}async stage(a){await this.git.add(a)}async unstage(a){await this.git.reset(["HEAD",...a])}async discardUnstagedChanges(a={}){let{includeUntracked:b=!0}=a;await this.git.raw(["checkout","--","."]),b&&await this.git.raw(["clean","-fd"])}async getFileContent(a,b="HEAD"){if("HEAD"===b&&!await this.hasHeadCommit())return"";try{return await this.git.show([`${b}:${a}`])}catch(a){return console.error(a),""}}async getBlobFromRef(a){try{let{stdout:b}=await j("git",["show",a],{cwd:this.repoPath,encoding:"buffer",maxBuffer:0x3200000});return Buffer.isBuffer(b)?b:Buffer.from(b)}catch{return null}}async getFileContentBuffer(a,b="HEAD"){return"HEAD"!==b||await this.hasHeadCommit()?this.getBlobFromRef(`${b}:${a}`):null}async getConflictFileVersions(a){let[b,c]=await Promise.all([this.getBlobFromRef(`:2:${a}`),this.getBlobFromRef(`:3:${a}`)]),d="";try{let b=this.resolveFilePathWithinRepo(a);d=await (0,g.readFile)(b,"utf-8")}catch{d=""}return{ours:b?b.toString("utf-8"):"",theirs:c?c.toString("utf-8"):"",current:d}}async resolveConflictFile(a,b,c={}){let{content:d,stage:e=!0}=c;if("ours"===b||"theirs"===b)await this.git.raw(["checkout",`--${b}`,"--",a]);else{if("string"!=typeof d)throw Error("Content is required for manual conflict resolution");let b=this.resolveFilePathWithinRepo(a);await (0,g.writeFile)(b,d,"utf-8")}e&&await this.git.add([a])}async getDiff(a){if(!await this.hasHeadCommit()){let[b,c]=await Promise.all([this.git.diff(["--cached","--",a]),this.git.diff(["--",a])]);return[b,c].filter(Boolean).join("\n")}return await this.git.diff(["HEAD","--",a])}parseWorktreeEntries(a){let b=[],c=null;for(let d of a.split("\n")){if(d.startsWith("worktree ")){c&&b.push(c),c={path:d.slice(9).trim(),branch:null,head:null,detached:!1};continue}if(c){if(d.startsWith("branch ")){let a=d.slice(7).trim();c.branch=a.startsWith("refs/heads/")?a.slice(11):a||null;continue}if(d.startsWith("HEAD ")){c.head=d.slice(5).trim()||null;continue}"detached"===d&&(c.detached=!0)}}c&&b.push(c);let d=(0,h.resolve)(this.repoPath),e=new Map;for(let a of b){let b=(0,h.resolve)(a.path);e.has(b)||e.set(b,{path:a.path,branch:a.detached?null:a.branch,head:a.head,isCurrent:b===d})}return Array.from(e.values()).sort((a,b)=>a.isCurrent&&!b.isCurrent?-1:!a.isCurrent&&b.isCurrent?1:a.path.localeCompare(b.path))}async getWorktrees(a){try{let a=await this.git.raw(["worktree","list","--porcelain"]),b=this.parseWorktreeEntries(a);if(b.length>0)return b}catch(a){console.warn("Failed to list git worktrees:",a)}return[{path:this.repoPath,branch:a||null,head:null,isCurrent:!0}]}async getBranches(){let a="";try{a=(await this.git.revparse(["--abbrev-ref","HEAD"])).trim()}catch(a){console.warn("Failed to get current branch:",a)}let b="";try{b=await this.git.raw(["for-each-ref","--format=%(refname)|%(objectname:short)|%(upstream:short)|%(upstream:track)","refs/heads","refs/remotes"])}catch(a){throw console.error("Failed to get refs:",a),a}let c=[],d={},e={},f={};for(let a of b.trim().split("\n")){if(!a)continue;let[b,g,h,i]=a.split("|");if(b.startsWith("refs/heads/")){let a=b.slice(11);if(c.push(a),d[a]=g,h){let b=0,c=0;if(i){let a=i.match(/ahead (\d+)/);a&&(b=parseInt(a[1],10));let d=i.match(/behind (\d+)/);d&&(c=parseInt(d[1],10))}f[a]={upstream:h,ahead:b,behind:c}}}else if(b.startsWith("refs/remotes/")){let a=b.slice(13),c=a.indexOf("/");if(c>0){let b=a.slice(0,c),f=a.slice(c+1);if("HEAD"===f||f.startsWith("HEAD "))continue;e[b]||(e[b]=[]),e[b].push(f),d[`remotes/${a}`]=g}}}let g=await this.git.getRemotes(!0),h={};for(let a of g)h[a.name]=a.refs.fetch||a.refs.push,e[a.name]||(e[a.name]=[]);let i=await this.getWorktrees(a);return{branches:c,current:a,branchCommits:d,remotes:e,remoteUrls:h,trackingInfo:f,worktrees:i}}async checkout(a){await this.git.checkout(a)}async checkoutRemoteToLocal(a,b){try{await this.git.revparse(["--verify",`refs/${a}`])}catch{throw Error(`Remote branch '${a}' does not exist`)}try{throw await this.git.revparse(["--verify",`refs/heads/${b}`]),Error(`Local branch '${b}' already exists`)}catch(a){if(a.message.includes("already exists"))throw a}let c=a.replace(/^remotes\//,""),d=c.indexOf("/");if(d<=0)throw Error(`Invalid remote branch format: ${a}`);let e=c.slice(0,d),f=c.slice(d+1);await this.git.checkout(["-b",b,"--track",`${e}/${f}`])}async createBranch(a,b){if(!b)return void await this.git.checkoutLocalBranch(a);let c=b.startsWith("remotes/")?b.replace(/^remotes\//,""):b;await this.git.checkout(["-b",a,c])}async createTag(a,b,c={}){let{pushToRemote:d=!1,remote:e,credentials:f}=c,g=a.trim(),h=b.trim();if(!g)throw Error("Tag name is required");if(!h)throw Error("Commit hash is required");if(await this.git.raw(["tag",g,h]),!d)return;let i=await this.git.getRemotes();if(0===i.length)throw Error("No remotes configured for this repository");let j=e?.trim()||"";if(!j){let a=(await this.git.branchLocal()).current;if(a){let b=await this.getTrackingBranch(a);b?.remote&&(j=b.remote)}}j&&i.some(a=>a.name===j)||(j=i.some(a=>"origin"===a.name)?"origin":i[0].name);let k=j;if(f){let a=await this.getRemoteUrl(j);if(a)try{let b=new URL(a);b.username=f.username,b.password=f.token,k=b.toString()}catch(a){console.warn("[createTag] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[createTag] Could not resolve URL for remote '${j}', falling back to remote name`)}await this.git.push([k,`refs/tags/${g}`])}async deleteBranch(a){await this.git.deleteLocalBranch(a,!0)}async deleteWorktree(a){let b=a.trim();if(!b)throw Error("Worktree path is required");let c=(0,h.resolve)(b);if(c===(0,h.resolve)(this.repoPath))throw Error("Cannot delete the current worktree");if(!(await this.getWorktrees("")).some(a=>(0,h.resolve)(a.path)===c))throw Error(`Worktree not found: ${b}`);await this.git.raw(["worktree","remove",b]),await this.git.raw(["worktree","prune"])}async deleteRemoteBranch(a,b,c){let d=a;if(c){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=c.username,a.password=c.token,d=a.toString()}catch(a){console.warn("[deleteRemoteBranch] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[deleteRemoteBranch] Could not resolve URL for remote '${a}', falling back to remote name`)}try{await this.git.push([d,"--delete",b])}catch(c){if((c?.message||"").includes("remote ref does not exist"))console.debug(`[deleteRemoteBranch] Remote branch ${b} does not exist on remote ${a}, ignoring error.`);else throw c}try{await this.git.branch(["-r","-D",`${a}/${b}`])}catch(c){console.debug(`[deleteRemoteBranch] Could not delete local remote-tracking branch ${a}/${b}:`,c)}}async deleteTag(a){await this.git.raw(["tag","-d",a])}async deleteRemoteTag(a,b,c){let d=a;if(c){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=c.username,a.password=c.token,d=a.toString()}catch(a){console.warn("[deleteRemoteTag] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[deleteRemoteTag] Could not resolve URL for remote '${a}', falling back to remote name`)}await this.git.push([d,"--delete",`refs/tags/${b}`])}async renameBranch(a,b,c={}){let{renameTrackingRemote:d=!1,credentials:e}=c,f=d?await this.getTrackingBranch(a):null;if(await this.git.branch(["-m",a,b]),d&&f){await this.renameRemoteBranch(f.remote,f.branch,b,e);try{await this.git.branch(["--set-upstream-to",`${f.remote}/${b}`,b])}catch(a){console.debug(`[renameBranch] Could not set upstream for ${b} to ${f.remote}/${b}:`,a)}}}async renameRemoteBranch(a,b,c,d){if(b===c)return;let e=a;if(d){let b=await this.getRemoteUrl(a);if(b)try{let a=new URL(b);a.username=d.username,a.password=d.token,e=a.toString()}catch(a){console.warn("[renameRemoteBranch] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[renameRemoteBranch] Could not resolve URL for remote '${a}', falling back to remote name`)}let f=`refs/remotes/${a}/${b}`;await this.git.push([e,`${f}:refs/heads/${c}`]),await this.git.push([e,"--delete",b]);let g=`refs/remotes/${a}/${c}`;try{let a=(await this.git.revparse([f])).trim();await this.git.raw(["update-ref",g,a])}catch(a){console.debug(`[renameRemoteBranch] Could not update local tracking ref ${g}:`,a)}try{await this.git.branch(["-r","-D",`${a}/${b}`])}catch(c){console.debug(`[renameRemoteBranch] Could not delete old local remote-tracking branch ${a}/${b}:`,c)}}async reset(a,b="hard"){await this.git.reset([`--${b}`,a])}async revert(a){await this.git.raw(["revert","--no-edit",a])}async cherryPick(a){await this.git.raw(["cherry-pick",a])}async cherryPickMultiple(a){0!==a.length&&await this.git.raw(["cherry-pick",...a])}async abortCherryPick(){await this.git.raw(["cherry-pick","--abort"])}async continueMerge(){await this.git.raw(["merge","--continue"])}async abortMerge(){await this.git.raw(["merge","--abort"])}async continueRebase(){await this.git.raw(["rebase","--continue"])}async abortRebase(){await this.git.raw(["rebase","--abort"])}async rebase(a,b=!0){if(b){let b=(await this.git.status()).files.length>0;b&&await this.git.stash(["push","-m","auto-stash before rebase"]);try{await this.git.rebase([a]),b&&await this.git.stash(["pop"])}catch(a){if(b)try{await this.git.stash(["pop"])}catch{}throw a}}else await this.git.reset(["--hard","HEAD"]),await this.git.rebase([a])}async reword(a,b,c){let d=(await this.git.branchLocal()).current,e=c||d,f=e!==d,g=(await this.git.status()).files.length>0;g&&await this.git.stash(["push","-m","auto-stash before reword"]),f&&await this.git.checkout(e);try{let c=await this.git.revparse(["HEAD"]),h=await this.git.revparse([a]);if(c.trim()!==h.trim())throw Error(`Commit ${a} is not the latest commit on branch ${e}. Only the latest commit can be reworded.`);if(await this.git.raw(["commit","--amend","-m",b]),f&&await this.git.checkout(d),g)try{await this.git.stash(["pop"])}catch{console.warn("Failed to pop stash after reword")}}catch(a){if(f)try{await this.git.checkout(d)}catch{}if(g)try{await this.git.stash(["pop"])}catch{}throw a}}parseNameStatusDiff(a){return a.trim().split("\n").filter(Boolean).map(a=>{let[b,...c]=a.split(" ");return{path:c.length>1?c[c.length-1]:c[0]??"",status:b,additions:0,deletions:0}})}async getCommitRangeRefs(a,b){let c=a.trim(),d=b.trim();if(!c||!d)throw Error("Both oldest and latest commit hashes are required");return{fromRef:c,toRef:d}}async getCommitDiff(a){let b=await this.git.raw(["diff-tree","-m","--first-parent","--no-commit-id","--name-status","-r",a]);return{files:this.parseNameStatusDiff(b),diff:await this.git.raw(["show","-m","--first-parent","--format=",a])}}async getCommitRangeDiff(a,b){let{fromRef:c,toRef:d}=await this.getCommitRangeRefs(a,b),e=await this.git.raw(["diff","--name-status",c,d]);return{files:this.parseNameStatusDiff(e),diff:await this.git.raw(["diff",c,d])}}async getCommitFileDiff(a,b){let c="",d="";try{c=await this.git.show([`${a}^:${b}`])}catch{c=""}try{d=await this.git.show([`${a}:${b}`])}catch{d=""}return{before:c,after:d,diff:await this.getCommitFilePatch(a,b)}}async getCommitRangeFileDiff(a,b,c){let{fromRef:d,toRef:e}=await this.getCommitRangeRefs(a,b),f="",g="";try{f=await this.git.show([`${d}:${c}`])}catch{f=""}try{g=await this.git.show([`${e}:${c}`])}catch{g=""}return{before:f,after:g,diff:await this.getCommitRangeFilePatch(a,b,c)}}async getCommitFilePatch(a,b){try{return await this.git.raw(["show","--format=",a,"--",b])}catch(a){return console.warn("Failed to get commit file diff:",a),""}}async getCommitRangeFilePatch(a,b,c){try{let{fromRef:d,toRef:e}=await this.getCommitRangeRefs(a,b);return await this.git.raw(["diff",d,e,"--",c])}catch(a){return console.warn("Failed to get commit range file diff:",a),""}}async willMergeHaveConflicts(a,b){let c=await this.git.branchLocal(),d=b||c.current;if(!d)throw Error("Could not determine target branch for merge conflict check");if(a===d)return!1;await this.git.revparse(["--verify",a]),await this.git.revparse(["--verify",d]);let e=a=>{let b=a.toLowerCase();return!!(b.includes("conflict")||b.includes("changed in both")||b.includes("added in both")||b.includes("removed in both")||a.includes("<<<<<<<"))||/^[0-9]{6}\s+[0-9a-f]{40,64}\s+[123]\t/m.test(a)};try{let b=await this.git.raw(["merge-tree","--write-tree",d,a]);return e(b)}catch(c){let a=`${c.message??""}
2
+ ${c.stdout??""}
3
+ ${c.stderr??""}`,b=a.toLowerCase();if(e(a)||!(b.includes("unknown option")||b.includes("usage: git merge-tree")))return!0}let f=(await this.git.raw(["merge-base",d,a])).trim(),g=await this.git.raw(["merge-tree",f,d,a]),h=g.toLowerCase();return g.includes("<<<<<<<")||h.includes("changed in both")||h.includes("added in both")||h.includes("removed in both")||h.includes("conflict")}async willRebaseHaveConflicts(a,b){let c=await this.git.branchLocal(),e=b||c.current;if(!e)throw Error("Could not determine source branch for rebase conflict check");if(e===a)return!1;await this.git.revparse(["--verify",e]),await this.git.revparse(["--verify",a]);let f=await (0,g.mkdtemp)((0,h.join)((0,i.tmpdir)(),"git-web-rebase-check-")),j=!1;try{await this.git.raw(["worktree","add","--detach",f,e]),j=!0;let b=(0,d.Lp)({baseDir:f,binary:"git",maxConcurrentProcesses:2,trimmed:!1});return b.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"}),await b.rebase([a]),!1}catch(b){let a=`${b.message??""}
2
4
  ${b.stdout??""}
3
- ${b.stderr??""}`.toLowerCase();if(a.includes("conflict"))return!0;if(!(a.includes("unknown option")||a.includes("usage: git merge-tree")))throw b}let e=(await this.git.raw(["merge-base",d,a])).trim(),f=await this.git.raw(["merge-tree",e,d,a]),g=f.toLowerCase();return f.includes("<<<<<<<")||g.includes("changed in both")||g.includes("added in both")||g.includes("removed in both")||g.includes("conflict")}async willRebaseHaveConflicts(a,b){let c=await this.git.branchLocal(),e=b||c.current;if(!e)throw Error("Could not determine source branch for rebase conflict check");if(e===a)return!1;await this.git.revparse(["--verify",e]),await this.git.revparse(["--verify",a]);let f=await (0,g.mkdtemp)((0,h.join)((0,i.tmpdir)(),"git-web-rebase-check-")),j=!1;try{await this.git.raw(["worktree","add","--detach",f,e]),j=!0;let b=(0,d.Lp)({baseDir:f,binary:"git",maxConcurrentProcesses:2,trimmed:!1});return b.env({...process.env,GIT_TERMINAL_PROMPT:"0",GIT_SSH_COMMAND:"ssh -o BatchMode=yes -o StrictHostKeyChecking=no"}),await b.rebase([a]),!1}catch(b){let a=`${b.message??""}
4
- ${b.stdout??""}
5
- ${b.stderr??""}`.toLowerCase();if(a.includes("conflict")||a.includes("could not apply"))return!0;throw b}finally{if(j)try{await this.git.raw(["worktree","remove","--force",f])}catch(a){console.debug(`[willRebaseHaveConflicts] Failed to remove temp worktree ${f}:`,a)}}}async merge(a,b={}){let{rebaseBeforeMerge:c,squash:d,fastForward:e,squashMessage:f}=b,g=(await this.git.branchLocal()).current;c&&(await this.git.checkout(a),await this.git.rebase([g]),await this.git.checkout(g));let h=[];if(d&&h.push("--squash"),e?h.push("--ff-only"):d||h.push("--no-ff"),h.push(a),await this.git.merge(h),d){let b=f||`Squash merge branch '${a}'`;await this.git.commit(b)}}async getRemotes(){return(await this.git.getRemotes()).map(a=>a.name)}async getRemoteBranches(a){await this.git.fetch(a);let b=await this.git.branch(["-r"]),c=[];for(let d of b.all)if(d.startsWith(`${a}/`)){let b=d.slice(`${a}/`.length);if("HEAD"===b||b.startsWith("HEAD "))continue;c.push(b)}return c}async getTrackingBranch(a){try{let b=(await this.git.raw(["for-each-ref","--format=%(upstream:short)",`refs/heads/${a}`])).trim();if(b){let a=b.indexOf("/");if(a>0)return{remote:b.slice(0,a),branch:b.slice(a+1)}}return null}catch{return null}}async pullFromRemote(a,b,c,d={}){let{rebase:e=!0}=d;console.log("[pullFromRemote] Starting pull:",{localBranch:a,remote:b,remoteBranch:c,options:d});let f=(await this.git.branchLocal()).current,g=a!==f;console.log("[pullFromRemote] Fetching from remote:",b),await this.git.fetch(b),console.log("[pullFromRemote] Fetch completed");let h=`${b}/${c}`;try{await this.git.revparse(["--verify",`refs/remotes/${h}`]),console.log("[pullFromRemote] Remote branch exists:",h)}catch{throw Error(`Remote branch '${h}' does not exist`)}let i=(await this.git.status()).files.length>0;console.log("[pullFromRemote] Has uncommitted changes:",i),i&&(console.log("[pullFromRemote] Stashing changes..."),await this.git.stash(["push","-m","auto-stash before pull"])),g&&(console.log(`[pullFromRemote] Checking out branch ${a}...`),await this.git.checkout(a));try{if(e?(console.log("[pullFromRemote] Rebasing onto:",h),await this.git.rebase([h]),console.log("[pullFromRemote] Rebase completed")):(console.log("[pullFromRemote] Merging:",h),await this.git.merge([h]),console.log("[pullFromRemote] Merge completed")),g&&(console.log(`[pullFromRemote] Returning to original branch ${f}...`),await this.git.checkout(f)),i)try{console.log("[pullFromRemote] Popping stashed changes..."),await this.git.stash(["pop"])}catch{throw Error('Pull succeeded but failed to restore local changes. Run "git stash pop" manually.')}console.log("[pullFromRemote] Refreshing remote refs after pull:",b),await this.git.fetch(b),console.log("[pullFromRemote] Post-pull fetch completed"),console.log("[pullFromRemote] Operation completed successfully")}catch(a){if(console.error("[pullFromRemote] Error:",a),!(a.message?.toLowerCase().includes("conflict")||a.stdout?.toLowerCase().includes("conflict")||a.stderr?.toLowerCase().includes("conflict"))){try{e?await this.git.rebase(["--abort"]):await this.git.merge(["--abort"])}catch{}if(g)try{await this.git.checkout(f)}catch{}if(i)try{await this.git.stash(["pop"])}catch{}}throw a}}async getRemoteUrl(a){try{let b=(await this.git.getRemotes(!0)).find(b=>b.name===a);return b?b.refs.push||b.refs.fetch:null}catch{return null}}async stash(a){let b=["push"];a&&b.push("-m",a),await this.git.stash(b)}async getStashes(){try{let a=await this.git.raw(["stash","list","--format=%gd|%s|%ai|%H"]);if(!a.trim())return[];return a.trim().split("\n").map((a,b)=>{let[c,d,e,f]=a.split("|"),g=c.match(/stash@\{(\d+)\}/);return{index:g?parseInt(g[1],10):b,message:d||"No message",date:e,hash:f}})}catch{return[]}}async applyStash(a){await this.git.stash(["apply",`stash@{${a}}`])}async dropStash(a){await this.git.stash(["drop",`stash@{${a}}`])}async popStash(a){await this.git.stash(["pop",`stash@{${a}}`])}async getStashFiles(a){try{let b=await this.git.raw(["stash","show","--name-status",`stash@{${a}}`]);if(!b.trim())return[];return b.trim().split("\n").map(a=>{let[b,...c]=a.split(" ");return{path:c.join(" "),status:b}})}catch{return[]}}async getStashFileDiff(a,b){let c="",d="";try{c=await this.git.show([`stash@{${a}}^1:${b}`])}catch{c=""}try{d=await this.git.show([`stash@{${a}}:${b}`])}catch{d=""}return{left:c,right:d,diff:await this.getStashFilePatch(a,b)}}async getStashFilePatch(a,b){try{return await this.git.raw(["stash","show","-p",`stash@{${a}}`,"--",b])}catch(a){return console.warn("Failed to get stash file diff:",a),""}}async getRemoteTagNames(a){let b=await this.git.raw(["ls-remote","--tags",a]),c=new Set;for(let a of b.split("\n")){let b=a.trim();if(!b)continue;let d=b.split(" ");if(d.length<2)continue;let e=d[1];e.startsWith("refs/tags/")&&(e.endsWith("^{}")||c.add(e.slice(10)))}return c}async pushLocalOnlyTagsToRemote(a,b){let c=(await this.git.tags()).all;if(0===c.length)return 0;let d=await this.getRemoteTagNames(b),e=c.filter(a=>!d.has(a));if(0===e.length)return 0;let f=e.map(a=>`refs/tags/${a}`);return await this.git.push([a,...f]),e.length}async pushToRemote(a,b,c,d={}){let{rebaseFirst:e,forcePush:f,pushLocalOnlyTags:g,setUpstream:h,squash:i,squashMessage:j,credentials:k}=d,l={...d};l.credentials&&(l.credentials={...l.credentials,token:"***"}),console.log("[pushToRemote] Starting push:",{localBranch:a,remote:b,remoteBranch:c,options:l});let m=(await this.git.branchLocal()).current,n=a!==m,o=(await this.git.status()).files.length>0;console.log("[pushToRemote] Has uncommitted changes:",o),o&&(console.log("[pushToRemote] Stashing changes..."),await this.git.stash(["push","-m","auto-stash before push"])),n&&(console.log(`[pushToRemote] Checking out branch ${a}...`),await this.git.checkout(a));try{let d=b;if(k){let a=await this.getRemoteUrl(b);if(a)try{let b=new URL(a);b.username=k.username,b.password=k.token,d=b.toString(),console.log("[pushToRemote] Using authenticated URL for push")}catch(a){console.warn("[pushToRemote] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[pushToRemote] Could not resolve URL for remote '${b}', falling back to remote name`)}console.log("[pushToRemote] Fetching from remote:",b),await this.git.fetch(d),console.log("[pushToRemote] Fetch completed");let l=`${b}/${c}`,p=!1;try{await this.git.revparse(["--verify",`refs/remotes/${l}`]),p=!0,console.log("[pushToRemote] Remote branch exists:",l)}catch{p=!1,console.log("[pushToRemote] Remote branch does not exist:",l)}if(p&&!f){if(e?(console.log("[pushToRemote] Rebasing onto:",l),await this.git.rebase([l]),console.log("[pushToRemote] Rebase completed")):(console.log("[pushToRemote] Merging:",l),await this.git.merge([l]),console.log("[pushToRemote] Merge completed")),i){console.log("[pushToRemote] Squashing commits onto:",l),await this.git.reset(["--soft",l]);let a=j||`Squash commits before push to ${c}`;await this.git.commit(a),console.log("[pushToRemote] Squash completed")}}else p&&f?console.log("[pushToRemote] Force push requested; skipping pre-push rebase/merge to avoid preserving remote history"):i&&console.warn("[pushToRemote] Cannot squash: remote branch does not exist");let q=[];f&&q.push("--force"),q.push("--progress"),console.log("[pushToRemote] Pushing to",b,"with refspec",`${a}:${c}`,"options:",q);let r=await this.git.push(d,`${a}:${c}`,q);if(console.log("[pushToRemote] Push completed successfully, result:",r),h&&(await this.git.raw(["config",`branch.${a}.remote`,b]),await this.git.raw(["config",`branch.${a}.merge`,`refs/heads/${c}`])),g??!0){let a=await this.pushLocalOnlyTagsToRemote(d,b);console.log(`[pushToRemote] Pushed ${a} local-only tag(s) to ${b}`)}if(n&&(console.log(`[pushToRemote] Returning to original branch ${m}...`),await this.git.checkout(m)),o)try{console.log("[pushToRemote] Popping stashed changes..."),await this.git.stash(["pop"])}catch{throw Error('Push succeeded but failed to restore local changes. Run "git stash pop" manually.')}console.log("[pushToRemote] Operation completed successfully")}catch(a){if(console.error("[pushToRemote] Error:",a),!(a.message?.toLowerCase().includes("conflict")||a.stdout?.toLowerCase().includes("conflict")||a.stderr?.toLowerCase().includes("conflict"))){if(n)try{await this.git.checkout(m)}catch{}if(o)try{await this.git.stash(["pop"])}catch{}}throw a}}}}};
5
+ ${b.stderr??""}`.toLowerCase();if(a.includes("conflict")||a.includes("could not apply"))return!0;throw b}finally{if(j)try{await this.git.raw(["worktree","remove","--force",f])}catch(a){console.debug(`[willRebaseHaveConflicts] Failed to remove temp worktree ${f}:`,a)}}}async merge(a,b={}){let{rebaseBeforeMerge:c,squash:d,fastForward:e,squashMessage:f}=b,g=(await this.git.branchLocal()).current;c&&(await this.git.checkout(a),await this.git.rebase([g]),await this.git.checkout(g));let h=[];if(d&&h.push("--squash"),e?h.push("--ff-only"):d||h.push("--no-ff"),h.push(a),await this.git.merge(h),d){let b=f||`Squash merge branch '${a}'`;await this.git.commit(b)}}async getRemotes(){return(await this.git.getRemotes()).map(a=>a.name)}async getRemoteBranches(a){await this.git.fetch(a);let b=await this.git.branch(["-r"]),c=[];for(let d of b.all)if(d.startsWith(`${a}/`)){let b=d.slice(`${a}/`.length);if("HEAD"===b||b.startsWith("HEAD "))continue;c.push(b)}return c}async getTrackingBranch(a){try{let b=(await this.git.raw(["for-each-ref","--format=%(upstream:short)",`refs/heads/${a}`])).trim();if(b){let a=b.indexOf("/");if(a>0)return{remote:b.slice(0,a),branch:b.slice(a+1)}}return null}catch{return null}}async pullFromRemote(a,b,c,d={}){let{rebase:e=!0}=d;console.log("[pullFromRemote] Starting pull:",{localBranch:a,remote:b,remoteBranch:c,options:d});let f=(await this.git.branchLocal()).current,g=a!==f;console.log("[pullFromRemote] Fetching from remote:",b),await this.git.fetch(b),console.log("[pullFromRemote] Fetch completed");let h=`${b}/${c}`;try{await this.git.revparse(["--verify",`refs/remotes/${h}`]),console.log("[pullFromRemote] Remote branch exists:",h)}catch{throw Error(`Remote branch '${h}' does not exist`)}let i=(await this.git.status()).files.length>0;console.log("[pullFromRemote] Has uncommitted changes:",i),i&&(console.log("[pullFromRemote] Stashing changes..."),await this.git.stash(["push","-m","auto-stash before pull"])),g&&(console.log(`[pullFromRemote] Checking out branch ${a}...`),await this.git.checkout(a));try{if(e?(console.log("[pullFromRemote] Rebasing onto:",h),await this.git.rebase([h]),console.log("[pullFromRemote] Rebase completed")):(console.log("[pullFromRemote] Merging:",h),await this.git.merge([h]),console.log("[pullFromRemote] Merge completed")),g&&(console.log(`[pullFromRemote] Returning to original branch ${f}...`),await this.git.checkout(f)),i)try{console.log("[pullFromRemote] Popping stashed changes..."),await this.git.stash(["pop"])}catch{throw Error('Pull succeeded but failed to restore local changes. Run "git stash pop" manually.')}console.log("[pullFromRemote] Refreshing remote refs after pull:",b),await this.git.fetch(b),console.log("[pullFromRemote] Post-pull fetch completed"),console.log("[pullFromRemote] Operation completed successfully")}catch(a){if(console.error("[pullFromRemote] Error:",a),!(a.message?.toLowerCase().includes("conflict")||a.stdout?.toLowerCase().includes("conflict")||a.stderr?.toLowerCase().includes("conflict"))){try{e?await this.git.rebase(["--abort"]):await this.git.merge(["--abort"])}catch{}if(g)try{await this.git.checkout(f)}catch{}if(i)try{await this.git.stash(["pop"])}catch{}}throw a}}async getRemoteUrl(a){try{let b=(await this.git.getRemotes(!0)).find(b=>b.name===a);return b?b.refs.push||b.refs.fetch:null}catch{return null}}async stash(a){let b=["push","--include-untracked"];a&&b.push("-m",a),await this.git.stash(b)}async getStashes(){try{let a=await this.git.raw(["stash","list","--format=%gd|%s|%ai|%H"]);if(!a.trim())return[];return a.trim().split("\n").map((a,b)=>{let[c,d,e,f]=a.split("|"),g=c.match(/stash@\{(\d+)\}/);return{index:g?parseInt(g[1],10):b,message:d||"No message",date:e,hash:f}})}catch{return[]}}async applyStash(a){await this.git.stash(["apply",`stash@{${a}}`])}async dropStash(a){await this.git.stash(["drop",`stash@{${a}}`])}async popStash(a){await this.git.stash(["pop",`stash@{${a}}`])}async getStashFiles(a){try{let b=await this.git.raw(["stash","show","--name-status",`stash@{${a}}`]);if(!b.trim())return[];return b.trim().split("\n").map(a=>{let[b,...c]=a.split(" ");return{path:c.join(" "),status:b}})}catch{return[]}}async getStashFileDiff(a,b){let c="",d="";try{c=await this.git.show([`stash@{${a}}^1:${b}`])}catch{c=""}try{d=await this.git.show([`stash@{${a}}:${b}`])}catch{d=""}return{left:c,right:d,diff:await this.getStashFilePatch(a,b)}}async getStashFilePatch(a,b){try{return await this.git.raw(["stash","show","-p",`stash@{${a}}`,"--",b])}catch(a){return console.warn("Failed to get stash file diff:",a),""}}async getRemoteTagNames(a){let b=await this.git.raw(["ls-remote","--tags",a]),c=new Set;for(let a of b.split("\n")){let b=a.trim();if(!b)continue;let d=b.split(" ");if(d.length<2)continue;let e=d[1];e.startsWith("refs/tags/")&&(e.endsWith("^{}")||c.add(e.slice(10)))}return c}async pushLocalOnlyTagsToRemote(a,b){let c=(await this.git.tags()).all;if(0===c.length)return 0;let d=await this.getRemoteTagNames(b),e=c.filter(a=>!d.has(a));if(0===e.length)return 0;let f=e.map(a=>`refs/tags/${a}`);return await this.git.push([a,...f]),e.length}async pushToRemote(a,b,c,d={}){let{rebaseFirst:e,forcePush:f,pushLocalOnlyTags:g,setUpstream:h,squash:i,squashMessage:j,credentials:k}=d,l={...d};l.credentials&&(l.credentials={...l.credentials,token:"***"}),console.log("[pushToRemote] Starting push:",{localBranch:a,remote:b,remoteBranch:c,options:l});let m=(await this.git.branchLocal()).current,n=a!==m,o=(await this.git.status()).files.length>0;console.log("[pushToRemote] Has uncommitted changes:",o),o&&(console.log("[pushToRemote] Stashing changes..."),await this.git.stash(["push","-m","auto-stash before push"])),n&&(console.log(`[pushToRemote] Checking out branch ${a}...`),await this.git.checkout(a));try{let d=b;if(k){let a=await this.getRemoteUrl(b);if(a)try{let b=new URL(a);b.username=k.username,b.password=k.token,d=b.toString(),console.log("[pushToRemote] Using authenticated URL for push")}catch(a){console.warn("[pushToRemote] Failed to construct authenticated URL, falling back to remote name",a)}else console.warn(`[pushToRemote] Could not resolve URL for remote '${b}', falling back to remote name`)}console.log("[pushToRemote] Fetching from remote:",b),await this.git.fetch(d),console.log("[pushToRemote] Fetch completed");let l=`${b}/${c}`,p=!1;try{await this.git.revparse(["--verify",`refs/remotes/${l}`]),p=!0,console.log("[pushToRemote] Remote branch exists:",l)}catch{p=!1,console.log("[pushToRemote] Remote branch does not exist:",l)}if(p&&!f){if(e?(console.log("[pushToRemote] Rebasing onto:",l),await this.git.rebase([l]),console.log("[pushToRemote] Rebase completed")):(console.log("[pushToRemote] Merging:",l),await this.git.merge([l]),console.log("[pushToRemote] Merge completed")),i){console.log("[pushToRemote] Squashing commits onto:",l),await this.git.reset(["--soft",l]);let a=j||`Squash commits before push to ${c}`;await this.git.commit(a),console.log("[pushToRemote] Squash completed")}}else p&&f?console.log("[pushToRemote] Force push requested; skipping pre-push rebase/merge to avoid preserving remote history"):i&&console.warn("[pushToRemote] Cannot squash: remote branch does not exist");let q=[];f&&q.push("--force"),q.push("--progress"),console.log("[pushToRemote] Pushing to",b,"with refspec",`${a}:${c}`,"options:",q);let r=await this.git.push(d,`${a}:${c}`,q);if(console.log("[pushToRemote] Push completed successfully, result:",r),h&&(await this.git.raw(["config",`branch.${a}.remote`,b]),await this.git.raw(["config",`branch.${a}.merge`,`refs/heads/${c}`])),g??!0){let a=await this.pushLocalOnlyTagsToRemote(d,b);console.log(`[pushToRemote] Pushed ${a} local-only tag(s) to ${b}`)}if(n&&(console.log(`[pushToRemote] Returning to original branch ${m}...`),await this.git.checkout(m)),o)try{console.log("[pushToRemote] Popping stashed changes..."),await this.git.stash(["pop"])}catch{throw Error('Push succeeded but failed to restore local changes. Run "git stash pop" manually.')}console.log("[pushToRemote] Operation completed successfully")}catch(a){if(console.error("[pushToRemote] Error:",a),!(a.message?.toLowerCase().includes("conflict")||a.stdout?.toLowerCase().includes("conflict")||a.stderr?.toLowerCase().includes("conflict"))){if(n)try{await this.git.checkout(m)}catch{}if(o)try{await this.git.stash(["pop"])}catch{}}throw a}}}}};